Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 07.03.2016
Сообщений: 6

Найти среднее арифметическое зарплат всех указанных лиц

12.03.2016, 20:05. Показов 1943. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
И так задачка : Выясняем сколько зарабатывает каждый участник , потом подсчитываем кол-во людей в общем , складываем зарплаты , находим среднее арифметическое
Я так понял сначала нужно объявить некоторое кол-во переменных (служащих) , потом через cin присвоить им зарплату , далее сложить все существующие переменные (вот тут я вообще не знаю как это сделать ) суммируем зарплаты тоже без понятия и делим зарплату на ко-во служащих (тоже не знаю) . Подскажите пожалуйста , а если есть более простой и/или красивый способ решения не стесняйтесь его выложить . ВСЕМ ЗАРАНЕЕ СПАСИБО
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.03.2016, 20:05
Ответы с готовыми решениями:

Найти среднее арифметическое, среднее геометрическое и количество всех натуральных нечетных двузначных чисел
Помогите на с++ написать программу для нахождения среднего арифметического, среднего геометрического и количества всех натуральных нечетных...

Найти среднее арифметическое значений заданной функции в указанных точках, используя обращение к функции
Ребят, помогите пожалуйста! Найти среднее арифметическое значений функции f(x) в точках а, b, (a+b)/2, используя обращение к функции. ...

Найти среднее арифметическое всех строк и вывести их
Есть массив,максимум 10х10,нужно найти среднее арифметическое всех строк и вывести их. Выводится только среднее арифметическое 1 строки,что...

17
70 / 70 / 52
Регистрация: 24.01.2013
Сообщений: 198
12.03.2016, 20:20
Лучший ответ Сообщение было отмечено YASKASHYTEBENET как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main(){
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int size = 0;
    double sum = 0.0;
        cout << "Введите количество человек:" << endl;
        cin >> size;
    int* array = new int[size];
        for (int i = 0; i < size; i++) {
            cout << "Введите заплату " << i + 1 << " человека: ";
            cin >> array[i];
            sum += array[i];
        }
    cout << "Средняя зарплата: " << sum/size << endl;
    system("pause");
    return 0;
}
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
12.03.2016, 20:22
Цитата Сообщение от YASKASHYTEBENET Посмотреть сообщение
Подскажите пожалуйста , а если есть более простой и/или красивый способ решения
Конечно есть, если решить самому...
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
12.03.2016, 20:22
skipaq, память выделенную не желаете освободить?
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
12.03.2016, 20:25
YASKASHYTEBENET,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//////////////////////////////////////////////////////////////////////
// Задача: Выясняем сколько зарабатывает каждый участник ,
// потом подсчитываем кол-во людей в общем , 
// складываем зарплаты , находим среднее арифметическое 
//////////////////////////////////////////////////////////////////////
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
//////////////////////////////////////////////////////////////////////
int main()
{
    std::vector<int> vec(
                            std::istream_iterator<int>(std::cin),
                            std::istream_iterator<int>()
                        );
    std::cout 
        << std::accumulate(vec.cbegin(),vec.cend(),0) / vec.size()
        << std::endl;
}

Не по теме:

P.S. Я очень стеснялся выложить своё решение, но всё-таки поборол себя. :D

0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
12.03.2016, 20:28
GbaLog-, фигурные скобки в теле вектора забыл:
C++
1
2
3
std::vector<int> vec({
        std::istream_iterator<int>(std::cin),
        std::istream_iterator<int>()});
0
165 / 164 / 124
Регистрация: 19.01.2016
Сообщений: 594
Записей в блоге: 1
12.03.2016, 20:30
Цитата Сообщение от GbaLog- Посмотреть сообщение
Не по теме:
P.S. Я очень стеснялся выложить своё решение, но всё-таки поборол себя.
Я пожалуй воздержусь, оч. стеснительный я
0
70 / 70 / 52
Регистрация: 24.01.2013
Сообщений: 198
12.03.2016, 20:30
sab1ch, действительно) спасибо
Автор, если будешь использовать решение - допиши в конце
C++
1
delete[] array;
редактировать нельзя уже =D
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
12.03.2016, 20:31
sab1ch, Не, не забыл, есть конструктор вектора, примерно с такими параметрами:
C++
1
2
template<typename InputIterator>
vector/*bla-bla-bla*/(InputIterator beg,InputIterator end);
Там весь диапазон [beg,end) включается в вектор.
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
12.03.2016, 20:33
GbaLog-,
Цитата Сообщение от Джосьютисa
Отметим, что необходимо использовать новый единообразный синтаксис с фигурными скобками. В противном случае приходится использовать дополнительные круглые скобки, содержащие аргументы инициализатора.
.....
Причина заключается в том, что без дополнительной пары скобок аргумент имеет совершенно другой смысл
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
12.03.2016, 20:37
sab1ch, http://en.cppreference.com/w/c... tor/vector
C++
1
2
3
template< class InputIt >
vector( InputIt first, InputIt last, 
        const Allocator& alloc = Allocator() );
Добавлено через 52 секунды
Оттуда же:
C++
1
2
 std::vector<std::string> words1 {"the", "frogurt", "is", "also", "cursed"};
std::vector<std::string> words2(words1.begin(), words1.end());
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
12.03.2016, 20:43
GbaLog-, в общем, я последовал совету Джосьютиса и у меня откомпилировался твой код. А без фигурных скобок - нет.

