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

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

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



Конечно, я помогу вам написать программы на языке Pascal. Вот две программы: первая находит максимальные элементы на главной и побочной диагоналях двумерного массива, а вторая переписывает положительные и отрицательные элементы из одного массива в два других массива. Давайте начнем:
- Найти максимальный элемент на главной и побочной диагонали двумерного массива:
pascalprogram 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.
- Переписать положительные и отрицательные элементы из одного массива в два других массива:
pascalprogram 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
для обоих программ в соответствии с вашими потребностями.


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







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili