DOKOŃCZ program. Uporządkuj malejąco N liczb, stosując algorytm sortowania bąbelkowego.

void sort_babel()

{

for(int i = N-1; i > 0;i--)

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

if(a[j]>a[j+1])

{

int t = a[j];

a[j] = a[j + 1];

a[j + 1] = t;

}

}


int main()

{

wprowadz_dane();

cout << endl;

cout << "Wprowadzone dane:" << endl;

wyprowadz_dane();

cout << "Dane posortowane malejaca: " << endl;

sort_babel();

wyprowadz_dane();

return 0;

}.


Odpowiedź :

Odpowiedź:

#include <iostream>

using namespace std;

int *wprowadz_dane(int &n) {

   std::cout << "Podaj wielkosc tablicy\n";

   std::cin >> n;

   int *tab = new int[n];

   for (int i = 0; i < n; i++) {

       std::cout << "Podaj " << i + 1 << " liczbe:\n ";

       std::cin >> tab[i];

   }

   return tab;

}

void wprowadzone_dane(int tab[], int n) {

   for (int i = 0; i < n; i++) {

       std::cout << tab[i] << std::endl;

   }

}

void sort_babel(int a[], int N) {

   for (int i = N - 1; i > 0; i--)

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

           if (a[j] < a[j + 1]) {

               int t = a[j];

               a[j] = a[j + 1];

               a[j + 1] = t;

           }

}

int main() {

   int n;

   int *tab = wprowadz_dane(n);

   cout << endl;

   cout << "Wprowadzone dane:" << endl;

   wprowadzone_dane(tab, n);

   cout << "Dane posortowane malejaca: " << endl;

   sort_babel(tab, n);

   wprowadzone_dane(tab, n);

   return 0;

}

Wyjaśnienie:

Można to zrobić na wiele sposobów, ale żeby jak najmniej zmieniać to zrobiłem to tak