Wartość maks w tablicy jednowymiarowej

0

Witam,

Temat pewnie pojawiał się wielokrotnie ale mimo wszystko coś jest dla mnie niejasne. Mam taki prog. mający pokazywać max wartość z 7 licz wprowadzonych do tablicy jednowymiarowej:

program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  n,m,max: integer;
  tab: array[1..7] of integer;

begin
  for n:=1 to 7 do
begin
  writeln('podaj',n,'liczbe');
  readln(tab[m]);
end;

max:= tab[1];

  for n:=1 to 7 do
  if (tab[m]>max) then max:=tab[m];


  writeln('maksymalna podana liczbe :',max);

readln;

end.

Program nie działa poprawnie a ja za nic nie mogę dojść dlaczego. Proszę o pomoc ! Co w tym kodzie jest źle ? Domyślam się że coś nie tak jest z pętlą wyszukującą max wartość.

0

Widzę dwa błędy.
W pętli wczytującej iterujesz po n, ale wczytujesz to tab[m].
W pętli wyszukującej tak samo - zmieniasz n, ale sprawdzasz tab[m].

Masz zadeklarowane zarówno n, jak i m, więc jedno się zmienia, a drugie na stałe ma wartość domyślną. Aż dziw, że ten program w ogóle działa, powinien się wysypywać.

0
var 
	max, i: integer;
	tab: array[1..7] of integer;
	
BEGIN

	for i := 1 to 7 do
	begin
		write('Podaj liczbe ', i, ': ');
		readln(tab[i]);
	end;
	
	max := tab[1];
	
	for i := 2 to 7 do
		if max < tab[i] then
			max := tab[i];
			
	writeln('Najwieksza liczba w tablicy jest ', max);
	readln;
	
END.
0

Dzięki za pomoc, to mi wiele wyjaśniło.

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