Ce este gresit la codul meu? Este problema 633 de pe pbinfo: Se dă un șir cu n elemente, numere naturale. Determinați diferența în valoare absolută dintre numărul de valori pare din șir și numărul de valori impare din șir. Programul citește de la tastatură numărul n, iar apoi n numere naturale, reprezentând elementele șirului.Programul va afișa pe ecran numărul C, reprezentând valoarea cerută.
Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000
Exemplu
Intrare
5
15 245 28 33 11
Ieșire
3
Explicație
Sunt 4 numere impare și un număr par în șir, deci diferența este 3.
#include
using namespace std;
int main()
{
int n, v[1001], c, a, b;
cin>>n;
for(int i=0;i<=n;i++)
cin>>v[i];
a=0;
b=0;
if(v[i]%2==0)
{
a=1;
a++;
}
else {
b=1;
b++;
}
c=a-b;
cout< return 0;
}
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
using namespace std;
int main()
{
int n,i,cntp=0,cnti=0,v[1002];
cin>>n;
for (i=1;i<=n;i++)
cin>>v[i];
for (i=1;i<=n;i++)
if (v[i]%2==0)
cntp++;
else
cnti++;
if (cntp>cnti)
cout<<cntp-cnti;
else
cout<<cnti-cntp;
return 0;
}
Explicație:
cntp = numarul de valori pare din vector
cnti = numarul de valori impare din vector
Iti cere valoarea absolută. Poti folosi in loc de acel if funcția abs.
Ai fi scris cout<<abs(cnti,cntp); //Ar fi trebuit inclusa si biblioteca cmath
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Istorie,
8 ani în urmă
Limba română,
8 ani în urmă
Geografie,
9 ani în urmă
Matematică,
9 ani în urmă