Hogyan hivatkozhatok egy tömb elemének karakterére Pascalban?
Mutasd, hogyan 'csinálod', mert mennie kell.
Példa:
var a: array[1..5] of string;
begin
a[1] := 'valami';
WriteLn(a[1][2]);
ReadLn;
end.
Lehet akár ilyet is csinálni:
var
tomb: array[0..3] of string;
i: Integer;
begin
tomb[0] := '12321223311';
tomb[1] := 'alma';
tomb[2] := 'körte';
tomb[3] := 'barack';
for i := 1 to Length(tomb[0]) do
begin
Writeln(tomb[StrToInt(tomb[0][i])]);
end;
Readln;
end.
Szia.
De elvileg ez is müködik :
writeln (a[k,3]);
Sok sikert.
üdv.
átírtam egy kicsit, de így se jó
for x:=1 to 90 do begin
y:=m[j,i];
if y[x]<>'#' then begin
write(y[x]);
end
y,m stringek, többi integer.
Valamiért sigsev hibaüzenettel kidob.
Nagyon köszönöm a segítséget!
Szia.
Vagy :
for x:=1 to 90 do begin
y:=m[j];
if y[x]<>'#' then begin
write(y[x]);
end
vagy :
for x:=1 to 90 do begin
if m[j,x]<>'#' then begin
write(m[j,x]);
end
Bár modjuk ez függ az Y tömbtől, a fentiek csak akkor érvényesek ha Y vektor és nem mátrix (deklarációja pl.: Y : array [1..10] of string;)
Sok sikert.
Üdv.
sajnos y mátrix, de azért köszi. Itt van egy hosszabb részlet, ha valakinek esetleg sok a szabadideje: a cél, hogy 11 különböző kódrészletből összerakjunk egyet. A kódrészletek csak abban különböznek, hogy más-más karaktereik le vannak fedve egy # jellel, de a 11 kódrészlet egyikében biztosan ott van a keresett karakter.
for j:=1 to 11 do begin
i:=1;
for x:=1 to 90 do begin
if m[j,i][x]<>'#' then begin
write(m[j,i][x]);
end
else begin
inc(i);
end;
end;
end;
Nem egészen tudom követni, mi akar ez lenni, azt sem, miért teszel egysoros utasításokat begin..end közé, de szerintem egyszerűen három indexszel tudsz hivatkozni rá (a mátrix két indexe, meg a karakter sorszáma).
Ez a kissé idétlen valami reményeim szerint ezt csinálja -- nem a te programod, de azért beleraktam a '#' karakterre való vizsgálatot is:
program stringtombelem;
var
a: array[1..9, 1..9] of string;
i, j, k : integer;
begin
for j := 1 to 9 do
for i := 1 to 9 do
a[i,j] := 'l#posgut#';
k := 1;
for j := 1 to 9 do
begin
for i := 1 to 9 do
if a[i,j,k] <> '#' then
Write(a[i,j,k])
else
Write('a');
WriteLn;
Inc(k);
end;
ReadLn;
end.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!