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

Массивы. Вывести на экран среднее значение, количество отрицательных элементов - C++

Восстановить пароль Регистрация
 
Vlasik909
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 18
06.04.2013, 17:36     Массивы. Вывести на экран среднее значение, количество отрицательных элементов #1
Целочисленный массив из N элементов заполнить случайными значениями из диапазона [x;y] (значения N ,x, y вводятся пользователем с клавиатуры)
1) вывести на экран среднее значение элементов массива
2) вывести на экран количество отрицательных элементов массива.

Для решения задачи реализовать функции:
заполнения матрицы случайными значениями из диапазона [x;y] (x, y вводятся пользователем с клавиатуры)
заполнения матрицы пользователем с клавиатуры
вывода матрицы на экран
решение задачи 1
решение задачи 2



СРОЧНО НУЖЕН КОД !!!

Добавлено через 13 минут
НАПИШИТЕ ПЛИЗ КОД!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 17:36     Массивы. Вывести на экран среднее значение, количество отрицательных элементов
Посмотрите здесь:

C++ Найти максмальное значение среди отрицательных элементов и вывести на экран его индексы.
Сформировать массивы А[15] и B[10]. Вывести их на экран. Подсчитать количество ненулевых элементов и максимальные значения в обоих массивах C++
C++ Вывести на экран среднее арифметическое всех отрицательных чисел
Сумма квадратов отрицательных элементов и их среднее значение C++
Найти среднее арифметическое, максимальное и минимальное значение, количество отрицательных и четных элементов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
salam
157 / 138 / 11
Регистрация: 10.07.2012
Сообщений: 709
06.04.2013, 17:44     Массивы. Вывести на экран среднее значение, количество отрицательных элементов #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
double midVal(int* a, size_t size) {          // среднее значение элементов
   double sum = 0;
   for(size_t i=0; i < size; i++)
      sum += a[i];
   return (sum / size);
}
 
int cntNeg(int* a, size_t size) {                     // количество отрицательных элементов
   int cnt = 0;
   for(int i=0; i < size; i++)
      if(a[i] < 0)
         cnt++;
   return cnt;
}
 
void printArr(int* a, size_t size) {                  // вывод массива
   for(int i=0; i < size; i++)
      cout << a[i] << " ";
}
 
void inArr(int* a, size_t size) {                     // ввод пользователем с клавиатуры
   for(int i=0; i < size; i++)
      cin >> a[i];
}
 
void rndFill(int* a, size_t size, int x, int y) {   // заполнение случайными числами
   for(int i=0; i < size; i++) {
      int r = rand() % y+1;
      while(r < x)
         r++;
      a[i] = r;
   }
}
Добавлено через 57 секунд
не круто: торопился очень...
yoghurt92
373 / 344 / 22
Регистрация: 17.05.2012
Сообщений: 1,049
06.04.2013, 17:52     Массивы. Вывести на экран среднее значение, количество отрицательных элементов #3
Vlasik909, вам тут никто ничем не обязан, ваше срочно прежде всего ваше.

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
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <vector>
#include <time.h>
#include <cstdlib>
#include <algorithm>
#include <iterator>
using namespace std;
 
class MeanValue{
    private:
        long num,
             sum;
 
    public:
        MeanValue():num(0), sum(0) {}
 
        void operator() (int elem){
            num++;
            sum += elem;
        }
 
        double value(){
            return static_cast<double>(sum) / static_cast<double>(num);
        }
};
 
bool pred(int elem){
    return elem < 0;
}
 
int main()
{
    srand(time(NULL));
 
    int size, x, y;
    cout << "Enter the size of array: ";
        cin >> size;
 
    vector<int> coll(size);
 
    cout << "Enter x: ";
        cin >> x;
    cout << "Enter y: ";
        cin >> y;
 
    for(int i = 0; i < size; ++i)
        coll[i] = x + rand() % (2 * y);
 
    cout << "\nArray: ";
    copy(coll.begin(), coll.end(), ostream_iterator<int>(cout, " "));
 
    MeanValue mv = for_each(coll.begin(), coll.end(), MeanValue());
    cout << "\nMean value: " << mv.value() << "\n";
 
    cout << "The number of negative elements: " <<
        count_if(coll.begin(), coll.end(), pred) << "\n\n";
 
    return 0;
}
Добавлено через 4 минуты
salam, а как вы получите в массиве отрицательные значения если заполняете его от нуля?

Цитата Сообщение от salam Посмотреть сообщение
void rndFill(int* a, size_t size, int x, int y) { * // заполнение случайными числами
* *for(int i=0; i < size; i++) {
* * * int r = rand() % y+1;
* * * while(r < x)
* * * * *r++;
* * * a[i] = r;
* *}
}
Vlasik909
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 18
06.04.2013, 18:19  [ТС]     Массивы. Вывести на экран среднее значение, количество отрицательных элементов #4
Огромное Вам Спасибо)))) И За Срочность Извиняюсь))))
Yandex
Объявления
06.04.2013, 18:19     Массивы. Вывести на экран среднее значение, количество отрицательных элементов
Ответ Создать тему
Опции темы

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