|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
28.01.2008, 01:00 | #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. Помогите понять что делает эта программа и где ошибка (как ее исправить). спасибо. очень срочно нужно. |
28.01.2008, 01:14 | #2 |
Участник клуба
Регистрация: 26.10.2007
Сообщений: 1,244
|
Код:
for i := 1 to 10 do a[i+1] := a[i]; a[i + 1] При i = 10 идёт обращение к 11 элементу... А размерность массива 10.
Умом Россию не понять, пока не выпито ноль пять,
А если выпито ноль пять всё делом кажется не хитрым, Попытка глубже понимать уже попахивает литром... |
28.01.2008, 01:14 | #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. |
|
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. |
|
28.01.2008, 01:22 | #5 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 15
|
Да, у меня такой же
результат получился. только не пойму зачем в массив сначала записывается число 1, а затем меняется на следующее? В чем смысл задачи и какая задача могла бы подойти под эту программу? А вообще, народ, спасибо. Сижу - туплю |
28.01.2008, 01:24 | #6 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
Скорее всего имелось ввиду var a: array[0..9]of integer;
Мы в любом случае перебираем все элементы массива!
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
28.01.2008, 01:26 | #7 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 15
|
|
28.01.2008, 01:28 | #8 | |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
Цитата:
И не напрягайся
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... |
|
28.01.2008, 01:31 | #9 |
Пользователь
Регистрация: 28.01.2008
Сообщений: 15
|
|
28.01.2008, 01:36 | #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 |