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


Ответ
 
Опции темы Опции просмотра
Старый 05.05.2014, 20:36   #11 (permalink)
pashasnuff
Member
 
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Исправил на стринг, да АБЦ, врое работает, но вот ошибку выдает

Когда ввожу: рррр, аааа
Вот эту ошибку выдает.
Ошибка времени выполнения: Индекс находился вне границ массива.
pashasnuff вне форума   Ответить с цитированием

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

Пожалуйста, не торопитесь решать все самостоятельно, просмотрите схожие проблемы

Программа на Паскаль. Множества
Множества

Старый 05.05.2014, 20:38   #12 (permalink)
pashasnuff
Member
 
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Когда вводишь аааа, рррр
Выдает такую ошибку
Ошибка времени выполнения: Индекс находился вне границ массива.
pashasnuff вне форума   Ответить с цитированием
Старый 05.05.2014, 20:40   #13 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от pashasnuff Посмотреть сообщение
Когда ввожу: рррр, аааа Вот эту ошибку выдает. Ошибка времени выполнения: Индекс находился вне границ массива.
А, понятно. Исправьте диапазон массива Codes так, чтобы он начинался не с 1, а с 0 (просто замените 1 на 0).
P.S. Ну зачем же тестировать на таких примерах, где совпадений нет вовсе? Я как-то считал, что хоть одно, да найдется.
Да, и еще N задайте типом Integer.
Vladimir_S вне форума   Ответить с цитированием
Старый 05.05.2014, 20:46   #14 (permalink)
pashasnuff
Member
 
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Все равно, ошибка вылазит_(
pashasnuff вне форума   Ответить с цитированием
Старый 05.05.2014, 20:53   #15 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Всё, разобрался.
Строку
i,j,k,N:Byte;
меняем на
i,j,k,N:Integer;
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 05.05.2014, 20:59   #16 (permalink)
pashasnuff
Member
 
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Владимир, спасибо огромное а нельзя ли упростить текст программы?
конструкции repeat - until нельзя ли чем нибудь заменить? просто буквально только что начали Паскаль изучать, еще такого не проходили
pashasnuff вне форума   Ответить с цитированием
Старый 05.05.2014, 21:12   #17 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от pashasnuff Посмотреть сообщение
Владимир, спасибо огромное а нельзя ли упростить текст программы?
конструкции repeat - until нельзя ли чем нибудь заменить? просто буквально только что начали Паскаль изучать, еще такого не проходили
Ну нет, вот это уж пожалуйста без меня. Скажите преподавателю, что настолько увлеклись, что цикл с постусловием освоили самостоятельно. . Правда, боюсь, не поверит...
Vladimir_S вне форума   Ответить с цитированием
Старый 05.05.2014, 21:21   #18 (permalink)
pashasnuff
Member
 
Регистрация: 16.04.2014
Сообщений: 51
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

А ну окей)
Кстати вопрос, я хочу сделать чтоб если ничего не ввел то он говорит что строка пустая и обратно идет на ввод строки, пишу я
if length(s)=0 then
writeln('пусто');
ставлю end в конце а он говорит что вместо end ожидалось ;
не разберусь в чем проблема?
pashasnuff вне форума   Ответить с цитированием
Старый 05.05.2014, 23:57   #19 (permalink)
poiu
Member
 
Регистрация: 05.03.2014
Сообщений: 200
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 834
По умолчанию

repeat
clrscr;
Writeln('Enter the string:');
readln(s);
if length(s) = 0 then writeln('Empty string!');
until length(s) <> 0;
poiu вне форума   Ответить с цитированием
Старый 06.05.2014, 09:33   #20 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от poiu Посмотреть сообщение
clrscr;
Только уж если используется эта команда, то не забыть в начале программы поставить "uses CRT;" (без кавычек, естественно). Во всяком случае, в нормальном Паскале так, а как в этом... ладно, не буду.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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


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

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




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

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