Нужна в отладке программы c++.
при её запуске почему-то во всех случаях выводится первое сообщение, даже если условие не верно.
сделать программу, которая печатает значение true,
если число c является средним арифметическим чисел a и b
и false, если не является
#include
using namespace std;
int main()
{
setlocale(lc_all, "russian");
int a, b, c;
cout < < "введите числа a,b,c: ";
cin > > a > > b > > c;
if (c = (a + b) / 2) cout < < "число c является средним арифметическим чисел a и b\n";
else cout < < "число c не является средним арифметическим чисел a и b\n";
return 0;
}
205
481
Ответы на вопрос:
ответ:
ниже
объяснение:
1) во-первых, числа сравниваются двойным "=". то есть для проверки равенства чисел x и y пишут x == y.
2) во-вторых, сама проверка на среднее арифметическое для целых чисел здесь неправильная. (a+b) / 2 дает целочисленное деление на 2. то есть, например, если a=4, b=5, то результатом будет не (4+5)/2 = 4.5, а целая часть от частного, то есть 4. в результате на тест a=4, b=5, c=4 программа выдаст true, когда должна выдавать false. предлагаю изменить условие на 2 * c == a + b.
Популярно: Информатика
-
Скороговорун3531.01.2022 07:53
-
hide223.06.2022 08:21
-
borovitskii201412.02.2021 09:28
-
lisa2006070106.01.2022 12:30
-
abukaka08.06.2021 04:24
-
kamilamirov77701.02.2023 13:19
-
Maykaktys14.06.2021 20:03
-
getmanchenko0214.01.2021 14:50
-
sirkoct9n12104.04.2020 01:51
-
jgfygbyt20.12.2021 02:44