Kezdőoldal » Számítástechnika » Programozás » Hogyan hivatkozhatok egy tömb...

Hogyan hivatkozhatok egy tömb elemének karakterére Pascalban?

Figyelt kérdés
Ez nem megy: a[k][3]

2015. aug. 25. 18:20
1 2 3
 1/24 anonim ***** válasza:
Szedd ki a[k]-t egy változóba és aztán hivatkozz a karakterére.
2015. aug. 25. 18:21
Hasznos számodra ez a válasz?
 2/24 SimkoL ***** válasza:

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.

2015. aug. 25. 18:39
Hasznos számodra ez a válasz?
 3/24 anonim ***** válasza:

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.

2015. aug. 25. 18:50
Hasznos számodra ez a válasz?
 4/24 coopper ***** válasza:

Szia.


De elvileg ez is müködik :


writeln (a[k,3]);


Sok sikert.

üdv.

2015. aug. 25. 20:19
Hasznos számodra ez a válasz?
 5/24 anonim ***** válasza:
kód alapján (hogy mivel próbálkozol) többet lehetne segíteni, ahogy hivatkozni akartál, úgy egy mátrix elemére szoktak hivatkozni, de (Pascal-ban) ekkor a sor és oszlop hivatkozása nem kerül külön [ és ] közé.
2015. aug. 25. 20:36
Hasznos számodra ez a válasz?
 6/24 A kérdező kommentje:

á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!

2015. aug. 25. 21:45
 7/24 coopper ***** válasza:

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.

2015. aug. 25. 22:14
Hasznos számodra ez a válasz?
 8/24 A kérdező kommentje:

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;

2015. aug. 25. 22:23
 9/24 A kérdező kommentje:
A kód 90 karakterből áll...
2015. aug. 25. 22:24
 10/24 tabaki ***** válasza:

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.

2015. aug. 25. 23:41
Hasznos számodra ez a válasz?
1 2 3

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!