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

Решение задачи на матрицу с помощью указателей - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Погрешность при расчете интеграла. http://www.cyberforum.ru/cpp-beginners/thread20935.html
Помогите пожалуйста, никак не пойму как вписать погрешность в такую незамысловатую программу для вычисления площади между двумя кривыми. Программа считает эту самую площадь, но необходимо еще...
C++ Задержка в микроседундах Подскажите,можно ли как-нибудь сделать задержку в 30-40 микросекунд?:help: http://www.cyberforum.ru/cpp-beginners/thread20934.html
Функция-аналог Readkey в С# C++
Помогите, пожалуйста: мне нужно, чтобы после вывода результатов программы в консоль, консоль не закрывалась. В C#, я знаю, пишется Console.Readkey(); а в C++ как?
Как выбирать последовательности, удовлетворяющие определенным условиям? C++
Подскажите, пожалуйста, как вот этот кусочек (в приложении) запрограммировать - очень сильно туплю... забыла написать, что r=143, l=638 чуть измененное вложение.
C++ Программа с рекурсией http://www.cyberforum.ru/cpp-beginners/thread20915.html
Может не совсем по адресу. Но есть у меня одна проблема. Никак не могу сделать эту лабу. Может кто помочь? В общем нужно следующее. На Си написать программу, которая бы в массиве чисел из...
C++ Найти все простые натуральные числа, двоичная запись которых представляет собой палиндром Найти все простые натуральные числа, не превосходящие n, двоичная запись которых представляет собой палиндром, т.е. читается одинаково слева направо и справа налево. подробнее

Показать сообщение отдельно
Умница++
0 / 0 / 0
Регистрация: 23.12.2008
Сообщений: 13

Решение задачи на матрицу с помощью указателей - C++

14.01.2009, 21:29. Просмотров 4916. Ответов 4
Метки (Все метки)

Помогите немного доделать вот такую задачку:

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

Без указателей я её решила, привожу программу:
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
62
63
64
65
66
67
68
69
void main()
{
srand((unsigned)time(NULL));
//инициализация массива
const int n=5;
int mas[n ][n],sum[n*2-2]={0};
//формируем массив...
for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
        mas[i][j]=rand()%10-5;
//...и выводим его на экран.
for(int i=0;i<n;i++)
    {cout<<"\n";
     for(int j=0;j<n;j++)
        cout<<mas[i][j]<<" ";
    };
//находим сумму эл-тов диагоналей || главной
cout<<"\n\n"<<"Massive of sum:";
for (int k=n*(-1)+1,p=0;k<n;k++)
    {if(k!=0)
        {for(int i=0;i<n;i++)
        for(int j=0;j<n;j++)
            (i==j+k)?(sum[p]+=mas[i][j]):(NULL);
            cout<<sum[p]<<", ";
            p+=1;
        };
    };
cout<<"\n\n";
//Ищем максимальную сумму!
int max=0;
for(int i=0;i<(n*2-2);i++)
    (max<sum[i])?(max=sum[i]):(NULL);
cout<<"Max summ is: "<<max<<"!"<<"\n\n";    
}
 
 
Но, при решении этой задачи с указателями возникают трудности:
 
Вывод матрицы получается:
 
//функция вывода массива на экран
void show(int n,int **mas)
{    for(int i=0;i<n;i++)
    {    
        cout<<"\n";
        for(int j=0;j<n;j++)
        cout<<mas[i][j]<<" ";
    }
    cout<<"\n\n";
    return; 
}
 
void main()
{
//srand((unsigned)time(NULL));
//сформируем динамический массив!
int n;
int sum[n*2-2]={0};
cout<<"Vvedite razmernost' massiva: ";
cin>>n;
int** matrix=new int* [n];
for(int i=0;i<n;i++)
    matrix[i]=new int[n];
for(int i=0;i<n;i++)
    for(int j=0;j<n;j++)
        matrix[i][j]=rand()%10-3;
show(n,matrix);
//diag(n,matrix);
}

Помогите написать функцию для нахождения суммы эл-тов диагоналей || главной и соответственно максимальную сумму, с помощью указателей.

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