Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Голиб
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 46
#1

Наименьший член заданной последовательности заменить целой частью среднего арифметического всех членов - C++

18.10.2016, 17:00. Просмотров 486. Ответов 9
Метки нет (Все метки)

Даны целые числа a1, a2, ... an. Наименьший член последовательности a1, a2, ... an заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменения. Если в последовательности несколько членов со значением min(a1, a2, ... an), то заменить последний по порядку.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2016, 17:00
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Наименьший член заданной последовательности заменить целой частью среднего арифметического всех членов (C++):

Наименьший член последовательности заменить целой частью среднего арифметического всех ее членов - C++
Помогите сделать задачу. Нужно сделать её через конструктор и диструктор пробовал сделать но не выходит. Дана последовательность целых...

Наименьший член последовательности заменить целой частью среднего арифметического всех членов - C++
Здраствуйте помогите пожалуйста решить задачу на c++ Даны целые числа a1, a2, ..., an. Наименьший член последовательности a1, a2,...

Массив. Наименьший член последовательности заменить целой частью среднего арифметического всех членов - C++
1. Задан массив действительных чисел. Наименьший член последовательности заменить целой частью среднего арифметического всех членов,...

Наименьший член данной последовательности заменить целой частью среднего геометрического всех членов - C++
Вариант 3. Вариант 3. Даны целые числа n, а1,…,аn. Наименьший член этой по-следовательности заменить целой частью среднего геометрического...

Заменить наименьший член последовательности целой частью среднего арифметического - C++
Всем привет. Такая проблема, написал програмку, но работает некорректно, т.е она в среднем арифм не берет целую часть и еще не заменяет...

Наименьший член последовательности заменить значением среднего арифметического всех элементов - C++
Дано N чисел. Наименьший член этой последовательности заменить значением среднего арифметического всех элементов, остальные элементы...

9
Invader0x7F
Helper C/C++
281 / 158 / 61
Регистрация: 22.09.2016
Сообщений: 518
Завершенные тесты: 5
18.10.2016, 17:19 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <iostream>
 
using namespace std;
 
int main()
{
    const int N = 10; int A[N] = { 0 };
    for (int index = 0; index < N; index++)
    {
        A[index] = std::rand() % 9 + 1;
        std::cout << A[index] << " ";
    }
 
    std::cout << endl;
 
    int min_i = -1; double avg = 0.;
    for (int index = 0; index < N; index++)
        if (A[index] < A[min_i] || min_i == -1) min_i = index;
 
    std::cout << "Amin[" << min_i << "] = " << A[min_i] << endl;
 
    for (int index = 0; index < N; index++)
        avg += A[index] / (double)N;
 
    std::cout << "avg = " << avg << endl;
 
    int count = 0;
    for (int index = 0; index < N; index++)
        if (A[index] == A[min_i]) count++;
 
    std::cout << "count = " << count << endl;
 
    for (int index = 0; index < N && count > 1; index++)
        if (A[index] == A[min_i]) A[index] = int(avg);
 
    for (int index = N - 1; index >= 0 && count == 1; index--)
         if (A[index] == A[min_i])
         {
             A[index] = int(avg);
             count = 0;
         } 
 
    for (int index = 0; index < N; index++)
        std::cout << A[index] << " ";
 
    std::cout << endl;
 
    std::cin.get();
}
0
Изображения
 
Голиб
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 46
20.10.2016, 12:25  [ТС] #3
Мне нужно ввод и вывод!
0
gru74ik
Модератор
Эксперт CЭксперт С++
4360 / 1936 / 210
Регистрация: 20.02.2013
Сообщений: 5,138
Записей в блоге: 22
25.10.2016, 12:03 #4
Голиб, чем Вас ответ коллеги Invader0x7F не устроил? И зачем темы дублировать (п. 5.5), если вместо этого тему можно просто поднять (п. 4.14)?
0
zer0mail
25.10.2016, 12:12
  #5

Не по теме:

Цитата Сообщение от Голиб Посмотреть сообщение
Мне нужно ввод и вывод!
С такими "способностями" (ни самостоятельно написать/скопировать ввод-вывод, ни ясно изложить, что же ему надо) в С++ делать нечего, имхо

