Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Egyik lehetőség:
- // Ha van olyan számérték, ami tuti nem fordulhat elő (mondjuk -1), azt használjuk
- // annak jelzésére, hogy nincs még oda írva semmi.
- int a[50], n;
- cin>>n;
- for (int i=0; i<n; i++)
- cin>>a[i];
- int db, b[50];
- // Feltöltjük a b[] tömböt olyan értékkel, ami tuti nem lehet benne:
- for (int i=0; i<n; i++) // új kód
- b[i] = -1; // új kód
- for (int i=0; i<n; i++)
- {
- db=0;
- for (int j=0; j<n; j++)
- if (a[i]>a[j]) db++;
- // volt-e már db-edik?
- // ha volt már, akkor a következő üres helyre kell tenni
- while (b[db] != -1) // új kód
- db++; // új kód
- b[db]=a[i];
- }
- for (int i=0; i<n; i++)
- cout<<b[i]<<" ";
- ////////////////////////////////////////////////////////////////////////////////
- // Másik lehetőség:
- // Egy külön tömböt használunk annak jelzésére, hogy nincs még feltöltve egy elem
- // Ez kicsit hosszabb, de működik akkor is, ha lehetnek negatív számok is.
- int a[50], n;
- cin>>n;
- for (int i=0; i<n; i++)
- cin>>a[i];
- int db, b[50];
- bool c[50]; // új kód
- // Feltöltjük a c[] tömböt false-szal
- for (int i=0; i<n; i++) // új kód
- c[i] = false; // új kód
- for (int i=0; i<n; i++)
- {
- db=0;
- for (int j=0; j<n; j++)
- if (a[i]>a[j]) db++;
- // van-e már db-edik?
- // ha van, akkor a következő üres helyre kell tenni
- while (c[db] == true) // új kód
- db++; // új kód
- b[db]=a[i];
- c[db]=true; // új kód
- }
- for (int i=0; i<n; i++)
- cout<<b[i]<<" ";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement