7 / 7 / 2
Регистрация: 19.10.2008
Сообщений: 10
1

Определить максимум среди сумм элементов диагоналей матрицы

19.10.2008, 20:19. Показов 6446. Ответов 11
Метки нет (Все метки)

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

Скока не парился, не получается, подскажите как правильно.
2
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2008, 20:19
Ответы с готовыми решениями:

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

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

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

Максимум среди сумм элементов диагоналей матрицы: исправить
Задача, выводит максимум среди сумм элементов диагоналей матрицы. Помогите, пожалуйста исправить...

11
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
20.10.2008, 11:53 2
Покажи, как парился.
1
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
20.10.2008, 11:56 3
Да покажи код а мы поможем если что либо задай конкретный вопрос что в этой задачи не понятно как найти диагонали или что- то другое
1
36 / 36 / 4
Регистрация: 09.06.2008
Сообщений: 324
20.10.2008, 15:50 4
Цитата Сообщение от Vourhey Посмотреть сообщение
Покажи, как парился.
Цитата Сообщение от Sergei Посмотреть сообщение
Да покажи код а мы поможем если что либо задай конкретный вопрос что в этой задачи не понятно как найти диагонали или что- то другое
Люди дело говорят...
А если кода нету, то поисчи по форуме, подобные темы были...
1
7 / 7 / 2
Регистрация: 19.10.2008
Сообщений: 10
20.10.2008, 21:25  [ТС] 5
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Всё, уже разобрался)

PHP
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
    max = INT_MIN;
    
    for(t = 1; t < Len; ++t)
    {
        sum1 = 0;
        i1 = t;
        j1 = 0;
        
        sum2 = 0;
        i2 = 0;
        j2 = t;
        
        while(i1 < Len && j2 < Len)
        {
            sum1 += matrix[i1][j1];
            sum2 += matrix[i2][j2];
            
            ++i1;
            ++j1;    
            ++i2;
            ++j2;            
        }
        maxsum = sum1 > sum2 ? sum1 : sum2;
        max = maxsum > max ? maxsum : max;
    }
    cout<<max<<endl;
вот так получица)
1
3 / 3 / 0
Регистрация: 20.01.2009
Сообщений: 6
26.04.2009, 16:39 6
проблема с той же самой задачей на С... честно говоря, не поняла, как решает её Brejneff. поэтому привожу свой пример. нахождение максимальной суммы в виде функции. пока что пыталась выбрать максимум среди сумм выше главной диагонали, но первую сумму считает правильно, и выводит только её. не пойму, в чем ошибка. либо не правильно идёт сравнение сумм, либо не так переходит к следующей диагонали...

очень прошу посмотреть мой вариант и может как-то откорректировать...

нахождение максимальной суммы (Smax) среди элементов диагоналей выше главной:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int summa(int *ar,int n)
  {
  int m,j,i;
  int S=0, Smax=-100;
  m=n;
  for (j=1;j<n;j++)
    {
    for (i=0; i<m-1; i++)
      {
      S=S+(*(ar+i*n+j));
      j++;
      }
    m--;
    if (S>Smax) {Smax=S;}
    }
  return Smax;
}
если надо, могу выложить всю программу для проверки
1
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 9
06.06.2009, 23:28 7
A-nutka! очень прошу выложить весь текст программы
0
Заказ софта
343 / 188 / 21
Регистрация: 26.05.2009
Сообщений: 863
07.06.2009, 00:10 8
a-Nutka, Вера: Девочки, мне бы Ваши проблемы...
1
3 / 3 / 0
Регистрация: 20.01.2009
Сообщений: 6
07.06.2009, 14:02 9
Вера, вот текст. в комментариях автозаполнение, а так ввод элементов вручную. прога рабочая и зачтённая)))
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include<stdio.h>
#include<math.h>
#include<conio.h>
#include<stdlib.h>
 
int summa(int *ar,int n)
  {
  int m,j,i,k;
  int S=0, Smax=-10000;
  m=n;
  for (j=1;j<n;j++)
    {
    k=0;
    S=0;
    for (i=0; i<m-1; i++)
      {
      S=S+(*(ar+i*n+j+k));
      k++;
      }
    m--;
    if (S>Smax) {Smax=S;}
    }
  m=n;
  for (i=1;i<n;i++)
    {
    k=0;
    S=0;
    for (j=0; j<m-1; j++)
      {
      S=S+(*(ar+(i+k)*n+j));
      k++;
      }
    m--;
    if (S>Smax) {Smax=S;}
    }
  return Smax;
}
 
void main()
  {
  int i,j,n,Smax,k;  //,p=-3,b=7;
  int Pr[100];
  int *a;
  clrscr();
//  randomize();
  printf("vvedite razmernost matrici: ");
  scanf("%d",&n);
  printf("\n ");
  a=(int*)malloc (n*n*sizeof(int));
  for (i=0;i<n;i++)
    {
    for (j=0;j<n;j++)
      {
    //  *(a+i*n+j)=random(b-p+1)+p;
      //     printf("%d\t", *(a+i*n+j));
      printf("a[%d,%d]=",i+1,j+1);
      scanf("%d",(a+i*n+j));
      }
    }
  printf("\n ");
  for(i=0;i<n;i++)


Search, ну, какой курс, такие и проблемы))) мы ж маленькие ещё)))
2
0 / 0 / 0
Регистрация: 17.05.2014
Сообщений: 9
07.06.2009, 15:37 10
Спасибо большое! Но я уже сделала)), поэтому в вашем коде разбираться не стала...могу сказать одно: задача с подвохом и не такая уж простая как кажется, поэтому все что напишу ниже думаю понадобится кому нибудь)))...
Итак, возьмем например квадратную матрицу 5х5 (хотя легко сделать ввод размера матрицы самим пользователем)...дак вот матрица 5х5: делала в C++Builder в StringGrid'e, поэтому индексы матрицы именно такие:
00 10 20 30 40
01 11 21 31 41
02 12 22 32 42
03 13 23 33 43
04 14 24 34 44
и по заданию по сути необходимо сложить вот эти элементы: 10 21 32 43, затем 20 31 42, затем 30 41.... и соответсвенно параллельные диагонали ниже главной: 01 12 23 34, затем 02, 13, 24, затем 03, 14
Фишка в том , что угловые элементы (в данном случае 40 и 04) диагональю не являются ... Заметила, что у половины вариантов, предложенных на различных форумах это не учтено!
Для удобства я разделила решение задачи на две части: сначала вычисляем суммы элементов каждой паралельной диагонали, находящиеся выше главной! Затем работаемс "нижней" частью! В результате, алгоритм получается следующий (приведу тока часть алгоритма, который работает с верхними паралелльными диагоналями матрицы):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (i=1; i<=n-2; i++)
    {j=0;
     int i1=i;
     sum1=0;
      while (i1<=n-1)
       {
        sum1=sum1+mas[i1][j];
        j++;
        i1++;
       }
     //здесь использую билдеровский компонент....но можно и по другому хранить значения
      Memo2->Lines->Add(sum1); 
      if (sum1>max1) max1=sum1;
    }
таким же образом ищется и максимальный элемент из сумм элементов диагоналей параллельных главной! И в конце у же сравниваются 2 значения....
вот)))
0
0 / 0 / 0
Регистрация: 24.04.2009
Сообщений: 41
07.06.2009, 20:10 11
Здравствуйте...я наверное тупой......помогите решить задачу....
Транспонировать матрцу,т.е заменить строки столбцами....матрицу ввести с клавиатуры.
0
3 / 3 / 0
Регистрация: 20.01.2009
Сообщений: 6
07.06.2009, 20:30 12
да, уж, непростая) я над ней два дня безвылазно просидела)
кстати, я считала угловые элементы диагоналями) нам этого в задании не уточняли, решила сделать так, но в решении разницы особо никакой)))
в твоём коде тоже нет особого желания разбираться) тем более, не знаю, что такое билдеровский компонент, мы на С++ не пишем)
тебе тоже спасибо ещё и за пояснения, думаю, кому-нибудь это ещё пригодиться)))

Добавлено через 1 минуту 2 секунды
ёлки... не тому "спасибо" сказала...)))
0
07.06.2009, 20:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2009, 20:30
Помогаю со студенческими работами здесь

Определить максимум среди сумм элементов диагоналей, параллельных главной
Все необходимые данные должны передаваться им в качестве параметров. Использование глобальных...

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

Максимум среди сумм элементов диагоналей, параллельной главной диагонали матрицы
int i,j, max = 0,sum = 0,index = n-1,dlina = 1; while(index) { for(i = 0,j =...

Максимум среди сумм элементов диагоналей, параллельных главной диагонали матрицы
Всем здравствуйте! Помогите написать код по нахождению максимума среди сумм элементов диагоналей,...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru