Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*Napisati program koji će učitati prirodni broj n ≤ 10, a zatim n prirodnih trocifrenih brojeva koje treba pospremiti u odgovarajući niz.Taj niz brojeva treba sortirati uzlazno po srednjoj cifri. Nakon sortiranja treba ispisati dobiveni niz. Za sortiranje koristiti zasebnu funkciju kojoj se proslijeđuje nesortiran niz.*/
- #include <iostream>
- using namespace std;
- void unos (int[],int);
- void sort (int [],int);
- void ispis (int[],int);
- int main ()
- {
- int broj;
- int niz[10];
- cout<<"Unesite neki prirodan broj manji ili jednak 10: ";
- cin>>broj;
- while (broj<0 || broj>10)
- {
- cout<<"Broj nije u trazenom rangu unesite opet: ";
- cin>>broj;
- }
- unos(niz,broj);
- sort(niz,broj);
- ispis(niz,broj);
- system ("pause>0");
- return 0;
- }
- void unos(int novi[],int v)
- {
- for(int i=0;i<v;i++)
- {
- cout<<"Unesite trocifren broj: ";
- cin>>novi[i];
- while(novi[i]<100 || novi[i]>999)
- {
- cout<<"Niste unjeli trocifren broj unesite opet: ";
- cin>>novi[i];
- }
- }
- }
- void sort(int niz[],int v)
- {
- bool flag=true;
- int temp=0,cifra1=0,cifra2=0;
- while(flag)
- {
- flag=false;
- for(int i=0;i<v-1;i++)
- {
- cifra1=niz[i];
- cifra2=niz[i+1];
- if((cifra1/10)%10>(cifra2/10)%10)
- {
- temp=niz[i];
- niz[i]=niz[i+1];
- niz[i+1]=temp;
- flag=true;
- }
- }
- }
- }
- void ispis (int niz[],int v)
- {
- for(int i=0;i<v;i++)
- {
- cout<<niz[i]<<" ";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement