Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Сумма цифр на четных и нечетных позициях https://www.cyberforum.ru/ c-beginners/ thread2515872.html
Привет всем, нужна ваша помощь!) Суть задания такова: пользователь вводит n(количество цифр в числе). Все числа прогоняются, цифры могут меняться местами. Мы ищем "счастливые числа"(сумма цифр на...
C (СИ) Перевод кода с С++ на С
#include <iostream> #include <locale> const float Pi = 3.14; using namespace std; int main() { setlocale(LC_ALL, "Russian"); setlocale(LC_CTYPE,""); system ("color f0"); int R;
Найти требуемую точку пересечения прямой и ломаной C (СИ)
Дана ломаная,изобpаженная на pисунке и пpямая, задаваемая уpавнением вида y=ax+b.Пpи заданном огpаничении на a найти тpебуемую точку пеpесечения пpямой и ломаной. a>0,найти...
C (СИ) упорядоченный список Здравствуйте! Встретилась с такой проблемкой..Хочу создать упорядоченный список, пользователь может вводить числа (пока не 0). Проблема в том, что в список сохраняется / выводится только первый... https://www.cyberforum.ru/ c-beginners/ thread2515797.html
C (СИ) Работаю с структурами, проблема, в цикле не выводит первое название https://www.cyberforum.ru/ c-beginners/ thread2515726.html
#include <stdio.h> #include <stdlib.h> #include <locale.h> struct cloth { char name; int size; float price; };
C (СИ) Угадывание загаданной игроком карты
Написать программу, которая задавая вопросы, ответы на которые можно получить только из множества {«Да», «Нет»} должна угадать загаданную игроком карту. В колоде 32 листа всех мастей с номиналом 7,...
Проверка числа на кратность 3 и 5 C (СИ)
!через множественный выбор! case Входные данные: Целое число. Выходные данные: Результат проверки. ПРОВЕРКА НА КРАТНОСТЬ 3 и 5
C (СИ) Вычислить min Даны натуральные числа n, m, целые числа a1, ..., an, b1, ..., bm, c1, ..., c30. Получить: l=min(b1,...,bm)+min(c1,..,c30) при |min(a1,...,a)|>10.В противном случае l= (1+max(c1,...,c30))^2 https://www.cyberforum.ru/ c-beginners/ thread2515627.html
C (СИ) Вычислить значение выражения с условием https://www.cyberforum.ru/ c-beginners/ thread2515548.html
на языке Си П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с их текстом. Редактор формул внизу страницы
C (СИ) Битовые флаги Суть вопроса состоит в том, что у меня есть перечисление enum с некоторыми функциями. Исходя из какого-то условия требуется "включить" i-ю функцию (присвоить i-тому биту переменной единицу).... https://www.cyberforum.ru/ c-beginners/ thread2515546.html
196 / 230 / 33
Регистрация: 29.03.2019
Сообщений: 657
20.10.2019, 14:03 0

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

20.10.2019, 14:03. Показов 1069. Ответов 2
Метки (Все метки)

Лучший ответ Сообщение было отмечено Майкрофт как решение

Решение

Цитата Сообщение от Майкрофт Посмотреть сообщение
Прошу помочь найти ошибку
Ошибка в логике алгоритма. Ваш алгоритм выглядит так: если x < y то делать это, во всех остальных случаях делать то. Т.е. если вы намерены использовать ветвление построением таблицы переходов (switch/case), то в case 0 надо добавить еще это:
C
1
2
3
4
switch (y > x) {
  case 1: ...;
  case 0: ...; /* вот здесь будет то что вы ождиали в default: */
}
Добавлено через 4 минуты
Кликните здесь для просмотра всего текста
C
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
#include <stdio.h>
 
int main(int argc, char ** argv)
{
  float x, y;
  printf("\n Input two values:x,y\n");
  scanf("%f%f", &x, &y);
  switch(x < y) {
    case 1: {
      x = (x + y) / 2;
      y = 2 * x * y;
      break;
    }
    case 0: {
      switch (x > y) {
        case 1: {
          x = 2 * x * y;
          y = (x + y) / 2;
          break;
        }
        case 0: printf("There is no answer \n");
      }
    }
  }
  printf("\n x=%f y=%f",x,y);
  getchar();
  return 0;  
}


Добавлено через 7 минут
Майкрофт, еще ошибка в том что вы перезаписываете исходные значения, что сказывается на дальнейших вычислениях.

Добавлено через 11 минут
Кликните здесь для просмотра всего текста
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
 
int main(int argc, char ** argv)
{
  float x, y, tmpx, tmpy;
  printf("\n Input two values:x,y\n");
  scanf("%f%f", &x, &y);
  if (x != y) {
    tmpx = x;
    tmpy = y;
    x > y ? x = x * y * 2 : (y = x * y * 2);
    x > y ? y = (tmpx + tmpy) / 2 : (x = (tmpx + tmpy) / 2);
  }
  printf("\n x=%f y=%f",x,y);
  getchar();
  return 0;
}


Вернуться к обсуждению:
Меньшее из двух чисел заменить их полусуммой, а большее – их удвоенным произведением
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2019, 14:03

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

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

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

Меньшее из двух чисел заменить их полусуммой, а большее — их удвоенным произведением
Нужна помощь в решении задачи С++ билдере, задача выглядит так- Даны действительные числа x, y ...

Большее из двух чисел заменить их полусуммой, а меньшее удвоенным произведением
Помогите пожалуйста составить простенький код для Visual Basic 6.0, к сожалению сама я не могу...

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