IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Помогите с матрицами!
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 1
Пол: Мужской

Репутация: -  0  +


Здравствуйте, уважаемые Профи. Помогите пожалуйста решить такую задачку:
задана матрица 15*15. Необходимо:
1) Взять одну строку из этой матрицы и перемножить на остальные строчки;
2) Вычислить сумму каждой строки новой матрицы;
3) Сдвинуть строки исходной матрицы так, чтобы последний столбец стал 1-м, 1-й - вторым и т.д.;
4) Перемножить "сдвинутую" на ту же самую строчку исходной матрицы, что и в 1);
5) Повторить все операции до тех пор, пока сдвигаемая матрица не станет исходной (15 сдвигов);
6) Из сумм строк всех полученных матриц выбрать наибольшую по модулю.

Задавать и перемножать матрицы я научился, хотя препод объясняет из рук вон плохо, с циклами вроде тоже разобрался кое-как, не могу понять как осуществить сдвиг строк матрицы и как выбрать потом максимальное значение. Подскажите пожалуйста.

Заранее спасибо!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Ну во первых покажи что уже есть ... По поводу сдвига все просто :

Запоминаешь первый столбец, далее сдвигаешь

for i := 1 to n - 1 do begin
// i-й столбец = i+1 - й столбец
end;

// после цикла присваеваешь n-му столбцу значения первого, которые ты запомнил ...


Цитата
6) Из сумм строк всех полученных матриц выбрать наибольшую по модулю.


Пишешь ф-ю, которая считает сумму столбца, ну а далее все как обычно

Function Sum(m : TMatrix, col : integer) : integer;
begin
// ...
end;

col := 1;
max := abs(Sum(m , col));
for col := 2 to n do
if abs(sum(m, col)) > max then max := abs(sum(m, col));


В таком духе ...


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 28.06.2017 20:56
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"