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

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

Войти
Регистрация
Восстановить пароль
 
Новичок_в_С/С++
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 6
#1

Посчитать среднее арифметическое каждых третьих значений массива - C++

25.12.2011, 01:34. Просмотров 354. Ответов 4
Метки нет (Все метки)

Прошу помощи у людей, знающих С/С++

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

Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 01:34
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Посчитать среднее арифметическое каждых третьих значений массива (C++):

Посчитать среднее арифметическое элементов массива с помощью функции - C++
Программа такая: вводится 10 элементов массива, и нужно посчитать среднее арифметическое. Нужно чтобы функция, считающая среднее...

Посчитать и вывести среднее арифметическое элементов массива, не превышающих B - C++
Посчитать и вывести среднее арифметическое, значений елементов массива A(10), которые не превышают заданое число B.

Рекурсивная функция. Посчитать среднее арифметическое элементов массива - C++
Нужно с помощью рекурсивной функции посчитать среднее арифметическое элементов массива.

Найти среднее арифметическое квадратов и среднее арифметическое абсолютных значений двух вещественных чисел - C++
Всем здрасте помогите плиз. Дается два вещественных числа. Найти среднее арифметическое их квадратов и среднее арифметическое их абсолютных...

Вычислить сумму каждых третьих элементов первой строки матрицы - C++
вычислить сумму каждых третьих элементов первой строки массива: записал так if (i == 1 && j % 3 == 0) { s += a; но мне надо чтобы первый...

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

4
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200
25.12.2011, 01:40 #2
Есть массив mas в нем N элементов, тогда
C++
1
2
3
4
5
6
double mid = 0;
// Считаем сумму этих элементов
for (int i = 2; i < N; i += 3) 
  mid += mas[i];
// Делим на кол-во
mid /= N / 3; // N / 3 - целое кол-во раз 3 вмещается в N
Добавлено через 47 секунд
mid - искомое.
1
Новичок_в_С/С++
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 6
25.12.2011, 02:22  [ТС] #3
Написал что-то

Компилятор не ругается, но выдает не те значения, которые ввел.
И среднее арифметическое неправильное

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
#include "stdlib.h"
#include "malloc.h"
#include "stdio.h"
 
int main()
{
int *a;
int i, n;
double mid = 0;
printf("Enter n: ");
scanf("%d",&n);
a=(int*) malloc(n*sizeof(int));
    if (n<=1)
    printf("ERROR!!!\n");
else
for (i=0;i<n;i++)
{
printf("Enter a[%d]: ",i);
scanf("%d",&(a[i]));
}
printf("\n");
for (i=0;i<n;i++)
{
printf("%d  ",i,a[i]);
}
for (int i = 2; i < n; i += 3) 
{
  mid += a[i];
mid /= n / 3;
}
printf("%.2f",mid);
system ("pause");
return 0;
}
0
darkknight2008
62 / 62 / 6
Регистрация: 16.10.2011
Сообщений: 200
25.12.2011, 02:40 #4
C
1
printf("%d  ",i,a[i]);
Замени на:
C
1
printf("%d  ",a[i]);
Добавлено через 4 минуты
mid /= n / 3;
Это надо написать вне цикла for, у тебя он каким-то хреном залез внутрь.

Добавлено через 2 минуты
Также ты память выделяешь при помощи malloc, но в конце программы ее не освобождаешь при помощи free.

Добавлено через 1 минуту
Проверку правильности n надо проводить до! выделения памяти. Я не представляю как ты собираешься выделять память например на -5 * sizeof(int) байт...
1
Новичок_в_С/С++
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 6
25.12.2011, 11:44  [ТС] #5
Спасибо, получилось!



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
#include "stdlib.h"
#include "malloc.h"
#include "stdio.h"
 
int main()
{
int *a;
int i, n;
double mid = 0;
printf("Enter n: ");
scanf("%d",&n);
if (n<=1)
    printf("ERROR!!!\n");
else
a=(int*) malloc(n*sizeof(int));
for (i=0;i<n;i++)
{
printf("Enter a[%d]: ",i);
scanf("%d",&(a[i]));
}
printf("\n");
for (i=0;i<n;i++)
{
printf("%d  ",a[i]);
}
for (int i = 2; i < n; i += 3) 
{
  mid += a[i];
}
mid /= n / 3;
printf("\n%.2f",mid);
free(a);
system ("pause");
return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2011, 11:44
Привет! Вот еще темы с ответами:

Найти среднее арифметическое минимального и максимального значений массива - C++
Выполните следующие задания на обработку элементов одномерного массива: Найти среднее арифметическое минимального и максимального...

Определить среднее арифметическое наибольшего и наименьшего значений массива - C++
Даны вещественные массивы D и A(задать динамически). Для каждого массива определить среднее арифметическое наибольшего и наименьшего...

Определите среднее арифметическое всех значений элементов массива - C++
помогите //заранее спасибо Определите среднее арифметическое всех значений элементов массива

Для каждого массива определить среднее арифметическое наибольшего и наименьшего значений - C++
даны двумерные вещественные массивы D, A для каждого массива определить среднее арифметическое наибольшего и наименьшего значений массива


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

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

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