Kezdőoldal » Számítástechnika » Programozás » Adott karaktert hogyan lehet...

Adott karaktert hogyan lehet egy stringben (AnsiString) a legátláthatóbb módon megszámolni Pascalban (Lazarusban)?

Figyelt kérdés

Ilyesmire gondolok, csak AnsiStringekkel:

[link]


Ez ShortStringekkel tiszta sor, sima megszámolás tétel, végiglépkedek a string elemein (ami shortstring lévén karaktertömb), és ahol egyezik a kívánt karakterrel, ott növelem a számláló értékét.

A probléma az, hogy AnsiStringként nem tudom elérni az egyes karaktereket közvetlenül...


ma 12:29
 1/7 anonim ***** válasza:
0%

Mi ez?


"ord(blist[0])"

ma 12:57
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:

Ezt nézted?


[link]

ma 14:38
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
ma 14:40
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
0%

Banyek.

Az ANSI stringnél nem az első bájt tárolja a hosszot.

ma 14:44
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:
0%

A shortStringeknél az első bájton tárolódik a string hossza. Ezért is lehet csak 255 karakter hosszú, mert a nulladik bájt a hossz.

De ansistring esetében ez nem játszik. Ott használd ezt: length(ansistring)


Minden más ugyanaz, mint shortString esetén.


var

s: ansistring;

i, cnt: word;

ch: char;


begin

s:= 'hat darab vakablak marad csak';

ch := 'a';

cnt:= 0;


for i:= 1 to length(s) do if s[i]=ch then inc(cnt);

writeln(cnt);

end.

ma 14:55
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
49%
Delfi papa megint felöntött a garatra?
ma 15:48
Hasznos számodra ez a válasz?
 7/7 anonim válasza:
#6: Mikor nem? Remélem jelenti lelkesen mindenki.
ma 18:00
Hasznos számodra ez a válasz?

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