Răspuns :
#include <iostream>
using namespace std;
int main()
{
int n,k=0,q=0,i,a;
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Introduceti numar="<<endl;
cin>>a;
if (a%2==0)
{
k=k+1;
}
else
{
q=q+1;
}
}
cout<<"Numarul de numere pare="<<k;
cout<<"Numarul de numere impare="<<q;
system("pause");
return 0;}
using namespace std;
int main()
{
int n,k=0,q=0,i,a;
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Introduceti numar="<<endl;
cin>>a;
if (a%2==0)
{
k=k+1;
}
else
{
q=q+1;
}
}
cout<<"Numarul de numere pare="<<k;
cout<<"Numarul de numere impare="<<q;
system("pause");
return 0;}
Semnul egal are inteles de atribuire. Deci atunci cand spui ca a%2=0 programul atribuie restul 0 operatiei respective, conditia este considerata a fi indeplinita, si va merge intotdeauna pe ramura primului if, niciodata pe ramura de else. Programul va produce la sfarsit k=n si q=0
Pentru a face o comparatie intre 2 valori trebuie sa folosesti ==. Pentru a face o comparatie de inegalitate, semnul corect este !=, nu =!
De asemenea, conditia de else nu contine si explicitarea ei.
un numar poate sa fie par sau impar, daca pui conditia sa fie par la prima, else contine implicit pe cea de impar
Deci codul corect ar fi
if(a%2==0)
k=k+1;
else
q=q+1;
sau
if(a%2!=0)
q=q+1;
else
k=k+1;
Pentru a face o comparatie intre 2 valori trebuie sa folosesti ==. Pentru a face o comparatie de inegalitate, semnul corect este !=, nu =!
De asemenea, conditia de else nu contine si explicitarea ei.
un numar poate sa fie par sau impar, daca pui conditia sa fie par la prima, else contine implicit pe cea de impar
Deci codul corect ar fi
if(a%2==0)
k=k+1;
else
q=q+1;
sau
if(a%2!=0)
q=q+1;
else
k=k+1;
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Ne bucurăm dacă informațiile oferite v-au fost de ajutor. Pentru orice întrebare sau clarificare suplimentară, echipa noastră vă stă la dispoziție. Revenirea dumneavoastră ne onorează – nu uitați să ne salvați în lista de favorite!