Treba mi pomoc oko sortiranja brojeva od najmanjeg do najveceg, samo da znate otprilike unese se koji broj po redu treba da se nadje npr od unesenih brojeva
2
5
88
13
1
25
2
da se nadje 3. po velicini i izlaz bi bio 5 :)
morat ces sredit malo sto se tice istih brojeva u nizu, ja nisam imo volje.
btw. kad ti vec treba pomoc onda postaj što si dosad napravio.
#include <iostream>
#include <algorithm>
#include <limits>
#define SIZE 7
int najmanjiBroj(int *niz, int size, int izborNajmanjeg) {
int i = 0;
while(izborNajmanjeg--) {
i = std::distance(niz, std::min_element(niz, niz + size));
if (izborNajmanjeg) niz[i] = std::numeric_limits<int>::max();
}
return niz[i];
}
int main()
{
int niz[] = {2, 5, 88, 13, 1, 25, 6};
int izbor;
std::cout << "Upisite koji najmanji broj po redu zelite naci \n";
std::cin >> izbor;
std::cout << "\nNajmanji " << izbor << " u nizu je " << najmanjiBroj(niz,SIZE,izbor);
return 0;
}
Inace postoji nativna sort() funkcija za to.
Al brate huseine to je ako sam dobro video to je za najmanji broj a meni treba od tih pomesanih brojeva da ispise redom 2 4 4 7 itd npr za unete 7 4 2 4 i sad ja znam ono za najmanji i najveci da odredim al treba mi sortiranje...
Eto ti u C++, pa prevedi sebi ;)
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int i,x,j;
cout<<"Broj clanova niza: ";
cin>>x;
int niz[x];
for(i=0;i<x;i++)
cin>>niz[i];
cout<<"Niz u rastucem redoslijedu: ";
for(i=0;i<x;i++)
for(j=i+1;j<x;j++)
if(niz[i]>niz[j]) swap (niz[i],niz[j]);
for(i=0;i<x;i++)
cout<<niz[i]<<" ";
cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
http://balkan-samp.com/forum/index.php?topic=71134.0
Princip je isti, samo prevedi u c/++
http://en.wikipedia.org/wiki/Bubble_sort
omfg, pa sort() funkcija koja je nativna iz algorithm includea. npr.
int a[3];
a[0] = 5;
a[1] = 2;
a[2] = 8;
sort(a, a+2);
i onda ispis (cout).
zasto komplicirate i ne koristite nativne funkcije koje su puno bolje a i jednostavnije od vasih custom loopova itd.?
Citat: LuKsA poslato April 09, 2014, 12:26:29 POSLE PODNE
omfg, pa sort() funkcija koja je nativna iz algorithm includea. npr.
int a[3];
a[0] = 5;
a[1] = 2;
a[2] = 8;
sort(a, a+2);
i onda ispis (cout).
zasto komplicirate i ne koristite nativne funkcije koje su puno bolje a i jednostavnije od vasih custom loopova itd.?
Nativna funkcija? - Custom loopovi?
Pa jesi ikada radio ikakva složenija sortiranja, jel se razumiješ uopće u sortiranja?
Da su odgovori na ta pitanja pozitivna znao bi da su sortiranja jedna od složenijih stvari u programiranju (ne u svim sluÄajevima naravno), i da, sama po sebi na fakultetima slabo se obraÄ'uju konkretno priÄam o fakultetu ranga FER i da algoritama koji rade sortaciju nema na bacanje ima ih nekoliko, a bubble sort je osnovni i nije custom loop kako ti to nazivaÅ¡.
Nativna funkcija koju isto nazivaÅ¡ koristi jednu metodu od tih 'custom loopova' - jer ne vidim da programeri izbacuju algoritme za sortiranja kao neke druge zato i ta funkcija koju ti nazivaÅ¡ nativnom ima istu strukturu kao ona koju nazivaÅ¡ custom loop, samo je integrirana u include i nije nativna, nije sve kao u samp-u pa da možeÅ¡ reći da je neÅ¡to nativno, ovdje je malo drugaÄije.
nisam osobno pregledavao taj inc, ali naravno da je napravljeno loopom, ali pokusavam reci kako da olaksate covjeku i kako da lakse radi. S for petljom ce se vise namucit nego s sort funkcijom. Ista fora ko da umjesto swap() radis rucno. :) mada swap i radi na isti princip ko sto bi se radilo rucno.
Da, radio sam slozenija sortiranja, i naravno da sam onda loopove koristio, pokusavam reci da za sortiranje manji->veci brojevi netrebas komplicirat tolko.
nisi razumio sto sam mislio s "custom loop" al nvm sad.
Znam ja i forda korisim hvala svima, skoro sve mi je jasno sem a%b sta se tu dogadja mislim dajte neki primer itd ili npr sta je a<<b
Citat: |LZ| Bugi poslato April 10, 2014, 11:26:29 PRE PODNE
Znam ja i forda korisim hvala svima, skoro sve mi je jasno sem a%b sta se tu dogadja mislim dajte neki primer itd ili npr sta je a<<b
http://en.wikipedia.org/wiki/Modulo_operation
Vidi :)
(laicki - ostatak kod dijeljenja) 9%3 = 0 | 3%2 = 1 .. itd
Citat: |LZ| Bugi poslato April 10, 2014, 11:26:29 PRE PODNE
Znam ja i forda korisim hvala svima, skoro sve mi je jasno sem a%b sta se tu dogadja mislim dajte neki primer itd ili npr sta je a<<b
Pa to je matematiÄki logiÄki znak za raÄunanje postotka (ostatka) i sl. Luksa ti je dao gore primjer...
a<<b ili a>>b ili a | b
time pomiÄeÅ¡ bitove to je rad s memorijom, ako si ikada radio sa dinamiÄkom ili statiÄkom alokacijom memorije, pokazivaÄima i sl. onda znaÅ¡ Å¡ta to radi... Ako ne, nemoj to raditi jer nije ni potrebno ugl. to je pomicanje bitova to sapada u veći level programiranja (high level programming) općenito programiranje koje se bavi manipuliranje memorijom je veća grana programiranja, jedan primjer gdje i zaÅ¡to se radi manipulacija memorijom je recimo
imaš 2 varijabla, a = 5 i b = 45 i sada kako bi zamijenio vrijednosti varijable a i varijable b normalno bi kreirao varijablu c u koju bi prepisao recimo
a = 5;
b = 45;
c = b;
a = b;
b = c;
manipuliranjem memorije to možeÅ¡ napraviti bez kreiranje 3 varijable time da hexadekadskim vrijednostima ili bitovima i pokazivaÄima izvadiÅ¡ iz memorije toÄnu vrijednost jer svaka varijabla u memoriji ima svoju hexadekadsku vrijednost koju sa pokazivaÄima možeÅ¡ Äitati ili koristiti za neÅ¡to... sliÄno je i sa pomicanjem bitova
Hvala vam lock :) P.S. pogledajte drugu temu hvala svima :)