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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2012, 09:51   #1
max_scotch
Пользователь
 
Регистрация: 11.05.2012
Сообщений: 11
Сообщение Алгоритм обработки матрицы

Помогите пожалуйста решить данную задачу

Даны натуральное число N, действительная квадратная матрица порядка N. Элементы матрицы умножить на 10, если наибольший элемент матрицы (в предположении, что такой элемент единственный) находится на главной диагонали, и на 0.5 в противном случае.
max_scotch вне форума Ответить с цитированием
Старый 15.05.2012, 10:16   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

во-первых, Вы не указали язык программирования.

во-вторых, что Вы не можете сделать?
алгоритм, например, такой:
Код:
элемент матрицы 1,1  считаем изначально максимальным.
   IndexRowMax := 1;
   IndexColMax := 1;

перебираем по I все строки матрицы
  перебираем по J все столбцы матрицы
       если текущий элемент больше элемента с индексами IndexRowMax и IndexColMax - 
             то берём индексы текущего элемента как индексы очередного максимального числа.


после окончания циклов мы имеем позицию (индексы) максимального элемента.
если IndexRowMax равено IndexColMax - то максимальный элемент лежит на главной диагонали, иначе - не лежит.

if IndexRowMax = IndexColMax then Koefficient := 10
else Koefficient := 0.5;


перебираем по I все строки матрицы
   перебираем по J все столбцы матрицы
     ЭлементМатрицы[ I,J ] := ЭлементМатрицы[ I,J ] * Koefficient;


Готово!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.05.2012, 10:26   #3
max_scotch
Пользователь
 
Регистрация: 11.05.2012
Сообщений: 11
По умолчанию

Цитата:
Сообщение от max_scotch Посмотреть сообщение
Помогите пожалуйста решить данную задачу

Даны натуральное число N, действительная квадратная матрица порядка N. Элементы матрицы умножить на 10, если наибольший элемент матрицы (в предположении, что такой элемент единственный) находится на главной диагонали, и на 0.5 в противном случае.

прошу прощения... Паскаль
max_scotch вне форума Ответить с цитированием
Старый 15.05.2012, 10:32   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от max_scotch Посмотреть сообщение
прошу прощения... Паскаль
вкрапления кода в моём алгоритме как раз на языке Паскаль.

допишите к имеющемуся кусочку объявление переменных, ввод массива, вывод результата. замените псевдокод на реальный код (циклы, например).
и программа готова.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
алгоритм с заплнением квадратной матрицы SuperHanz Паскаль, Turbo Pascal, PascalABC.NET 1 19.10.2011 20:13
Алгоритм для составления матрицы seryzabello Microsoft Office Excel 2 13.06.2011 22:41
Java, алгоритм суммирования диагоналей матрицы MMM_Corp Фриланс 3 25.03.2010 18:38
Программа обработки матрицы Tony Montano Паскаль, Turbo Pascal, PascalABC.NET 0 19.05.2009 13:17
Алгоритм заполнения квадратной матрицы по спирали beregok Помощь студентам 3 15.01.2009 16:56