Informatică, întrebare adresată de andreeutzaandr1, 9 ani în urmă

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
AntiEaglesDavids: asta ar fi cam cea mai simpla solutie
AntiEaglesDavids: #include <iostream>
#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 FlameAlchemist
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 :)

andreeutzaandr1: Am inteles ce vrei sa zici. Mersi, am sa incerc :-*
Alte întrebări interesante