Помощь - Поиск - Пользователи - Календарь
Полная версия: Поменять местами строки матрицы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Sunder
В FAQ'e нашел способ задания матрицы, чтобы быстро поменять строки матрицы.
Массивы. Матрицы. Типичные задачи.

Но, у меня почему-то не получается поменять две строки местами, в которых есть чсла k1 и k2.
Я перепечатал всю эту задачу из FAQ'a. Делаю процедуру ввода этих двух чисел. А дальше не могу найти строки, в которых они содержатся. Подскажите пожалуйста, как это сделать?

И еще, из этой же задачи. В примере количество строк и столбцов равно 10. Все числа в матрицы получаются нормальными. Но если я менюя количество строк на 4, то первая строка с пятизначными числами получается и строки не меняются. Почему?

mega_chok.gif
volvo
Цитата
не могу найти строки, в которых они содержатся

var
a: tmatrix;
ix_k1, ix_k2: integer;
...
ix_k1 := 0; ix_k2 := 0;

for i := 1 to size_row do
for j := 1 to size_col do
if a[i][j] = k1 then ix_k1 := i
else if a[i][j] = k2 then ix_k2 := i;
...

После этого в ix_k1 будет храниться номер строки, в которой содержится последнее вхождение K1 в матрицу, а в ix_k2 - то же самое для K2... Если какой-то из элементов в матрице отсутствует, то в его индексе будет 0...

Цитата
Но если я менюя количество строк на 4, то первая строка с пятизначными числами получается и строки не меняются. Почему?
Приведи код...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.