0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 9
|
||||||
1 | ||||||
Цикл: Найти среднее арифметическое всех чисел а1,…,an, кроме ai.03.04.2016, 16:52. Показов 5350. Ответов 7
Метки нет Все метки)
(
Даны натуральные числа i, n, действительные числа а1,…, an . Найти среднее арифметическое всех чисел а1,…,an, кроме ai.
0
|
|
03.04.2016, 16:52 | |
Ответы с готовыми решениями:
7
Найти среднее арифметическое всех чисел а1,...,аn, кроме ai |
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
||||||
03.04.2016, 17:37 | 2 | |||||
скорее всего предполагалось, что вы сами заполните массив, но я это сделал за вас в 14 строке теперь массив состоит из n элементов и значение в каждой ячейке равно индексу ячейки в цикле while (кстати можно было написать while(k != n), и отпала бы еобходимость в 21 строчке) суммируются (19 строка) все элементы массива кроме i Добавлено через 4 минуты в 23 строке выводим среднеарифметическое Добавлено через 1 минуту да, и еще, программе не нужна 2-я строчка
1
|
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 9
|
|||||||||||
03.04.2016, 18:39 [ТС] | 3 | ||||||||||
И почему здесь
0
|
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
|
04.04.2016, 07:16 | 4 |
centurion1334, int sum - здесь будет храниться сумма значений во всех ячейках массива
k - счетчик для цикла while, аналог i в for(int i=0; ...) нужно именно (n-1) так как n -кол-во всех элементов массива а сумму мы считали для n-1 элементов (выбросили a[i]) (float)sum -для того чтобы преобразовать целочисленное значение sum в тип с плавающей точкой, чтобы после деления на (n-1) мантисса не отбрасывалась в C++ если вы будете делить два целочисленных значения, то и результат получите целочисленный
0
|
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 9
|
||||||
05.04.2016, 18:27 [ТС] | 5 | |||||
Я немного переписал код, и дал пользователю возможность вводить элементы массива самому, но у меня из-за этого крашится компилятор.
0
|
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
|
05.04.2016, 18:40 | 6 |
после 19 строки напишите k = 0;
1
|
0 / 0 / 0
Регистрация: 16.03.2016
Сообщений: 9
|
|
05.04.2016, 19:35 [ТС] | 7 |
надо же, заработало, а всего 1 строчка.
Спасибо.
0
|
116 / 106 / 51
Регистрация: 29.03.2016
Сообщений: 480
|
|
05.04.2016, 19:57 | 8 |
centurion1334,
если не инициализировать переменную каким либо значением перед использованием, то она получает значение которое было записано в участке памяти перед ее определением. происходит это из-за того что эту память раньше использовали другие приложения, и после окончания своей миссии плохо почистили за собой (почистить хорошо в общем-то не реально) таким образом, переменная - это символическое название конкретного участка памяти. в вашей программе k, которая определена в 8 строке, и k, которая определена в 14 строке, это две разные переменные. k из 8 строки используется в цикле while а время жизни k из 14 строки ограничено блоком цикла for, дальше она не существует
0
|
05.04.2016, 19:57 | |
Помогаю со студенческими работами здесь
8
Цикл: Посчитать среднее арифметическое всех чисел в заданном диапазоне. Цикл while.
Используя одномерный массив на 20 целых чисел, посчитать среднее арифметическое всех элементов кроме 11 и 12 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |