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

Дана целочисленная квадратная матрица. Определить: - C++

Восстановить пароль Регистрация
 
FallenAngel76ru
22 / 22 / 10
Регистрация: 11.03.2012
Сообщений: 175
12.03.2012, 10:23     Дана целочисленная квадратная матрица. Определить: #1
минимум среди сумм модулей элементов диагоналей, параллельных побочной

работаю в среде BLOODSHED DEV-C++..горю над заданием..нужно почти срочно..
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
12.03.2012, 10:46     Дана целочисленная квадратная матрица. Определить: #2
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
int calc(int **data, int n)
{
 int d,i,s,r;
 for (i=n-1-d, r=0; i>=0; --i)
 {
  r+=abs(data[i][i+1];
 }
 for (d=n-1; d>0; --d)
 {
  for (i=n-1-d, s=0; i>=0; --i)
  {
   s+=abs(data[i][d+i];
  }
  if (s<r)
  {
   r=s;
  }
  for (i=n-1-d, s=0; i>=0; --i)
  {
   s+=abs(data[d+i][i];
  }
  if (s<r)
  {
   r=s;
  }
 }
 return r;
}
dimcoder
Полярный
 Аватар для dimcoder
449 / 422 / 66
Регистрация: 11.09.2011
Сообщений: 1,108
12.03.2012, 11:04     Дана целочисленная квадратная матрица. Определить: #3
Вот под побочной диагональю:
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
#include <cstdlib>
#include <iostream>
#include <exception>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    const int N = 4;
    int a[N][N] = {{9,2,3,0},
                   {5,2,0,8},
                   {1,0,5,1},
                   {0,5,1,6}};
             
    int min; 
    int sum;
    for (int i = 1; i < N; i++)
    {
        sum = 0;
        for (int j = i; j < N; j++)
            sum += abs(a[j][N-j+i-1]);
        if (i == 1 || sum < min)
            min = sum;
    }
    cout << min;
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
Ответ: 2
Ща помозгую над побочной.

Добавлено через 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
#include <cstdlib>
#include <iostream>
#include <exception>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    const int N = 4;
    int a[N][N] = {{9,2,3,0},
                   {5,2,0,8},
                   {1,0,5,1},
                   {0,5,1,6}};
             
    int min = 32000; 
    int sum;
    for (int i = 1; i < N; i++)
    {
        sum = 0;
        for (int j = i; j < N; j++)
            sum += abs(a[j][N-j+i-1]);
        if (i == 1 || sum < min)
            min = sum;
    }
    
    for (int i = 0; i < N-1; i++)
    {
        sum = 0;
        for (int j = i; j >= 0; j--)
            sum += a[i-j][j];
        if (sum < min)
            min = sum;
    }
    
    cout << min;
    
    system("PAUSE > NULL");
    return EXIT_SUCCESS;
}
FallenAngel76ru
22 / 22 / 10
Регистрация: 11.03.2012
Сообщений: 175
12.03.2012, 13:08  [ТС]     Дана целочисленная квадратная матрица. Определить: #4
Спасибо, чувачки..) Выручили )
Yandex
Объявления
12.03.2012, 13:08     Дана целочисленная квадратная матрица. Определить:
Ответ Создать тему
Опции темы

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