Zadanie 1. Napisz funkcję, która posortuje liczby zapisane w zmiennych a, b i c w rosnącej kolejności. Użyj wskaźników.
Trzy liczby całkowite.
Posortowane liczby z wejścia.
Rozwiązanie.
Strategia jest następująca:
szukamy liczby najmniejszej i podstawiamy ją pod zmienną a, następnie szukamy mniejszej z liczb b i c, i zastępujemy nią zmienną b. Pozostała wartość zostaje zapisana w c.
#include<iostream>
#include<cstdlib>
using namespace std;
//funkcja zamieniająca wartości zmiennych
void zamien(int *a, int *b)
{
int pom = *a;
*a = *b;
*b = pom;
}
//funkcja sortująca trzy zmienne
void sortuj(int *a, int *b, int *c)
{
if(*a>*b)
zamien(a,b);
if(*a>*c)
zamien(a,c);
if(*b>*c)
zamien(b,c);
}
int main()
{
int a, b, c;
cout<<"Podaj trzy liczby: ";
cin>>a>>b>>c;
sortuj(&a,&b,&c); //sortowanie liczb
cout<<"Liczby posortowane: "<<a<<" "<<b<<" "<<c<<endl;
system("pause");
return 0;
}