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

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

Войти
Регистрация
Восстановить пароль
 
Webmotiv
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 41
#1

Проверка монотонности строки матрицы - C++

05.06.2013, 20:52. Просмотров 662. Ответов 8
Метки нет (Все метки)

Как сделать вот проверку манатонность,чтобы пощитать количество монотонных строк...
Есть идея сделать второй массив и сохранять в него от 1 до n/2 элементов (n пусть размер массива nxn)
и прогонять одну строчку n/2-раз просто сравнивать первые несколько элементов сохраненные в массив с остальными

например строка 123123123
в массив сначало сохранит 1 - выдаст false потом 12-false,потом 123 и когда прогонит через строку выдаст true

только я запутался с вложенными циклами( помогите плиз


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
#include <iostream>
 
using namespace std;
 
int main ()
{
    setlocale(LC_ALL, "Russian"); 
 
    const int n=4;
    int i,j,s=0;
    /*
    int a[n][n];
        for (i=0;i<n;i++)
        for ( j=0;j<n;j++) a[i][j]=rand()%3;
        */
    int a[n][n]={{1,2,1,2},{1,2,3,1},{1,2,2,1},{1,1,1,2}};
 
    for (i=0;i<n;i++)
    {   for ( j=0;j<n;j++) cout << a[i][j]<< " ";
        cout << '\n';
    }
 
 
 
 
 
  return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.06.2013, 20:52     Проверка монотонности строки матрицы
Посмотрите здесь:

Не работает проверка и сдвиг строки матрицы - C++
помогите разобраться. не работает проверка и сдвиг строки. не могу найти ошибку. #include&lt;iostream&gt; #include&lt;iomanip&gt; ...

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

Шаблонный класс матрицы. Проверка матрицы на пустоту - C++
Есть задание (приложил картинку - zadanie.png) Вот что уже скодил: massive.h #ifndef MASSIVE_H #define MASSIVE_H #include...

Дан массив размера N. Определить количество его промежутков монотонности - C++
СРОЧНО ПОМОГИТЕ ПОЖАЛУЙСТА,ОООЧЕНЬ НУЖНО!!!)ЗАРАНЕЕ БОЛЬШОЕ СПАСИБО!!! ПРОСТО СЕССИЯ НАЧАЛАСЬ,НИЧЕГО НЕ УСПЕВАЮ)) ...

Проверка симметричности матрицы - C++
Программа проверяет массив на симметричность. Программа как бы работает, но когда я ввожу с клавиатуры массив то говорит, что программа...

Проверка типа матрицы - C++
Как проверить, что матрица является верхнетреугольной. Не могу придумать алгоритм. Подскажите с чего начать? Добавлено через 32...

Проверка матрицы на Х-образность - C++
Как правильно организовать проверку матрицы на X-образность (когда элементы главной и побочной диагонали !=0, а остальные нулевые)

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
05.06.2013, 21:09     Проверка монотонности строки матрицы #2
Что подразумевается под монотонностью? Строка - строка матрицы или std::string?
Webmotiv
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 41
05.06.2013, 21:38  [ТС]     Проверка монотонности строки матрицы #3
строка массива
Пaтрик
415 / 390 / 38
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
05.06.2013, 21:40     Проверка монотонности строки матрицы #4
Webmotiv, а монотонность что такое? Возрастает или убывает?
Webmotiv
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 41
05.06.2013, 21:54  [ТС]     Проверка монотонности строки матрицы #5
Забей...
монотонность это цикличные повторения
MrGluck
Модератор
Эксперт CЭксперт С++
7181 / 4347 / 634
Регистрация: 29.11.2010
Сообщений: 11,838
05.06.2013, 21:57     Проверка монотонности строки матрицы #6
Цитата Сообщение от Webmotiv Посмотреть сообщение
Как сделать вот проверку манатонность,чтобы пощитать


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
#include <iostream>
#include <algorithm>
#include <cstddef>
#include <random>
#include <iterator>
#include <functional>
 
int main()
{
    const size_t M = 5, N = 4;
    std::array<std::array<int, M>, N> A;
    std::mt19937 gen {std::random_device()() };
    std::uniform_int_distribution<int> uid(1, 3);
    auto print_a = [](const std::array<int, M> &a)
    {
        std::copy(a.begin(), a.end(), std::ostream_iterator<int>(std::cout, " ") );
        bool b = std::is_sorted(a.begin(), a.end()) ||
                 std::is_sorted(a.begin(), a.end(), std::greater<int>());
        std::cout << (b ? "sorted\n" : "not sorted\n");
    };
    auto genAndPrint = [&uid, &gen, &print_a](std::array<int, M> &a)
    {
        std::generate(a.begin(), a.end(), [&uid, &gen]() -> int { return uid(gen); } );
        print_a(a);
    };
    std::for_each(A.begin(), A.end(), genAndPrint);
}
Webmotiv
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 41
05.06.2013, 22:03  [ТС]     Проверка монотонности строки матрицы #7
Спасибо конешно но надо по простому,используя обычные for и не подключая расширений таких)
MrGluck
Модератор
Эксперт CЭксперт С++
7181 / 4347 / 634
Регистрация: 29.11.2010
Сообщений: 11,838
05.06.2013, 22:05     Проверка монотонности строки матрицы #8
Цитата Сообщение от Webmotiv Посмотреть сообщение
не подключая расширений таких
так:
C++
1
2
int main()
{}
Добавлено через 53 секунды
Для размышлений:
C++
1
2
3
4
5
6
7
8
9
10
11
12
template <class ForwardIterator>
  bool is_sorted (ForwardIterator first, ForwardIterator last)
{
  if (first==last) return true;
  ForwardIterator next = first;
  while (++next!=last) {
    if (*next<*first)     // or, if (comp(*next,*first)) for version (2)
      return false;
    ++first;
  }
  return true;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.06.2013, 22:44     Проверка монотонности строки матрицы
Еще ссылки по теме:

Проверка симметричности матрицы - C++
Добрый день! Подскажите пожалуйста, в чем дело? Программа работает не правильно. Если я к примеру ввожу матрицу: 2 1 4 2 2 3 4 3 2 ...

проверка элементов матрицы - C++
Составить программу, которая проверяет, является ли элементы линейных таблиц В C расположенными по возрастанию. Инициализацию, вывод...

Проверка строки - C++
Здравствуйте, господа! В консольном приложении есть переменная типа string, в которую я ввожу некие данные: cin &gt;&gt; st; теперь мне...

Проверка строки - C++
Я написал &quot;мини игру&quot;. Смысл отгадать число. Человек вводит знак сравнения (&gt;, &lt; или =) и любое число, а комп отвечает &quot;Да, верно&quot; или...

Указать номер строки, максимально удаленной от первой строки заданной матрицы - C++
Задание: Расстояние между k-й и 1-й строками квадратной матрицы А опеределяется как r = сумма от j=1 до N от (abs(akj)*abs(a1j)). Указать...


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

Или воспользуйтесь поиском по форуму:
Webmotiv
0 / 0 / 0
Регистрация: 27.03.2013
Сообщений: 41
05.06.2013, 22:44  [ТС]     Проверка монотонности строки матрицы #9
Во как надо.Легко и просто и на простом операторе

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
#include <iostream>
 
using namespace std;
 
int main ()
{
    setlocale(LC_ALL, "Russian"); 
 
    const int n=4;
    int i,j,s=0;
    /*
    int a[n][n];
        for (i=0;i<n;i++)
        for ( j=0;j<n;j++) a[i][j]=rand()%3;
        */
    int a[n][n]={{1,2,1,2},{1,2,1,2},{1,0,1,2},{1,2,1,2}};
 
    for (i=0;i<n;i++)
    {   for ( j=0;j<n;j++) cout << a[i][j]<< " ";
        cout << '\n';
    }
 
    int b[n],fl,k;
 
    for (i=0;i<n;i++)
        for ( j=0;j<n;j++) 
        {
        
            fl=0;
            b[j]=a[i][j];
 
            if( n%(j+1)==0 && j!=0) 
                for(k=0;k<(n/j);k++)
                    for(int p=0;p<j;p++) { if(a[i][j*k+p]==b[j] ) fl=1; else fl=0;}
 
            if ( fl==1) s++;
        }
        
 
    cout << endl << endl << " Монотонных строк:" << s<< endl << endl;
  return 0;
}
Yandex
Объявления
05.06.2013, 22:44     Проверка монотонности строки матрицы
Ответ Создать тему
Опции темы

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