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

3. Найти в матрице первую строку - C++

Восстановить пароль Регистрация
 
Фрэди Крюгер
 Аватар для Фрэди Крюгер
0 / 0 / 0
Регистрация: 26.05.2009
Сообщений: 50
28.05.2009, 14:39     3. Найти в матрице первую строку #1
Задача
Найти в матрице первую строку, все элементы которой упорядочены по возрастанию.
Ктонибудь подскажите как решить ее не врубаюсь...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2009, 14:39     3. Найти в матрице первую строку
Посмотрите здесь:

C++ Найти в матрице первую строку, все элементы которой положительны
C++ Найти в матрице первую строку
C++ Найти в матрице первую строку, все элементы которой упорядочены по возрастанию
Найти в матрице первую строку, все элементы которой положительны C++
C++ дана целочисленная матрица A , размером а х м, найти в матрице первую строку, все элементы которой равны нолю, Умножить элементы столбца с таким же н
C++ В матрице из целых чисел поменять местами первую строку и строку, содержащую самый большой по абсолютной величине элемент матрицы
C++ В матрице из действительных чисел поменять местами первую строку и строку, содержащую наименьший элемент матрицы
C++ Работа с матрицей (в матрице найти первую по очереди строку с максимальной суммой элементов)
C++ В матрице поменять местами первую строку и строку содержащую максимальный отрицательный элемент
Найти в матрице первую строку, все элементы которой упорядочены по убыванию C++
C++ Найти в матрице первую строку, все элементы которой отрицательны
C++ Найти в матрице первую строку, все элементы которой упорядочены по возрастанию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
28.05.2009, 15:12     3. Найти в матрице первую строку #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
#include <algorithm>
#include <functional>
#include <iostream>
 
template <typename T>
struct row_adjacent : public std::unary_function<T, bool>
{
    template <const size_t Cols>
    bool operator()(const T (&arr)[Cols]) const
    { return std::adjacent_find(arr, arr+Cols, std::greater<T>()) == arr+Cols; }
};
 
template <typename T, const size_t Rows, const size_t Cols>
size_t find_adjacent_row(const T (&arr)[Rows][Cols])
{ return std::distance(arr, std::find_if(arr, arr+Rows, row_adjacent<T>())); }
 
template <typename T, const size_t Rows, const size_t Cols>
size_t end(const T (&)[Rows][Cols])
{ return Rows; }
 
int main()
{
    int arr[4][4] = {
        1, 2, 0, 3,
        3, 2, 4, 5,
        5, 4, 10, 20,
        1, 2, 3, 4      // <= Совпадающая строка, индекс = 3
    };
        const size_t row = find_adjacent_row(arr);
        if (row != end(arr))
            std::cout << row << std::endl;
 
        return 0;
}
Yandex
Объявления
28.05.2009, 15:12     3. Найти в матрице первую строку
Ответ Создать тему
Опции темы

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