Как найти среднее арифметическое отрицательных чисел
Перейти к содержимому

Как найти среднее арифметическое отрицательных чисел

  • автор:

Как найти среднее арифметическое отрицательных чисел

Привет народ. У меня возникла проблема с решением задания с массивом. Хочу попросить у вас помощи. Вот задание: Заполнить массив A[n]. Массив вывести в столбец. Определить среднее арифметическое положительных чисел и среднее арифметическое отрицательных.
Половину задания я сделал (не знаю правильно или нет) а вот с выводом среднего арифметического положительных и отрицательных чисел никак.

Пользователь
Регистрация: 21.06.2010
Сообщений: 27

Ничего сложного, делаешь цикл проходишь по всем элементам массива, считаешь общую сумму всех положительных и всех отрицательных чисел, а потом каждую делишь на кол-во полож\отриц чисел.
К примеру
-1 3 5 2 4 -5 -4 1 9 -5
Кол-во отрицательных = 4
Сумма отрицательных = -1 + -5 + -4 + -5 = -15
Среднее арифметическое = -15 \ 4 = 3

Кол-во положительных = 6
Сумма положительных = 3 + 5 + 2 + 4 + 1 + 9 = 24
Среднее арифметическое = 24 \ 6 = 4

как найти среднее арифметическре отрицательных чисел

Точно так же, как и положительных. Подсчитывается их сумма и делится на количество.

Пример: Найти среднее арифметическое трёх чисел : -3, -5, -1

Остальные ответы
Похожие вопросы
Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

4BIT-2-021

Массив A заполняется случайными числами из диапазона [-100, 100]. Найти среднее арифметическое отрицательных элементов массива. Заменить на него минимальный элемент.

Файлы

main.cpp (1,19 КБ) main.cpp Александр Думанский, 2017-02-18 15:35
main.cpp (1,18 КБ) main.cpp Александр Думанский, 2017-02-19 13:50
main.cpp (1,18 КБ) main.cpp Александр Думанский, 2017-02-19 13:58
main.cpp (1,18 КБ) main.cpp Александр Думанский, 2017-02-19 13:59
Обновлено Ekaterina Politsyna около 7 лет назад
  • Параметр Срок завершения изменился на 2017-03-10
Обновлено Ekaterina Politsyna около 7 лет назад
  • Параметр Назначена изменился на Александр Думанский
Обновлено Александр Думанский около 7 лет назад

Среднеарифметическое отр чисел 18.02.17

Обновлено Ekaterina Politsyna около 7 лет назад
  1. Если используется статическое выделение памяти, но размер массива лучше сделать константой.
  2. Заполнение и вывод массива лучше сделать в одном цикле, чтобы не было дублирования кода.
  3. Для вывода достаточно одного цикла, сначала заменить элемент или вывести сообщение об отсутствии отрицательных элементов, а потом в одном цикле вывести массив.
  4. Имена переменных пишутся с маленькой буквы, почему вдруг Array?
  5. Имя файла с исходным кодом не отражает суть программы.
Обновлено Александр Думанский около 7 лет назад

не совсем понятно на счет 3 пункта

Обновлено Ekaterina Politsyna около 7 лет назад

Лучше так, чтобы не дублировать код:

//Если отрицательные числа есть, то наименьший заменяем на среднеарифметическое отрицательных if(Array[j] < 0) < Array[j] = sumNegNum / quantityNegativeNumbers; cout //В противном случае, просто выводим массив else < cout for (int i = 0; i

Обновлено Александр Думанский около 7 лет назад
Обновлено Ekaterina Politsyna около 7 лет назад

Остался последний пункт — имя файла.
Имена констант пишутся всеми заглавными буквами.

И отступы надо аккуратно поправить, местами лишние сдвиги, фигурные скобки ставятся строго под оператор, тело которого они ограничивают.

Обновлено Александр Думанский около 7 лет назад

Имя имеется в виду «main»?
N поправил.

Разность между максимальным элементом и средним арифметическим значением

Основы программирования 2.0

Задача 2.98
Дан одномерный массив А неупорядоченных целых чисел. Вывести на экран разность между наибольшим элементом и средним арифметическим значением для отрицательных элементов. Если отрицательных элементов нет, то вывести на экран сообщение НЕТ.

Для начала вспомним, что такое среднее арифметическое значение.

Среднее арифметическое — это сумма всех чисел множества, делённая на их количество. Например, у нас есть 5 чисел: 1, 7, 10, 2, 15 . Тогда среднее арифметическое будет равно:

(1 + 7 + 10 + 2 + 15) / 5 = 35 / 5 = 7

Может ли среднее арифметическое быть отрицательным числом

Конечно, может. Ведь числа в множестве могут быть как положительными, так и отрицательными. И, в зависимости от того, каким числом будет сумма этих чисел — положительным или отрицательным, среднее арифметическое будет иметь соответствующий знак. Например, у нас есть 5 чисел: 1, -7, 10, 2, -15 . Тогда среднее арифметическое будет равно:

(1 — 7 + 10 + 2 — 15) / 5 = -9 / 5 = -1,8

Таким образом, среднее арифметическое значение для отрицательных элементов массива вычисляется точно также, как и для положительных.

А теперь перейдём к решению задачи.

Вот здесь я рассказал о том, как можно найти наименьшее значение в массиве. Наибольший элемент можно найти подобным способом, поэтому в данной статье останавливаться на этом не буду.

Итак, что нам нужно сделать:

  1. Найти наибольший элемент в массиве.
  2. Найти все отрицательные значения в массиве и вычислить для них среднее арифметическое.
  3. Вычислить разность между наибольшим элементом массива и средним арифметическим отрицательных чисел.

Примеры программ на Паскале и С++.

Решение задачи 2.98 на Паскале

program mytask; //**************************************************************** // КОНСТАНТЫ //**************************************************************** const MAX_A = 16; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** var i : byte; //Индекс NegNum : byte = 0; //Количество отрицательных элементов Arifm : Single = 0.0; //Среднее арифметическое MaxA : byte; //Индекс элемента с наибольшим значением MaxInt : ShortInt; //Наибольшее значение типа MinInt : ShortInt; //Наименьшее значение типа A : array[1..MAX_A] of ShortInt; //Массив //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** begin MaxInt := High(MaxInt); //Получить наибольшее значение типа MinInt := Low(MaxInt); //Получить наименьшее значение типа randomize; //Запустить генератор случайных чисел //Создать массив и вывести на экран for i := 1 to MAX_A do begin A[i] := random(MaxInt) - (MaxInt div 3); WriteLn(A[i]); end; //Найти наибольший элемент в массиве, //определить количество отрицательных элементов //и вычислить сумму отрицательных значений MaxInt := MinInt; for i := 1 to MAX_A do begin if A[i] >= MaxInt then begin MaxInt := A[i]; MaxA := i; end; if A[i] < 0 then begin Inc(NegNum); Arifm := Arifm + A[i]; end; end; //Вывести решение на экран WriteLn('Problem solution:'); WriteLn(' The largest value in the array: ', MaxInt); WriteLn(' Index of the element with the highest value: ', MaxA); //Вычислить среднее арифметическое //и окончательно решить задачу if NegNum > 0 then begin Arifm := Arifm / NegNum; WriteLn(' Number of negative numbers: ', NegNum); WriteLn(' The arithmetic mean: ', Arifm:0:2); WriteLn(' Difference: ', (MaxInt - Arifm):0:2); end else WriteLn('. There are NO negative values . '); WriteLn('The end. Press ENTER. '); ReadLn; end.

Решение задачи 2.98 на С++
#include #include #include //. Подключить этот файл using namespace std; //**************************************************************** // КОНСТАНТЫ //**************************************************************** const int MAX_A = 16; //**************************************************************** // ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ //**************************************************************** unsigned char i; //Индекс unsigned char NegNum = 0; //Количество отрицательных элементов float Arifm = 0.0; //Среднее арифметическое unsigned char MaxA; //Индекс элемента с наибольшим значением signed char MaxInt; //Наибольшее значение типа signed char MinInt; //Наименьшее значение типа signed char A[MAX_A]; //Массив //**************************************************************** // ОСНОВНАЯ ПРОГРАММА //**************************************************************** int main(int argc, char *argv[]) < MaxInt = SCHAR_MAX; //Получить наибольшее значение типа MinInt = SCHAR_MIN; //Получить наименьшее значение типа srand(time(0)); //Запустить генератор случайных чисел //Создать массив и вывести на экран for(i = 0; i < MAX_A; i++) < A[i] = (rand() % MaxInt) - (MaxInt / 3); cout //Найти наибольший элемент в массиве, //определить количество отрицательных элементов //и вычислить сумму отрицательных значений MaxInt = MinInt; for(i = 0; i < MAX_A; i++) < if (A[i] >= MaxInt) < MaxInt = A[i]; MaxA = i; >if (A[i] < 0) < NegNum++; Arifm = Arifm + A[i]; >> //Вывести решение на экран cout 0) < Arifm = Arifm / NegNum; cout else cout

Разность между максимальным элементом и средним арифметическим значением

ВНИМАНИЕ!
Если вам что-то осталось непонятно, то советую почитать книги “Основы программирования” и “Основы С++”.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *