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

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

Войти
Регистрация
Восстановить пароль
 
DrSMERTb
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
#1

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

26.12.2010, 12:04. Просмотров 910. Ответов 9
Метки нет (Все метки)

Всем доброго времени суток. Задание у меня следующее: Нужно написать программу которая бы заполняла одномерный массив (в 40 элементов) рандомными числами. Потом находила MAX элемент этого массива и считала среднее арифметическое всех членов находящихся справа от максимально элемента.
P.s. Если MAX элемента два то считала среднее арифметическое чисел начииная от самого левого MAX элемента.Помогите пожалуйста, буду благодарен за любые хорошие задумки по этой теме.
Заранее сбасибо.

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

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

Написать программу, которая будет переворачивать одномерный массив из 12 элементов, введенных с клавиатуры - C++
Друзья, пожалуйста решите задачу. Не разбираюсь вообще в языке с++, вообще ни капли, нужно чтобы эта программа работала в visual studio...

Написать программу, которая создает двумерный массив со случайными числами A[N,M]. Вычислить сумму и число положительных элементов массива - C++
Написать программу, которая с помощью датчика случайных чисел создает двумерный массив A. Вычислить сумму и число положительных элементов...

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

Напишите программу, которая заполняет массив из 30 элементов случайными числами в диапазоне от 0 до 100, и выводит значения элементов массива на экран - C++
2. Напишите программу, которая заполняет массив из 30 элементов случайными числами в диапазоне от 0 до 100, и выводит значения элементов...

Написать программу, вычисляющую среднее арифметическое всех элементов массива из 200 элементов. Массив заполняется случайными числами - C++
сделaй их nested: http://www.dansteinman.com/dynduo/en/nesting.html

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2010, 12:42 #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
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
26.12.2010, 12:59  [ТС] #3
Большое спасибо. Но у меня вопрос а можно чтобы он ещё и выводил помимо номера этого эелемента ещё и писал этот элемент
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
26.12.2010, 13:03 #4
добавь
C++
1
cout << "Max = " << vector[Imax] << endl;
DrSMERTb
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
26.12.2010, 13:05  [ТС] #5
Во)) Большое спасибо)
DrSMERTb
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
10.01.2011, 15:35  [ТС] #6
Принёс программу на сдачу, запустил на компиляторе в универе, он выдал ошибку, что не знает функцию "accumulate".. можно ли её заменить?
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
10.01.2011, 15:39 #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
60 / 36 / 4
Регистрация: 12.11.2010
Сообщений: 816
10.01.2011, 15:42  [ТС] #8
Хорошо, но он не посчитает среднее арифметические элементов, и он найдёт то суммы элементов всего массива...
sandye51
программист С++
682 / 584 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
10.01.2011, 15:50 #9
DrSMERTb, среднее арифметическое - это сумма деленная на число элементов
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
10.01.2011, 15:53 #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);
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2011, 15:53
Привет! Вот еще темы с ответами:

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

Дан одномерный массив А, состоящий из N целых чисел. Составить программу, которая меняет порядок следования элементов на обратный - C++
Дан одномерный массив А, состоящий из N целых чисел. Составить программу, которая меняет порядок следования элементов на обратный.

Написать программу, которая методом обмена "пузырька" сортирует по убыванию введенный с клавиатуры одномерный массив - C++
...написать программу, которая методом обмена &quot;пузырька&quot; сортирует по убыванию введенный с клавиатуры одномерный массив

В си++. создал массив с рандомными числами.Дальше не могу сделать - C++
Создал массив, заполненный рандомными числами. нужно Подсчитать количество участков, которые образуют непрерывные последовательности чисел...


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

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

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