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

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

Войти
Регистрация
Восстановить пароль
 
KASHAKO
2 / 1 / 0
Регистрация: 20.12.2009
Сообщений: 56
#1

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

08.02.2010, 16:23. Просмотров 478. Ответов 1
Метки нет (Все метки)

Не могу решыть задучу.Выглядит примерно так.Создать квадратную матрицу целых чисел размером 9х9.Заполнить матрицу случайными числами. Разместить на главной диагонали суммы элементов, которые лежат на диагоналях, перпендикулярных к главной.Название: l09_e011.gif
Просмотров: 58

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

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

На главной диагонали разместить суммы элементов - C++
Помогите Решить. Заполнить матрицу (размером 9х9) случайными числами (из диапазона 0 - 99). На главной диагонали разместить суммы...

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

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

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

Вычислить сумму элементов матрицы над главной диагональю под главной диагональю и на главной диагонали - C++
Даны матрицы А(4,3) и В(3,5). Для каждой матрицы вычислить сумму элементов над главной диагональю под главной диагональю и на главной...

1
jung
2 / 2 / 1
Регистрация: 25.11.2009
Сообщений: 40
09.02.2010, 01:20 #2
необходимо найти сумму по диагоналям перпендикулярных главной.
S[9], а потом вставить ее вместо главной диагонали.
C++
1
2
3
4
5
6
for(i=0;i<9;i++)
{
for(j=0;j<=i;j++)
{
S[i]=mass[i-j][j];
}
Ну вобщем вот что-то такое я написал(для удобства массив и матрица динамические):
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 <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
   int **mass;
   int *S;
   int i,j,N;
void main(){
        srand(time(NULL));
        cout<<"\n\t"<<" Input dimansion N=";
        cin>>N;
        mass=new int*[N];
        S=new int[N];
        for (i=0;i<N;i++)
        mass[i]=new int[N];
 
        for (i=0;i<N;i++)
        {
                for (j=0;j<N;j++)
        mass[i][j]=rand()%9;
        }
        cout<<"\n\tIshodnyj massiv\n\n";
        for (i=0;i<N;i++)
        {
        printf("\t");
                for (j=0;j<N;j++)
 
        printf("%d ",mass[i][j]);
        printf("\n");
        }
        for(i=0;i<N;i++)
        {
                for(j=0;j<=i;j++)
                {
        S[i]=mass[i-j][j];
                }
        }
         for(i=0;i<N;i++)
        {
                for(j=0;j<N;j++)
                {
        if(i==j)
        {
        mass[i][j]=S[i];
        }
                }
        }
       for(i=0;i<N;i++)
        {
                for(j=0;j<N;j++)
                {
            printf("%d ",mass[i][j]);
                }
        }
         delete [] S;
         for (i=0; i<N; i++)
         delete [] mass[i];
         delete [] mass;
     getch();
}
Добавлено через 13 минут
Цитата Сообщение от jung Посмотреть сообщение
S[i]=mass[i-j][j];
Эту строку замени на
C++
1
S[i]+=mass[i-j][j];
Добавлено через 26 минут
Ошибся я однако. Кое чего не учел.

Добавлено через 42 минуты
Теперь должно работать.
У меня компилятор глючит так, что откомпилируй.
Вроде бы сейчас все учел.
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
70
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
        int M[9][9],S[9];
        int i,j,k;
void main()
{
        srand(time(NULL));
        for (i=0;i<9;i++)
        {
                for (j=0;j<9;j++)
                {
                M[i][j]=rand()%9;
                }
        }
        for (i=0;i<9;i++)
        {
        printf("\t");
                for (j=0;j<9;j++)
                {
                printf("%d ",M[i][j]);
                }
                printf("\n");
        }
        k=0;
        for(i=0;i<9;i++)
        {
                for(j=0;j<=i;j++)
                {
                if(i%2==0)
                {
        S[k]+=M[i-j][j];
        k++;
                }
                }
        }
        for(i=6;i>=2;i--)
        {
                for(j=i;j<9;j++)
                {
                if(i%2==0)
                {
        S[k]+=M[i+8-j][j];
        k++;
                }
                }
        }
        k=0;
        for(i=0;i<9;i++)
        {
                for(j=0;j<9;j++)
                {
                if(i==j&&i%2==0)
                {
        M[i][j]=S[k];
        k++;
                }
                }
        }
       for(i=0;i<9;i++)
        {
                for(j=0;j<9;j++)
                {
                printf("%d ",M[i][j]);
                }
        }
     getch();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.02.2010, 01:20
Привет! Вот еще темы с ответами:

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

Алгоритм вычисления суммы элементов на главной диагонали матрицы - C++
Дана задача вычислить сумму положительных элементов на главной диагонали матрицы. Сделал данную программу: #include &quot;stdafx.h&quot; #include...

Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а диагонали матрицы, расположенные ниже главной, по возрастанию - C++
дана матрица размерностью nxn, содержащая целые числа. Отсортировать диагонали матрицы,расположенные выше главной, по убыванию элементов, а...

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


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

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

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