Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2011, 08:59   #1
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию доделать код

Код:
int i,j, max = 0,sum = 0,index = n-1,dlina = 1;
    while(index)
    {
        for(i = 0,j = index; i < dlina; ++i, ++j)//перемещаемся прямо по диагонали до тех пор, пока не исчерпана длина диагонали dlina
            sum += matr[i][j];
        if (max < sum)//проверяем значение sum с имеющимся маскимумом
        {
            max = sum;
        }
        sum = 0;
        for(i = 0, j = index; i < dlina; ++i, ++j)//перемещаемся прямо по диагонали до тех пор, пока не исчерпана длина диагонали dlina
            sum += matr[j][i];
        if (max < sum) //проверяем значение sum с имеющимся маскимумом
        {
            max = sum;
        }
        sum = 0;
        ++dlina;//увеличиваем размер диагонали на 1
        --index;//"стартовый" индекс index уменьшаем на 1 и так до тех пор, пока index не равен 0
    }	
    cout<<"Result : "<<max<<"\n";
	return sum;//вернем значение
Вообщем данная функция считает "максимум
среди сумм элементов диагоналей, параллельной главной диагонали"

Проблема вот в чем,она считает правильно,но не берет в счет саму главную диагональ как это сделать?
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 16.11.2011, 13:55   #2
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

Есть какие идеи?
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 16.11.2011, 16:34   #3
9i.
Форумчанин
 
Регистрация: 29.09.2011
Сообщений: 103
По умолчанию

Цитата:
Сообщение от a.n.o.n.i.m Посмотреть сообщение
Код:
int i,j, max = 0,sum = 0,index = n-1,dlina = 1;
что такое n???
9i. вне форума Ответить с цитированием
Старый 16.11.2011, 18:01   #4
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

n это размерность матрицы(квадратная матрица)
a.n.o.n.i.m вне форума Ответить с цитированием
Старый 17.11.2011, 09:17   #5
a.n.o.n.i.m
Форумчанин
 
Регистрация: 26.02.2011
Сообщений: 301
По умолчанию

Есть мысли какие?
a.n.o.n.i.m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В Паскале немного доделать код Novenkaja Помощь студентам 0 10.04.2011 19:21
списки , помогите доделать код. paladinn Общие вопросы C/C++ 0 20.06.2009 09:07
Помогите доделать код на Си osichev Общие вопросы C/C++ 0 08.06.2009 20:39
Помогите доделать код!!НА СИ osichev Помощь студентам 0 08.06.2009 20:27
Помогите доделать код! Al3x Общие вопросы C/C++ 6 22.12.2008 19:06