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

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

Войти
Регистрация
Восстановить пароль
 
 
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
#1

Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее - C++

31.12.2013, 19:41. Просмотров 1166. Ответов 40
Метки нет (Все метки)

Дано задание:

Дана действительная квадратная матрица порядка 7. Вычислить сумму
тех её элементов, расположенных на главной диагонали и выше нее, которые превосходят
по величине все элементы, расположенные ниже главной диагонали. Заменить этой
суммой элемент на главной диагонали соответствующего столбца. Если на главной
диагонали и выше нее нет элементов с указанным свойством, то элемент на главной
диагонали оставить без изменения. Элементы главной диагонали (неизмененные) вывести
в массив. Вывести исходную и преобразованную матрицы, полученный массив.


Подскажите пожалуйста механизм поиска элементов расположенных на главной диагонали и выше нее, которые превосходят по величине все элементы, расположенные ниже главной диагонали и нахождения их суммы...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
29
30
31
32
33
34
35
#include <iostream.h>
#include <stdlib.h>
#include <time.h>
main(){
       setlocale(LC_ALL,"RUS");
       int a[7][7], i,j,max=0;
       srand (time(NULL));
       for (i=0; i<7; i++)
       for (j=0; j<7; j++){
           a[i][j] = rand()%10;
           }
           cout<<"матрица А"<<endl<<endl;
           for (i=0; i<7; i++){
       for (j=0; j<7; j++)
           cout<<a[i][j]<<"  ";cout<<endl;
           } 
           for (i=0; i<7; i++){
       for (j=0; j<7; j++)
       if (i>j){
                if (a[i][j]>max) max = a[i][j];}}
                
                 for (i=0; i<7; i++){
       for (j=0; j<7; j++)
       if (i<=j){
                 if(a[i][j]>max){
                                 if(i==j)                
                 a[i][j]=a[i][j]+a[i][j];}}
       cout<<endl<<endl;
       for (i=0; i<7; i++){
       for (j=0; j<7; j++)
       cout<< a[i][j]<<"  ";
       cout<<endl;}
       }
       system ("pause");
       return 0;}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2013, 19:41     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее
Посмотрите здесь:

Вычислить сумму элементов матрицы, расположенных выше главной диагонали - C++
выдает ошибки: Ошибка 1 error LNK2001: неразрешенный внешний символ &quot;_mainCRTStartup&quot; Ошибка 2 error LNK1120: 1 неразрешенных внешних...

Найти сумму модулей элементов, расположенных выше главной диагонали матрицы - C++
for( int i = 0; i &lt; n; i++ ) for( int j = i+1; j &lt; n; j++ ) s += abs(array); Так он находит сумму модулей элементов ниже главной...

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

Вычислить сумму элементов выше главной диагонали матрицы - C++
ввести двумерный массив b . вычислить сумму элементов лежать выше главной диагонали матрицы и отобразить на экране. p. s помогите...

Вычислить сумму элементов матрицы выше главной диагонали - C++
Здравствуйте. Помогите решить задание. Нужно вычислить сумму элементов матрицы выше главной диагонали. Заранее спасибо.

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
31.12.2013, 22:08     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #16
Цитата Сообщение от ilmat Посмотреть сообщение
не...неправильно работает. Но в любом случае спасибо) Больше не мучайтесь..
Что не так?
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
31.12.2013, 22:12  [ТС]     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #17
я бы кинул скрин да не знаю как
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
31.12.2013, 22:14     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #18
Скопируйте все с консоли.
Ev_Hyper
Заблокирован
31.12.2013, 22:14     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #19
странно, вроде правильно работает.
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
31.12.2013, 22:18  [ТС]     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #20
я ее в devcpp копирнул - кучу ошибок выдал при компиляции. //int _tmain(int argc, _TCHAR* argv[]) и //#include "stdafx.h" эти строчки....я их закомментил - без них работает, но не так как-то
S_el
2092 / 1599 / 306
Регистрация: 15.12.2013
Сообщений: 6,427
31.12.2013, 22:19     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #21
Скопируйте то,что внутри main в вашу старую программу и запустите.
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
31.12.2013, 22:31  [ТС]     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #22
В принципе правильно, но через раз как-то) Спасибо еще раз огромное.
Ev_Hyper
Заблокирован
31.12.2013, 22:34     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #23
нет, надо понять почему иногда работает неправильно. Надо перепроверить границы циклов, скорее всего ошибка в них.

