Вопрос задан 21.06.2023 в 17:28. Предмет Информатика. Спрашивает Медведева Алина.

Даны два двумерных массива целочисленных элементов. Размер исходных массивов не превосходит 10х10

элементов. Для каждого из массивов проверить выполнение условия: все четные строки массива таковы, что суммы их элементов образуют возрастающую последовательность. Вывести соответствующее сообщение. Вычисление суммы элементов массива и проверку последовательности чисел на выполнение условия оформить в виде процедуры с передачей в нее всех необходимых элементов. (На Pascal abc)
0 0
Перейти к ответам

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

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

type mas=array[1..10,1..10]of integer;

procedure vvod(var a:mas;var m,n:integer;c:char);

var i,j:integer;

begin

repeat

writeln('Введите размеры массива ',c,' m,n от 2 до 10');

readln(m,n);

until(m in [2..10])and(n in [2..10]);

writeln('Введите элементы массива целые числа, в том числе суммы в четных строках по возрастанию');

for i:=1 to m do

for j:=1 to n do

begin

 write(c,'[',i,',',j,']=');

 readln(a[i,j]);

end;

end;

procedure print(a:mas;m,n:integer;st:string);

var i,j,s:integer;

begin

writeln(st);

writeln('Сумма':n*5+8);

for i:=1 to m do

begin

 s:=0;

 for j:=1 to n do

  begin

   write(a[i,j]:5);

   s:=s+a[i,j];

  end;

 writeln(s:8);

end;

end;

procedure check(a:mas;m,n:integer);

var i,j,k,s,s1:integer;

begin

k:=0;

i:=2;

while(i<=m)and(k=0) do

begin

 s:=0;

 for j:=1 to n do

 s:=s+a[i,j];

 if i=2 then s1:=s

 else if s<=s1 then k:=1;

 s1:=s;

 i:=i+2;

end;

writeln('k=',k);

if k=0 then writeln('Суммы в четных строках упорядочены по возрастанию')

else writeln('Суммы в четных строках не упорядочены по возрастанию');

writeln;

end;

var a,b:mas;

   ma,na,mb,nb:integer;

begin

vvod(a,ma,na,'A');

print(a,ma,na,'Массив А');

check(a,ma,na);

vvod(b,mb,nb,'B');

print(b,mb,nb,'Массив B');

check(b,mb,nb);

end.

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

Ваш запрос предполагает написание программы на языке Pascal ABC для выполнения описанных операций. Вот пример программы, которая решает данную задачу:

pascal
program CheckArrays; const MAX_SIZE = 10; type TwoDimArray = array[1..MAX_SIZE, 1..MAX_SIZE] of integer; procedure CalculateSumAndCheckSequence(var arr: TwoDimArray; rows, cols: integer; var isSequence: boolean); var i, j, sum: integer; begin sum := 0; isSequence := true; for i := 2 to rows step 2 do begin sum := 0; for j := 1 to cols do begin sum := sum + arr[i, j]; end; if (i = 2) or (sum > arr[i - 2, 1]) then begin writeln('Сумма элементов в строке ', i, ' равна ', sum); end else begin isSequence := false; writeln('Условие не выполнено для строки ', i); break; end; end; end; var arr1, arr2: TwoDimArray; rows, cols: integer; isSequence1, isSequence2: boolean; procedure InitializeArray(var arr: TwoDimArray; rows, cols: integer); var i, j: integer; begin for i := 1 to rows do begin for j := 1 to cols do begin arr[i, j] := random(10); // заполняем случайными числами от 0 до 9 (вам может понадобиться другой диапазон) end; end; end; procedure PrintArray(var arr: TwoDimArray; rows, cols: integer); var i, j: integer; begin for i := 1 to rows do begin for j := 1 to cols do begin write(arr[i, j], ' '); end; writeln; end; end; begin randomize; // инициализация генератора случайных чисел // Инициализация и вывод первого массива rows := 5; // пример, задайте размеры своего массива cols := 5; InitializeArray(arr1, rows, cols); writeln('Первый массив:'); PrintArray(arr1, rows, cols); // Проверка первого массива CalculateSumAndCheckSequence(arr1, rows, cols, isSequence1); if isSequence1 then writeln('Условие выполнено для первого массива') else writeln('Условие не выполнено для первого массива'); // Инициализация и вывод второго массива rows := 4; // пример, задайте размеры своего массива cols := 5; InitializeArray(arr2, rows, cols); writeln('Второй массив:'); PrintArray(arr2, rows, cols); // Проверка второго массива CalculateSumAndCheckSequence(arr2, rows, cols, isSequence2); if isSequence2 then writeln('Условие выполнено для второго массива') else writeln('Условие не выполнено для второго массива'); end.

Эта программа создает два двумерных массива (arr1 и arr2), заполняет их случайными целочисленными значениями от 0 до 9, а затем проверяет выполнение условия с помощью процедуры CalculateSumAndCheckSequence.

Убедитесь, что вы заменили значения rows и cols на соответствующие размеры ваших массивов. Например, если ваши массивы имеют размер 5x5 и 4x5 соответственно, то установите rows := 5 и cols := 5 для первого массива, и rows := 4 и cols := 5 для второго.

Также обратите внимание, что в примере используется генератор случайных чисел (randomize), поэтому при каждом запуске программы будут генерироваться новые случайные значения в массивах.

0 0

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

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

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

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