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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 18, средняя оценка - 4.78
D1K
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 36
#1

Симметричная матрица - C++

28.11.2011, 02:18. Просмотров 2304. Ответов 10
Метки нет (Все метки)

Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали.
Тоесть должна вийти матрица вида:
1 3 0
3 2 6
0 6 5

Помогите, пожалуйста....
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2011, 02:18     Симметричная матрица
Посмотрите здесь:

Симметричная квадратная матрица - C++
"Симметричная квадратная матрица А порядка n задана последовательностью n(n+1)/2 чисел, аналогично правой треугольной матрице. Кроме этой...

Квадратная матрица и симметричная её часть - C++
Помогите решить задачу, пожалуйста: Написать функцию,которая вычисляет для заданной квадратной матрицы А симметричную её часть S(ij) =...

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

реализация класса "симметричная матрица целых чисел"... - C++
Условие вообще такое: Определите пользовательский тип “симметричная матрица целых чисел” для обработки квадратных матриц, в которых A...

Геометрия. Симметричная точка - C++
Доброго времени суток!:) Задача : Дана прямая, проходящая через две различные точки (x1,y1) и (x2,y2). Найдите точку, симметричную...

Симметричная разность массивов - C++
Даны два массива: массив А из n элементов и массив В из m элементов. Сформируйте массив С, состоящий из элементов массива А и В, которые...

Симметричная строка через указатели - C++
Здравствуйте. Застопорился на абсолютно элементарной задачке: Дан текст из 80 букв. Определить, симметричен ли он, т.е. читается...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.11.2011, 06:29     Симметричная матрица #2
C++
1
2
3
4
5
6
for(int i=0; i<n; i++)
{
    for(int j=0; j<n; j++)
        cout<<a[j][i]<<" ";
    cout<<endl;
}
D1K
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 36
28.11.2011, 10:12  [ТС]     Симметричная матрица #3
Как вивести матрицу я знаю... мне нужно сделать проход по елементам и замену их что б была симетричная матрица!
Nameless One
Эксперт С++
5769 / 3418 / 255
Регистрация: 08.02.2010
Сообщений: 7,444
28.11.2011, 10:26     Симметричная матрица #4
D1K, подсказка: тебе нужно, чтобы выполнялось условие: a[i][j] == a[j][i], где a - это твоя матрица
D1K
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 36
01.12.2011, 00:53  [ТС]     Симметричная матрица #5
Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали.
Вот код:
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
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
randomize();
clrscr();
const int n=9;
const int strok=n;
const int stolb=n;
int a[n][n];
  printf("Matrix:\n");
  for(int i=0; i<strok;i++)
  {
    for(int j=0; j<stolb;j++)
    {
    a[i][j]=random(100);
    if(i==j)  a[i][j]=0;
    else a[i][j]=a[j][i];
   printf("%3d  ",a[i][j]);
    }
 putchar('\n');
    }
  getch();
 
}
Значения на главной диагонали равны 0, другие елементи семетрични но принимают значения очень большие и маленькие, а мне нужно с диапазона 0-99... В чем ошибка?
Помогите, пожалуйста....
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
01.12.2011, 01:05     Симметричная матрица #6
Цитата Сообщение от D1K Посмотреть сообщение
randomize();
clrscr();
забудь про это

пример генерации матрицы
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdlib>
#include <ctime>
 
#define n 5
 
int main()
{
   srand(static_cast<unsigned int>(time(NULL)));
   
   int m[n][n];
   
   for (unsigned short int i = 0; i < n; ++i)
   {
      for (unsigned short int j = 0; j < n; ++j)
         std::cout << (m[i][j] = rand() % 200 - 100) << " ";
      std::cout << std::endl;
   }
   
   return 0;
}
D1K
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 36
01.12.2011, 01:24  [ТС]     Симметричная матрица #7
а что код делает? просто генерирует матрици со случайним значениями, ето я знаю как делать... а мне нужно симетрическую матрицу вивести...
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
01.12.2011, 01:27     Симметричная матрица #8
Цитата Сообщение от D1K Посмотреть сообщение
Заполнить матрицу случайными числами. Отобразить матрицу симметрично относительно главной диагонали.
если это задание, которое дал преподаватель, то не надо генерировать симметричную матрицу

а если все таки надо сгенерировать, то вот
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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
#define n 5
 
int main()
{
   srand(static_cast<unsigned int>(time(NULL)));
   
   int m[n][n];
   
   for (unsigned short int i = 0; i < n; ++i)
      for (unsigned short int j = i; j < n; ++j)
         m[i][j] = m[j][i] = rand() % 200 - 100;
 
   
   for (unsigned short int i = 0; i < n; ++i)
   {
      for (unsigned short int j = 0; j < n; ++j)
         std::cout << m[i][j] << " ";
      std::cout << std::endl;
   }
   
   return 0;
}
D1K
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 36
01.12.2011, 01:29  [ТС]     Симметричная матрица #9
Цитата Сообщение от sandye51 Посмотреть сообщение
если это задание, которое дал преподаватель, то не надо генерировать симметричную матрицу
а что надо сделать?
sandye51
программист С++
681 / 583 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
01.12.2011, 01:31     Симметричная матрица #10
D1K, сгенерировать обычную квадратную матрицу и транспонировать ее, т.е. поменять местами элементы Aij и Aji
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.12.2011, 01:33     Симметричная матрица
Еще ссылки по теме:

Неверно выводится симметричная строка - C++
Проблема с выводом данной программы, надо что бы программа выводила в двоичном коде там где начало кода симметрично концу 1 101 111 1001 и...

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

Симметричная матрица - Pascal ABC
Написать программу, которая проверяет, является ли квадратная матрица симметричной относительно главной диагонали. Входные данные В...

Симметричная ли матрица? - Turbo Pascal
Здравствуйте, есть задача, есть решение(с недочетами). Задача: Проверьте, является ли двумерный массив симметричным относительно главной...

Симметричная матрица - Pascal
Написать программу, которая формирует новый линейный массив минимально необходимой длины, элементами которого являются элементы...


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

Или воспользуйтесь поиском по форуму:
D1K
1 / 1 / 0
Регистрация: 26.04.2011
Сообщений: 36
01.12.2011, 01:33  [ТС]     Симметричная матрица #11
Цитата Сообщение от sandye51 Посмотреть сообщение
D1K, сгенерировать обычную квадратную матрицу и транспонировать ее, т.е. поменять местами элементы Aij и Aji
ясно! большое спасибо! ето я знаю как сделать!
Yandex
Объявления
01.12.2011, 01:33     Симметричная матрица
Ответ Создать тему
Опции темы

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