Nie wiem jak zrobić sortowanie do tablic

0

Cześć,

napisałem część programu i nie wiem jak zrobić sortowanie.
Sytuacja wygląda następująco: wpisuje do tablicy np. 3 pracowników firmy i chce je odpowiednio posortować i wyświetlić na ekranie.
Bardzo proszę o informację jak mogę posortować takie dane.

Tutaj kod:
http://www.wklejto.pl/252549

3

std::sort: http://en.cppreference.com/w/cpp/algorithm/sort
Podajesz komparator jaki chcesz (ewentualnie przeładowujesz globalny operator<, ale to z reguły zły pomysł).

0

A mógłby mi ktoś to zaprezentować w kodzie, bo nie wiem dokładnie jak to zrobić :( ?

0

to co wrzucił @kq nie rozumiem (dopiero zaczynam programować :( ).
Znalazłem coś podobnego: http://cpp0x.pl/dokumentacja/standard-C++/sort/350

	sort (firma, firma + rozmiar < int > () );
	cout << "Sortowanie wieku od najstarszego: \n";
	for (int i=0;i<rozmiar;i++)
		cout << firma[i].wiek << '\n';
 

mógłby mi ktoś to poprawić?

0

w kodzie to w tej chwili przepraszam nie podpowiem...
jednakże w Visual Studio kontrolka np. ListBox ma we właściwościach Properties możliwość ustawienia Sort
i samo się będzie automatycznie sortowało

w kodzie musiałbym poszukać a jestem w podróży i dlatego muszę pilnować abym na stacji dobrze wysiadł bo mam przesiadkę za chwilę...

0

Chciałbym to zrobić w kodzie. Użytkuje program dev c++.

2
Klasyczny napisał(a):

mógłby mi ktoś to poprawić?

Tak. Usuń, skorzystaj z przykładów, które podlinkowałem.

Klasyczny napisał(a):

Chciałbym to zrobić w kodzie. Użytkuje program dev c++.

Pora wejść w drugą dekadę XXI wieku. dev-cpp to antyk.

2

Ale przecież dokumentacja jest bardzo dobrze opisana. Postaraj się użyć pierwszego linku. Poświęć na to swój cenny czas.

0

Nie wiem dokładnie jak przesortować np. wiek.
Jak wprowadzam go w taki sposób:

    pracownicy firma[rozmiar];
    for(int i=0;i<rozmiar;i++) {
                  ...
        cout<<"Podaj wiek\n";
        cin>>firma[i].wiek;
        ...
1

Zaprezentowałeś wyświetlanie, nie wczytywanie. To na pewno Twój kod?

1

http://www.algorytm.edu.pl/algorytmy-maturalne/quick-sort.html /// teoria
https://pl.wikipedia.org/wiki/Sortowanie_szybkie /// fajna wizualizacja
http://miroslawzelent.pl/wyklady/sortowanie-szybkie-quicksort-dziel-zwyciezaj.pdf /// teoria #2
http://eduinf.waw.pl/inf/alg/003_sort/0018.php /// alternatywa teorii, czyli teoria

Co do linku z początku może to Ci mniej więcej podpowie o co chodzi:

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

/// Warunek wykonujacy sie podczas sortowania listy
bool cmp(const int &a, const int &b){
    return (a<b);
}

int main()
{
    vector<int> vList;
    vList.push_back(1);
    vList.push_back(5);
    vList.push_back(4);
    vList.push_back(2);
    vList.push_back(9);
    vList.push_back(8);
    vList.push_back(6);

    cout << "NIEPOSORTOWANA:\r\n";
    for(auto &it : vList) cout << it << " ";
    sort(vList.begin(), vList.end(), cmp); /// (poczatek tablicy, koniec tablicy, warunek sprawdzajacy)
    cout << "\r\nPOSORTOWANA:\r\n";
    for(auto &it : vList) cout << it << " ";
}
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1