Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 03.06.2011, 10:56   #1 (permalink)
Абай
Member
 
Регистрация: 03.06.2011
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Паскаль, массив

Дан массив размера N и целое число K (1 · K < N). Осуществить
сдвиг элементов массива влево на K позиций (при этом A1 перейдет
в AK+1, A2 — в AK+2, : : :, AN¡K — в AN, а исходное значение K последних
элементов будет потеряно). Первые K элементов полученного массива
положить равными 0.
Абай вне форума   Ответить с цитированием

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

Данные которые содержаться по этим ссылкам помогут вам разобраться

Паскаль. Матрица. Массив
Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Массив, Паскаль
Массив, Паскаль
Массив в VBA

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

Цитата:
Сообщение от Абай Посмотреть сообщение
Дан массив размера N и целое число K (1 · K < N). Осуществить
сдвиг элементов массива влево на K позиций (при этом A1 перейдет
в AK+1, A2 — в AK+2, : : :, AN¡K — в AN, а исходное значение K последних
элементов будет потеряно). Первые K элементов полученного массива
положить равными 0.
И тут условие напутано - ну почему влево, когда вправо?
Код:
Const
 N=20;
VAR
 A:Array[1..N] of Byte;
 i,K:Byte;
BEGIN
 For i:=1 to N do
  begin
   A[i]:=i;
   Write(A[i]:3);
  end;
 Writeln;
 Write('K (<',N,')= ');
 Readln(K);
 For i:=N-K downto 1 do
  A[i+K]:=A[i];
 For i:=1 to K do
  A[i]:=0;
 For i:=1 to N do
  Write(A[i]:3);
 Readln
END.
Здесь для наглядности элементам исходного массива присвоены значения, равные их номерам.
Vladimir_S вне форума   Ответить с цитированием
Старый 05.06.2011, 13:57   #3 (permalink)
Абай
Member
 
Регистрация: 03.06.2011
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Дан массив размера N и целое число K (1 · K < N). Осуществить сдвиг элементов массива влево на K позиций (при этом A[N] перейдет в A[N-K], A[N-1] — в A[N-K-1], : : :, A[K+1] — в A[1], а исходное значение K первых элементов будет потеряно). Последние K элементов полученного массива положить равными 0.

Простите пожалуйста за мои ошибке, но вы не могли бы вот подобную задачку решить.
Абай вне форума   Ответить с цитированием
Старый 05.06.2011, 18:16   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Абай Посмотреть сообщение
Простите пожалуйста за мои ошибке, но вы не могли бы вот подобную задачку решить.
М-да... "Подобную" я вообще-то уже решал, см. выше. Сказали бы уж прямо, что именно эту. Ну ладно.
Код:
Const
 N=20;
VAR
 A:Array[1..N] of Byte;
 i,K:Byte;
BEGIN
 For i:=1 to N do
  begin
   A[i]:=i;
   Write(A[i]:3);
  end;
 Writeln;
 Write('K (<',N,')= ');
 Readln(K);
 For i:=1 to N-K do
  A[i]:=A[K+i];
 For i:=N downto N-K+1 do
  A[i]:=0;
 For i:=1 to N do
  Write(A[i]:3);
 Readln
END.
Vladimir_S вне форума   Ответить с цитированием
Старый 05.06.2011, 23:44   #5 (permalink)
Абай
Member
 
Регистрация: 03.06.2011
Сообщений: 19
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

спасибо!
Абай вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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