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

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

Войти
Регистрация
Восстановить пароль
 
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 530
#1

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

16.11.2011, 09:54. Просмотров 849. Ответов 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;//вернем значение
Вообщем данная функция считает "максимум
среди сумм элементов диагоналей, параллельной главной диагонали"

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

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

Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
Дана целочисленная квадратная матрица. Определить: 1) произведения элементов в тех строках, которые не содержат отрицательных элементов. ...

Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
Народ!!! Скиньте кто-нибудь код, завтра сдавать уже!!!

Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
Задана целочисленная квадратная матрица A(N x N). Найти максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы.

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

Определить максимум среди сумм эллементов диагоналей параллельных главной диагонали матрицы - C++
Дана целочисленная квадратная матрица Определить максимум среди сумм эллементов диагоналей параллельных главной диагонали матрицы. Буду...

6
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
16.11.2011, 09:56 #2
изменить условия цикла
0
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 530
17.11.2011, 09:17  [ТС] #3
Вот и прошу изменить так чтобы считал главную тоже

Добавлено через 23 часа 12 минут
Есть мысли какие?
0
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
17.11.2011, 10:20 #4
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
int FindSum(int * A,int di,int xm,int ym)//xm,ym-matrix's size
{
int sum = 0;
int x0,y0,x,y;
if(di = 1)
x0=y0=0;
else 
if(di<0)
{
x0=0;
y0=-di;
}
else
if(di>0)
{
x0=di;
y0=0;
}
for(x=x0,y=y0;x<xm &&y<ym;++x,++y)
sum+=A[x][y];
return sum;
}
intFindMax(int * A,int xm,int ym)
{
int sum = 0;
for(int di = -ym;di<xm;++di)
sum = max(sum,FindSum(a,di,xm,ym));
return sum;
}
как то так.
1
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 530
17.11.2011, 11:57  [ТС] #5
А именно под мой цикл можно сделать?
0
Aneron
158 / 157 / 12
Регистрация: 20.04.2010
Сообщений: 570
17.11.2011, 12:01 #6
можно)))
0
a.n.o.n.i.m
137 / 137 / 15
Регистрация: 26.02.2011
Сообщений: 530
17.11.2011, 12:06  [ТС] #7
помоги под мой доделать,ответ как всегда наверное прост,но никак мысль не приходит в голову
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.11.2011, 12:06
Привет! Вот еще темы с ответами:

В матрице найти максимум среди сумм элементов диагоналей, параллельных главной диагонали - C++
Здравствуйте! Помогите пожалуйста, вот задачка: 1) Найти максимальную сумму среди сумм элементов диагоналей, параллельных главной...

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

Считать из файла матрицу. Определить максимум среди сумм элементов диагоналей, параллельных главной диагонали - C++
Считать из файла целочисленную матрицу. Определить: 1. характеристикой строки целочисленной матрицы назовем сумму ее положительных...

Найти максимум из сумм элементов диагоналей, параллельных главной диагонали матрицы - C++
1.дана квадратная матрица целых чисел размера N. Найти максимум из сумм элементов диагоналей, параллельных главной диагонали матрицы с++


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

Или воспользуйтесь поиском по форуму:
7
Yandex
Объявления
17.11.2011, 12:06
Ответ Создать тему
Опции темы

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