sortowanie wylosowanych liczb - C++

0

Hej, napisałam program (Proszę napisać program, który wylosuje 10 liczb i posortuje je w kolejności rosnącej.
Program powinien wypisać najpierw wylosowane liczby, następnie wypisać te liczby po sortowaniu.), który nie do końca dobrze mi wychodzi, tylko gdzie mam błąd??

#include <cstdlib>
#include <iostream>
#include <ctime>

using namespace std;

void sortowanie_babelkowe(int tab[],int n)
{
int pom;
for(int i=0;i<n;i++)
for(int j=0;j<n-i-1;j++)

if(tab[j]>tab[j+1])
{
pom = tab[j]; tab[j] = tab[j+1];
tab[j+1] = pom;
}
}
int main()
{

int tab[20];
srand(time(0));
cout<<"Wygenerowalem tablice liczb: \n";
for(int i=0;i<10;i++)

{
tab [i]=rand()%10;
cout<< tab[i]<<"\n\n";

 sortowanie_babelkowe(tab, i); 
 for(int i=0;i<11;i++) 
 cout<<tab[i]<<" "; 
 cout<<endl; 
 
}
system ("pause");
return 0;

}

1

Sformatuj kod: http://format.krzaq.cc style file

for (int i = 0; i < 10; i++)
{
    tab[i] = rand() % 10;
    cout << tab[i] << "\n\n";

    sortowanie_babelkowe(tab, i);
    for (int i = 0; i < 11; i++)
        cout << tab[i] << " ";
    cout << endl;
}

Sortowanie i wypisywanie powinno się znajdować poza tą pętlą (oczywiście samo wypisywanie jest w swojej pętli).

for (int i = 0; i < 11; i++)

Dlaczego i < 11? Masz tylko 10 elementów o indeksach od 0 do 9. Powinno być i < 10 tak jak w pierwszej pętli losującej liczby.

1 użytkowników online, w tym zalogowanych: 0, gości: 1