Mam za zadanie sprawdzic ile zer ma dany wierwsz w tablicy dwuwymiarowej, wszystkie dane ladnie podajemy etc ale gdy przychodzi do liczenia zer cos jest nie tak i nie potrafie rozgryzc co źle robie... Moglby ktos sprawdzic u siebie ten kod i sprobowac znalezc rozwiazanie ?
program zad2;
uses crt;
type T = array[1..100,1..100] of integer;
var
tab : t;
j,k : integer;
////////////////////////////////////////////////////////////////////////////
procedure Wprowadz(var tab01 : t); // procedura wprowadzania wartosci do tablicy
var
n,m,i,p : integer; // n pierwsza m druga
begin
repeat
writeln('Podaj zakres tablic(Tablica 2 wymiarowa, podaj 2 wartosci)');
readln(n,m);
if (n = 0 ) or ( m = 0 ) then
writeln('N i M nie moga wynosic 0');
if (n > 100 ) or ( m > 100 ) then
writeln('N i M nie moga byc wieksze od 100');
until (n <> 0) and ( m <> 0) and ( n <=100 ) and (m <= 100);
for i := 1 to n do
begin
for p := 1 to m do
begin
writeln('Podaj wartosc tablicy o indeksie: wiersz: ',i,' kolumna: ',p);
readln(tab01[n,m]);
end;
end;
j := n;
k := m;
end; // koniec procedury
////////////////////////////////////////////////////////////////////////////
procedure Wskaz(var Tab02 : t;var n,m : integer); // procedura wskazania zer i nr wierszy z wartoscia 0
var
i,p,zera,l : integer;
begin
for i := 1 to n do
begin
for p := 1 to m do
begin
if Tab02[i,p] = 0 then
zera:= zera + 1;
if p = m then
begin
writeln('W wierszu ',i,' odnalazlem ',zera,' zer');
k:= 0;
end;
end;
end;
end; // koniec procedury
/////////////////////////////////////////////////////
begin
clrscr;
wprowadz(tab);
wskaz(tab,j,k);
readln
end.
Edit. Ok juz sam rozkminilem :P W procedurze wypelniania tablicy był błąd przez co zapisywala sie tylko ostatnia wartosc tablocy ;p