» »

[C++] urejanje nizov po velikosti

[C++] urejanje nizov po velikosti

Loaded ::

Lp

Nekaj neštima tukaj pri urejanju pa ne vem kaj...

#include <iostream>
#include <string>
using namespace std;

const int velikost = 6;

void vpis(int velikost, string polje[velikost]) {
    for (int i = 0; i < velikost; i++)
        cin >> polje[i];
}

void urejanje(int velikost, string polje[velikost]) {
    for (int i = 0; i < velikost-1; i++) {
        for (int j = 0; j < velikost; j++) {
            if (polje[j] < polje[j+1]) {
               t = polje[j];
               polje[j] = polje[j+1];
               polje[j+1] = t;
            }
        }
    }
}

void izpis(int velikost, string polje[velikost]) {
     for (int i = 0; i < velikost; i++)
         cout << polje[velikost] << endl;
}

int main() {
    string polje[velikost];
    
    vpis(velikost, polje);
    urejanje(velikost, polje);
    izpis(velikost, polje);
    
    system("pause");
    return 0;
}



Lp
Loadeed
  • spremenilo: CCfly ()

OwcA ::

Si prepričan, da hočeš urejati stringe?
Otroška radovednost - gonilo napredka.

Loaded ::

Nekaj sem pozabo ja.. hočem jih urejati po velikosti.

#include <iostream>
#include <string>
using namespace std;

const int velikost = 6;

void vpis(int velikost, string polje[velikost]) {
    for (int i = 0; i < velikost; i++)
        cin >> polje[i];
}

void urejanje(int velikost, string polje[velikost]) {
    for (int i = 0; i < velikost-1; i++) {
        for (int j = 0; j < velikost; j++) {
            if (polje[j] < polje[j+1]) {
               string t = polje[j];
               polje[j] = polje[j+1];
               polje[j+1] = t;
            }
        }
    }
}

void izpis(int velikost, string polje[velikost]) {
     for (int i = 0; i < velikost; i++)
         cout << polje[velikost] << endl;
}

int main() {
    string polje[velikost];
    
    vpis(velikost, polje);
    urejanje(velikost, polje);
    izpis(velikost, polje);

    return 0;
}
Loadeed

Zgodovina sprememb…

  • spremenil: Loaded ()

Loaded ::

Nima veze sem že pošlihtal ..
Loadeed

Nymph ::

LP!

Ker debata o urejanju v c++ že poteka tu bom kar tukaj zastavil svoje vprašanje.

Imam problem z urejanjem v datoteki. Datoteko bi uredil po priimkih(shranjeni v strukturi). Sedaj pa problem. Kako se ureja datoteko brez uporabe tabel ? Obstaja kakšen algoritem oz ideja za urejanje ? Mogoče po ascii kodni tabeli ?

SasoS ::

Prebereš v RAM, urediš ;)
Obstajajo algoritmi ki ti datoteko urejajo na disku (oz. celo na traku), a dandanes pri 2GB rama in 100x večji hitrosti le-tega nimajo dosti smisla...

bozjak ::

yup vsekakor je najlažje da celo datoteko prebereš v ram, jo urediš (s pomočjo tabel oz dinamičnega seznama če ne veš ali bo šlo za dolge ali kratke sezname) in nato prepišeš datoteko...

Če bi rad urejal po ansi je najlažje da si zbereš en string glede na katerega boš urejal (npr ime) in nato primerjaš s pomočjo funkcije strcmp (String.h)...

LP
http://upor.blogec.si
http://bozjak.deviantart.com

Nymph ::

Hvala za odgovore. Mi je uspelo.:D

Matako ::

Varianta je tudi, če želiš sortirati velike datoteke z nizi z minimalno porabo pomnilnika je, da jih ne sortiraš in raje namutiš kako rešitev z indeksiranjem, podobno kot to delajo kake rel. baze podatkov (hm, hm ... )
/\/\.K.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kruskalov algoritem težave pri implementaciji

Oddelek: Programiranje
51519 (1293) zacetnik11
»

[C#] pomoc pri vpisu elementov v listBox

Oddelek: Programiranje
101184 (1099) keworkian
»

[c++] bubblesort

Oddelek: Programiranje
293052 (3052) strictom
»

[Python] Polja, matrike

Oddelek: Programiranje
51701 (1593) OwcA
»

kazalci, funkcije ipd...

Oddelek: Programiranje
71233 (1164) OwcA

Več podobnih tem