0
Badjuicy
14 / 14 / 9
Регистрация: 12.10.2016
Сообщений: 52
Завершенные тесты: 2
25.10.2016, 12:21 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Проверяй ^^
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <iostream>
using namespace std;
 
int main() {
    int size;
    cout << "Size = "; cin >> size; //Сколько твоих целый чисел
    int * mas = new int[size];      //Делаем массив
    int minNum=0, sum=0;            //minNum - Номер минимального элемента
 
    for (int i = 0; i < size; i++) {//Вводим числа
        cout << i << ": ";
        cin >> mas[i];
    }
 
    for (int i = 0; i < size; i++) {
        sum += mas[i]; //Складываем все числа, для будущ. нах. среднего арифм.
        if (mas[minNum] >= mas[i]) minNum = i; //Находим номер минимального элемента
    }
 
    if (size >0) mas[minNum] = sum / size; //Заменяем минимальный элемент средним арифметическим
 
    for (int i = 0; i < size ; i++) // Выводим полученный массив на экран
        cout << mas[i] << " ";
 
    cout << endl;
    system("pause");
}
Добавлено через 4 минуты
Зачем при использовании using namespace std; в программе всегда уточнять std:: ?
1
Martein
675 / 86 / 13
Регистрация: 22.06.2014
Сообщений: 182
25.10.2016, 12:29 #7
Я никогда не прекращаю удивляться тому, почему все выкладывают решение на Си, в то время как человек просит на C++. У нас же полно алгоритмов, контейнеров, которые позволяют это делать в три строки. Ну не пишите вы ТС-ам такие ответы. Используйте же std::sort, std::replace, std::copy, std::min. Потоковые итераторы ввода/вывода есть у нас. Иначе они так и будут после универов и дипломов плодить нативные массивы памяти в прикладном несистемном программировании и нам же с вами иногда потом приходится отлаживать такой код.
0
Badjuicy
14 / 14 / 9
Регистрация: 12.10.2016
Сообщений: 52
Завершенные тесты: 2
25.10.2016, 12:31 #8
Забыл delete mas; перед system("pause");
Прошу прощения.
0
gru74ik
Модератор
Эксперт CЭксперт С++
4360 / 1936 / 210
Регистрация: 20.02.2013
Сообщений: 5,138
Записей в блоге: 22
25.10.2016, 12:59 #9
Цитата Сообщение от Martein Посмотреть сообщение
почему все выкладывают решение на Си, в то время как человек просит на C++. У нас же полно алгоритмов, контейнеров, которые позволяют это делать в три строки. Ну не пишите вы ТС-ам такие ответы. Используйте же std::sort, std::replace, std::copy, std::min. Потоковые итераторы ввода/вывода есть у нас.
Martein, вот и покажи класс Наверняка многим новичкам будет интересно.
0
zer0mail
2447 / 2081 / 205
Регистрация: 03.07.2012
Сообщений: 7,563
Записей в блоге: 1
25.10.2016, 14:16 #10
Цитата Сообщение от Martein Посмотреть сообщение
У нас же полно алгоритмов, контейнеров, которые позволяют это делать в три строки.
А они пишут "Это мы не проходили" и приходится снова выкладывать.

Не по теме:

Я вообще считаю, что выкладывать готовые решения простых задач смысла нет. Тупым халявщикам это не поможет изучить С++, а толковые сами сделают (хотя бы частично).

0
25.10.2016, 14:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2016, 14:16
Привет! Вот еще темы с ответами:

Заменить значения всех элементов заданной строки матрицы числами заданной последовательности - C++
Дан двумерный массив (MxN). Составить программу, которая заменяет значения всех элементов некоторой строки массива числами заданной...

Вычисление среднего арифметического последовательности дробных чисел - C++
написать программу которая вычисляет среднее арифметическое последовательности дробных чисел, вводимых с клавиатуры

Рекурсия. Определите закономерность формирования членов. Найдите N-ый член последовательности - C++
Определите закономерность формирования членов последовательности. Найдите N-ый член последовательности, сократив количество рекурсивных...

В векторе все элементы, большие среднего арифметического, заменить нулями - C++
В векторе x є Rn все элементы, которые больше среднего арифметическое заменить нулями Помогите понять и решить задание. Как понять у...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru