|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.12.2008, 08:24 | #1 |
Регистрация: 15.11.2008
Сообщений: 9
|
Проблема с симметричной матрицой
Проблема в следующей задаче:
Квадратная матрица, симметричная относительно главной диагонали, задана верхним треугольником в виде одномерного массива. Восстановить исходную матрицу и напечатать ее по строкам. Вот то что я уже сделал: Код:
Если я правильно понял смысл задачи то нужно сформировать одномерный массив и его элементы перенести в матрицу так, чтобы они были симметричны относительно главной оси. Но как это сделать? Подскажите пожалуйста!
Есть такие люди которые пока не наступит критический момент - ничего делать не будут. Но когда он наступает трудоголизм просыпаться слишком сильно.
|
20.12.2008, 09:15 | #2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
Надо заполнить и вторую половину матрицы.
какие индексы будут у элемента симметричного относительно диагонали если исходный элемент имеет индексы r (строка) и c (столбец).
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 20.12.2008 в 09:17. |
20.12.2008, 10:47 | #3 |
Регистрация: 15.11.2008
Сообщений: 9
|
Мне понятно что нужно заполнить и вторую половину.
Я могу запонить матрицу полностью но тогда она будет выглядеть к примеру так: 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 А мне надо вот так: 1 2 3 4 5 2 2 3 4 5 3 3 1 4 5 4 4 4 1 5 5 5 5 5 1 А вот что получаеться: 0 1 2 3 4 0 0 1 2 3 0 0 0 1 2 0 0 0 0 1 0 0 0 0 0 Действие типа A[i,j]:=A[j,i] не помогает
Есть такие люди которые пока не наступит критический момент - ничего делать не будут. Но когда он наступает трудоголизм просыпаться слишком сильно.
Последний раз редактировалось AlexLAN; 20.12.2008 в 12:35. |
20.12.2008, 17:22 | #4 |
Пользователь
Регистрация: 22.01.2008
Сообщений: 78
|
получается симметрично, почти как ты хотел.. но не совсем
Код:
|
20.12.2008, 17:24 | #5 | |
Пользователь
Регистрация: 22.01.2008
Сообщений: 78
|
Цитата:
|
|
20.12.2008, 20:20 | #6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
for j:=1 to n //проход по верхней
for i:=j+1 to n //треугольной части без главной диагонали a[i,j]:=a[j,i]; for i:=j to n //а это если нужно включить и главную диагональ
программа — запись алгоритма на языке понятном транслятору
|
20.12.2008, 20:24 | #7 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,526
|
k:=1;
for i:=1 to N for j:=i to N begin a[i,j]:=b[k]; k:=k+1; end; //формирование верхнетреугольной матрицы из одномерного массива for i:=1 to N for j:=i+1 to N a[j,i]:=a[i,j]; // заполнение нижнего треугольника
программа — запись алгоритма на языке понятном транслятору
|
21.12.2008, 06:30 | #8 |
Регистрация: 15.11.2008
Сообщений: 9
|
Это я случайно не правильно набрал
Спасибо что откликнулись! Я вам очень благодарен!
Есть такие люди которые пока не наступит критический момент - ничего делать не будут. Но когда он наступает трудоголизм просыпаться слишком сильно.
|
12.04.2011, 22:03 | #9 |
Новичок
Джуниор
Регистрация: 12.04.2011
Сообщений: 1
|
Помогите, пожалуйста.
Пишу программу для определения, симметрична ли матрица относительно главное диагонали? ввод матрицы должен быть произведен с текстового файла на компьютере. Вроде написала, но похоже накосячила Program my_tt const n=5; type matrix=array[1..n,1..n] of integer; Var x:matrix; i.j:integer; s:boolean; f1:text; Begin Assign (f1,' :\matrix.txt'); reset(f1); Writeln('Enter matrix 'n:2); for i to n do begin for j to n do read( :\ \matrix.txt',x[i,j]); readln; end; s:=true; for i:=1 to n do begin For j:=1 to n do begin if x[i,j]<>x[j,i] then s:=false end; end; if s then write('yes') else write('no'); readln; close(f1); end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
turbo C работа с матрицой | ddos | Помощь студентам | 9 | 01.06.2008 22:37 |
Проблема. | kupulau | Общие вопросы C/C++ | 19 | 05.02.2008 21:11 |
проблемы с матрицой!!! | kommunist | Помощь студентам | 4 | 19.10.2007 09:07 |