Добавлено через 1 минуту
YASKASHYTEBENET,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    setlocale(LC_ALL, "Russian");
    size_t N = 0;
    int i;
    double sum = 0;
    cout << "Кол-во человек: ";
    cin >> N;
    unique_ptr<int[]> arr(new int[N]);
    for (i = 0; i < N; i++)
    {
        cout << "Введите зарплату " << i + 1 << " человека: ";
        cin >> arr[i];
        sum += arr[i];
    }
    cout << "Кол-во человек: " << i << endl;
    cout << "Средняя зарплата: " << sum / N << endl;
}
1
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
12.03.2016, 20:45
sab1ch, Вижуал студия, не так ли?
Вот на рекстестере всё норм компилится.
http://rextester.com/WLK34627
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
12.03.2016, 21:23
GbaLog-, да, вижуал, но не компилится вообще.
0
0 / 0 / 0
Регистрация: 07.03.2016
Сообщений: 6
12.03.2016, 21:27  [ТС]
skipaq,
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main()
{
    setlocale(0, "");
    int size = 0;
    double sum = 0.0;
        cout << "Ââåäèòå êîëè÷åñòâî ÷åëîâåê:" << endl;
        cin >> size;
    int* array = new int[size];
        for (int i = 0; i < size; i++) {
            cout << "Ââåäèòå çàïëàòó " << i + 1 << " ÷åëîâåêà: ";
            cin >> array[i];
            sum += array[i];
        }
    cout << "Ñðåäíÿÿ çàðïëàòà: " << sum/size << endl;
    return 0;
}
Вот что получил после корректировки ) А не могли бы прокомментировать , интересно ведь но вот ничегошенечки непонятно

Добавлено через 1 минуту
Ну вот я и набираюсь опыта помаленьку . А с книгами засыпаю (
0
BrainOverflow
 Аватар для sab1ch
126 / 130 / 64
Регистрация: 31.03.2013
Сообщений: 556
12.03.2016, 22:02
YASKASHYTEBENET, создаём переменную, в которую будем записывать сумму, и переменную, которая будет хранить размер массива.
В 9-10 строчке запрашиваем ввод кол-ва работников (элементов массива).
В 11 выделяем память для массива.
В цикле for запрашиваем ввод зарплат сотрудников и прибавляем каждую зарплату на каждой итерации переменной sum. (итераций столько, сколько элементов в массиве, т.е. работников)
После цикла выводим среднюю зарплату путём деления суммы на количество сотрудников.
В конце перед return допишите delete[] array, чтобы освободить выделенную в 11 строке память.
Также можете воспользоваться моим вариантом программы, чтобы не заботиться о освобождении памяти и пр.
0
70 / 70 / 52
Регистрация: 24.01.2013
Сообщений: 198
12.03.2016, 23:44
Какую среду программирования используете ?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int main(){
    SetConsoleCP(1251); // Это для русских шрифтов, можете попробовать заменить эти две строки
    SetConsoleOutputCP(1251); // на одну эту  setlocale( LC_ALL,"Russian" );
    int size = 0; // объявляем целочисленную переменную, в ней будем хранить размер массива
    double sum = 0.0; // вещественная переменная для средн. арифм.
        cout << "Введите количество человек:" << endl;
        cin >> size; // кол-во человек в переменную size
    int* array = new int[size]; // объявляем массив размером size
        for (int i = 0; i < size; i++) { //начало цикла, от 0 до size
            cout << "Введите заплату " << i + 1 << " человека: "; // i + 1 , т.к. индексы массива начинаются с 0, для правдоподобности прибавляем 1
            cin >> array[i]; // передаем сумму з/п в текущий элемент массива
            sum += array[i]; // накапливаем общую сумму прибавляя только что введенную сумму з/п
        }
        delete[] array; // освобождаем выделенную под массив память
    cout << "Средняя зарплата: " << sum/size << endl; // выводим на экран ср. арифм. путем деления накопленной суммы на размер массива (на кол-во человек)
 
    system("pause"); // "Нажмите любую клавишу... "
    return 0;
}
Думаю понятно )
2
0 / 0 / 0
Регистрация: 07.03.2016
Сообщений: 6
13.03.2016, 08:50  [ТС]
skipaq, Спасибо Dev-C++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2016, 08:50
Помогаю со студенческими работами здесь

Найти среднее арифметическое всех чисел a1,..., an, кроме ai
Даны целые числа i, n, вещественные числа a1,..., an (i&lt;n). Найти среднее арифметическое всех чисел a1,..., an, кроме ai.

Найти среднее арифметическое всех членов дерева
Добрый день, форумчане. Требуется найти среднее арифметическое всех чисел, находящихся в дереве, подскажите, пожалуйста, как это сделать.

Цикл: Найти среднее арифметическое всех чисел а1,…,an, кроме ai.
Даны натуральные числа i, n, действительные числа а1,…, an . Найти среднее арифметическое всех чисел а1,…,an, кроме ai. #include...

Найти среднее арифметическое всех элементов заданного массива
Найти среднее арифметическое: 1)всех элементов заданного массива; 2) тех элементов заданного одномерного массива X значения которых не...

Необходимо найти среднее арифметическое всех целых чисел от a до b
Требуется вывести одно число — искомое среднее, с точностью не менее шести знаков после запятой. c++


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru