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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 26.12.2011, 00:01   #1
dimka123
Пользователь
 
Регистрация: 25.12.2011
Сообщений: 96
По умолчанию не так как надо....

программа- сдвиг влево и вправо
const N = 10;
var a: array [1..N] of integer;
i:integer;
begin
for i:=1 to N do
a[i] := Random(100);
writeln('Элементы массива a: ');
for i:=1 to N do
write(a[i],' ');
writeln; writeln;
begin
for i:=1 to N-1 do
a[i] := a[i+1];
a[N] := 0;

writeln('После сдвига влево: ');
for i:=1 to N do
write(a[i],' ');
writeln; end;writeln;

for i:=N downto 2 do
a[i] := a[i-1];
a[1] := 0;
writeln('После сдвига вправо: ');
for i:=1 to N do
write(a[i],' ');
writeln;
end.

Элементы массива a:
84 43 17 78 50 46 26 78 11 49

После сдвига влево:
43 17 78 50 46 26 78 11 49 84

После сдвига вправо:
49 84 43 17 78 50 46 26 78 11
вот так должно получиться! а получается по другому совершенно

____
1) Тема закрыта за КРОССПОСТИНГ!
Кросспостинг (создание одинаковых тем) запрещён правилами форума.

2) исходный код на форуме принято по правилам оформлять тегами: тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)

Модератор.

Последний раз редактировалось Serge_Bliznykov; 26.12.2011 в 00:46.
dimka123 вне форума
Старый 26.12.2011, 00:22   #2
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
По умолчанию

Цитата:
Сообщение от dimka123 Посмотреть сообщение
for i:=1 to N-1 do
a[i] := a[i+1];
a[N] := 0;
может так:
Код:
temp = a[1]
for i:=1 to N-1 do
 a[i] := a[i+1];
 a[N] := temp;
Соответственно вместо
Цитата:
Сообщение от dimka123 Посмотреть сообщение
for i:=N downto 2 do
a[i] := a[i-1];
a[1] := 0;
Код:
temp = a[N]
for i:=N downto 2 do
 a[i] := a[i-1];
a[1] := temp;
Кроме того, если сдвиг вправо выполнять с тем же массивом после сдвига влево, логично ожидать, что он вернется в исходное состояние.

Хотя, вопрос уже решен в вашей второй теме...
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.

Последний раз редактировалось Lasur; 26.12.2011 в 00:36.
Lasur вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пвивет как зделат так чтобы так чтобы в edit...... vmilyoshin Помощь студентам 9 23.09.2011 02:48
Мне надо сделать так что бы на главной странице картинка была по центру и под ней находился текст Чайник = ) HTML и CSS 1 21.10.2010 18:39
Таймер обратного отсчета работает не так как надо.. нужно найти ошибку в коде... Человек_Борща Общие вопросы Delphi 10 13.04.2010 20:06
С#.NET. Маленькая проблемка - условие не работает так , как надо Ksy Общие вопросы .NET 11 24.12.2009 21:07
ПОмогите!!!!!!!!! так надо, так надо, ну оченьььььььььььь Chaplen89 Помощь студентам 0 27.10.2009 17:27