Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: problema nr palindrom  (Citit de 10504 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« : Februarie 21, 2009, 11:14:46 »

Se introduce un nr de la tastatura. Sa se verifice daca este palindrom.

Cod:
#include <iostream.h>
main()
{
int x,y,c,c1;
cout<<"Dati nr: ";
cin>>x;
while (x)
y=y*10+ (x%10);
while (x)
{
c=x%10;
x=x/10;
while (y)
{
c1=y%10;
y=y/10;
if (c==c1) cout<<:"nr palindrom";
else cout<<"nr nu e palindrom";
}
}
}


Ramane la "Dati nr:" mai departe nu ruleaza....Care-i problema?  Brick wall
Memorat
sima_cotizo
Nu mai tace
*****

Karma: 219
Deconectat Deconectat

Mesaje: 596



Vezi Profilul
« Răspunde #1 : Februarie 21, 2009, 11:30:01 »

Problema ta este aici:
Cod:
while (x)
y=y*10+ (x%10);
Programul ruleaza, dar la infinit. Trebuie sa mai faci si x = x/10 (sau x/=10). In rest nu am urmarit tocmai atent ce faci, dar inteleg ca in y determini scrierea inversa a lui x... nu ar fi mai simplu sa verifici direct daca x==y ?
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #2 : Februarie 21, 2009, 12:39:26 »

acum am pus
Cod:
while (x)
{
y=y*10+(x%10);
x=x/10;
}
if (x==y) cout<<"da";
else cout<<"nu"

introduc 12321 si imi spune "nu"  Aha
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #3 : Februarie 21, 2009, 12:52:59 »

Pai tu l'ai distrus pe x cand ti'ai construit y... salveaza'l intr'o variabila inainte sa faci treaba aia. Pune la inceput int aux = x; si compari pe y cu aux.
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #4 : Februarie 21, 2009, 13:14:34 »

nici asa nu merge:
Cod:
aux=x;
while (x)
{
y=y*10+(x%10);
x=x/10;
}
if (aux==y) cout<<"da";
else cout<<"nu";
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #5 : Februarie 21, 2009, 13:16:40 »

Pe y l'ai initializat cu 0?
Memorat
miculprogramator
Nu mai tace
*****

Karma: 65
Deconectat Deconectat

Mesaje: 306



Vezi Profilul
« Răspunde #6 : Februarie 21, 2009, 13:18:57 »

acum merge   Raised eyebrow multumesc, trebuie sa ma obisnuiesc sa initializez, mi s-a mai spus  Cry
Memorat
gabitzish1
Moderatori infoarena
Nu mai tace
*****

Karma: 321
Deconectat Deconectat

Mesaje: 926



Vezi Profilul
« Răspunde #7 : Februarie 21, 2009, 13:25:28 »

Obisnuieste-te sa faci si un pic de debug... chestia asta era usor de observat.
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines