( На языке С++) Напишите процедуру, которая переставляет три переданные ей числа в порядке возрастания. Пример: входные данные 10 15 5 выходные данные 5 10 15
int main() { int x, y, z; std::cin >> x >> y >> z; void (*ptr)(int *x, int *y, int *z); ptr = sort; (*ptr)(&x, &y, &z); std::cout << x << " " << y << " " << z << std::endl; system("pause"); return 0; }
inline void sort(int *a, int *b, int *c) { if (*b < *a) std::swap(*a, *b); if (*c < *a) std::swap(*a, *c); if (*c < *b) std::swap(*b, *c); }
Answers & Comments
#include <iostream>
inline void sort(int *a, int *b, int *c);
int main()
{
int x, y, z;
std::cin >> x >> y >> z;
void (*ptr)(int *x, int *y, int *z);
ptr = sort;
(*ptr)(&x, &y, &z);
std::cout << x << " " << y << " " << z << std::endl;
system("pause");
return 0;
}
inline void sort(int *a, int *b, int *c)
{
if (*b < *a) std::swap(*a, *b);
if (*c < *a) std::swap(*a, *c);
if (*c < *b) std::swap(*b, *c);
}