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

Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. - C++

Восстановить пароль Регистрация
 
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
26.12.2010, 12:04     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #1
Всем доброго времени суток. Задание у меня следующее: Нужно написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. Потом находила MAX элемент этого массива и считала среднее арифметическое всех членов находящихся справа от максимально элемента.
P.s. Если MAX элемента два то считала среднее арифметическое чисел начииная от самого левого MAX элемента.Помогите пожалуйста, буду благодарен за любые хорошие задумки по этой теме.
Заранее сбасибо.

 Комментарий модератора 
Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержание.
И это не раздел платных услуг, чтобы в названии темы было допустимо слово "срочно".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.12.2010, 12:04     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами.
Посмотрите здесь:

C++ Написать программу, которая создает двумерный массив со случайными числами A[N,M]. Вычислить сумму и число положительных элементов массива
Напишите программу, которая заполняет массив из 30 элементов случайными числами в диапазоне от 0 до 100, и выводит значения элементов массива на экран C++
Написать программу, вычисляющую среднее арифметическое всех элементов массива из 200 элементов. Массив заполняется случайными числами C++
C++ Написать ф-ю,которая сортирует одномерный массив по возрастанию или убыванию(задается пользователем),и программу для ее тестирования
Дан одномерный массив А, состоящий из N целых чисел. Составить программу, которая меняет порядок следования элементов на обратный C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2010, 12:42     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #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
#include <iostream>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#include <iomanip>
#include <numeric>
 
using namespace std;
    
#define m 40
#define BASE 100
 
void out(const int* Buffer)
{
    for (size_t i = 0; i < m; ++i)
        cout << setw(3) << Buffer[i];
    cout << "\n";
}
 
int main()
{   
    srand((unsigned)time(NULL));
    int* vector = new int[m];
    for (size_t i = 0; i < m; ++i)
        vector[i] = rand() % BASE;
    out(vector);
    int Imax = 0;
    for (size_t i = 1; i < m; ++i)
        if (vector[i] > vector[Imax])
            Imax = i;
    double Average = accumulate(vector + Imax, vector + m, 0) / static_cast<double>(m);
    cout << "Average[" << Imax << ", " << m << "] = " << Average << endl;
    _getch();
           delete[] vector;
    return 0;
}
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
26.12.2010, 12:59  [ТС]     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #3
Большое спасибо. Но у меня вопрос а можно чтобы он ещё и выводил помимо номера этого эелемента ещё и писал этот элемент
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2010, 13:03     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #4
добавь
C++
1
cout << "Max = " << vector[Imax] << endl;
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
26.12.2010, 13:05  [ТС]     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #5
Во)) Большое спасибо)
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
10.01.2011, 15:35  [ТС]     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #6
Принёс программу на сдачу, запустил на компиляторе в универе, он выдал ошибку, что не знает функцию "accumulate".. можно ли её заменить?
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.01.2011, 15:39     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #7
DrSMERTb, Функция подсчета суммы массива...

C++
1
2
3
4
5
6
7
int sum(int* vec)
{
    int sum=0;
    for(int i=0; i<m; ++i)
       sum+=vec[i];
    return sum;
}
DrSMERTb
 Аватар для DrSMERTb
59 / 35 / 4
Регистрация: 12.11.2010
Сообщений: 808
10.01.2011, 15:42  [ТС]     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #8
Хорошо, но он не посчитает среднее арифметические элементов, и он найдёт то суммы элементов всего массива...
sandye51
программист С++
 Аватар для sandye51
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
10.01.2011, 15:50     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #9
DrSMERTb, среднее арифметическое - это сумма деленная на число элементов
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 15:53     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами.
Еще ссылки по теме:

Написать программу, которая вводит с клавиатуры одномерный массив из 5 дробных чисел, после чего выводит кол-во ненулевых элементов C++
Написать программу, которая методом обмена "пузырька" сортирует по убыванию введенный с клавиатуры одномерный массив C++
Заполнение элементов вектора рандомными числами без повторений C++

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
10.01.2011, 15:53     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. #10
DrSMERTb, Логично. Браво.
C++
1
double Average = accumulate(vector + Imax, vector + m, 0) / static_cast<double>(m);
Открою секрет accumulate подсчитывает только сумму, а среднее арифметическое получается благодаря делению на m.
Что мешает заменить accumulate(vector + Imax, vector + m, 0) на вызов функции sum?

Ну и да. Надо переписать ее по другому...

C++
1
2
3
4
5
6
7
int sum(int* vec, int begin, int end) 
{
    int sum=0;
    for(int i=begin; i < end; ++i)
       sum+=vec[i];
    return sum;     
}
Вызывать соответственно так.

C++
1
sum(vector, Imax, m);
Yandex
Объявления
10.01.2011, 15:53     Написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами.
Ответ Создать тему
Опции темы

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