Вопрос задан 26.07.2023 в 06:18. Предмет Информатика. Спрашивает Батура Николай.

Программисты, помогите! Pascal abc или PascalABC. NET. Дан массив размером n×n, элементы которого

целые числа. Для каждого столбца найти первый положительный элемент и записать данные в новый массив. При решении использовать двумерный массив.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Шума Лариса.

PascalABC.NET 3.4.2, сборка 1847 от 28.10.2018

Внимание! Если программа не работает, обновите версию!

begin

 var n := ReadInteger('Количество строк/столбцов в массиве:');

 Writeln('*** Исходный массив ***');

 var a := MatrRandom(n, n, -99, 99);

 a.Println(4); Writeln(4 * a.ColCount * '-');

 var b := a.Cols.Select(row -> row.Where(t -> t > 0).First).ToArray;

 b.Println

end.


0 0
Отвечает Yermakov Artemik.

label next;

var a: array of array of integer;

b: array of integer;

i,j,n: integer;

begin

write('Введите  N: ');

readln(n);

setlength(a,n);

setlength(b,n);

for i:=0 to n-1 do setlength(a[i],n);

for i:=0 to n-1 do

for j:=0 to n-1 do a[i,j]:=60-random(100);

writeln('Полученный массив: ');

for i:=0 to n-1 do begin writeln;

for j:=0 to n-1 do write(a[i,j],' ');

end;

i:=0;

j:=0;

while (i<n) do begin

while (j<n) do begin

if (a[i,j]>0) then begin

b[i]:=a[i,j];

j:=0;

goto next;

end else inc(j);

end;

next: inc(i);

end;

writeln;

writeln('Отобранные данные: ');

for i:=0 to n-1 do write(b[i],' ');

readln;

end.

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам решить эту задачу на языке программирования PascalABC.NET. Для решения задачи, создадим двумерный массив размером n×n, заполним его случайными целыми числами и затем найдем первый положительный элемент для каждого столбца и запишем их в новый массив.

Вот пример решения на PascalABC.NET:

pascal
program FindPositiveElements; const n = 5; // Размер массива n×n type TwoDimArray = array[1..n, 1..n] of Integer; // Определение двумерного массива procedure FillArray(var arr: TwoDimArray); var i, j: Integer; begin Randomize; // Инициализация генератора случайных чисел for i := 1 to n do for j := 1 to n do arr[i, j] := Random(21) - 10; // Заполняем случайными числами от -10 до 10 end; procedure FindFirstPositiveElements(const arr: TwoDimArray; var positiveElements: array[1..n] of Integer); var i, j: Integer; begin for j := 1 to n do begin positiveElements[j] := 0; // Инициализируем каждый элемент нового массива нулем for i := 1 to n do begin if (arr[i, j] > 0) and (positiveElements[j] = 0) then positiveElements[j] := arr[i, j]; // Записываем только первый положительный элемент end; end; end; procedure PrintArray(const arr: TwoDimArray); var i, j: Integer; begin for i := 1 to n do begin for j := 1 to n do Write(arr[i, j]:4); Writeln; end; end; procedure PrintPositiveElements(const positiveElements: array of Integer); var j: Integer; begin for j := 1 to n do Write(positiveElements[j]:4); Writeln; end; var originalArray: TwoDimArray; firstPositiveElements: array[1..n] of Integer; begin FillArray(originalArray); Writeln('Исходный массив:'); PrintArray(originalArray); FindFirstPositiveElements(originalArray, firstPositiveElements); Writeln('Первые положительные элементы для каждого столбца:'); PrintPositiveElements(firstPositiveElements); end.

В этом примере мы создаем двумерный массив originalArray, заполняем его случайными числами от -10 до 10. Затем с помощью процедуры FindFirstPositiveElements находим первый положительный элемент для каждого столбца и записываем их в массив firstPositiveElements. Наконец, с помощью процедуры PrintArray выводим исходный массив, а с помощью PrintPositiveElements выводим массив первых положительных элементов для каждого столбца.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос