Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Miért nem jó a program?

415
Van egy 5 karakteres szavakból álló tömb.
Nekem be kell kérnem 1 három karakteres szót.
Ha az ö karakteres szó közepe tartalmazza a 3 karakteres szót ,amit bekértem akkor írja ki,azonban az erre írt programom nem működik :/ ,miért?


printf("\nkerem a szoreszletet: ");
gets(resz);

int k,l,kn;

k=0;l=strlen(tomb[i]);kn=0;
for(i=0;i<darab1;i++)
for(j=0;j<strlen(tomb[i]);j++)
{
if(tomb[i]==resz) kn++;
k++;
l--;
}

if(kn!=0) printf("%s ",tomb[i]);

Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

2
Ez teljesen rossz... Semmi jó nincs benne, szóval nem érdemes kijavítani, újat kell írni.
pl.:
- Mi az a k, miért növeled?
- Mi az az l, miért csökkented? Amikor az l értéket kap, akkor még az i nincs beállítva, utána indul a ciklus.
- Mi az a j, miért csinálsz vele egy ciklust, ha utána fel se használod a j értékét?
- tomb[i]==resz sose teljesül, mert ez két pointer, amik nem azonosak. Nem inkább a karaktereket akartad hasonlítani?
- A végén a kiíráskor már a cikluson kívül vagy, itt már semmi értelme az i-t használni.
Módosítva: 7 éve
1

0