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

Помогите пожалуйста с двумя программами, на дельфи или на паскале очень нужно, буду очень

благодарен.  Дана квадратная матрица порядка M. Найти суммы элементов ее диагоналей, параллельных главной (начиная с одноэлементной диагонали A[1,M]).. Дана матрица размера 5 * 10. Удалить строку, содержащую максимальный элемент матрицы.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Курьянович Саша.
Uses crt;
var n,i,j,l,sum,min:integer;
a:array[1..20,1..20]of integer;
begin
clrscr;
write('n=');
readln(n);
randomize;
Writeln('Ishodnaja matrica:');
for i:=1 to n do begin
for j:=1 to n do begin
a[i,j]:=random(10);
write(a[i,j]:3);
end;
writeln;
end;
For l:=1 to 2*n-1 do
begin
sum:=0;
if l<=n then
begin
for i:=1 to l do
for j:=1 to l do
if j=l-i+1 then sum:=sum+a[i,j];
if sum<min then min:=sum;
end
else if l>n then
begin
for i:=l-n+1 to n do
for j:=l-n+1 to n do
if j=l-i+1 then sum:=sum+a[i,j];
if sum<min then min:=sum;
end;
writeln('Summa diagonali ',l,' = ',sum);
end;
writeln;
readln
end.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу предоставить вам примеры программ на языках Pascal и Delphi для выполнения двух задач.

Задача 1: Найти суммы элементов диагоналей, параллельных главной

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

```pascal program SumParallelDiagonals; const M = 5; N = 10; var matrix: array[1..M, 1..N] of Integer; i, j, diagSum: Integer; begin // Заполнение матрицы (пример) for i := 1 to M do for j := 1 to N do matrix[i, j] := Random(100); // Заполните матрицу данными

// Найдем суммы элементов диагоналей for i := 1 to M do begin diagSum := 0; for j := 1 to Min(M - i + 1, N) do diagSum := diagSum + matrix[i + j - 1, j]; writeln('Сумма элементов диагонали A[', i, ',1]: ', diagSum); end;

for j := 2 to N do begin diagSum := 0; for i := 1 to Min(N - j + 1, M) do diagSum := diagSum + matrix[i, j + i - 1]; writeln('Сумма элементов диагонали A[1,', j, ']: ', diagSum); end; end. ```

Задача 2: Удалить строку, содержащую максимальный элемент матрицы

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

```pascal program RemoveRowWithMaxElement; const M = 5; N = 10; var matrix: array[1..M, 1..N] of Integer; i, j, maxElement, maxRow: Integer; begin // Заполнение матрицы (пример) for i := 1 to M do for j := 1 to N do matrix[i, j] := Random(100); // Заполните матрицу данными

maxElement := matrix[1, 1]; maxRow := 1;

// Найдем максимальный элемент и его позицию for i := 1 to M do for j := 1 to N do if matrix[i, j] > maxElement then begin maxElement := matrix[i, j]; maxRow := i; end;

writeln('Максимальный элемент: ', maxElement);

// Удаляем строку с максимальным элементом for i := maxRow to M - 1 do for j := 1 to N do matrix[i, j] := matrix[i + 1, j];

// Уменьшаем количество строк в матрице M := M - 1;

// Выводим измененную матрицу for i := 1 to M do begin for j := 1 to N do write(matrix[i, j], ' '); writeln; end; end. ```

Эти программы могут быть адаптированы под Delphi, если у вас есть среда разработки Delphi.

0 0

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

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

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

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