• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Funkjce biblioteki STL

0 głosów
334 wizyt
pytanie zadane 8 grudnia 2016 w C i C++ przez Kasztan Dyskutant (8,080 p.)
zamknięte 9 grudnia 2016 przez Kasztan
#include <iostream>
#include <algorithm>

using namespace std;

int reduce(long ar[], int n);

int main()
{	
	long tab[8] = { -2,33,54,54,10,-43,-43,37 };
	reduce(tab, 8);



    return 0;
}

int reduce(long ar[], int n)
{
	sort(ar, ar + n);
	

}

Chcciałbym pozbyć się duplikatów z tej tablicy. Jakiej metody STL użyć aby działała również na tablicy typu long ?

komentarz zamknięcia: Uzyskałem odpowiedź

2 odpowiedzi

0 głosów
odpowiedź 9 grudnia 2016 przez maly Nałogowiec (37,190 p.)
wybrane 9 grudnia 2016 przez Kasztan
 
Najlepsza
const auto size = 8;
long tab[size] = { -2,33,54,54,10,-43,-43,37 };

std::sort(tab, tab + size);

auto it = std::unique(tab, tab + size);
auto new_size = std::distance(tab, it);

for(auto i = 0; i < new_size; ++i)
	std::cout << tab[i] << ' ';

 

0 głosów
odpowiedź 8 grudnia 2016 przez playerony Pasjonat (15,200 p.)

Można to zrobić tak:

#include <iostream>
#include <vector>

using namespace std;

void fillVector(vector<long>&tab){
    tab.push_back(-2);
    tab.push_back(33);
    tab.push_back(54);
    tab.push_back(54);
    tab.push_back(10);
    tab.push_back(-43);
    tab.push_back(-43);
    tab.push_back(37);
}

int main()
{
    vector<long>vec;
    fillVector(vec);

    sort(vec.begin(), vec.end());
    vec.erase( unique( vec.begin(), vec.end() ), vec.end() );

    for(vector<long>::iterator it = vec.begin() ; it != vec.end() ; ++it)
        cout << *it << " ";

    return 0;
}

komentarz 9 grudnia 2016 przez Kasztan Dyskutant (8,080 p.)
No ale ja pytam czy da się użyć jakiegoś iteratora, algorytmu czy funktora STL na zwykłej tablicy long a nie na kontenerze vector

Podobne pytania

0 głosów
1 odpowiedź 482 wizyt
pytanie zadane 1 września 2022 w C i C++ przez polandonion Dyskutant (7,710 p.)
+1 głos
1 odpowiedź 980 wizyt
pytanie zadane 2 lipca 2016 w C i C++ przez igor1988bb Użytkownik (800 p.)
0 głosów
2 odpowiedzi 885 wizyt

93,763 zapytań

142,719 odpowiedzi

323,368 komentarzy

63,359 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...