Помогите решить задачи на матрицы в Delphi

  • Автор темы -
  • Дата начала

Гость
#1
Нужна помощь!!!
Нужно разработать в среде «Delphi» решение двумерных массивов,указанных ниже и блок-схемы алгоритмов задач к каждой:
Задача 1: переписать найменьшие, отрицательные элементы каждого столбца матрицы E{m,n} в одномерный массивR .
Задача2 : определить индексы наибольшего, отрицательного элемента матрицы CC{m,n} и заменяет найденный элемент числом 5.60Е+05.
Задача 3: найти по каждой строке среднее арифметическое отрицательных элементов матрицы DF{m,n}.
Задача 4: найти найбольшие , отрицательные, элементы каждой строки текущей матрицы EV{m,m}, находящейся над главной диагональю, и переписать их в одномерный массив V.
Задача 5: найти в матрице GK{m,n} строки, с найбольшей и найменьшей суммами элементов и меняет их местами.
 
09.11.2009
665
1
#2
Если еще надо то могу решить для паскаля, в делфи сами сможете переделать?

Добавлено:
определить индексы наибольшего, отрицательного элемента матрицы CC{m,n} и заменяет найденный элемент числом 5.60Е+05.
нормально условие обяснить можете?

№1
Код:
const m=5;
n=4;

var e:array[1..m,1..n] of integer;
r:array[1..n] of integer;
i,j,k:integer;

begin
writeln('vvedite elementy');
for i:=1 to m do
for j:=1 to n do
readln(e[i,j]);

for i:=1 to m do
for j:=1 to n do
if E[i,j]<0 then r[j]:=e[i,j];

for i:=1 to m do
for j:=1 to n do
if e[i,j]<r[j] then r[j]:=e[i,j];

writeln('massiv r');
for i:=1 to n do
writeln(r[i]);
readln;
end.

Добавлено: №3
Код:
const m=3;


var DF:array[1..m,1..m] of integer;
r:array[1..m] of real;
k:array[1..m] of integer;
i,j:integer;

begin
writeln('vvedite elementy');
for i:=1 to m do
for j:=1 to m do
readln(df[i,j]);

for i:=1 to m do
for j:=1 to m do
if df[i,j]<0 then begin r[i]:=r[i]+df[i,j]; k[i]:=k[i]+1; end;

for i:=1 to m do
for j:=1 to m do
if k[i]<>0 then r[i]:=r[i]/k[i];

writeln('massiv r');
for i:=1 to m do
writeln(r[i]:8:2);
readln;
end.
Добавлено:
Задача 4: найти найбольшие , отрицательные, элементы каждой строки...
Найбольшие из отрецательных?

Добавлено: №5
Код:
const m=3;
n=2;

var gk:array[1..m,1..n] of integer;
s,t:array[1..m] of integer;
i,j,max,min,maxi,mini:integer;

begin
writeln('vvedite elementy');
for i:=1 to m do
for j:=1 to n do
begin
readln(gk[i,j]);
s[i]:=gk[i,j];
end;


max:=s[1];
min:=s[1];
mini:=1;
maxi:=1;
for i:=1 to m do
begin
if s[i]>max then begin max:=s[i]; maxi:=i; end;
if s[i]<min then begin min:=s[i]; mini:=i; end;
end;

for j:=1 to n do
begin
t[j]:=gk[mini,j];
gk[mini,j]:=gk[maxi,j];
gk[maxi,j]:=t[j];
end;

writeln('massiv gk');
for i:=1 to m do
for j:=1 to n do
writeln(gk[i,j]);
readln;
end.
 

hosm

* so what *
18.05.2009
2 442
9
#3
N1 можно проще
Код:
const m=5;
n=4;

var e:array[1..m,1..n] of integer;
r:array[1..n] of integer;
i,j,k:integer;

begin
writeln('vvedite elementy');
for i:=1 to m do
for j:=1 to n do
readln(e[i,j]);

for j:=1 to n do begin
r[j]:=0; // для отбора отрицательных. возможно, инициализируется 0 по умолчанию, но тут задала явно
for i:=1 to m do
if e[i,j]<r[j] then r[j]:=e[i,j];
end;

writeln('massiv r');
for i:=1 to n do
writeln(r[i]);
readln;
end.