Member 13100982 Ответов: 2

Как присвоить значение переменной с помощью выражения? На языке Си


Как присвоить значение переменной с помощью выражения? на языке Си
Найти среднее арифметическое двух нос без разделения или тернарный оператор

int a=10, b=20;
int avg= & lt;выражение>;
printf("%d", avg);

Что я уже пробовал:

я понятия не имею

Как присвоить значение переменной с помощью выражения? на языке Си
Найти среднее арифметическое двух нос без разделения или тернарный оператор

int a=10, b=20;
int avg= & lt;выражение>;
printf("%d", avg);

Ravi Bhavnani

(1)Как присвоить значение переменной с помощью выражения? на языке Си
Если вы действительно не знаете, как это сделать,вам нужно перечитывать учебник по программированию.

(2) найти среднее значение двух nos без деления или троичного оператора
Один из способов сделать это-последовательно увеличивать(уменьшать) меньшее(большее) из двух чисел, пока вы не сойдетесь в общем значении, которое является средним.

/ Рави

PIEBALDconsult

http://mathforum.org/library/drmath/view/57574.html

2 Ответов

Рейтинг:
12

Mehedi Shams

Привет Member 13100982,

Можно ли использовать битовые операции? Тогда следующее Самое простое решение:

int a = 10, b = 20;
int avg = (a + b) >> 1;
printf("%d", avg);

алгоритм-быстрое среднее без деления-переполнение стека[^]


Member 13100982

Спасибо Мехеди Шамс

Рейтинг:
1

Patrice T

Подумайте о своей проблеме:
вам нужно знать, что такое половина чего-то, один способ-разделить на 2, есть другой способ, это математика.

Мы не делаем вашу домашнюю работу.


Member 13100982

Извиняюсь.. Мы не должны использовать оператор деления

У меня есть концепция
int x=a+b;
y=0;
а(х&ГТ;0)
{
x=x-2;
год++;
}

Теперь Y-это ответ.. Я не знаю, как присвоить значение Y среднему значению в одном эксперименте

Patrice T

Спросите учителя математики: "как разделить на 2, не используя деление?"