|
LR16 0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
||||
|
1 |
||||
Ошибка времени выполнения: Индекс находится вне границ массива28.03.2015, 21:34. Показов 22151. Ответов 16 Метки нет (Все метки)
Здравствуйте!
__________________
0 |
|
1646 / 1075 / 1081 Регистрация: 03.07.2013 Сообщений: 4,507 |
|
|
28.03.2015, 22:45 |
2 |
|
Проинициализируйте переменную «n» перед первым использованием.
1 |
|
0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
|
|
28.03.2015, 22:50 [ТС] |
3 |
|
Это как проинициализировать ??
0 |
|
APALoff 1646 / 1075 / 1081 Регистрация: 03.07.2013 Сообщений: 4,507 |
||||
|
28.03.2015, 23:00 |
4 |
|||
|
писал перед циклом n:=0 — не помогло И не поможет, инициализировать надо тоже с умом. Можно поставить единицу, но у Вас скорее всего всплывет потом еще одна ошибка в строке 16. Добавлено через 2 минуты text[n] := s // ЭТУ строку подсвечивает а надо
Добавлено через 1 минуту
1 |
|
Модератор 9466 / 4792 / 3208 Регистрация: 17.08.2012 Сообщений: 15,022 |
|
|
28.03.2015, 23:06 |
5 |
|
РешениеИзначальная длина массива (а строка — это массив) text при инициализации — 0 символов. Вы пытаетесь присвоить прочитанный символ сразу за границы строки. Кроме того, f объявлен как textfile, то есть, является файлом с последовательным доступом, Вы же пытаетесь с ним работать не пойми как, с одной стороны, как с файлом с последовательным доступом (readln), с другой стороны — пытаетесь записывать что-то после конца файла (write), что возможно только для файлов с произвольным доступом, но с каким-то нелепым условием записи до конца файла (второе while). Естественно, после конца файла с последовательным доступом ничего записать Вам не удастся, во-первых, потому что он открыт для чтения, и, во-вторых, вообще не удастся, потому что открыть его для добавления информации (append) можно не во всех диалектах паскаля, в-третьих, ничего не запишется, так как конец файла уже достигнут в первом цикле while. В общем, не программа, а сплошная ошибка.
2 |
|
0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
|
|
28.03.2015, 23:08 [ТС] |
6 |
|
OK, счас попробую
0 |
|
1646 / 1075 / 1081 Регистрация: 03.07.2013 Сообщений: 4,507 |
|
|
28.03.2015, 23:10 |
7 |
|
LR16, выше Cyborg Drone дополнил то, что я проглядел (textfile). Добавлено через 1 минуту
1 |
|
0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
|
|
28.03.2015, 23:13 [ТС] |
8 |
|
с другой стороны — пытаетесь записывать что-то после конца файла (write) Может я написал не правильно, но имелся ввиду вывод на экран..
0 |
|
Модератор 9466 / 4792 / 3208 Регистрация: 17.08.2012 Сообщений: 15,022 |
|
|
28.03.2015, 23:14 |
9 |
|
А что вообще Ваша программа должна делать? Так, навскидку, мне кажется, она с Цезарем воюет, но воюет неправильно.
1 |
|
APALoff 1646 / 1075 / 1081 Регистрация: 03.07.2013 Сообщений: 4,507 |
||||
|
28.03.2015, 23:15 |
10 |
|||
|
Может я написал не правильно, но имелся ввиду вывод на экран.. Если это вывод на экран, то не правильно — у Вас цикл привязан к файлу.
Добавлено через 40 секунд
1 |
|
0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
|
|
28.03.2015, 23:16 [ТС] |
11 |
|
Спасибо..
0 |
|
APALoff 1646 / 1075 / 1081 Регистрация: 03.07.2013 Сообщений: 4,507 |
||||
|
28.03.2015, 23:16 |
12 |
|||
1 |
|
LR16 0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
||||
|
28.03.2015, 23:25 [ТС] |
13 |
|||
|
А нет, не пойдёт. Сначала надо сделать кодирование. Да я понял, усложнил себе задачу просто.. Добавлено через 7 минут
каша получается, а не код. Да, че-то тупанул с самого начала.
Опять где-то накосячил, только один символ выводит. P.S. там забыл вернуть номер символа опять в символ CHR, спасибо..
0 |
|
1646 / 1075 / 1081 Регистрация: 03.07.2013 Сообщений: 4,507 |
|
|
28.03.2015, 23:30 |
14 |
|
Решение
for i:=1 to n-1 Тут уже можно изменить на просто n, без «-1» Добавлено через 1 минуту
Вы же пытаетесь с ним работать не пойми как, с одной стороны, как с файлом с последовательным доступом (readln), Думаю надо READ, без LN Добавлено через 1 минуту
1 |
|
0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
|
|
28.03.2015, 23:32 [ТС] |
15 |
|
Думаю надо READ, без LN Ого, сработало, большое Спасибо !)
0 |
|
Cyborg Drone Модератор 9466 / 4792 / 3208 Регистрация: 17.08.2012 Сообщений: 15,022 |
||||
|
28.03.2015, 23:41 |
16 |
|||
|
РешениеНу не знаю… Во-первых, как правило, шифр Цезаря строится на ограниченном и закольцованном множестве символов, у Вас же — на всех символах. Как Вы думаете, каков будет результат преобразования для трёх последних символов кодовой таблицы? Правильно, весьма ошибочный. Скорее всего, программа вылетит с оговоркой, что нельзя привести какой-нибудь word или integer к типу char. Тем не менее, если из Вашей программы повытряхнуть всё лишнее, то будет так:
1 |
|
LR16 0 / 0 / 2 Регистрация: 15.03.2015 Сообщений: 20 |
||||
|
29.03.2015, 00:42 [ТС] |
17 |
|||
|
Ну не знаю БОЛЬШОЕ СПАСИБО ВАМ )
===============
0 |
Наши новости: |
|
|
Помощь в паскале, сортировка массива пузырьком
|
|
looks12 |
Сообщение
|
|
|
Выдаёт ошибку: program massbouble; Отредактировал: looks12, — 21.6.2014, 19:32 |
|
|
|
|
Revelation |
Сообщение
|
|
Стаж: 10 лет Сообщений: 1051 |
Содержимое input.txt ? |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
Цитата(Revelation @ 21.6.2014, 20:33) Содержимое input.txt ? 20 19 18 1 5 2 4 3 6 8 7 9 17 15 16 10 12 11 13 14 Теперь |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
А где крутые хацкеры или дудосеры? Отредактировал: looks12, — 21.6.2014, 20:08 |
|
|
|
|
Predat0r |
Сообщение
|
|
Стаж: 11 лет Сообщений: 1245 |
На cyberforum’e |
|
|
|
|
Esecman |
Сообщение
|
|
Стаж: 9 лет 1 месяц Сообщений: 945 |
Цитата(Predat0r @ 21.6.2014, 21:09) На cyberforum’e Оффтоп: |
|
|
|
|
Predat0r |
Сообщение
|
|
Стаж: 11 лет Сообщений: 1245 |
Цитата(Esecman @ 21.6.2014, 21:19) Хах. Так ты же вроде хвастался, что Pascal учит логике и все такое. Как я мог такое сказать, если паскаль говн%? Отредактировал: Predat0r, — 21.6.2014, 21:12 |
|
|
|
|
nsgenn |
Сообщение
|
|
Стаж: 9 лет 9 месяцев Сообщений: 885 |
как бэ символы, которые читаются имеют формат CHAR, а не Integer (20) = 2символа + пробел =3 короче ошибок уйма Отредактировал: nsgenn, — 22.6.2014, 5:28 |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
Цитата(nsgenn @ 22.6.2014, 6:17) как бэ символы, которые читаются имеют формат CHAR, а не Integer (20) = 2символа + пробел =3 короче ошибок уйма Спасибо, но уже нашёл и исправил ошибки. Отредактировал: looks12, — 22.6.2014, 8:11 |
|
|
|
|
nsgenn |
Сообщение
|
|
Стаж: 9 лет 9 месяцев Сообщений: 885 |
Цитата(looks12 @ 22.6.2014, 10:10) Да паскаль не радость на задача была поставлена и её надо было решить. Вы еще с асмом не знакомились. Попривыкали к халявному алфавиту )) Отредактировал: nsgenn, — 22.6.2014, 8:45 |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
Цитата(nsgenn @ 22.6.2014, 9:44) Вы еще с асмом не знакомились. Попривыкали к халявному алфавиту )) В KOI-то века знакомился с данным господином. |
|
|
|
0 пользователей и 2 гостей читают эту тему:
БЛОГ НА HUSL
- Деловая переписка на английском языке: фразы и советы
- Принцип цикады и почему он важен для веб-дизайнеров
- В популярных антивирусах для ПК обнаружили лазейки в защите
Ошибка времени выполнения: Индекс находился вне границ массива
Автор вопроса: Ярослав
PascalABC.NET как исправить ошибку?
uses Arrays;
var
a: array of integer;
N: integer;
i1,i2:integer;
begin
N := 50;
a := CreateRandomIntegerArray(50);
for var i:=1 to N do begin
if a[i]>0 then
i1+=1;
if a[i]<0 then
i2+=1;
end;
write(i1);
write(i2);
end.
Источник
Ответы (1 шт):
Автор решения: Viktor Tomilov
Динамические массивы нумеруются с нуля. Цикл for var i:=1 to N do begin должен выглядеть хотя бы так for var i:=0 to N-1 do begin
А вообще стоит оперировать такими функциями работы с массивами, как length, High и т.п.
→ Ссылка
licensed under cc by-sa 3.0 with attribution.
Попытка вывести массив не поэлементно, а целиком
const Sz = 100; var a: array [1..Sz] of integer; i: integer; begin read(a); // неверно: массив необходимо вводить поэлементно end.
Использование записи a[i] вне цикла
const Sz = 10; var a: array [1..Sz] of integer; i: integer; begin var N := Sz; for i:=1 to N do a[i] := Random(100); a[i] := 666; // Ошибка: переменной i нельзя пользоваться вне цикла for end.
Выход за границы диапазона изменения индекса
const Sz = 10; var a: array [1..Sz] of integer; begin var N := Sz; for var i:=1 to N+1 do a[i] := Random(100); // При i=N+1 происходит ошибка: индекс вне границ массива end.
Затирание элементов при сдвиге
const Sz = 100; var a: array [1..Sz] of integer; begin var N := 10; for var i:=1 to N do a[i] := Random(100); for var i:=1 to N do write(a[i],' '); writeln; for var i:=1 to N-1 do // ошибка: алгоритм сдвига вправо надо начинать с конца a[i+1] := a[i]; for var i:=1 to N do write(a[i],' '); end.
Ссылки
- Программы для начинающих
- Сайт PascalABC.NET: Программы и алгоритмы для начинающих
-
-
Предмет:
Информатика
-
Автор:
dennismueller784
-
Создано:
3 года назад
Ответы
Знаешь ответ? Добавь его сюда!
-
-
Другие предметы5 минут назад
Как называется канал мужика, который играл на chees.com?
-
История30 минут назад
Помогите пожалуйста с историей
-
Английский язык30 минут назад
Очень срочно дам 25 сегодня здавать!!!
WB p8 ex 1-2 -
Алгебра35 минут назад
Допоможіть будь ласка!!!!
-
Алгебра35 минут назад
СРОЧНООООО!!!! Подайте вираз у вигляді чотирьох множників: х³-25x³+x²-25.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Вы не можете общаться в чате, вы забанены.
Чтобы общаться в чате подтвердите вашу почту
Отправить письмо повторно
Вопросы без ответа
-
Физика4 часа назад
Помогите с физикой -https://n.fcd.su/Luv
-
Химия5 часов назад
Рсаположить металлы, которые могут быть использованы в качестве анодного покрытия на стальном изделии, в порядке усиления защитных свойств:1) Zn 2) Cr 3) Ni 4) Ag 5) Mn
1) 12345
2) 5123
3) 215
4) 512
Топ пользователей
-

Fedoseewa27
22808
-

Sofka
7419
-

zlatikaziatik
5659
-

vov4ik329
5111
-

DobriyChelovek
4625
-

olpopovich
3461
-
TheDenty
3258
-

dobriykaban
2540
-
Udachnick
1867
-

ViktoriaBell0
1740
Войти через Google
или
Запомнить меня
Забыли пароль?
У меня нет аккаунта, я хочу Зарегистрироваться
Выберите язык и регион
Русский
Россия
English
United States
How much to ban the user?
1 hour
1 day

Сообщение было отмечено LR16 как решение







Меценат
Поблагодарили 
