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

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

Войти
Регистрация
Восстановить пароль
 
paRadoX-2
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 18
#1

Матрицы - C++

29.05.2011, 16:07. Просмотров 265. Ответов 6
Метки нет (Все метки)

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

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
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
int lol(int m[6][6])
{int i,j,cn=0,cp=0,s=0;
for(j=1;j<=6;++j)for(i=0;i<=j-1;++i)cn+=m[i][j];
for(i=1;i<=6;++i)for(j=0;j<=i-1;++j)cp+=m[i][j];
for(i=0;i<6;++i)for(j=0;j<6;++j)if(m[i][j]!=m[j][i])s=1;
if(s==0)printf("OTPA}|{EHA"); else printf("HE OTPA}|{EHA");
printf("\n%i\n%i",cn,cp);
return 0;
}
int main()
{
int a[6][6]={{1,4,1,4,2,9},
             {4,1,7,5,6,1}, 
             {1,7,1,1,2,5}, 
             {4,5,1,1,2,4},
             {2,6,2,2,1,6},
             {9,1,5,4,6,1}};
 
int b[6][6]={{5,9,9,9,9,9}, 
             {4,5,9,9,9,9}, 
             {8,7,1,1,9,9}, 
             {1,5,8,1,9,9},
             {2,6,7,2,2,9},
             {1,6,5,5,6,1}}; 
lol(a); 
printf("\n\n");
lol(b);           
getch();
}

Хотя отражена матрица или нет прога определяет правильно во всех случаях, но вот суммы элементов выше главной диагонали и ниже нее для матрицы А считает плохо (много цифр всяких)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 16:07
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Матрицы (C++):

Матрицы. Найти и распечатать сумму элементов 5-го столбца матрицы А и сумму элементов последней строки матрицы В - C++
Даны две матрицы А(mxn)и В(m1xn1).программа находит и распечатывает сумму элементов 5-го столбца матрицы А и сумму элементов последней...

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

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

Алгоритм обработки матрицы: Нахождение максимального элемента матрицы и его номера. - C++
Алгоритм обработки матрицы: Нахождение максимального элемента матрицы и его номера.

Сформировать одномерный массив из диагональных элементов матрицы. Найти след матрицы - C++
Для заданной квадратной матрицы сформировать одномерный массив из ее диагональных элементов. Найти след матрицы, суммируя элементы...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
29.05.2011, 16:18 #2
C
1
2
3
4
...
if(i<j) cn=cn+m[i][j];
if(i>j) cp=cp+m[i][j];
...
0
paRadoX-2
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 18
29.05.2011, 16:19  [ТС] #3
Кстати, если матрицу А скопировать и сделать из неё третью матрицу ЦЕ, то для матрицы ЦЕ функция будет работать правильно.
Почему так?
Матрица А больна раком?
0
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
29.05.2011, 16:20 #4
Вообще-то суммы выше,ниже гл.диагонали опред. так.
0
paRadoX-2
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 18
29.05.2011, 16:22  [ТС] #5
Цитата Сообщение от Just_dake Посмотреть сообщение
Вообще-то суммы выше,ниже гл.диагонали опред. так.
так не работает у меня
0
Just_dake
1 / 1 / 1
Регистрация: 21.03.2011
Сообщений: 78
29.05.2011, 16:30 #6
Странно, показываю на примере:
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
#include <conio.h>
#include <stdio.h>
#include<stdlib.h>
main ()
{
int a[5][5];
int i,j,k=0,s=0;
clrscr();
randomize();
for (i=0; i<5; i++)
{for (j=0; j<5; j++)
{ a[i][j]=random(20);
 printf(" %2i",a[i][j]);
 }
printf("\n\n");
}
for (i=0; i<5; i++)
 for (j=0; j<5; j++)
if (i<j) s+=a[i][j];
for (i=0; i<5; i++)
 for (j=0; j<5; j++)
if (i>j) k+=a[i][j];
printf("\ns=%i k=%i",s,k);
getch();
}
0
paRadoX-2
0 / 0 / 0
Регистрация: 24.10.2010
Сообщений: 18
29.05.2011, 16:32  [ТС] #7
Мой вопрос был про то что не считает именно для матрицы А. Для других матриц всё работвет верно.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 16:32
Привет! Вот еще темы с ответами:

Найти количество элементов матрицы, которые совпадают с элементами другой матрицы - C++
Помогите найти количество элементов 2 мерного массива, которые совпадают с элементами другого аналогичного массива. Массив 5х3.

Преобразование матрицы (удалить из матрицы столбец с наибольшей по модулю суммой элементов) - C++
Всем привет, есть программа для ввода матрицы и вывода на экран. Нужно удалить из матрицы столбец с наибольшей по модулю суммой элементов. ...

Для матрицы найти такие k, что k-я строка матрицы совпадает с k-м столбцом - C++
Помогите решить задачку Для заданной матрицы размером 8 на 8 найти такие k, что k-я строка матрицы совпадает с k-м столбцом. Найти...

Зеркально отразить элементы матрицы относительно горизонтальной оси симметрии матрицы - C++
Здравствуйте! Помогите написать 3 программмы на C++ на задачи с двумерными массивами 3. Дана матрица размера M x N. Зеркально...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.05.2011, 16:32
Ответ Создать тему
Опции темы

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