Puma P Puma Регистрация 20 Апр 2013 Сообщения 81 Репутация 0 Спасибо 0 Монет 0 18 Сен 2016 #1 Даны 3 числа. Поменять местами большее и меньшее из этих чисел Что-то я знатно торможу, думаю всю на самом деле куда проще)) Заранее спасибо #include #include int main(int argc, char *argv[]) { float x,y1,y2,t,l,b,a,k,min,max; printf("Input x,y1,y2"); scanf("%f%f%f",&x,&y1,&y2); min=x; t=1; max=x; l=1; if (y1<min) {min=y1; t=2;} if (y2max) {max=y1; l=2;} if (y2>max) {max=y2; l=3;} if (t==1) a=x; if (t==2) a=y1; if (t==3) a=y2; if (l==1) b=x; if (l==2) b=y1; if (l==3) b=y2; k=b; b=a; a=k; printf("b=%8.0f a=%8.0f ",a,b); system("PAUSE"); return EXIT_SUCCESS; }
Даны 3 числа. Поменять местами большее и меньшее из этих чисел Что-то я знатно торможу, думаю всю на самом деле куда проще)) Заранее спасибо #include #include int main(int argc, char *argv[]) { float x,y1,y2,t,l,b,a,k,min,max; printf("Input x,y1,y2"); scanf("%f%f%f",&x,&y1,&y2); min=x; t=1; max=x; l=1; if (y1<min) {min=y1; t=2;} if (y2max) {max=y1; l=2;} if (y2>max) {max=y2; l=3;} if (t==1) a=x; if (t==2) a=y1; if (t==3) a=y2; if (l==1) b=x; if (l==2) b=y1; if (l==3) b=y2; k=b; b=a; a=k; printf("b=%8.0f a=%8.0f ",a,b); system("PAUSE"); return EXIT_SUCCESS; }
dron175mk D dron175mk Регистрация 7 Авг 2013 Сообщения 90 Репутация 0 Спасибо 0 Монет 0 18 Сен 2016 #2 А если больших два 1 2 2 ? При равенстве то все проще 2 2 2 А так запоминать надо или позицию переменной в массиве или если у тебя отдельные переменные то указатель на мин и макс элемент, потом менять у них значение. Позитивный голос 0
А если больших два 1 2 2 ? При равенстве то все проще 2 2 2 А так запоминать надо или позицию переменной в массиве или если у тебя отдельные переменные то указатель на мин и макс элемент, потом менять у них значение.
енотаев Е енотаев Регистрация 8 Ноя 2013 Сообщения 103 Репутация 0 Спасибо 1 Монет 0 18 Сен 2016 #3 испльзуй вектор и цикл в коде не вижу if (y1<min) {min=y1; t=2;} для у2 Позитивный голос 0