Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdarg.h>
- #include <conio.h>
- #include <stdio.h>
- #include <locale.h>
- typedef union{
- int i;
- double d;
- } result;
- result min_function(char type, int num, ...);
- int main()
- {
- setlocale(LC_CTYPE, "Russian");
- static int kol = 3;
- if (kol == 3) {
- printf("Введите 5 чисел: ");
- int a1, a2, a3, a4, a5;
- scanf("%d%d%d%d%d", &a1, &a2, &a3, &a4, &a5);
- result ans = min_function('i', 5, a1, a2, a3, a4, a5);
- printf("Минимальное число = %d\n", ans.i);
- }
- if (kol == 2) {
- printf("Введите 7 чисел: ");
- int a1, a2, a3, a4, a5, a6, a7;
- scanf("%d%d%d%d%d%d%d", &a1, &a2, &a3, &a4, &a5, &a6, &a7);
- result ans = min_function('i', 7, a1, a2, a3, a4, a5, a6, a7);
- printf("Минимальное число = %d\n", ans.i);
- }
- if (kol == 1) {
- printf("Введите 12 чисел: ");
- int a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12;
- scanf("%d%d%d%d%d%d%d%d%d%d%d%d", &a1, &a2, &a3, &a4, &a5, &a6, &a7, &a8, &a9, &a10, &a11, &a12);
- result ans = min_function('i', 12, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12);
- printf("Минимальное число = %d\n", ans.i);
- }
- kol--;
- if (kol)
- return main();
- return 0;
- }
- result min_function(char type, int num, ...) {
- result res;
- va_list argptr;
- va_start(argptr, num);
- switch(type) {
- case 'i':
- res.i = va_arg(argptr, int);
- for (int i = 1; i < num; i++) {
- int x = va_arg(argptr, int);
- if (res.i > x) res.i = x;
- }
- va_end(argptr);
- break;
- case 'd':
- res.d = va_arg(argptr, double);
- for (int i = 1; i < num; i++) {
- double x = va_arg(argptr, double);
- if (res.d > x) res.d = x;
- }
- va_end(argptr);
- break;
- }
- return res;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement