Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.12.2009, 15:54   #1
Mihail09
Новичок
Джуниор
 
Регистрация: 16.12.2009
Сообщений: 1
По умолчанию Матрица Delphi 7

Здравствуйте. Будьте добры, помогите пожалуйста с задачей в консольном приложении:

Обеспечить ввод матрицы и обработку ее элементов по следующему плану:
- найдет минимальное значение в каждой строке и создаст массив из этих значений;
- найдет максимальное значение в каждом столбце и создаст массив из этих значений;
- найдет среднее арифметическое отрицательных элементов;
- найдет произведение нечетных элементов;
- найдет сумму элементов, стоящих на главной диагонали.

Помогите пожалуйста хотя-бы с первым и последним пунктами.

Спасибо.
Mihail09 вне форума Ответить с цитированием
Старый 16.12.2009, 16:40   #2
fbus
Форумчанин
 
Аватар для fbus
 
Регистрация: 23.10.2008
Сообщений: 460
По умолчанию

стучись в аську, сделаю задание полностью
fbus вне форума Ответить с цитированием
Старый 16.12.2009, 16:48   #3
mistertvister
Константин
Пользователь
 
Аватар для mistertvister
 
Регистрация: 11.10.2009
Сообщений: 47
По умолчанию

Вот что то похожее.
const
m=3;
n=3;
var a:array [1..10,1..10]of integer ;
c,g:integer;
min:array [1..10] of integer;
z , i,j, sum,p,k : integer;
q:real;

label 0, 1,2,3,4 ;
begin
writeln('programa vipolnaet operasii nad matrosoy nxm.') ;
writeln('vedite matricu 3x3 ');
for i:=1 to n do
for j:=1 to m do
begin
writeln('a[',i,',',j,']');
readln (a[i,j]);
end;
0:
for
i:=1 to n do
begin
for
j:=1 to m do
write(a[i,j]:4);
writeln;
end;
writeln('viberete odin iz punktov');
writeln('1.poisk min elementa v kagdom stolbse.');
writeln('2.podsitivaen summu setnix elementov matrisi, raspoligenix na glavnoy diagonal.');
writeln('3.zamena vcex setnix chisel na !.');
writeln('4.raspologaet elementi v kagdoy stroke v poriadke vozrastaniz');
read(q);
if q=1 then
begin
writeln('=*==*==*= minimalniy element stolbsov: ');
for i:=1 to n do
for j:=2 to m do begin
min[i]:=a[i,1];
if a[i,j]<min[i] then min[i]:=a[i,j];
end;
for i:=1 to n do writeln(min[i]);
writeln('0.vipolniot druguu operasii') ;
readln;
readln;
goto 0;
end;

if q=2 then begin
sum:=0;
for i:= 1 to n do begin
if a[i,j] mod 2=0 then sum:=sum+a[i,j];
writeln('=*==*==*=sum=',sum);
writeln('0.vipolniot druguu operasii') ;
readln;
readln;
goto 0;
end;
end;
if q=3 then begin
for i:=1 to n do
begin
for j:=1 to m do
begin
if a[i,j] mod 2=0 then write('!') else write (a[i,j],'');
end;
writeln;
end;
writeln;
writeln('0.vipolniot druguu operasii') ;
readln;
readln;
goto 0;
end;
if q=4 then begin

for i:=1 to n do
for j:=1 to m-1 do begin
if a[i,j]>a[i,j+1] then
begin
p:=a[i,j];
a[i,j]:=a[i,j+1];
a[i,j+1]:=p;
writeln('0.vipolniot druguu operasii') ;
readln;
readln;
goto 0;
end;
end;
end;
readln;
readln;
end.
mistertvister вне форума Ответить с цитированием
Старый 16.12.2009, 16:52   #4
Custer
Новичок
Джуниор
 
Регистрация: 16.12.2009
Сообщений: 3
По умолчанию

Лови первые 2:

Код:
program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils, Math;

const
  A: array [0..2, 0..2] of Integer =
    (((2), (1), (-2)),
     ((4), (3), (5)),
     ((8), (7), (6)));

var
  MinRows: array [0..2] of Integer;
  MaxCols: array [0..2] of Integer;
  I, J: Integer;
begin
  try
    for I := 0 to 2 do begin
      MinRows[I] := A[I, 0];
      for J := 0 to 2 do begin
        MinRows[I] := Min(MinRows[I], A[I, J]);
        MaxCols[J] := Max(MaxCols[J], A[J, I]);
      end;
    end;
    for I := 0 to 2 do
      Write(Format('MinRows[%d] = %d; ', [I, MinRows[I]]));
    WriteLn('');
    for I := 0 to 2 do
      Write(Format('MaxCols[%d] = %d; ', [I, MaxCols[I]]));
    Readln;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.

Последний раз редактировалось Custer; 16.12.2009 в 17:00.
Custer вне форума Ответить с цитированием
Старый 16.12.2009, 17:30   #5
Custer
Новичок
Джуниор
 
Регистрация: 16.12.2009
Сообщений: 3
По умолчанию

Update: 1, 2, 3, 5

Код:
program Project3;

{$APPTYPE CONSOLE}

uses
  SysUtils, Math;

const
  A: array [0..2, 0..2] of Integer =
    (((2), (1), (-2)),
     ((4), (-3), (5)),
     ((8), (7), (6)));
var
  Average: Real;
  I, J, Sum, C: Integer;
  MinRows: array [0..2] of Integer;
  MaxCols: array [0..2] of Integer;
begin
  try
    Average := 0;
    C := 0;
    Sum := 0;
    for I := 0 to 2 do
    begin
      MinRows[I] := A[I, 0];
      for J := 0 to 2 do
      begin
        MinRows[I] := Min(MinRows[I], A[I, J]);
        MaxCols[J] := Max(MaxCols[J], A[J, I]);
        if I = J then
          Sum := Sum + A[I, J];
        if A[I, J] < 0 then
        begin
          Average := Average + A[I, J];
          Inc(C);
        end;
      end;
    end;
    Average := Average / C;
    // 1
    for I := 0 to 2 do
      WriteLn(Format('MinRows[%d] = %d; ', [I, MinRows[I]]));
    WriteLn('');
    // 2
    for I := 0 to 2 do
      WriteLn(Format('MaxCols[%d] = %d; ', [I, MaxCols[I]]));
    WriteLn('');
    // 3
    WriteLn(Format('Average = %f', [Average]));
    WriteLn('');
    // 5
    Write(Format('Summa elements on main diagonal = %d', [Sum]));
    Readln;
  except
    on E:Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
end.
Custer вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица в Delphi sPan4eZ Помощь студентам 3 02.11.2009 23:41
Матрица [Delphi] StudeHt Помощь студентам 3 10.10.2009 18:13
Матрица в delphi Hegel Помощь студентам 11 10.01.2009 16:59
Квадратная матрица в Delphi Tomoyo Помощь студентам 10 12.11.2008 18:35
Матрица. Delphi manhunt Помощь студентам 0 29.05.2008 00:32