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

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

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

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

26.09.2012, 22:00. Просмотров 1170. Ответов 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", но получается, что в нем счетчик количества особых элементов увеличивается каждый раз, когда проверяемый элемент больше/меньше определенного элемента слева/справа, а не тогда, когда проверяемый элемент одновременно больше всех элементов слева и одновременно меньше всех элементов справа.

Заранее спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.09.2012, 22:00
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача на "особый" элемент матрицы (C++):

Даны три слова - "мама", "мыла", "раму". Задача - напечатать всевозможные варианты построения слов - C++
Я записал код, однако эту часть надо автоматизировать, поможете? КОД: } #include &lt;iostream&gt; using namespace std; int main()...

Необработанное исключение в "0x76f015de" в "контрольная 1 задача 2.exe": 0xC0000005: Нарушение прав доступа при чтении "0x334e2c64" - C++
доброго времени суток. Необработанное исключение в &quot;0x76f015de&quot; в &quot;контрольная 1 задача 2.exe&quot;: 0xC0000005: Нарушение прав доступа при...

В зависимости от времени года "весна", "лето", "осень", "зима" определить погоду "тепло", "жарко", "холодно", "очень холодно" - C++
В зависимости от времени года &quot;весна&quot;, &quot;лето&quot;, &quot;осень&quot;, &quot;зима&quot; определить погоду &quot;тепло&quot;, &quot;жарко&quot;, &quot;холодно&quot;, &quot;очень холодно&quot;. Я так...

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

Реализовать классы "Воин", "Пехотинец", "Винтовка", "Матрос", "Кортик" (наследование) - C++
Разработать программу с использованием наследования классов, реализующую классы: − воин; − пехотинец(винтовка); − матрос(кортик). ...

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

3
valeriikozlov
Эксперт С++
4674 / 2500 / 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;
    
}
2
WildSpirit
0 / 0 / 0
Регистрация: 26.09.2012
Сообщений: 8
26.09.2012, 22:50  [ТС] #3
Спасибо большое!
0
alkagolik
Заблокирован
26.09.2012, 23:30 #4
1 2 3 4 5 6
где тут особый элемент?

Добавлено через 2 минуты
ага допёр. их тут 4 - это 2 3 4 5
0
26.09.2012, 23:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.09.2012, 23:30
Привет! Вот еще темы с ответами:

Заменить столбцы, от первого до последнего, матрицы "x" на столбец матрицы "у" - C++
Добрый день! Необходимо заменить столбцы, от первого до последнего, матрицы &quot;x&quot; на столбец матрицы &quot;у&quot;, после замены столбца...

Создать класс "Книга" с полями "название книги", "количество страниц", "год издания" - C++
Создать класс Книга поля: название книги,количество страниц,год издания методы: вычислить сколько лет книге и количество дней прошедших...

Создать класс "Вентилятор" содержащий в себе классы: "Двигатель", "Контроллер", "Пульт управления" - C++
Помогите с кодом написания задачи, не понимаю как написать классы в классе. Нужно создать класс &quot;вентилятор&quot; содержащий в себе классы:...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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