Modyfikacja programu

Odpowiedz Nowy wątek
2007-01-09 22:58
DamianD
0

Mam problem z takim zadaniem. Musze zmodyfikować program (jest to program obliczający element maksymalny co do modułu i jego element macierzy), aby wykorzystywał "procedure". Pewnie dla większości jest to banalne zadanie, ale ja jestem dopiero początkujący. Prosze o pomoc.
Oto kod programu który należy zmodyfikować:

program tablica2 (input, output);
type
   macierz=array[1 ..5,1 ..5] of real;

var
   m:1 .. 5;
   n:1 .. 5;
   a:macierz;
   i,j,ip,id:integer;
   max:real;
begin
   write('Podaj liczbe wierszy macierzy m='); readln(m);
   write('Podaj liczbe kolumn macierzy n='); readln(n);
   {macierz prostokątna wczytywana wierszami}
   for i:=1 to m do
   begin
      for j:=1 to n do
      begin
         write('  a[',i:2,',',j:2,']=');
         read(a[i,j])

         end;
         writeln;
      end;
      writeln;
      write('       ');
      for i:=1 to n do
         write(i:1,'      ');
      writeln;
      for i:=1 to m do
      begin
         write(i:2,': ');
         for j:=1 to n do
            write(a[i,j]:10:3,' ');
         writeln;
      end;

writeln('Szukanie max');
ip:=1;
id:=1;
max:=abs(a[1,1]);
   for i:=1 to m do
     begin
        for j:=1 to n do
        if abs(a[i,j])>=max then
   begin
   max:=abs(a[i,j]);
   ip:=j;
   id:=i;
end;
end;

writeln('Element maksymalny wynosi = ',max:10:4);
writeln('Pozycja el. max = [',id:3, ip:3,' ]');

end.

Pozostało 580 znaków

2007-01-10 00:32
Gumiś
0
procedure FindMax(var max:real;var ip:integer;var id:integer);
var i,j:integer;
begin
  ip:=1;
  id:=1;
  max:=abs(a[1,1]);
  for i:=1 to m do begin
    for j:=1 to n do
      if abs(a[i,j])>=max then begin
        max:=abs(a[i,j]);
        ip:=j;
        id:=i;
      end;
  end;
end;

I przed wypisanie wywołaj to w ten sposób:

FindMax(max,ip,id);

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0