Răspuns :
#include <iostream>
using namespace std;
int main()
{
long long int n,p,i,k,j;
p=0;
i=0;
cin>>n;
for(j=1;j<=n;j++)
{
cin>>k;
if(k==0)
{
p++;
}
while(k!=0)
{
if(k%10%2==0)
{
p++;
}
else
{
i++;
}
k=k/10;
}
}
cout<<p<<" "<<i;
}
iti da 80 de puncte deoarece nu ai tratat cazul in care numarul citit poate fi 0, adica o cifra para
am folosit codul tau, inlocuind "while (x!=0)" cu "do...while (x!=0)"
diferenta dintre acestea doua este ca la la while, daca x e 0 nu va intra pe while, iar la do while nu conteaza ce cifra e, prima data se executa instructiunile din interior, apoi se verifica conditia while-ului
#include<iostream>
using namespace std;
int main () {
long long int i, n, p, j, x;
p=0;
i=0;
cin>>n;
for (j=1; j<=n; j++){
cin>>x;
do{
if (x%10%2==0)
p++;
else
i++;
x=x/10;
}while (x!=0);
}
cout<<p<<' '<<i;
return 0;
}
Vă mulțumim că ați vizitat site-ul nostru web care acoperă despre Informatică. Sperăm că informațiile furnizate v-au fost utile. Nu ezitați să ne contactați dacă aveți întrebări sau aveți nevoie de asistență suplimentară. Ne vedem data viitoare și nu ratați să marcați.