Консультация № 176511
05.02.2010, 11:31
0.00 руб.
0 2 2
Добрый день,уважаемые эксперты!
Помогите с 2-мя задачками:
1)Написать программу нахождения номера максимального элемента матрицы
находящийся ниже главной диагонали.
2)в каждой строке матрице найти максимальный элемент
и умножить его на все элементы стоящие в этой строке

Обсуждение

Неизвестный
05.02.2010, 13:08
общий
это ответ
Здравствуйте, angel.nero.
Решение первой задачи прилагается.
Что касается второй, то в такой формулировке я вижу две различные задачи:
1. Найти произведение всех элементов строки матрицы
2. Построить матрицу каждый элемент которой представляет собой произведение максимального элемента исходной матрицы и элемента стоящего в соответствующей позиции.
То есть, задача требует уточнения.


Приложение:
{
Написать программу нахождения номера максимального элемента матрицы
находящийся ниже главной диагонали.
}
Uses
Crt;
Const
Size = 5;
Var
Ar: Array[1..Size, 1..Size] of Byte;
i, j, max: Byte;
begin
ClrScr;
Randomize;
{Init array data}
for i:=1 to Size do begin
for j:=1 to Size do begin
Ar[i, j] := Random(15);
if (i = j) then
TextAttr := $0A
else
if (j < i) then
TextAttr := $0F
else
TextAttr := $07;
Write(Ar[i, j]:5);
end;
WriteLn;
end;

{Search maximum}
max := Ar[2, 1];
for i:=3 to Size do begin
for j:=1 to i-1 do begin
if max > Ar[i, j] then
max := Ar[i, j];
end;
end;
TextAttr := $07;
Write (#10#13'Found: ', max);
repeat until keypressed;
end.
давно
Мастер-Эксперт
319965
1463
07.02.2010, 15:24
общий
это ответ
Здравствуйте, angel.nero.

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

Тогда можно предложить такое решение:

Код:
uses crt;

const
n=5;{размер матрицы}

var
i,j:integer;
a:array[1..n,1..n] of integer;
max:integer;

begin
ClrScr;
{Ввод матрицы:}
for i:=1 to n do
for j:=1 to n do
begin
Write('a[',i,',',j,']=');Readln(a[i,j]);
end;
{Решение задачи:}
for i:=1 to n do
begin
max:=a[i,1];
for j:=2 to n do if a[i,j]>max then max:=a[i,j];
{в переменной max - максимальный элемент i-ой строки}
for j:=1 to n do a[i,j]:=a[i,j]*max;
end;
{Вывод результата:}
for i:=1 to n do
begin
for j:=1 to n-1 do
Write(a[i,j],' ');
Writeln(a[i,n]);
end;
Readln
end.
5
Форма ответа