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

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

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

Задача на "особый" элемент матрицы - C++

26.09.2012, 22:00. Просмотров 1046. Ответов 3
Метки нет (Все метки)

Задача:
Дана целочисленная матрица A (N.M). Определить количество "особых" элементов массива А, считая элемент "особым", если в его строке слева от него находятся элементы, меньшие его, а справа большие.
Делаю так:
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
#include <iostream>
 
int main()
{
    using namespace std;
    int N, M, SEQ = 0;
    
    cout << "Define the number of strings: ";
    cin >> N;
    
    cout << "Define the number of columns: ";
    cin >> M;
    
    int A[ N ][ M ];
    
    for ( int i = 0; i < N; i++)
    {
        for ( int k = 0; k < M; k++)
            cin >> A[ i ][ k ];
    }
    
    for ( int n = 0; n < N; n++ )
    {
        for ( int z = 1; z < (N - 1); z++)
        {
            if ((A[ n ][ z ] > A[ n ][ (z-1) ]) & (A[ n ][ z ] < A[ n ][ (z+1) ]))
                SEQ++;
        }
    }
    
    cout << "Number of special elements: " << SEQ << endl;
    
    return 0;
    
}
Так "особым" элементом считается только тот, который больше элемента слева и меньше элемента справа. Как сделать, чтобы элемент сравнивался не только с левым и правым от него, а со всеми элементами слева и справа от него?
Пробовать делать цикл перед "if", но получается, что в нем счетчик количества особых элементов увеличивается каждый раз, когда проверяемый элемент больше/меньше определенного элемента слева/справа, а не тогда, когда проверяемый элемент одновременно больше всех элементов слева и одновременно меньше всех элементов справа.

Заранее спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2012, 22:00     Задача на "особый" элемент матрицы
Посмотрите здесь:

Задача на "закрашивание" некоторых элементов матрицы - C++
Имеется матрица чисел 0 и 1 - это некое изображение 0 - белый 1 - черный цвета. Если единицы образуют собой какую нибудь замкнутую область...

Создать список из целых чисел. После каждого элемента, равного "х" вставить элемент, равный "у" - C++
Задача со стеком. Создать список из целых чисел. После каждого элемента,равного х вставить элемент,равный у. какое условие нужно поменять...

Структура "Информация": - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить элемент перед элемент - C++
Структура &quot;Информация&quot;: - носитель; - объем; - название; - автор. Удалить первый элемент с заданным объемом информации, добавить...

Задача С++ "Матрицы" - C++
Здравствуйте товарищи программисты! Помогите пожалуйста решить задачу для курсовой на С++. Надежда только на Вас. Решить нужно до конца...

Задача на нахождение "+" и "-" элементов в массиве - C++
В массиве из положительных и отрицательных чисел, найти первый, второй и третий положительный элемент. Вычислить их произведение. ...

Структура "Сотрудник": удалить элемент с заданной фамилией, добавить элемент после заданного элемента - C++
Структура &quot;Сотрудник&quot;: - фамилия, имя, отчество; - должность - год рождения; - заработная плата. Удалить элемент с указанной...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
26.09.2012, 22:14     Задача на "особый" элемент матрицы #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
35
36
37
38
39
40
41
42
#include <iostream>
 
int main()
{
    using namespace std;
    int N, M, SEQ = 0;
    
    cout << "Define the number of strings: ";
    cin >> N;
    
    cout << "Define the number of columns: ";
    cin >> M;
    
    int A[ N ][ M ];
    bool fl;
    for ( int i = 0; i < N; i++)
    {
        for ( int k = 0; k < M; k++)
            cin >> A[ i ][ k ];
    }
    
    for ( int n = 0; n < N; n++ )
    {
        for ( int z = 1; z < (M - 1); z++)
        {
            fl=true;
            for(int i=0; i<z; i++)
                if(A[n][z]<=A[n][i])
                    fl=false;
            for(int i=z+1; i<M; i++)
                if(A[n][z]>=A[n][i])
                    fl=false;
            if(fl)
                SEQ++;
        }
    }
    
    cout << "Number of special elements: " << SEQ << endl;
    
    return 0;
    
}
WildSpirit
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 8
26.09.2012, 22:50  [ТС]     Задача на "особый" элемент матрицы #3
Спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2012, 23:30     Задача на "особый" элемент матрицы
Еще ссылки по теме:

Работа с бинарным деревом: добавить элемент, удалить элемент, вывести в виде "дерева" - C++
Создать программу для работы с бинарным деревом, реализующую функции: добавить элемент, удалить элемент, вывести в виде «дерева». В C++ ...

Удалить первый нулевой элемент массива и добавить после каждого чётного элемента особый элемент - C++
Здравствуйте! Имеется такая задача: 1) Сформировать одномерный массив целых чисел, используя датчик случайных чисел. 2) Распечатать...

Особый элемент - C++
Здравствуйте. Пожалуйста помогите. Нужно осуществить поиск особого элемента в массиве. Это последняя моя функция в коде. Что я делаю не...

Задача "Кто старше?" (подскажите где ошибка в коде) - C++
Здравствуйте!подскажите где может быть ошибка, на сайте показывает частичное решение, Условие: Программа принимает три числа: возраст...

Задача "Гигабашня": минимальное расстояние до этажа со счастливым номером - C++
Гигабашня — самое высокое и глубокое здание в Киберленде. В ней 17 777 777 777 этажей, пронумерованных от  - 8 888 888 888 до...

Найти ошибку в решении "Числа - палиндрома" (задача с acmp) - C++
У меня WA на 4-ом тесте. #include &lt;stdio.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; #include &lt;cstdio&gt; #include &lt;algorithm&gt; ...


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

Или воспользуйтесь поиском по форуму:
alkagolik
Заблокирован
26.09.2012, 23:30     Задача на "особый" элемент матрицы #4
1 2 3 4 5 6
где тут особый элемент?

Добавлено через 2 минуты
ага допёр. их тут 4 - это 2 3 4 5
Yandex
Объявления
26.09.2012, 23:30     Задача на "особый" элемент матрицы
Ответ Создать тему
Опции темы

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