Proc12. Описать процедуру SortInc3($$A$$, $$B$$, $$C$$), меняющую содержимое переменных $$A$$, $$B$$, $$C$$ таким образом, чтобы их значения оказались упорядоченными по возрастанию ($$A$$, $$B$$, $$C$$ — вещественные параметры, являющиеся одновременно входными и выходными). С помощью этой процедуры упорядочить по возрастанию два данных набора из трех чисел: ($$A_1$$, $$B_1$$, $$C_1$$) и ($$A_2$$, $$B_2$$, $$C_2$$).
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include <stdio.h> void swap(float *x, float *y){ *x=*x+*y; *y=*x-*y; *x=*x-*y; } void sortinc3(float *a, float *b, float *c){ if (*a>*b) swap(a,b); if (*a>*c) swap(a,c); if (*b>*c) swap(b,c); } int main(void) { int i; for (i=1;i<=2;++i){ float a,b,c; printf("A:"); scanf("%f", &a); printf("B:"); scanf("%f", &b); printf("C:"); scanf("%f", &c); sortinc3(&a,&b,&c); printf("A:%f; B:%f; C:%f\n",a,b,c); } return 0; } |
Другие задачи из раздела Proc можно посмотреть здесь.
Комментарии: