Din fisierul Date.in se citeste de pe prima liinie o valoare n iar de pe a doua linie n valori reprezentand elementele unui sir. Sa se tipareasca:
a) Pe ecran in ordine inversa elementele sirului
b) Sa se tip suma elementelor negative impare din sir
c) Sa se tip elementele care au exact 2 cifre de 2 (acest punct nu imi iese, nu apare rezultatul, chiar daca l-am facut dupa cum puteti vedea in poza pusa)
» Ce as putea schimba acolo la puncutl c) ca sa imi mearga?
Anexe:
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
Explicație:
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("date.in");
int a[100],n,i,k,S=0, nr=0;
fin >> n;
for (i=0; i<n; i++)
{
fin >> a[i];
if (a[i]<0 && a[i]%2)
S+=a[i];
}
for (i=n-1; i>=0; i--)
cout << a[i] << endl;
cout << "b) Suma imparelor negative= " << S << endl;
cout << "c) elementele care au exact 2 cifre de 2: ";
int x;
for (i=0; i<n; i++)
{
x=a[i];
k=0;
while (x!=0)
{
if (x%10==2) ++k;
x/=10;
}
if (k==2)
{ cout << a[i] << " "; ++nr;}
}
if (nr==0) cout << " nu exista...";
return 0;
}
boiustef:
La p.c) Unica eroare pe care o văd este că dacă k=2 tr să afişezi valoarea elementului a[i] şi nu a lui x, care la acel moment devine 0. După codul tău totuşi tr să afişeze 0, nu înţeleg de ce nu a făcut-0. Eu am încercat ca la tine şi apare 0. Am mai adăugat nu există în caz că are loc asta
Alte întrebări interesante
Informatică,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
8 ani în urmă
Ed. tehnologică,
9 ani în urmă
Limba română,
9 ani în urmă