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

Нахождение максимального элемента относительно диагонали массива - C++

Восстановить пароль Регистрация
 
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
18.02.2014, 12:27     Нахождение максимального элемента относительно диагонали массива #1
Дан квадратный массив. Нужно найти максимальное число в секторе относительно диагонали, проведенной из верхнего правого угла в нижний левый. Помогите поправить код, чтобы в число элементов данного сектора входила и сама диагональ, а не только элементы за ней. Пока находит максимальное значение без учета чисел на диагонали.
C++
1
2
3
4
5
6
7
8
9
10
for(int k=0;k<size; k++)
    {
        for(int i=size-k;i<size;i++)
        {
            if(mas[i][k]>max)
            {
                max=mas[i][k];
            }
        }
    }
В данном случае рассматривается сектор, лежащий справа от вышеупомянутой диагонали.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.02.2014, 12:27     Нахождение максимального элемента относительно диагонали массива
Посмотрите здесь:

C++ Составить функцию нахождения максимального элемента Мх в диагонали матрицы, параллельной главной диагонали
C++ Составить функцию нахождения максимального элемента в диагонали матрицы, параллельной главной диагонали
C++ Матрицы,нахождение максимального и минимального элемента
Нахождение максимального элемента в массиве и его индекс (элемента) C++
Нахождение максимального элемента среди элементов, лежащих выше побочной диагонали матрицы C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
SatanaXIII
Супер-модератор
Эксперт С++
 Аватар для SatanaXIII
5549 / 2563 / 233
Регистрация: 01.11.2011
Сообщений: 6,337
Завершенные тесты: 1
18.02.2014, 12:56     Нахождение максимального элемента относительно диагонали массива #2
C++
1
2
3
4
5
6
7
8
9
10
for(int k=0;k<size; k++)
    {
        for(int i=size-k-1;i<size;i++)
        {
            if(mas[i][k]>max)
            {
                max=mas[i][k];
            }
        }
    }
Donnerwetter
40 / 40 / 12
Регистрация: 04.02.2014
Сообщений: 144
18.02.2014, 13:31  [ТС]     Нахождение максимального элемента относительно диагонали массива #3
SatanaXIII, спасибо! Подскажите еще пожалуйста аналогичный код для нахождения значений а таких секторах матрицы (выделены звездочками):

первый сектор:
*----
**---
***--
**---
*----

второй сектор:

----*
---**
--***
---**
----*

В общем, треугольники, ограниченные половинами диагоналей. У меня получились такие коды соответственно:

первый:
C++
1
2
3
4
5
6
7
8
9
10
for(int i=0;i<size/2; i++)
    {
        for(int k=i;k<size-i-1;k++)
        {
            if(mas[i][k]>max)
            {
                max=mas[i][k];
            }
        }
    }
второй:
C++
1
2
3
4
5
6
7
8
9
10
for(int i=size/2;i<size; i++)
    {
        for(int k=i;k<size-i;k++)
        {
            if(mas[i][k]>max)
            {
                max=mas[i][k];
            }
        }
    }
Но что-то неправильно считает. Подскажите, как подправить.
Kukurudza
105 / 86 / 6
Регистрация: 29.08.2012
Сообщений: 539
18.02.2014, 14:16     Нахождение максимального элемента относительно диагонали массива #4
если в голове прикинуть не можешь, ручка+бумажка и попер в дебаге отслеживать переменные i и k.
Yandex
Объявления
18.02.2014, 14:16     Нахождение максимального элемента относительно диагонали массива
Ответ Создать тему
Опции темы

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