Răspuns :
Răspuns:
#include <iostream>
using namespace std;
int main(void)
{
int n, i, cnt=0, aux, fv[10000] = {0};
cin >> n;
int *v = new int[n];
for(i = 0; i < n; i++) {
cin >> aux;
fv[aux]++;
}
for(i = 0; i <= 10000; i++) {
if(!fv[i]) {
continue;
} else if(fv[i] == 2) {
v[n/2 - cnt - 1] = v[n/2 + cnt] = i;
cnt++;
} else {
cout << -1;
return 0;
}
}
for(i = 0; i < n; i++)
cout << v[i] << ' ';
return 0;
}
Explicație:
1. Cred ca nu ai introdus toate restrictiile, fiindca nu se precizeaza cat de mari pot fi numerele din vector, asa ca am considerat 10000 maximul.
2. Te las pe tine sa pui ofstream si ifstream pentru fisier, eu am facut cu cin si cout.
3. Cand ai spus numere "descrescatoare", am considerat ca numerele nu pot fi egale (de exemplu, 3 3 2 2 3 3 va fi un vector invalid).
Oricum, sper ca te-am ajutat la aceasta problema!
Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!