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

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

Войти
Регистрация
Восстановить пароль
 
Slowpok
4 / 4 / 0
Регистрация: 03.01.2012
Сообщений: 112
#1

Дана матрица, найти макс области (доработать код) - C++

12.10.2013, 19:33. Просмотров 214. Ответов 2
Метки нет (Все метки)

Добрый день, помогите пожалуйста!

Условие:
Дана квадратная матрица, порядок с клавиатуры. Найти макс. элемент заштрихованной части.

Вот мой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;
int main()
{
setlocale (LC_ALL, "RUS");
int n,i,j,a[n][n];
cout<<"n=";
cin>>n;
cout<<"A \n";
for (i=0; i<n; i++)
    for (j=0; j<n; j++)
        cin>>a[i][j];
int imax,jmax,max;
max=0;
for (i=0; i<n; i++)
    for (j=0; j<n; j++)
        if ((j<=i) && ((n-i+1)>=j) && (a[i][j]>max)) 
        { max=a[i][j]; imax=i; jmax=j; }
cout<<"ot: a["<<imax<<"]["<<jmax<<"]="<<max<<"  \n";
system("pause");
return 0;
}
Работает только при нечетном n. Т.е., например, для матрицы второго порядка:
http://www.cyberforum.ru/cgi-bin/latex.cgi?\begin{bmatrix}1 & 7\\ 2 & 6\end{bmatrix}
по условию мы должны вывести 2, но выводим 6, т.к. на второй итерации цикла выполняется n-i+1 (мешает +1)
Изображения
 
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2013, 19:33     Дана матрица, найти макс области (доработать код)
Посмотрите здесь:

Дана разряженная ленточная матрица. Найти сумму её элементов. C++
Дана матрица, найти произведение всех отрецательных чисел C++
Дана квадратная матрица А размерностью n и вектор В с n элементами, найти А*В C++
C++ Дана матрица. Найти сумму чисел находящихся в диапазоне [-2,5]
Найти три минимальных элемента в дереве и массиве (Доработать код) C++
C++ Дана действительная матрица m*n. Найти матрицу того же порядка
Дана матрица A(n, n). Найти сумму элементов по каждому столбцу C++
Дана матрица, найти транспонированную к ней C++
Дана матрица, найти ее определитель C++
C++ Дана матрица 4х4, найти среднее арифметическое
Дана Матрица Н(6,5). Найти столбец с минимальной суммой элементов C++
Доработать код: возвести числа в степень, после сравнить полученные данные и найти большее C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Slowpok
4 / 4 / 0
Регистрация: 03.01.2012
Сообщений: 112
12.10.2013, 22:42  [ТС]     Дана матрица, найти макс области (доработать код) #2
я вообще не могу понять, охватывает ли условие матрицы порядка n<3

Добавлено через 2 часа 5 минут
беда была в знаке перед 1, его нужно изменить на противоположный
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
12.10.2013, 23:01     Дана матрица, найти макс области (доработать код) #3
Slowpok, нам когда такое задание давали говорили, что размер нечетный должен быть по понятным причинам...
Yandex
Объявления
12.10.2013, 23:01     Дана матрица, найти макс области (доработать код)
Ответ Создать тему
Опции темы

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