Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Verk
0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 13
1

Массив. Найти количество элементов, меньших среднего арифметического положительных элементов этого массива

04.07.2013, 19:24. Просмотров 723. Ответов 5
Метки нет (Все метки)

Всем привет! Пмогите пожалуйста написать программу! Массив a(30) сформирован случайным образом. Найти в нем количество элементов, меньших среднего арифметического положительных элементов этого массива. Заранее большое спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2013, 19:24
Ответы с готовыми решениями:

В каждой строке матрицы найти количество элементов, меньших среднего арифметического элементов строки
Дана матрица размера MxN. В каждой ее строке найти количество элементов,...

В каждой строке найти количество элементов, меньших среднего арифметического всех элементов строки
помогите пожалуйста решить задачу. Дана матрица размера N x M. В каждой строке...

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

в массиве . найти произведение ненулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
В массиве Х(N) найти произведение ненулевых элементов, количество элементов,...

в массиве . найти произведение нулевых элементов, количество элементов, превышающих значение среднего арифметического элементов массива
В массиве Х(N) найти произведение нулевых элементов, количество элементов,...

5
hwmlex
41 / 41 / 22
Регистрация: 30.01.2013
Сообщений: 133
04.07.2013, 19:33 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
#include <stdio.h>
#include <conio.h>
 
int main()
{
    int n;
    int a[n];
    int i, k;
    float sa;
    for (i = 0; i < n; i++)
    {
        a[i] = 2*i - 6; // Г§Г*ïîëГ*ГҐГ*ГЁГҐ
        if (a[i] > 0)
        {
            k += a[i];
        }
    }
    sa = (float) k / n;
    k = 0;
    for (i = 0; i < n; i++)
    {
        if (a[i] < sa)
        {
            k++;
        }
    }
    printf("%d", k);
    getch();
}
0
Katushechka
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 6
04.07.2013, 19:48 3
to hwmlex, проблема в том, что количество элементов массива должна быть величина постоянная, а потому данный код работать не будет.
0
hwmlex
41 / 41 / 22
Регистрация: 30.01.2013
Сообщений: 133
04.07.2013, 19:51 4
Так а что вам мешает
C
1
int n;
заменить на
C
1
int n = 10;
?
0
Katushechka
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 6
04.07.2013, 20:47 5
Цитата Сообщение от hwmlex Посмотреть сообщение
Так а что вам мешает
C
1
int n;
заменить на
C
1
int n = 10;
?
Все равно не будет работать. Это такая же переменная, как и была, просто вы её проинициализировали, константа пишется со спецификатором const.

const int n = 10 ; - это константа.

Перед тем как писать, пробуйте оттестить в своей среде сперва. И вообще не ясно, зачем вы так коряво пытаетесь сделать массив из n элементов, когда по условию задача проще - массив a[30].

P.S. Чтобы сделать то, что вы хотели, нужно сделать следующее:

C++
1
2
int size;
int * a = new int [size];
В плюсах, только через динамическую память (указатели) можно сделать массив произвольной длины. В конце программы через delete нужно её (память) обязательно высвободить.
0
Thinker
Эксперт С++
4234 / 2208 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
04.07.2013, 21:13 6
hwmlex, среднее неверное

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<iostream>
#include<cstdlib>
#include<ctime>
const int N = 10;
void Init(int *a, int *end)
{
   if (a < end) {*a = rand() % 10 - 5; Init(a + 1, end);}   
}
void Print(int *a, int *end)
{
   if (a < end) {std::cout << (*a) << " "; Print(a + 1, end);}
   else std::cout << std::endl; 
}
int Sum(int *a, int *end)
{
   return a < end ? (*a) * (*a > 0) + Sum(a + 1, end) : 0;  
}
int Count(int *a, int *end)
{
   return a < end ? (*a > 0) + Count(a + 1, end) : 0;   
}
int Count2(int *a, int *end, double x)
{
   return a < end ? (*a < x) + Count2(a + 1, end, x) : 0;   
}
 
int main()
{
   int a[N];
   srand(time(NULL));
   Init(a, a + N);
   Print(a, a + N);
   std::cout << Count2(a, a + N, 1.0 * Sum(a, a + N) / Count(a, a + N)) << std::endl;
   return 0;          
}
0
04.07.2013, 21:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2013, 21:13

Определить количество элементов матрицы, меньших среднего арифметического всех элементов своей строки
дан вещественный массив A. определить количество элементов массива,которые...

Посчитать количество элементов, отличающихся от среднего арифметического значения элементов массива
Подсчитать количество элементов массива Р (60), отличающихся от среднего...

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


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

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

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