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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.06.2009, 16:53   #1
bagfinder
Пользователь
 
Регистрация: 04.02.2009
Сообщений: 38
По умолчанию Перестановка столбцов

Есть матрица, задаваемая пользователем.
Нужно переставить первый столбец со столбцом, содержащим наибольший элемент матрицы.

Функцию с определением максимального столбца я сделал так:

Код:
Function NomMax(kStr,kStb:Tind; Const M:Tmatr):Tind;
Var i,j,nmax:Tind; max:Integer;
Begin
     max:=M[1,1]; nmax:=1;
     For j:=1 To kStb
     Do For i:=1 To kStr
        Do If M[i,j]>max
           Then Begin max:=M[i,j];
                      nmax:=j
                End;
     NomMax:=nmax
End;
И еще у меня есть функция самой перестановки. (Но дело в том, что писалась она под другое условие - под перестановку минимального с максимальным столбцом. А тут не нужно определять минимальный):

Код:
Procedure ObmenStr(kStr,kStb:Tind; Var M:Tmatr);
Var stbM:Integer; i,nmin,nmax:Tind;
Begin
     nmin:=NomMin(kStr,kStb,M);
     nmax:=NomMax(kStr,kStb,M);

     If nmin<>nmax
     Then Begin
                For i:=1 to kStr
                Do Begin
                        stbM := M[i,nmax];
                        M[i,nmax] := M[i,nmin];
                        M[i,nmin] := stbM;


                   End;
          End;

End; { ObmenStr }
Так вот. Как подстроить процедуру перестановки на перестановку первого и максимального столбца nmax ? Спасибо.
bagfinder вне форума Ответить с цитированием
Старый 25.06.2009, 19:28   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

достаточно заменить строчку:
Код:
nmin:=NomMin(kStr,kStb,M);
на строчку:
Код:
nmin:=1;
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан двухмерный массив из 20 столбцов. Вставить в него столбец из чисел 10 после всех четных столбцов. Дмитрий142 Помощь студентам 9 07.06.2012 19:32
Двумерный массив, перестановка столбцов с max и min элементами (pascal) Mirk Помощь студентам 2 25.05.2009 20:33
Перестановка столбцов матрицы и строки. MaGWaY_minsk Помощь студентам 3 06.02.2009 00:55
Перестановка битов. RegentM Общие вопросы Delphi 3 05.11.2007 17:23
Перестановка Roman Помощь студентам 3 29.04.2007 05:37