Čus.Nemůže mi někdo poradit s jedním úkolem...Já mám část, ale nevím jak to mám dokončit.Díky tomu kdo mi pomůže.
Zadání:
Sestavte program, který umožní v načtené matici (soubor MATICE4.TXT) vyhledat zadanou hodnotu H. Při prvním nalezení zadané hodnoty se vypíše pozice (řádek, sloupec) nálezu a hledání se ukončí. V případě nenalezení hodnoty se vypíše příslušné hlášení. Po prvním hledání se zobrazí dotaz, zda hledat další hodnotu. Při odpovědi "A" se hledání opakuje, v ostatních případech program skončí.
Fórum › Pascal
Pomocte
Já to takhle vymyslela, ale asi tam mám nějaké chyby...Mrkněte se někdo na to..
Uses crt;
const max=100;
var P: array [1..max] of integer;
I,C,POC,H: Integer;
S: Text;
begin
assign (S,'C:\SIMPAS\matice4.txt');
reset(S);
I:=0;
while not eof (S) do
begin
read (S,C);
I:= I+1;
P[I]:=C;
end;
close(S);
POC:=I;
Write('Zadej hledanou hodnotu: ');
Readln(H);
I:=1;
While (P[I]<>H) and (I<=POC) do
begin
I:=I+1;
end;
Writeln;
if P[I]=H then writeln ('Nalezeno na ',I, '. miste')
else writeln ('Nenalezeno');
Readln;
end.
Třeba takhle pro matice až 100*100 :
Uses crt;
const max=100;
var
Mat : array[1..100,1..100]of integer;
I,J,C,H: Integer;
S: Text;
sloupcu,radku:integer;
z:char;
begin
assign (S,'matice.txt');
reset(S);
I:=0;
read(s,sloupcu);
read(s,radku);
For i:=1 to radku do
For j:=1 to sloupcu do
begin
read(s,c);
mat[i,j]:=c;
If eof(s) then begin write('spatny soubor'); halt(1); end;
end;
close(S);
Write('Zadej hledanou hodnotu: ');
Readln(H);
I:=1;j:=1;
Repeat
While (i<=radku)and(Mat[i,j]<>H) do
begin
If j>sloupcu then begin j:=1; inc(i); end;
While (j<=sloupcu)and(Mat[i,j]<>H) do
begin
inc(j);
end;
end;
If i>10 then begin writeln('Nenalezeno'); break; end;
writeln ('Nalezeno na sloupci ',j, ' a radku ',i,'.');
inc(j);
Writeln;
Writeln('Dalsi hledani: A/N');Readln(z);
z:=upcase(z);
Until z<>'A';
end.
To o-lox : Moc ti děkju, ale když to spstím a na konci se mě to zeptá jesti chci Další hledání,tak já pak dám A jako tdy ano a ono s mi nezobrazí jaké číslo chci, ale rovno kde se to nachází. Nechápu, jakto, že se najde číslo, které jsem nezadala, a když to zksím na potřëtí, tak se ten program vypne..Kde je tedy chybka?
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Moderátoři diskuze