Am nevoie de o idee. Daca am vectorul a cu 5 elemente: a( 7,6,9,7,6) si vreau sa ordonez crescator elementele vectorului folosesc cele 2 for-uri si aux-ul. si mi va afisa a(6,6,7,7,9).
Cum fac sa afisez doar o data elementele care se repeta? sa am a(6,7,9)???? ce conditie sa pun??
AntiEaglesDavids:
baga-le intr-un set
#include <set>
using namespace std;
int main()
{
int v[100], n;
cin >> n;
for(int i = 1; i <= n; i++) cin >> v[i];
set<int> x(v + 1, v + n + 1);
for(set<int>::const_iterator it = x.begin(); it != x.end(); ++it)
cout << *it << ' ';
return 0;
}
Răspunsuri la întrebare
Răspuns de
0
ai putea face cu vector de frecventa, in caz ca ai facut asa ceva la scoala. daca alegi sa-l folosesti nici nu mai e nevoie de sortare
altfel, daca vrei sa faci cu metoda aleasa de tine afisezi primul element si incepi parcurcurgerea vectorului de la urmatoarea pozitiesi te intrebi daca elementul precedent e egal cu elementul de pe for. in caz afirmativ cresti contorul de pe for sa sara peste el, iar in caz negativ afisezi elementul curent. sper ca ai inteles si ca e buna varianta asta. tine-ma la curent, te rog :)
altfel, daca vrei sa faci cu metoda aleasa de tine afisezi primul element si incepi parcurcurgerea vectorului de la urmatoarea pozitiesi te intrebi daca elementul precedent e egal cu elementul de pe for. in caz afirmativ cresti contorul de pe for sa sara peste el, iar in caz negativ afisezi elementul curent. sper ca ai inteles si ca e buna varianta asta. tine-ma la curent, te rog :)
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă