Вопрос задан 13.07.2023 в 01:36. Предмет Информатика. Спрашивает Калимуллин Камиль.

Помогите написать программы на языке Pascal, пожалуйста. Щедро плачу 1. Найти максимальный

элемент на главной и побочной диагонали двумерного массива. 2. Дан массив A( N) состоящий из N вещественных чисел. Переписать в массив B(K) подряд положительные элементы массива A(N ), а в массив C(L) - отрицательные.
0 0
Перейти к ответам

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

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

Pascal

const

 nmax = 100;

var

 a: array [1..nmax, 1..nmax] of integer;

 i, j: byte;

 n, max, max1: integer;

begin

 randomize;

 Writeln('Введите размер матрицы: ');

 Read(n);

 for i := 1 to n do

 begin

   for j := 1 to n do

   begin

     a[i, j] := Random(-10, 10);

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

   end;

   Writeln;

 end;

 Writeln;

 Max := A[1, 1];

 Max1 := 1;

 for i := 2 to n do

 begin

   for j := 2 to n do

     if (i = j) then

       if a[i, j] > max then max := a[i, j];

   if a[i, n - i + 1] > a[max1, n - max1 + 1] then max1 := i;

 end;

 Writeln('Максимальный элемент главной диагонали: ', max);

 writeln('Максимальный элемент побочной диагонали: ', a[max1, n - max1 + 1]);

end.

Тестовое решение:

Введите размер матрицы:  

5

   6   -2  -10   -9   -6

   2   -2   -8   -7    7

  -5   -8    4    2    3

   4    6    6    2    2

   6    7   -3   -9   -2

Максимальный элемент главной диагонали: 6

Максимальный элемент побочной диагонали: 6

const

 nmax = 50;

var

 a: array [1..nmax] of real;

 b: array [1..nmax] of real;

 c: array [1..nmax] of real;

 i, n: integer;

begin

 writeln('Введите размер массива: ');

 Read(n);

 for i := 1 to n do

 begin

   a[i] := Random(-20, 20); end;

 for i := 1 to n do

 begin

   if a[i] > 0 then b[i] := a[i] else c[i] := a[i];

 end;

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

 for i := 1 to n do

 begin

   write(a[i], ' '); end;

 Writeln;

 writeln('Массив положительных');

 for i := 1 to n do

 begin

   write(b[i], ' '); end;

 Writeln;

 writeln('Масив отрицательных');

 for i := 1 to n do

 begin

   write(c[i], ' '); end;

end.

Тестовое решение:

Введите размер массива:  

10

Исходный массив

19 -1 16 -13 -6 -7 -17 13 18 19  

Массив положительных

19 0 16 0 0 0 0 13 18 19  

Масив отрицательных

0 -1 0 -13 -6 -7 -17 0 0 0

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

Конечно, я помогу вам написать программы на языке Pascal. Вот две программы: первая находит максимальные элементы на главной и побочной диагоналях двумерного массива, а вторая переписывает положительные и отрицательные элементы из одного массива в два других массива. Давайте начнем:

  1. Найти максимальный элемент на главной и побочной диагонали двумерного массива:
pascal
program MaxDiagonalElements; const N = 3; // Размерность двумерного массива type TwoDimArray = array[1..N, 1..N] of integer; var matrix: TwoDimArray; i, j, maxMainDiagonal, maxSecondaryDiagonal: integer; begin // Ввод элементов массива writeln('Введите элементы двумерного массива:'); for i := 1 to N do for j := 1 to N do readln(matrix[i, j]); // Находим максимальный элемент на главной диагонали maxMainDiagonal := matrix[1, 1]; for i := 2 to N do if matrix[i, i] > maxMainDiagonal then maxMainDiagonal := matrix[i, i]; // Находим максимальный элемент на побочной диагонали maxSecondaryDiagonal := matrix[1, N]; for i := 2 to N do if matrix[i, N - i + 1] > maxSecondaryDiagonal then maxSecondaryDiagonal := matrix[i, N - i + 1]; // Вывод результатов writeln('Максимальный элемент на главной диагонали: ', maxMainDiagonal); writeln('Максимальный элемент на побочной диагонали: ', maxSecondaryDiagonal); end.
  1. Переписать положительные и отрицательные элементы из одного массива в два других массива:
pascal
program SeparatePositiveNegative; const N = 10; // Размерность массива A type RealArray = array[1..N] of real; var A: RealArray; B, C: RealArray; i, j, K, L: integer; begin // Ввод элементов массива A writeln('Введите элементы массива A:'); for i := 1 to N do readln(A[i]); // Инициализируем счетчики для массивов B и C K := 0; // Количество положительных элементов в массиве B L := 0; // Количество отрицательных элементов в массиве C // Переписываем положительные элементы в массив B и отрицательные в массив C for i := 1 to N do begin if A[i] > 0 then begin K := K + 1; B[K] := A[i]; end else if A[i] < 0 then begin L := L + 1; C[L] := A[i]; end; end; // Вывод результатов writeln('Массив B (положительные элементы):'); for i := 1 to K do write(B[i]:0:2, ' '); writeln; // Переход на новую строку writeln('Массив C (отрицательные элементы):'); for i := 1 to L do write(C[i]:0:2, ' '); end.

Обратите внимание, что вторая программа предполагает, что вы будете вводить элементы массива A. Вы можете изменить значение N для обоих программ в соответствии с вашими потребностями.

0 0

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

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

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

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