Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2011, 20:43   #1
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию Квадратная матрица

Дана квадратная n на n. И надо чтоб каждый отрицательный элемент стал модулем . Как это сделать? Подскажите пожалуйсто
Зарание спасибо
SVing вне форума Ответить с цитированием
Старый 07.12.2011, 22:13   #2
llatpoh
Пользователь
 
Регистрация: 22.10.2011
Сообщений: 12
По умолчанию

пробигаешь массив если число меньше 0 присваешь его как abs(этот элемент)
llatpoh вне форума Ответить с цитированием
Старый 07.12.2011, 22:39   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Код:
for i:=1 to n do
  for j:=1 to n do
    if a[i,j]<0 then a[i,j]:= abs( a[i,j]);
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.12.2011, 11:32   #4
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию

спасибо,попробую,а какой элемент выводить нужно?
SVing вне форума Ответить с цитированием
Старый 08.12.2011, 11:56   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
спасибо,попробую,а какой элемент выводить нужно?
судя по всему - вывести нужно полученную матрицу целиком..
Serge_Bliznykov вне форума Ответить с цитированием
Старый 08.12.2011, 18:48   #6
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

По моему там можно без условия обойтись
Код:
for i;= 1 to n do
    for j:= 1 to n do 
         j[i,j]:=abs(j[i,j])
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 12.12.2011, 16:34   #7
SVing
Ээээ
Пользователь
 
Аватар для SVing
 
Регистрация: 13.09.2011
Сообщений: 99
По умолчанию

так он вроде любой элемент будет модулем ставить
SVing вне форума Ответить с цитированием
Старый 13.12.2011, 00:58   #8
TinMan
Форумчанин
 
Аватар для TinMan
 
Регистрация: 05.09.2011
Сообщений: 869
По умолчанию

Цитата:
Сообщение от SVing Посмотреть сообщение
так он вроде любой элемент будет модулем ставить
Да, это верно, но модуль положительного равен самому числу. Оно перезапишется, но по величине останется тем же все равно. так что результат не изменится.

Как лучше сделать (если подходить с реальной точки зрения, как если бы это была промышленная прога), зависит от того, какие матрицы обычно бывают. Если в них много отрицательных элементов, то лучше так, как сказал NewMan (экономим на проверке). А если примерно поровну или отрицательных меньше половины, то лучше как Серж сделал (не делаем взятие модуля для положительных, а проверка довольно быстрая).
Предпочитаю на "ты".
TinMan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
квадратная матрица Екатерина Воробей Паскаль, Turbo Pascal, PascalABC.NET 24 21.10.2011 13:48
Квадратная матрица D|Frost| Общие вопросы C/C++ 4 05.07.2011 16:39
матрица квадратная Максикок Помощь студентам 0 03.04.2011 22:21
Квадратная матрица anna_ Помощь студентам 8 15.12.2009 21:16