Strona 1 z 1
[C++] Sortowanie bąbelkowe
: 11 lut 2015, o 22:20
autor: robertos18
Kod: Zaznacz cały
#include <iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
void losowanie_liczb(int tablica[],int ile)
{
srand(time(NULL));
for(int i=0;i<ile;i++)
{
tablica[i]=rand()%10+1;
}
}
void wypisz(int tablica[],int ile)
{
for (int i=0;i<ile;i++)
cout<<tablica[i]<<",";
}
void sortowanie_babelkowe(int tablica[],int ile)
{
for (int i=1;i<ile;i++)
{
for(int j=ile-1;j>=1;j--)
{
if(tablica[j]<tablica[j-1])
{
int bufor;
bufor=tablica[j-1];
tablica[j-1]=tablica[j];
tablica[j]=bufor;
}
}
}
}
int main()
{
int dane[10];
losowanie_liczb(dane,10);
wypisz(dane,10);
sortowanie_babelkowe(dane,10);
return 0;
}
Jak zrobic aby liczby które zostały wylosowane zostały potem posortowane??
[C++] Sortowanie bąbelkowe
: 11 lut 2015, o 22:33
autor: pasasap
No przecież te liczby w tablicy zostają posortowane. Wypisz za sortowaniem jeszcze raz to zobaczysz, że program sortuje podaną tablicę.
[C++] Sortowanie bąbelkowe
: 11 lut 2015, o 23:19
autor: robertos18
No własnie nie bardzo bo wypisuje mi tylko wylosowane liczby, a chcialbym aby potem te liczby ktore zostały wypisane na ekran zostały posortowane.-- 12 lut 2015, o 00:22 --a nie dobra sorry juz czaje co zrobilem zle xD
[C++] Sortowanie bąbelkowe
: 11 lut 2015, o 23:24
autor: pasasap
Masz swoją funkcję main:
Kod: Zaznacz cały
int main()
{
int dane[10];
losowanie_liczb(dane,10);
wypisz(dane,10);
sortowanie_babelkowe(dane,10);
return 0;
}
Po kolei:
int dane[10]; - tworzysz tablicę 10-elementową.
losowanie_liczb(dane,10); - losujesz 10 wartości i zapisujesz je do tablicy
dane.
wypisz(dane,10); - wypisujesz te wylosowane liczby, które zostały zapisane do tablicy.
sortowanie_babelkowe(dane,10); - sortujesz dane z tablicy. I tutaj funkcja kończy swoje działanie. Jeśli chcesz, aby wypisał jeszcze raz, ale posortowane dane, to po prostu dopisz wypisywanie zaraz po sortowaniu:
Kod: Zaznacz cały
int main()
{
int dane[10];
losowanie_liczb(dane,10);
wypisz(dane,10);
sortowanie_babelkowe(dane,10);
wypisz(dane,10);
return 0;
}