|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.11.2009, 14:40 | #1 |
Регистрация: 06.10.2009
Сообщений: 9
|
Поменять нулевые эл-ты относит. глав.диаг.
Собственно нужно поменять элементы равные нулю на элементы, симметричные данным относительно главной диагонали.
Вот мой код: Код:
|
11.11.2009, 19:40 | #2 |
Пользователь
Регистрация: 18.11.2008
Сообщений: 94
|
Я бы реализовал замену так :
Код:
Последний раз редактировалось anGeee; 11.11.2009 в 21:08. |
11.11.2009, 21:00 | #3 |
Регистрация: 06.10.2009
Сообщений: 9
|
Все, всем спс, я решил задачу:
Код:
Код:
|
11.11.2009, 21:04 | #4 |
Пользователь
Регистрация: 18.11.2008
Сообщений: 94
|
Потому что я шел по элементам матрицы, которые выше главной диагонали.
Вот мне интересно, какой результат выдаст ваша программа, обработав матрицу 0 0 0 1 0 0 1 2 0 1 2 3 1 2 3 4 Почему-то мне кажется, что ничего не поменяется... |
11.11.2009, 21:47 | #5 |
Регистрация: 06.10.2009
Сообщений: 9
|
anGeee, так правильно, ничего и не должно поменяться!
Вот задание: Поменять местами элементы двумерного массива равные нулю на соответствующие элементы, расположенные симметрично относительно главной диагонали. У вас все нули и так симметричны..... |
11.11.2009, 21:50 | #6 |
Пользователь
Регистрация: 18.11.2008
Сообщений: 94
|
Ох ты ж блин, я имел в виду матрицу
1 0 0 0 1 2 0 0 1 2 3 0 1 2 3 4 Такую матрицу ваш алгоритм поменяет ? ПС Что-то со мной не то - думаю одно, а пишу другое ) |
11.11.2009, 22:00 | #7 |
Регистрация: 06.10.2009
Сообщений: 9
|
мде.... не поменял... а где ошибка? что то я вообще не понимаю... объясните пожалуйста
|
11.11.2009, 22:04 | #8 |
Пользователь
Регистрация: 18.11.2008
Сообщений: 94
|
Просто вы просматриваете все элементы матрицы, при этом меняя их.
То есть, например, у вас элемент (1,2) равен нулю, а элемент (2,1) равен, например, 5. Вот вы в первый раз встретили элемент (1,2), увидели там ноль и поменли его с элементом (2,1). Теперь (2,1) равен нулю. Однако, вскоре вы добираетесь до элемента (2,1) - он равен нулю.. И вы меняете его обратно.. Попробуйте мой вариант. Там я прохожу по элементам ниже главной диагонали, просматривая сразу два элемента (i,j) и (j,i) - если один из них нуль, то меняем их местами. |
11.11.2009, 23:09 | #9 |
Регистрация: 06.10.2009
Сообщений: 9
|
Спасиб огромное, работает!
Код:
Код:
Код:
anGeee, спасиб огромное! Последний раз редактировалось HIP-H0P; 11.11.2009 в 23:13. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Дана матрица 6х4, найти и выдать на экран строки содержащие нулевые элементы | >>arty<< | Помощь студентам | 19 | 04.07.2009 13:59 |
Удалять нулевые эл. массива | quartzz | Общие вопросы C/C++ | 6 | 28.05.2009 13:44 |
поменять местами | научите | Паскаль, Turbo Pascal, PascalABC.NET | 13 | 08.01.2009 13:43 |
ПОменять значения местами | qip2005 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 24.12.2008 23:38 |
Нулевые элементы в матрицах | ufoman | Помощь студентам | 5 | 26.04.2007 20:08 |