C-ben stringet hogyan lehet szépen kiíratni?
Figyelt kérdés
Valójában más a probléma.
A feladat, hogy meg kell állapítani egy szóról / szövegről, hogy palindróma-e.
char szo[100], v[100];
int i, h = 0, a = 0;
gets(szo);
while (szo[h] != '\0') h++;
for (i = --h; i >= 0; i--) {
v[a] = szo[i];
a++;
}
a = 0;
for (i = 0; i < h;i++) {
if (v[i] != szo[i]) a++;
}
printf("\nhossz:\t\t%d\neredeti:\t%s\nvisszafele:\t%s\n", ++h, szo, v);
if (a == 0) printf("\npalindroma\n");
De a második tömböt, amiben a szó megfordítva van, nem tudom jól kiíratni, mert az egész tömböt írja ki, azaz azokat az elemeket is hozzáfűzi, amiknek nem adtam értéket.
A kérdésem, hogy hogyan lehet ezt hibát javítani?
2018. okt. 16. 17:00
1/3 anonim válasza:
Megfordítás után nem raksz 0-t a végére
2/3 anonim válasza:
for (i = --h; i >= 0; i--) {
v[a] = szo[i];
a++;
}
v[a] = 0; // <-- !
3/3 A kérdező kommentje:
Működik, köszi :)
2018. okt. 16. 19:51
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!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!