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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
#1

Среднее значение элементов в одномерном массиве - C++

30.09.2010, 07:08. Просмотров 1759. Ответов 15
Метки нет (Все метки)

Привет! Помогите, плиз решить, я в этом почти не шарю, надеюсь разобраться:

В одномерном массиве, состоящем из n вещественных элементов, найти среднее значение всех элементов и номер элемента массива ближайшего к среднему по значению.

Буду очень признателен! =)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2010, 07:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Среднее значение элементов в одномерном массиве (C++):

В одномерном массиве определить среднее значение всех элементов,значение которых превышает среднее значение - C++
в произвольно заданном одномерном массиве определить среднее значение всех элементов,значение которых превышает среднее значение

В одномерном массиве вычислить среднее значение положительных элементов массива - C++
В одномерном массиве вычислить среднее значение положительных элементов массива.Решить в с++ с помощью функций. Добавлено через 9...

Как найти среднее значение в одномерном массиве? - C++
Тут массив из целых чисел. Среднее значение - это сумма всех элементов, деленная на кол-во элементов? А если сред. значение не является...

В одномерном массиве, состоящем из 5 элементов, вычислить среднее арифметическое всех элементов - C++
Написать прототип, определение функции и пример вызова функции для решения указанной далее задачи. исходные данные и результаты работы...

В одномерном числовом массиве посчитать среднее арифметическое отрицательных элементов - C++
В одномерном числовом массиве посчитать среднее арифметическое отрицательных элементов. Заранее спасибо :)

В одномерном массиве B (n) заменить нулевые элементы на значение индексов этих элементов, где 0 <= n <= 80. - C++
Помогите разобраться с задачей. За ранее спасибо! В одномерном массиве B (n) заменить нулевые элементы на значение индексов этих...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
30.09.2010, 09:53 #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
#include <iostream.h>
#include <math.h>
 
int main()
{
    const int arraySize = 10;
 
    int i;
    float array[arraySize];
    float sred, sum=0, raz, minRaz=0, nom;
        
    cout<<"Array:"<<endl;
    srand(time(NULL));
        
        // Заполнение массива
    for (i = 0; i < arraySize; i++)
    {
        array[i]=(rand()%100)*0.01;
        cout<<array[i]<<"  ";
    }
 
 
        // Расчёт суммы и среднего
    for (i = 0; i < arraySize; i++)
        sum+=array[i];
    sred = sum/arraySize;
    cout<<"\nSrednee = "<<sred;
 
        // Поиск элемента, ближайшего к среднему
    for (i = 0; i < arraySize; i++)
    {
        raz = fabs(array[i]-sred);
        if (raz<minRaz||i==0)
        {
            minRaz=raz;
            nom=i;
        }
    }
 
    cout<<"\nThe nearest element has number: "<<nom
              <<". Differense is: "<< minRaz;
 
 
    ///////////
    cout<<endl;
    system("pause");
    return 0;
}
2
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
30.09.2010, 10:32  [ТС] #3
Скопировал, вставил, запустил - пишет: "В ходе построения произошли ошибки"...
0
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
30.09.2010, 10:43 #4
Какой компилятор? Какие ошибки выдаёт?
0
TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
30.09.2010, 10:45 #5
Попробуй вместо

C++
1
2
#include <iostream.h>
#include <math.h>
вот это:

C++
1
2
3
4
#include <iostream>
#include <math.h>
#include <ctime>
 using namespace std;
1
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
30.09.2010, 13:09  [ТС] #6
Всё равно пишет, что ошибка.
Какая конкретно не говорит, предлагает попробовать последний рабочий вариант. Но раз такового нет, то фатал еррор и всё =)
0
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.09.2010, 14:12 #7
<<FIRsT BLooD>>, прикрепите архив с проектом(без exe файла) к сообщению
0
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
30.09.2010, 14:19  [ТС] #8
Архив:
0
Вложения
Тип файла: rar 123.rar (600 байт, 41 просмотров)
M128K145
Эксперт С++
8288 / 3508 / 143
Регистрация: 03.07.2009
Сообщений: 10,706
30.09.2010, 14:32 #9
Какая IDE?
Код рабочий http://codepad.org/xVwz6UxY
0
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
01.10.2010, 07:36  [ТС] #10
Не знаю, что такое IDE... =)
Просто программа не запускается...
0
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
01.10.2010, 07:40 #11
IDE - интегрированная среда разработки. Та самая среда, в которой вы пишете свои программы и компилируете их. Примеры: Бесплатные среды(IDE) для программирования на С/С++.
0
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
01.10.2010, 12:38  [ТС] #12
Microsoft Visual C++ 2008 Express Edition
0
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
01.10.2010, 12:50 #13
Ясно... Ошибка случайно не такого плана:

