![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 15
|
![]()
var a: array[1..10]of integer;
i: integer; begin for i :=1 to 10 do a[i]:=i; for i :=1 to 10 do a[i+1]:=a[i]; end. Помогите понять что делает эта программа и где ошибка (как ее исправить). спасибо. очень срочно нужно. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
![]() Код:
for i := 1 to 10 do a[i+1] := a[i]; a[i + 1] При i = 10 идёт обращение к 11 элементу... А размерность массива 10.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
![]() |
![]() |
![]() |
#3 | |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]()
Прога создает целочисленный масив на 10 элементов.
строка for i :=1 to 10 do a[i]:=i; заполняет масив числами от 1 до 10 по порядку! Строка for i :=1 to 10 do a[i+1]:=a[i]; - должна заполнять эт же масив теми же числами, но со сдвигом на один элемент масива (собственно тут и ошибка) т.к. при i=10 у тя a[i+1] получится 11 - а такого элемента нет! Полный (и верный текст) выглядит так: Код:
Цитата:
Правильный: // релультат 1 2 3 4 5 6 7 8 9
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() Последний раз редактировалось Yurk@; 28.01.2008 в 01:20. |
|
![]() |
![]() |
![]() |
#4 | |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
![]() Цитата:
А какое условие задачи? АДД: // Результат 1 1 1 1 1 1 1 1 1 1 - и всёже верный результат работы самого первого кода в теме... ))
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... Последний раз редактировалось Карась; 28.01.2008 в 01:23. |
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 15
|
![]()
Да, у меня такой же
результат получился. только не пойму зачем в массив сначала записывается число 1, а затем меняется на следующее? В чем смысл задачи и какая задача могла бы подойти под эту программу? А вообще, народ, спасибо. Сижу - туплю |
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]()
Скорее всего имелось ввиду var a: array[0..9]of integer;
Мы в любом случае перебираем все элементы массива!
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 15
|
![]() |
![]() |
![]() |
![]() |
#8 | |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]() Цитата:
И не напрягайся ![]()
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() |
|
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 15
|
![]() |
![]() |
![]() |
![]() |
#10 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]()
Может быть:
Заполнить элементы масива целыми числами! Полученный масив данных сдвинуть на один шаг вправо! (возможно вместо a[i+1]:=a[i]; имелось ввиду a[i+1]:=i;?? Иначе прога теряет ввесь смысл ![]() Тогда решение (на мой взгляд) будет таким: Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() Последний раз редактировалось Yurk@; 28.01.2008 в 01:57. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа которая делает кроссворд | Иллидан | Софт | 15 | 02.12.2014 06:34 |
по правой стороне поля, при печати, делает полосу | Виктор1966 | Свободное общение | 1 | 11.03.2008 13:08 |
Народ расскажите кто нужен для создания игры и кто что делает | Kosoy135 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 16.09.2007 18:59 |
ошибка 48 - программа больше 62520 байт. Что делать? | Pancher | Паскаль, Turbo Pascal, PascalABC.NET | 22 | 02.08.2007 01:11 |