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

генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего - C++

Восстановить пароль Регистрация
 
VerGeSS
1 / 1 / 0
Регистрация: 02.09.2012
Сообщений: 11
02.09.2012, 21:22     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #1
генерировать случайным образом массив из 50 элементов. Найти среднее значение, количество элементов меньше среднего, минимальное значение и индексы минимального значения
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.09.2012, 21:22     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего
Посмотрите здесь:

C++ Найти для каждого массива количество элементов, значение которых меньше среднего между минимальным...
C++ В массиве y(20), сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
C++ В массиве y(20), сформированном случайным образом, найти среднее арифметическое модулей всех ненулевых элементов
C++ Указатели,6. В массиве t(30), сформированном случайным образом, найти количество элементов, стоящих на четных местах, удовлетворяющих условию a<ti<b,
C++ Дан двумерный массив размером nm, заполненный случайным образом. Найти сумму отрицательных элементов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
02.09.2012, 21:38     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <windows.h>
#include <ctime>
 
using std::cin;
using std::cout;
using std::endl;
 
int main()
{
    setlocale(0, "");
 
    const int ArrSize = 50;  // размер массива
    int Arr[ArrSize];        // массив
    int sum = 0;             // сумма всех элементов массива
 
    srand(time(NULL));
 
    for (int i=0; i<ArrSize; i++)
    {
        Arr[i] = rand() % 100;
        sum += Arr[i];
    }
 
    cout << "Среднее значение " << sum / ArrSize << endl;
 
    int amount = 0;         // количество элементов, меньших среднего
    for (int i=0; i<ArrSize; i++)
        if (Arr[i] < sum/ArrSize)
            ++amount;
    cout << "Количество элементов, меньших среднего " << amount << endl;
 
 
    int n_min = Arr[0], min_index = 0;  // минимальное значение и его индекс
    for (int i=1; i<ArrSize; i++)
        if (Arr[i] < n_min)
        {
            n_min = Arr[i];
            min_index = i;
        }
    cout << "Минимальное значение " << n_min << endl;
    cout << "Индекс минимального значения " << min_index << endl;
 
 
    system("pause");
    return 0;
}
Dani
1263 / 621 / 50
Регистрация: 11.08.2011
Сообщений: 2,236
Записей в блоге: 2
Завершенные тесты: 1
02.09.2012, 22:07     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #3
STL
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
#include <iostream>
#include <algorithm>
#include <ctime>
#include <numeric>
#include <functional>
#include <iterator>
 
int rnd ()
{
   return rand() % 100;
} 
 
int main()
{
   srand (time(NULL));  
   float a[50], av;
   std:: generate (a, a+50, rnd);
   std:: copy (a, a+50, std:: ostream_iterator <int> (std::cout, " "));
 
   av = std:: accumulate (a, a+50, 0) / 50;
   std:: cout << std:: endl << std:: count_if (a, a+50, std::bind2nd (std::greater<int>(), av)) << std::endl << *std:: min_element (a, a+50) << std:: endl;
   for (int i=0; i<50; ++i)
       if (a[i] == *std:: min_element(a, a+50))
           std:: cout << i << " ";
   return 0;
}
Ev[G]eN
Эксперт С++
 Аватар для Ev[G]eN
5093 / 1531 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
02.09.2012, 22:43     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #4
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 <iostream>
#include <ctime>
 
int main()
{
    const int Size = 50;
    int Array[Size], Minimal = 0, Summa = 0, Count = 0;
    
    std::cout << "Array: " <<std::endl;
    for(int i = 0; i < Size; i++)
    {
            Array[i] = rand() % 25;
            if(Array[i] < Array[Minimal])
                        Minimal = i;
            Summa += Array[i];
            std::cout << Array[i] << " ";
    }
    std::cout << std::endl;
    for(int i = 0; i < Size; i++)
            if(Array[i] < (Summa / Size))
                        Count++;
    
    std::cout << "Minimal: " << Array[Minimal] << "; Index: " << Minimal+1 << std::endl;    
    std::cout << "Count of elements < Average: " << Count << std::endl;
    std::cout << "Average: " << Summa / Size << std::endl;
    
    system("pause");
    return 0;
}
http://liveworkspace.org/code/934da1...e7bc4debf3398c
VerGeSS
1 / 1 / 0
Регистрация: 02.09.2012
Сообщений: 11
03.09.2012, 17:39  [ТС]     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #5
а как верхний код в Си представить?
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
03.09.2012, 17:47     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #6
VerGeSS, cout заменить на printf(); cin заменить на scanf();
Intel~lect
03.09.2012, 17:49
  #7

Не по теме:

Dani, Мне кажется, что мало смысла в том, что писать функцию, которая состоит из одной строчки кода

Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
03.09.2012, 18:13     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
VerGeSS, код Ev[G]eN(а)
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
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
int main()
{
    enum { size = 10 };
    int array[size], min = 0, sum = 0, 
        count = 0, i;
    srand(time(0));
    for(i = 0; i < size; i++)
    {
        array[i] = rand() % 25;
        if (array[i] < array[min])
            min = i;
        sum += array[i];
        printf("%d ", array[i]);
    }
    putchar('\n');
    for(i = 0; i < size; i++)
        if(array[i] < ((double)sum / size))
            count++;
    printf("Min: %d Index: %d\n", array[min], min + 1);
    printf("Count of elements < Average: %d\n", count);
    printf("Average: %.5f\n", (double)sum / size);
    return 0;
}
Dani
03.09.2012, 21:07
  #9

Не по теме:

Intel~lect, я просто использую стандартные возможности) и мне нравится так сокращать код) он (по моему мнению) становится элегантнее

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.09.2012, 22:59     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего
Еще ссылки по теме:

C++ В массиве b(25), сформированном случайным образом, найти количество элементов, удовлетворяющих условию
В массиве, сформированном случайным образом, найти количество элементов, удовлетворяющих условию C++
C++ Количество элементов, значение которых меньше среднего арифметического в массиве

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

Или воспользуйтесь поиском по форуму:
PSIAlt
 Аватар для PSIAlt
86 / 86 / 8
Регистрация: 19.06.2012
Сообщений: 245
03.09.2012, 22:59     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего #10
Цитата Сообщение от Dani Посмотреть сообщение
Intel~lect, я просто использую стандартные возможности) и мне нравится так сокращать код)
В таком случае srand и std::generate можно было не писать
Yandex
Объявления
03.09.2012, 22:59     генерировать случайным образом массив.Найти среднее значение, количество элементов меньше среднего
Ответ Создать тему
Опции темы

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