Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 24.11.2009, 12:33   #1 (permalink)
IIaJIbI4
Новичок
 
Регистрация: 24.11.2009
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
Post Поменять местами

Помогите пожалуйста.... Очень нужно
В матрице A (M,N) поменять местами элементы k-стороки и (k+1) - ой строки. k+1<=M.
IIaJIbI4 вне форума   Ответить с цитированием

Старый 24.11.2009, 12:33
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Найдены схожие обсуждения, рекомендую ознакомиться

Ошибка в элементарной программе, поменять местами буквы в строке
Поменять местами k-ю и n-ю строки матрицы
Поменять видеокарту
Как поменять Linux на Windows XP?

Старый 24.11.2009, 12:44   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от IIaJIbI4 Посмотреть сообщение
Помогите пожалуйста.... Очень нужно
В матрице A (M,N) поменять местами элементы k-стороки и (k+1) - ой строки. k+1<=M.
Ну так в чем проблема? Создаете дополнительный массив X(N), в него копируете k-тую строку, затем элементам k-той строки присваиваете значения элементов k+1-й строки, а элементам k+1-й - значения из массива X.
А программу пишите-ка самостоятельно. Потому что на чем еще учиться, как не на таких абсолютно элементарных задачках?
Vladimir_S вне форума   Ответить с цитированием
Старый 24.11.2009, 16:54   #3 (permalink)
Long Cat
Banned
 
Регистрация: 01.09.2009
Сообщений: 4,396
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 2544
По умолчанию

Можно обойтись одним циклом:
Код:
for i:=1 to k do
begin
   t:=a[i,k];
   a[i,k]:=a[i,k+1];
   a[i,k+1]:=t;
end
Long Cat вне форума   Ответить с цитированием
Старый 24.11.2009, 17:42   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Long Cat Посмотреть сообщение
Можно обойтись одним циклом:
Код:
for i:=1 to k do
begin
   t:=a[i,k];
   a[i,k]:=a[i,k+1];
   a[i,k+1]:=t;
end
Можно и так. Но с другой стороны, введение одномерного массива позволяет обойтись вообще без циклов:
Код:
TYPE
 AR=ARRAY[1..N] of INTEGER;
VAR
 X:AR;
 A:ARRAY[1..M] of AR;
...
 X:=A[k];
 A[k]:=A[k+1];
 A[k+1]:=X;
Но это ладно, программистские изыски. Хорошо бы товарищ хоть как-то решил задачку. Главное, чтобы самостоятельно.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 08:02.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.