Răspuns :
In primul rand, cand ai chestii de divizibilitate nu pui niciodata while.Pui for. De ce? For este o instructiune cu numar cunoscut de pasi, iar tu cunosti nr de pasi (de la 1 la a sau b )
Probabil ca nu merge pt ca nu iese niciodata din while.
In al doilea rand, cand declari o variabila in interiorul int main(), i se atribuie o valoare la intamplare. Ori tu nu vrei asta, ci vrei sa inceapa de la 0. Solutia: Intializeaza pe 0 sau declara-le global (in afara main)
Codul corect si testat:
#include <iostream>
using namespace std;
int main()
{
int a,b,i,d=0;
// citesti a si b
for(i=1;i<=a;i++)
-----if( a%i ==0 && b%i ==0 )
------------d++;
//afisezi d
return 0;
}
Probabil ca nu merge pt ca nu iese niciodata din while.
In al doilea rand, cand declari o variabila in interiorul int main(), i se atribuie o valoare la intamplare. Ori tu nu vrei asta, ci vrei sa inceapa de la 0. Solutia: Intializeaza pe 0 sau declara-le global (in afara main)
Codul corect si testat:
#include <iostream>
using namespace std;
int main()
{
int a,b,i,d=0;
// citesti a si b
for(i=1;i<=a;i++)
-----if( a%i ==0 && b%i ==0 )
------------d++;
//afisezi d
return 0;
}
Vă mulțumim că ați ales să vizitați site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți alte întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag să reveniți și nu uitați să ne salvați în lista de favorite!