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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2017, 18:59   #1
Cryptic22
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 16
По умолчанию Цикл

Почему в этом коде i:= 1? Зачем ее приравнивать к нулю?

Код:
const alf:string='абвгдеёжзийклмнопрстуфхцчшщъыьэюя';
var s:string;
    i:byte;
begin
writeln('Введите строку из малых русских букв');
read(s);
for i:=1 to length(s) do
writeln(pos(s[i],alf));
end.
Пожалуйста, оформляйте Ваш код согласно правилам.

Последний раз редактировалось Вадим Мошев; 05.12.2017 в 20:55.
Cryptic22 вне форума Ответить с цитированием
Старый 05.12.2017, 19:01   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Почему в этом коде i:= 1?
Потому что в типе string Паскаля счёт идёт с единицы

Цитата:
Зачем ее приравнивать к нулю?
А в Вашем примере её никто и не приравнивает к нулю
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 05.12.2017, 19:48   #3
Cryptic22
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 16
По умолчанию

Но почему когда я ставлю значение i:=2 она перестает работать?
Cryptic22 вне форума Ответить с цитированием
Старый 05.12.2017, 20:58   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

А что значит "перестает работать"?
Вадим Мошев вне форума Ответить с цитированием
Старый 05.12.2017, 21:15   #5
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от Cryptic22 Посмотреть сообщение
Но почему когда я ставлю значение i:=2 она перестает работать?
А какое значение s Вы при этом вводите?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 05.12.2017, 23:09   #6
Cryptic22
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 16
По умолчанию

Если ввожу значение больше 1 она не выдает ничего
Cryptic22 вне форума Ответить с цитированием
Старый 05.12.2017, 23:13   #7
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Cryptic22 Посмотреть сообщение
Если ввожу значение больше 1 она не выдает ничего
так не вводите 1, Вам нужно вводить строчку.
writeln('Введите строку из малых русских букв');
вот и вводите строчку из малых русских букв.
а код не трогайте. цикл for i:=1 to Length(s) означает, что нужно пройтись побуквенно по всем символам введённой вами строки s
Serge_Bliznykov вне форума Ответить с цитированием
Старый 05.12.2017, 23:21   #8
Cryptic22
Пользователь
 
Регистрация: 30.11.2017
Сообщений: 16
По умолчанию

Спасибо
Cryptic22 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Если поставить цикл For в цикл Repeat то как будут выполняться циклы? Владимир10101 Помощь студентам 3 14.11.2016 20:14
написать процедуры для “Цикл For ... Next ” и «Цикл Do ... Loop» по ниже приведенному условию Кристина_Патачиц Microsoft Office Excel 3 17.04.2013 17:01
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? Anarki Общие вопросы C/C++ 3 13.11.2009 19:23
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) Mr.User Помощь студентам 9 23.11.2007 01:34