PDA

View Full Version : c++ un salto di troppo....


Kergan
30-05-2006, 18:18
Ciao a tutti.... il c++ è impazzito mi salta un'istruzione molto importante e quindi mi fa sbarellare il programmino...l'istruzione è rig--; dopo il do
ho provato anke a spostarla ma niente la salta ovunque anke se le assegno direttamente il valore ke desidere salta l'istruzione.....
sapete spiegarmi perkè la salta?
e sapete darmi qualke soluzione?

if(cont==ncas)
{
stampa(noc);
cout<<"\ncercare un'altra soluzione? \n1.SI \n2.NO\n";
cin>>scelta;
if(scelta==1)
{
do
{
rig--; <-----------questa
col=ncas;
if (rig==rig2)
rig--;
do
col--;
while(scacchiera[rig][col]!=1);
scacchiera[rig][col]=0;
cont=cont-1;
}
while(col==noc);
col++;
}
}


p.s. quando ho incollato il codice c'erano anke i tab.... già ke ci siete mi dite anke come si scrive nella finestra codice? tnx

cionci
30-05-2006, 21:26
Metti il codice fra i tag CODE: {CODE} {/CODE}
Ovviamente metti le parentesi quadre...

Secondo me c'è un buffer overflow da qualche parte...qualche anno fa impazzii per giorni su un errore simile...ed era appunto un buffer overflow...

wingman87
30-05-2006, 23:54
E il "rig--;" contenuto nell'if poco dopo te lo esegue (naturalmente se è verificato l'if)?

Kergan
31-05-2006, 00:30
come faccio a farlo eseguire subito?? la cosa strana è ke più su c'è uno stesso pezzo di codice ke non da problemi....

cionci
31-05-2006, 08:28
Ti ripeto...secondo me è un buffer overflow... Prova a controllare di aver allocato lo psazio necessario per tutte le stringhe che usi (+ un carattere per il fine stringa)...

Che compilatore usi ?