Error 4 fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Попробуйте:
C++
1
2
3
4
5
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <ctime>
 using namespace std;
1
<<FIRsT BLooD>>
0 / 0 / 0
Регистрация: 30.09.2010
Сообщений: 19
02.10.2010, 12:15  [ТС] #14
Спасибо большое, теперь работает! =)

Там рандомные числа появляются и сразу же высчитываются?

Если что, я 1 курс, только начали проходить С++, думаю, вряд ли препод поверит, что это я сам сделал, плюс всё на английском... ^^)
0
dihlofos
Бродяга
303 / 257 / 17
Регистрация: 27.08.2010
Сообщений: 553
02.10.2010, 12:59 #15
Цитата Сообщение от <<FIRsT BLooD>> Посмотреть сообщение
Там рандомные числа появляются и сразу же высчитываются?
В первом цикле for массив просто заполняется рандомными числами, во втором - подсчитывается сумма всех элементов, затем - среднее арифметическое, и в третьем цикле - находится ближайший к среднему элемент. Комментариями всё отмечено. Ближайший элемент я ищу как элемент, разница которого со средним (переменная minRaz) минимальна.

Цитата Сообщение от <<FIRsT BLooD>> Посмотреть сообщение
Если что, я 1 курс, только начали проходить С++, думаю, вряд ли препод поверит, что это я сам сделал, плюс всё на английском... ^^)
Раз уже дошли до циклов и массивов, то почему же не поверит? Да и английский там можно заменить на русский:

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
50
51
52
53
#include "stdafx.h"
#include <iostream>
#include <math.h>
#include <ctime>
 using namespace std;
 
 
int main()
{
        const int arraySize = 10;
 
        int i;
        float array[arraySize];
        float sred, sum=0, raz, minRaz=0, nom;
        
    setlocale(LC_ALL,"Russian");  // русская локализация
        cout<<"Массив:"<<endl;
        srand(time(NULL));
        
        // Заполнение массива
        for (i = 0; i < arraySize; i++)
        {
                array[i]=(rand()%100)*0.01;
                cout<<array[i]<<"  ";
        }
 
 
        // Расчёт суммы и среднего
        for (i = 0; i < arraySize; i++)
                sum+=array[i];
        sred = sum/arraySize;
        cout<<"\nСреднее = "<<sred;
 
        // Поиск элемента, ближайшего к среднему
        for (i = 0; i < arraySize; i++)
        {
                raz = fabs(array[i]-sred);
                if (raz<minRaz||i==0)
                {
                        minRaz=raz;
                        nom=i;
                }
        }
 
        cout<<"\nБлижайший элемент: "<<nom
              <<". Разница составляет: "<< minRaz;
 
 
        ///////////
        cout<<endl;
        system("pause");
        return 0;
}
Если неохота использовать setlocale(), пишите транслитом - Massiv, Srednee и.т.п.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.10.2010, 12:59
Привет! Вот еще темы с ответами:

В одномерном массиве целых чисел заменить минимальное значение средним арифметическим его элементов, находящихся на четных позициях - C++
Уважаемые программисты помогите в решение данной задачи. В одномерном массиве целых чисел заменить минимальное значение средним...

В двухмерном массиве n*m (4*4) найти среднее арифметическое значение элементов первого столбца - C++
В двухмерном массиве n*m (4*4) найти среднее арифметическое значение элементов первого столбца и количество элементов первого столбца...

В одномерном массиве, состоящем из вещественных элементов вычислить номер минимального элемента в массиве, сумму элементов массива - C++
В одномерном массиве, состоящем из 10 вещественных элементов вычислить: 1. Номер минимального элемента в массиве 2. Сумму...

Вычислить среднее значение элементов, расположенных в массиве между первым и последним нулевыми значениями - C++
Вычислить среднее значение элементов, расположенных в массиве между первым и последним нулевыми значениями. Поменять местами минимальный и...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.10.2010, 12:59
Ответ Создать тему
Опции темы

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