Помощь - Поиск - Пользователи - Календарь
Полная версия: транпонировать матрицу или упорядочить строки по неубыванию
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
lerenia
дана квадратная матрица порядка n(n=10). Если сумма всех положительных элемент во строк больше суммы всех отрицательных элементов то транспонируйте матрицу. Если же наоборот то упорядочьте элементы строк матрицы по неубыванию
1. Подскажите в паскале вообще есть функция транспонирования или как можно транспонировать?
2. как упорядочить строки? Писать промежуток как в excel?

как решать задачу? (с чего начать: объявила переменные, потом ввела массив а дальше? Сравнивать if сумма элементов?)
Федосеев Павел
Раз уж есть наработки, то приводи их. Хотя бы для того, чтобы согласовать названия переменных и типов.

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

Упорядочить элементы строк по неубыванию = отсортировать элементы каждой строки (массива) по неубыванию любым известным тебе способом. Смотри (или ищи) примеры по форуму, в FAQ на форуме, в Google по ключевому слову "сортировка". Сама как-нибудь отсортируй.

Эта задачка нацелена не на самое эффективное решение, а на обучение обращаться с элементами массива.
lerenia
а как сложить элемены строк? просто а1+а2+а3 и т.д?
Федосеев Павел
Да, почти. Например, для k-ой строки матрицы nxn сумма вычисляется.
  Sum:=0;
for i:=1 to n do
Sum:=Sum+a[k, i];

Я испытываю неловкость, пересказывая главу "массивы" из учебника по Паскалю - плагиат-с.
Позволю себе вольность дать ссылку на местный FAQ, а также на страничку нашего модератора Volvo. У Volvo как раз пример с определением типов матриц для удобства обмена строками (в твоём случае такую строку можно передавать в процедуру сортировки или нахождения суммы как массив).

Если будут ещё вопросы, не забывайте, что хочется видеть отправную точку топикстартера, т.е. его наработки.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.