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

Среднее значение - C++

Восстановить пароль Регистрация
 
MagicianHarry
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 21
28.09.2013, 19:27     Среднее значение #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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
#include<stdlib.h>
#include<time.h>
 
#define LEN 100
 
int g_count1 = 0;
int g_count2 = 0;
int* g_v = NULL;
int* g_v2 = NULL;
 
int n = 105;
 
void push(int* gv, int& g_count, int val)
{
    if (g_count >= LEN) return;
    gv[g_count++] = val;
}
 
bool pop(int* gv, int& g_count, int* pval)
{
    if (g_count <= 0 || pval == NULL) return 0;
    if (pval != NULL) *pval = gv[--g_count];
    return 1;
}
 
int main(int argc, char* argv[])
{   srand((unsigned)time(NULL));   
    if (g_v == NULL)
    {
        g_v = new int[LEN+1];
        g_v2 = new int[LEN+1];
    }
 
    int n = 0; 
    printf("Razmernost: n = "); scanf("%d",&n);
 int i=0;
 
    for(int j=0;j<n;j++){
        i=rand()%101-50;
        
        push(g_v,g_count1,i++);}
 
 
    int val = 0;
    int sr=0;
  int res=0;
 
    while (pop(g_v,g_count1,&val))
        printf("%d\n",val);
    while (pop(g_v,g_count1,&val))
    {
        sr+=val; // не считает!!!!
       
    }
 res=sr/n;
    cout<<"Rezult: "<<res<<endl;
   
 
    if (g_v != NULL && g_v2 != NULL) 
    {
        delete[] g_v;
        delete[] g_v2;
    }
 
    _getch();
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.09.2013, 19:27     Среднее значение
Посмотрите здесь:

C++ Среднее значение полученных чисел, количество значений в массиве, превышающих среднее
C++ программа, которая бы вычисляла среднее значение, максимальный и минимальный элемент второй колонки Excel и выводила это значение на экран
Вычислить значение функции a = b ^2 sin (b), причем b изменяется от 0,9 до 1,7 с шагом 0,2. Найти среднее значение разности между элементами C++
C++ Среднее значение
Подскажите как добавить вычесленное среднее значение из подпрограммы 1, в подпрограмму 2, а то в подпрограмме 2 берет среднее значение = 0 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
28.09.2013, 19:51     Среднее значение #2
наверно здесь ошибка:
Цитата Сообщение от MagicianHarry Посмотреть сообщение
res=sr/n;
C++
1
res=double(sr)/n;
MagicianHarry
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 21
29.09.2013, 21:50  [ТС]     Среднее значение #3
_, все равно не считает(
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
29.09.2013, 21:57     Среднее значение #4
в 31 строчке непонятное сравнение. зачем оно вообще нужно если результат if()-a всегда true
MagicianHarry
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 21
29.09.2013, 22:28  [ТС]     Среднее значение #5
_, убрал сравнение, результат тот же
StepaPair
2 / 2 / 1
Регистрация: 24.09.2013
Сообщений: 19
29.09.2013, 22:56     Среднее значение #6
int val = 0;

{
sr+=val; // не считает!!!!

}


может быть по этому?
MagicianHarry
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 21
30.09.2013, 00:51  [ТС]     Среднее значение #7
Цитата Сообщение от StepaPair Посмотреть сообщение
int val = 0;

{
sr+=val; // не считает!!!!

}


может быть по этому?
нет, не по этому
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2013, 07:03     Среднее значение
Еще ссылки по теме:

C++ Найти среднее арифметическое значение четных элементов и среднее арифметическое нечетных элементов и сравнить их между собой
Найти столбик, в котором среднее арифметическое значение из положительных элементов имеет минимальное значение C++
Найти среднее значение чисел, а также количество значений в массиве, превышающих среднее C++

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

Или воспользуйтесь поиском по форуму:
StepaPair
2 / 2 / 1
Регистрация: 24.09.2013
Сообщений: 19
30.09.2013, 07:03     Среднее значение #8
C++
1
2
3
4
5
6
7
    while (pop(g_v,g_count1,&val))
        printf("%d\n",val);
    while (pop(g_v,g_count1,&val))
    {
        sr+=val; // не считает!!!!
       
    }
меняешь на

C++
1
2
3
4
5
    while (pop(g_v,g_count1,&val))
    {
        printf("%d\n",val);
        sr+=val; 
    }
так считает
Yandex
Объявления
30.09.2013, 07:03     Среднее значение
Ответ Создать тему
Опции темы

Текущее время: 06:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru