Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
9 / 9 / 4
Регистрация: 27.06.2011
Сообщений: 295
1

Большее из двух чисел заменить их полусуммой, а меньшее удвоенным произведением

30.11.2011, 22:27. Показов 988. Ответов 4
Метки нет (Все метки)

Даны два числа. Большее из этих двух чисел заменить их полусуммой, а меньшее удвоенным произведением.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <math.h>
main()
{
float x, y;
printf("\n Введите x: ");
scanf("%f",&x);
printf("\n Введите y: ");
scanf("%f",&y);
if (x>y)
        x=(x+y)/2, y=pow((x*y),2);
if (x<y)
        x=pow((x*y),2), y=(x+y)/2;
printf("\n x: %f",x);
printf("\n y: %f",y);
return 0;
}
Допустим х=4 а y=6,отсюда результат должен быть х=576, y=5, а программа выдает х=576, y=291
Где ошибся?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2011, 22:27
Ответы с готовыми решениями:

Меньшее из двух чисел заменить их полусуммой, а большее – их удвоенным произведением
Написала программу по задаче: Даны действительные числа x, y (x ( y). Меньшее из этих двух чисел...

Меньшее из двух чисел заменить их полусуммой, а большее – их удвоенным произведением
Даны действительные числа x,y. Меньшее из этих двух чисел заменить их полусуммой, а большее – их...

Разветвляющиеся алгоритмы: меньшее из двух чисел заменить их полусуммой, а большее – удвоенным произведением
Даны действительные числа Х и У (Х¹У). Меньшее из этих двух чисел заменить их полу суммой, а...

Большее из данных чисел заменить их полусуммой, а меньшее удвоенным произведением
2 написать проги разветвляющей структуры используя IF даны 2 числа. большее из этих чисел...

4
Эксперт С++
516 / 420 / 92
Регистрация: 23.09.2010
Сообщений: 1,165
30.11.2011, 22:29 2
GRURUS, потому что когда второе число изменяется, оно учитывает первой число, которое уже изменилось. Надо хранить копию первого числа до его изменения.
0
1545 / 911 / 193
Регистрация: 26.03.2010
Сообщений: 3,105
30.11.2011, 22:31 3
вместо второго if'a поставь else. ты изменяешь значения в первом if'e, а потом их сравниваешь во втором.

Добавлено через 30 секунд
и + замечание gooseim'a )
0
9 / 9 / 4
Регистрация: 27.06.2011
Сообщений: 295
30.11.2011, 22:33  [ТС] 4
по поводу else такая же каша получается
0
27 / 27 / 13
Регистрация: 07.11.2010
Сообщений: 154
30.11.2011, 22:59 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Цитата Сообщение от GRURUS Посмотреть сообщение
Даны два числа. Большее из этих двух чисел заменить их полусуммой, а меньшее удвоенным произведением.
Допустим х=4 а y=6,отсюда результат должен быть х=576, y=5, а программа выдает х=576, y=291
Где ошибся?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <math.h>
main()
{
float x, y, temp;
printf("\n Введите x: ");
scanf("%f",&x);
printf("\n Введите y: ");
scanf("%f",&y);
if (x>y) {
        temp = x;
        x=(x+y)/2; 
        y=pow((temp*y),2);
}
else {
        temp = x;
        x=pow((x*y),2); 
        y=(temp+y)/2;
}
printf("\n x: %f",x);
printf("\n y: %f",y);
return 0;
}
Добавлено через 1 минуту
Это твой вариант исправленный, но судя из задания, он все равно не верный

Добавлено через 3 минуты
правильно будет так:
13 строчка меняется на
C++
1
y=2*temp*y;
17 строчка на
C++
1
x=2*temp*y;
Добавлено через 44 секунды
Удвоенное произведение != произведению в квадрате.

Добавлено через 14 секунд
Удвоенное произведение != произведению в квадрате.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.11.2011, 22:59

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Даны числа. Меньшее из этих чисел заменить их полусуммой, а большее – их удвоенным произведением
Даны действительные числа x, y (x≠ y). Меньшее из этих двух чисел заменить их полусуммой, а большее...

Меньшее из двух чисел заменить их полусуммой, а большее - их удвоенным произведением
даны действительные числа x.y (x не равно y).Меньшее из этих двух чисел заменить их полусуммой,а...

Меньшее из двух чисел заменить их полусуммой, а большее -их удвоенным произведением
Даны действительные числа х,y (xy не равен Y) меньшее из этих двух чисел заменить их полусуммой, а...

Меньшее из двух чисел заменить их полусуммой, а большее – их удвоенным произведением
Вроде простая задача, а вот что-то не так. Подскажите пожалуйста! Задача:&quot;Даны действительные числа...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.