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

Двумерный массив, Нужна помощь профи - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей http://www.cyberforum.ru/cpp-beginners/thread3592.html
1 Получить все числа, которые входят в массив по одному разу 2 Вывести на экран элементы массива целых чисел в порядке возрастания их числа делителей. 3 подсчитать число вхождений в строку группы символов abc
C++ iomanip какие функции входят в библиотеку iomanip.h? http://www.cyberforum.ru/cpp-beginners/thread3591.html
Считывание и вывод на экран изображения в С++ C++
Очень шужна такая программа. Если кто-то писал - помогите плз.
C++ Разворот текста
Господа,понимаю что это все просто но допетрить до конца не могу суть задачи в том что есть текстовый файл,в нем строчка,а то и две (может больше) в общем мне нжуно перевернуть текст задом наперед #include <iostream.h> #include <string.h> #include <fstream.h> char a; void main() {
C++ Найти максимальное из чисел, встречающихся в заданной матрице более одного раза http://www.cyberforum.ru/cpp-beginners/thread3554.html
помогите с заданием по двумерным массивам дана действительная матрица порядка n на m. (массив небольшой. можно проинициализировать вручную. 8x12) найти максимальное из чисел, встречающихся в заданной матрице более одного раза.
C++ Определить количество элементов матрицы, кратных 3 и не превышающих 100 добрый день! помогите, пожалуйста,с задачкой... очень прошу Дан 2-мерный массив целых чисел(М строк, N столбцов, М=5, N=4). Элементы вводят с клавиатуры. Вывести массив на экран в виде таблицы. Определить количество элементов, кратных 3 и не превышающих 100. Посчитать среднее арифметическое в К-ом столбце. Найти первый максимум и его координаты в каждой строке. Вывести на экран. Упорядочить... подробнее

Показать сообщение отдельно
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
26.05.2009, 16:29     Двумерный массив, Нужна помощь профи
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
#include <algorithm>
#include <functional>
#include <iostream>
 
template <typename T>
struct max_if_orderly : public std::unary_function<T, void>
{
    max_if_orderly() : row_(0) {}
    template <const size_t Cols>
    void operator()(const T (&arr)[Cols])
    {
        if (std::adjacent_find(arr, arr+Cols, std::greater<T>()) == arr+Cols ||
            std::adjacent_find(arr, arr+Cols, std::less<T>()) == arr+Cols)
        {
            std::cout << "Row " << row_ << " is matched. Maximum=" <<
                *std::max_element(arr, arr+Cols) << std::endl;
        }       
        row_++;
    }
    size_t row_;
};
 
template <typename T, const size_t Rows, const size_t Cols>
void product_maxes(const T (&arr)[Rows][Cols])
{
    std::for_each(arr, arr+Rows, max_if_orderly<T>());
}
 
 
int main()
{
    int arr[3][4] = {
        1, 7, 40, 54,
        3, 5, 1, 66,
        45, 30, 23, 4 };
    product_maxes(arr);
    return 0;
}
Вывод:
Row 0 is matched. Maximum=54
Row 2 is matched. Maximum=45
Опробировано на Visual Studio 2008
 
Текущее время: 14:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru