Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
#1

массив, необходимо найти среднее ненулевых элементов - C++

25.01.2010, 21:54. Просмотров 666. Ответов 10
Метки нет (Все метки)

//необходимо найти сумму отличных от 0 элементов массива

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
#include "stdafx.h"
#include "conio.h"
#define MAX 10
int _tmain(int argc, _TCHAR* argv[])
{
    int i=0,sum=0,counter=0;
    int mas[MAX];
    float sred=0;
 
    printf("vvod znachenii v massiv\n");
    for(i=0;i<MAX;i++)
        scanf("%d",&mas[i]);
 
    for(i=0;i<MAX;i++)
    {
        if(mas[i]!=0)
        {
            sum+=mas[i];
            counter++;
        }
        
    }
    sred=sum/counter;
    printf("%.3f",sum);
 
    getch();
    return 0;
}
в чем логическая ошибка?((
http://www.cyberforum.ru/cpp-beginners/thread1058163.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2010, 21:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос массив, необходимо найти среднее ненулевых элементов (C++):

В массиве y(20), сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
5. В массиве y(20), сформированном случайным образом, найти среднее...

В массиве y(20), сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
вот задание: В массиве y(20), сформированном случайным образом, найти среднее...

Создать массив, найти минимум, найти произведение ненулевых элементов
Прошу срочной помощи . нужно написать программу и сдать до завтра ((( ПОМОГИТЕ...

Среднее арифметическое ненулевых элементов массива
Сформировать динамический массив X размером MxN из случайных целых чисел. В...

Дан массив из n элементов. Необходимо найти максимальное и минимальное значение элементов массива
Вот код: #include &lt;iostream&gt; #include &lt;cmath&gt; using namespace std; int...

10
tonx92
7 / 7 / 2
Регистрация: 25.01.2010
Сообщений: 76
25.01.2010, 22:08 #2
ЕСли нужна найти всеволишь сумму элементов массива не равных 0.
Зачем нужно counter и sred?
В данном случае sred это среднее арифметическое элементов массива.
0
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
25.01.2010, 22:11  [ТС] #3
извините описка)
найти естесственно среднее , из ненулевых элементов массива
0
Somebody
2799 / 1610 / 251
Регистрация: 03.12.2007
Сообщений: 4,211
Завершенные тесты: 3
25.01.2010, 22:15 #4
Цитата Сообщение от dimok Посмотреть сообщение
sred=sum/counter;
int делить на int - будет какой тип? - int
Код
sred=(float)sum/counter;
0
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
25.01.2010, 22:19  [ТС] #5
sred=(float)sum/counter;

тогда результат равен 0.000
а эт не прально(
0
tonx92
7 / 7 / 2
Регистрация: 25.01.2010
Сообщений: 76
25.01.2010, 22:30 #6
Попробуй sum тоже задать тип float у меня так заработало.
И результат больше не нули.
0
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
25.01.2010, 22:33  [ТС] #7
и правильно считает:?))
у меня при вводе 10 единиц среднее =10.000
то есть счетчик не увеличиваетса(

компилитса норм .,без ошибок
0
tonx92
7 / 7 / 2
Регистрация: 25.01.2010
Сообщений: 76
25.01.2010, 22:34 #8
Ну среднее арифметическое от 10 чисел равных 10 и есть 10)
0
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
25.01.2010, 22:35  [ТС] #9
при вводе 1 1 1 1 1 1 1 1 1 1
0
tonx92
7 / 7 / 2
Регистрация: 25.01.2010
Сообщений: 76
25.01.2010, 22:35 #10
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
#include "stdafx.h"
#include "conio.h"
#define MAX 10
int _tmain(int argc, _TCHAR* argv[])
{
    int i=0,counter=0;
    int mas[MAX];
    float sred=0,sum=0;
 
    printf("vvod znachenii v massiv\n");
    for(i=0;i<MAX;i++)
        scanf("%d",&mas[i]);
 
    for(i=0;i<MAX;i++)
    {
        if(mas[i]!=0)
        {
            sum+=mas[i];
            counter++;
        }
        
    }
    sred=sum/counter;
    printf("%.3f",sum);
 
    getch();
    return 0;
}
эт потомучто у тебя в выводе стоит сумма а не среднее))
Стоит printf("%.3f",sum); а должно быть printf("%.3f",sred);
0
dimok
0 / 0 / 0
Регистрация: 15.10.2009
Сообщений: 45
25.01.2010, 22:38  [ТС] #11
ыыыы...лол))))

Добавлено через 59 секунд
спасиба..гг)
0
25.01.2010, 22:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.01.2010, 22:38
Привет! Вот еще темы с решениями:

Дан массив из n элементов и числа a и b. Необходимо найти сумму элементов, принадлежащих промежутку от a до b
Дан массив из n элементов и числа a и b. Необходимо найти сумму элементов,...

Дан массив из n элементов и число a. Необходимо найти сумму элементов, больших данного a
С клавиатуры вводится натуральное число n (n≤100n≤100). На следующей строке...

Вычислить среднее арифметическое ненулевых элементов массива
Написать программу, которая вычисляет среднее арифметическое ненулевых...

Среднее арифметическое ненулевых элементов динамического массива
Написать программу среднее арифметическое не значения 0 элементов динамического...


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

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

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