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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2011, 13:24   #1
brz
 
Регистрация: 24.11.2011
Сообщений: 4
По умолчанию Массив 7х7

В массиве 7х7 целого типа в каждом столбце расставить в обратном порядке элементы расположенные между max u min
brz вне форума Ответить с цитированием
Старый 26.11.2011, 09:20   #2
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Ну так в чем проблема то?

Находите максимальный и минимальный элементы, потом от i := index_min до (index_max / 2) меняете местами элементы i и index_max - i.
Ну еще предусмотреть, что количество элементов может быть нечетным, тогда index_max / 2 нужно округлить в меньшую сторону.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Старый 26.11.2011, 13:33   #3
Juffin
Форумчянин
Форумчанин
 
Аватар для Juffin
 
Регистрация: 05.04.2009
Сообщений: 446
По умолчанию

Цитата:
Ну еще предусмотреть, что количество элементов может быть нечетным, тогда index_max / 2 нужно округлить в меньшую сторону.
Если index_max - целочисленная переменная, то она всегда будет округляться в меньшую сторону.
Nobody expects Spanish Inquisition!
Juffin вне форума Ответить с цитированием
Старый 26.11.2011, 15:31   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Juffin Посмотреть сообщение
Если index_max - целочисленная переменная, то она всегда будет округляться в меньшую сторону.
Ребят, это же Паскаль. В нём есть операция целочисленного деления: DIV
поэтому, хоть чётное Index_max, хоть нечётное,
Index_max div 2 - всегда даст целое число (и в случае нечётного Index_max это число будет меньше (Index_max/2)

только цикл нужно "крутить до до Index_max/2", а до половины смещения между index_min и index_max
и ещё плюс учесть, что минимальный может быть расположен ПРАВЕЕ максимального (т.е. index_min > index_max )

т.е. я бы предложил примерно такое решение:

Код:
for j:=1 to 7 do begin
  Index_Min := 1;
  Index_Max := 1;
  {найдём индексы минимального и максимального элементов}
  for i:=1 to 7 do begin
    if A[i,j]>A[Index_Max, j] then Index_Max := i;
    if A[i,j]<A[Index_Min, j] then Index_Min := i;
  end;
  {если возможно, то переставим элементы в J-м столбце 
         между минимальными максимальным элементами в обратном порядке}
  n := abs(Index_Max - Index_Min) - 1; {сколько элементов между минимальным и максимальными элементами}
  if n>1 then begin
     if Index_Min<Index_Max then 
        for i:= 1 to (n div 2) do begin
           temp1 := A[i_Index_Min,j];
           A[i,j] := A[Index_Max-i,j];
           A[Index_Max-i,j] := temp1;           
        end
     else
        for i:= 1 to (n div 2) do begin
           temp1 := A[i_Index_Max,j];
           A[i,j] := A[Index_Min-i,j];
           A[Index_Min-i,j] := temp1;           
        end;          
  end;
end;
p.s. а что это Вы трёхдневную тему подняли?

Последний раз редактировалось Serge_Bliznykov; 26.11.2011 в 15:57.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.11.2011, 21:51   #5
brz
 
Регистрация: 24.11.2011
Сообщений: 4
По умолчанию

Спасибо большое ребята!очень вам благодарен))
brz вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнить двумерный массив, размерностью 7х7, случайными не повторяющимися числами. Татьана Паскаль, Turbo Pascal, PascalABC.NET 3 20.10.2011 14:37
С# задан массив 5х5. сформировать массивы А и В. в массив А поместить элементы с четными индексами, в массив В с нечетны Koksa Помощь студентам 0 10.10.2011 11:26
Запись координат в массив в реал тайм, Как записать координаты в массив Dark19 Visual C++ 2 21.06.2011 18:45
Массив 7х7 целого типа в каждом столбце поменять max элемент и элемент побочной диагонали Sheport Паскаль, Turbo Pascal, PascalABC.NET 1 20.06.2011 23:30
Из массив А получить массив В, удвоив все нечётные элементы удвоены ( на Pascal) KARTER Помощь студентам 1 18.06.2011 19:58