Все таки скопируйте ошибочный вариант, в консоли правой кнопкой мыши: Выделить все ->Enter и вставляйте сюда.

Добавлено через 1 минуту
Кстати, для наглядности выводите и массив максимальных элементов:
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
 
       setlocale(LC_ALL,"RUS");
       int a[7][7],mas[7], i,j,temp;
       srand (time(NULL));
       for (i=0; i<7; i++)
       for (j=0; j<7; j++)
       {
           a[i][j] = rand()%10;
       }
       cout<<"матрица А"<<endl<<endl;
       for (i=0; i<7; i++)
       {
       mas[i]=0;
       for (j=0; j<7; j++)
       cout<<a[i][j]<<"  ";cout<<endl;
       } 
 
       for (i=0; i<7; i++)
       {
            for (j=i+1; j<7; j++)
            if (a[j][i]>mas[i])
            {
             mas[i]=a[j][i];
            }
       }
            cout<<endl;
           for(int j=0;j<7;j++)
           cout<<mas[j]<<" ";
           cout<<endl<<endl;
        for (i=0; i<6; i++)
       {
            temp=a[i][i];
            a[i][i]=0;
            for (j=0; j<i; j++)
            {
                if (a[j][i]>mas[i])
                {
                a[i][i]=a[i][i]+a[j][i];
                }
            }
            if(a[i][i]==0)a[i][i]=temp;
 
       }
       cout<<endl<<endl;
       for (i=0; i<7; i++)
       {
       for (j=0; j<7; j++)
       cout<< a[i][j]<<"  ";
       cout<<endl;
       }
      
       system ("pause");
       return 0;
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
31.12.2013, 22:45  [ТС]     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #24
не могу скопировать....действие недоступно..
Ev_Hyper
Заблокирован
31.12.2013, 22:46     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #25
эм, ну может все же перенаберете?
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
31.12.2013, 22:47  [ТС]     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #26
Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

D:\>12332.exe
матрица А

8 9 9 6 7 0 4
4 8 9 5 3 5 1
6 6 1 6 5 0 0
4 6 8 8 1 1 4
1 0 0 3 8 7 4
0 9 0 7 1 4 7
6 9 1 6 5 5 5


8 9 9 6 7 0 4
4 8 9 5 3 5 1
6 6 18 6 5 0 0
4 6 8 8 1 1 4
1 0 0 3 7 7 4
0 9 0 7 1 7 7
6 9 1 6 5 5 5
Для продолжения нажмите любую клавишу . . .
Ev_Hyper
Заблокирован
31.12.2013, 22:49     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #27
ilmat, а что тут неправильного?
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
31.12.2013, 22:51  [ТС]     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #28
5-й столбец
Ev_Hyper
Заблокирован
31.12.2013, 22:53     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #29
и все же не вижу ошибки.
mas[4]=5;
А сумма элементов больше 5, выше главной диагонали = 7.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.12.2013, 23:01     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее
Еще ссылки по теме:

Найти сумму элементов расположенных выше главной диагонали. - C++
Дан массив размерности 3х3. Найти сумму его элементов, расположенных выше главной диагонали. Вот начало (все на что я способен) ...

Найти сумму модулей элементов, расположенных выше главной диагонали - C++
Тема: &quot;Анализ производительности алгоритмов&quot; -------------------------------------------------- Днана целочисленная квадратная матрица....

Замена положительных элементов, расположенных выше главной диагонали матрицы - C++
Дана квадратная матрица А(N,N). Составить программу замены положительных элементов, расположенных выше главной диагонали и кратных 5, на...

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

Сформировать массив из положительных элементов матрицы, расположенных выше главной диагонали - C++
Дана матрица А(n*m). Сформировать одномерный массив из положительных элементов этой матрицы, расположенных выше главной диагонали


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

Или воспользуйтесь поиском по форуму:
ilmat
1 / 1 / 0
Регистрация: 31.12.2013
Сообщений: 26
31.12.2013, 23:01  [ТС]     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее #30
в пятом столбце элементом ГД является 8. 8>1>5 также семерка, стоящая выше>1>5....на место восьмерки по идее должно встать 15...а в целом, как я и говорил всё правильно.
Yandex
Объявления
31.12.2013, 23:01     Вычислить сумму элементов матрицы, расположенных на главной диагонали и выше нее
Ответ Создать тему
Опции темы

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