Buna!
Am scris urmatorul cod, cand declar vectorul de frecventa in afara functiei main prograamul functioneaza, dar daca il declar in interiorul functiei main, nu da rezultatul corect. Care este explicatia?
#include
#include
using namespace std;
ifstream in("pareimpare.in");
ofstream out("pareimpare.out");
int v[100];
int main()
{
int x,i;
while (in>>x)
v[x]++;
for (i=1; i<100; i+=2)
if (v[i]) out <
out <
for (i=98; i>=0;i-=2)
if (v[i])out <
out <
return 0;
}
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
In primul rand, codul e copiat naspa dar nu asta e problema.
Explicație:
In al doilea rand, cand declari vectorul de frecventa in afara functiei int main, acesta primeste valoarea 0 la toate variabilele. Se mai spune si declarare GLOBALA, tot ce declari inaintea functiei int main ia valoarea 0. Daca declari o variabila de exemplu int x, in afara int main, x va avea valoarea 0. Asa si cu vectorul de frecventa. Cand il declari in int main, va lua o valoare la intamplare care de ce cele mai multe ori e nefolositoare.
Alte întrebări interesante
Matematică,
8 ani în urmă
Evaluare Națională: Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Studii sociale,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă