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

Максимум среди сумм элементов диагоналей, параллельной главной диагонали матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача результата выполнения функции http://www.cyberforum.ru/cpp-beginners/thread384989.html
int search() // эта функция ищет индекс { for (int i = 0; i < 4; i++) { ... } } int add(int a) // сюда он должен передаваться { ...
C++ Простой HotKey Хочу понять как в с++ создать хоткей, не могли бы привести самый простой пример, вместе с обработчиком?? http://www.cyberforum.ru/cpp-beginners/thread384956.html
Не могу найти ошибку, первый опыт в С++. C++
первый опыт в С++, и то неудачный( Никак не могу заставить работать программку( То не запускается, то вылетает сразу( // Lab1.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <math.h> #include <iostream> //подключение заголовочного файла управления потоками ввода/вывода using namespace std; //объявление пространста имен int main() // объявление...
C++ Работа программы прекращается... Программа не работает. Закрыть программу.
#include <iostream> #include <stdio.h> #include <conio.h> #include <math.h> using namespace std; int main() { FILE *so;
C++ Циклы: первые 6 чисел, кратные 9, вывести на экран http://www.cyberforum.ru/cpp-beginners/thread384947.html
Первые 6 чисел, кратные 9 вывести на экран. Как дописать не могу понять? const int max = 109; int counter = 0; int ci= 0; for (int i = 9; i < max; i++) { if (i % 9 != 0) {
C++ ISO C++ forbids comparison between pointer and integer| Вот такая ошибка выходит, кто знает в чем дело, помогите пожалуйста! #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; class matrix{ public: int *n; double A; подробнее

Показать сообщение отдельно
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 528

Максимум среди сумм элементов диагоналей, параллельной главной диагонали матрицы - C++

16.11.2011, 09:54. Просмотров 833. Ответов 6
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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;//вернем значение
Вообщем данная функция считает "максимум
среди сумм элементов диагоналей, параллельной главной диагонали"

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