0 / 0 / 0
Регистрация: 19.12.2012
Сообщений: 13
1

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

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

Author24 — интернет-сервис помощи студентам
Всем привет! Пмогите пожалуйста написать программу! Массив a(30) сформирован случайным образом. Найти в нем количество элементов, меньших среднего арифметического положительных элементов этого массива. Заранее большое спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.07.2013, 19:24
Ответы с готовыми решениями:

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

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

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

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

5
43 / 43 / 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
0 / 0 / 0
Регистрация: 06.03.2013
Сообщений: 6
04.07.2013, 19:48 3
to hwmlex, проблема в том, что количество элементов массива должна быть величина постоянная, а потому данный код работать не будет.
0
43 / 43 / 22
Регистрация: 30.01.2013
Сообщений: 133
04.07.2013, 19:51 4
Так а что вам мешает
C
1
int n;
заменить на
C
1
int n = 10;
?
0
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
Эксперт С++
4267 / 2241 / 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.07.2013, 21:13
Помогаю со студенческими работами здесь

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

Найти вектор, равный количеству положительных элементов строк, меньших среднего арифметического четных элементов массива
Программа Pascal, а конкретно с массивами и нахождением вектора. в общем тут такое вот заданице:...

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

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

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

Вычислить количество и произведение элементов меньших среднего арифметического первых 2 элементов массива
помогите решить задачки,плиииз:wall: дан одномерный массив b1,b2,....,bn.Вычислить колличество и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru