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

Найти порядковый номер массива, среднее арифметическое значение элементов которого максимально - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Записать в файл последовательность доступа N действительных чисел http://www.cyberforum.ru/cpp-beginners/thread58601.html
Записать в файл последовательность доступа N действительных чисел. Вычислить произведение компонентов файла и вывести их на экран.
C++ Как вывести последовательность с нулей и единиц? Подскажите как вывести последовательность из n елементов с нулей и единиц, тоисть например n = 5, то последовательность должна быть 01010 http://www.cyberforum.ru/cpp-beginners/thread58585.html
C++ Запись в файл
Помогите пожалуйсто!Вот написал прогу: #define _WIN32_WINNT 0x0400 #include "windows.h" #include <stdio.h> #include <conio.h> #include<iostream> #include<fstream> # include "stdlib.h"
C++ Определить первую и последнюю цифры числа
1 Даны 2 натуральных числа n и k выяснить, какая цифра в числе n стоит в позиции k. 2 Пользователь вводит натуральное число N. определить его 1ую и последнюю цифры. 3 Напечатать те елементы...
C++ Вычисление 2^n, где n<=10000 http://www.cyberforum.ru/cpp-beginners/thread58568.html
Всем привет! У меня такое задание: Написать програму на С которая вычистяет 2 в степени n, при чем n <=10 000 и n натеральное! Зарание спасибо!
C++ Функции Помагите решить! подробнее

Показать сообщение отдельно
niXman
Эксперт С++
3138 / 1450 / 49
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
24.10.2009, 20:06
Цитата Сообщение от vonorf Посмотреть сообщение
Написать функцию, получающую в качестве параметров два массива целого типа произвольного размера и возвращающую порядковый номер массива, среднее арифметическое значение элементов которого максимально.
Вот:
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
struct fill_functor {
    void operator() (std::vector<int>& v) {
        std::generate(v.begin(), v.end(), rand);
    }
};
 
struct count_functor {
    count_functor():count(0) {}
    void operator() (const std::vector<int>& v) {
        count += std::accumulate(v.begin(), v.end(), 0);
    }
    unsigned int count;
};
 
int what_max(const std::vector<std::vector<int>>& arr1, const std::vector<std::vector<int>>& arr2) {
    /** подсчитываем среднее арифметическое первого массива */
    count_functor result1 = std::for_each(arr1.begin(), arr1.end(), count_functor());
    /** подсчитываем среднее арифметическое второго массива */
    count_functor result2 = std::for_each(arr2.begin(), arr2.end(), count_functor());
    
    return (result1.count < result2.count);
}
 
int main(int argc, const char** argv)  {
    const int size = 8;
    /** декларируем квадратный двумерный массив */
    std::vector<std::vector<int> > array1(size);
    std::vector<std::vector<int> > array2(size);
    
    /** перемеряем столбцы первого массива */
    std::for_each(array1.begin(), array1.end(),
                        std::bind2nd(
                                            std::mem_fun_ref(&std::vector<int>::resize), array1.size()
                                        )
                    );
    /** перемеряем столбцы второго массива */
    std::for_each(array2.begin(), array2.end(),
                        std::bind2nd(
                                            std::mem_fun_ref(&std::vector<int>::resize), array2.size()
                                        )
                    );
    
    /** заполняем случайными значениями */
    std::for_each(array1.begin(), array1.end(), fill_functor());
    std::for_each(array2.begin(), array2.end(), fill_functor());
    
    int max = what_max(array1, array2);
    
    return 0;
}
Тут много кода по подготовке массивов. Вам нужна функция what_max(array1, array2) и функтор struct count_functor
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru