Oppure

Loading
14/10/09 20:48
matteog
il ciclo di inserimento non finisce mai di girare e non capisco il motivo me lo sapete spiegare?
mille grazie a chi mi saprà aiutare!:)
sapete come posso migliorarlo?




void complem()
{
	int num=0,bit=0,app=0,i=0;
	int vett[50];
	bool same=false;
	for(i=0;i<50;i++)
	{
		vett[i]=0;
	}
	cout<<"inserisci la lunghezza del numero da convertire :"<<endl;
	cin>>num;
	int k=-1;
	do
	{
		k=k+1;
		cout<<"inserisci il valore del bit partendo da destra verso sinistra!!"<<endl;
		cin>>bit;
		if(k=0&&bit==0)
		{
		     vett[k]=bit;
			 same=false;
		}
		if(k==0&&bit==1)
		{
			  app=bit;
			  vett[k]=app;
			  same=true;
		}
		if(k!=0&&same==true)
		{
    		if(bit==0)
			{
				same=false;
				vett[k]=bit+1;
			}
			else if(bit==1)
			{
				vett[k]=bit;
				same=true;
			}
		}
		if(k!=0&&same==false)
		{
			vett[k] = !(bit);
		}
		
	}
	while(k!=num);
		
	
	for(i=0;i<num;i++)
    {
      cout<<vett[i];

    }



}

















aaa
16/10/09 22:36
Matthew
Il problema sta in questa linea:
if(k=0&&bit==0) //Errore
        {
             vett[k]=bit;
             same=false;
        } 


Hai usato l'operatore di assegnamento, non quello di confronto.
In tal modo la variabile k viene reimpostata a 0 ad ogni iterazione e il ciclo diventa infinito...
Ultima modifica effettuata da Matthew 16/10/09 22:37
aaa
17/10/09 8:31
matteog
verissimo grazie nn l'avevo notato
aaa