Показать сообщение отдельно
Старый 29.05.2011, 09:05   #9 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Zont Посмотреть сообщение
Во-первых, Владимир, хочу сказать большое спасибо, что все-таки отозвались и потратили на меня свое время.
Да не за что.
Цитата:
Во-вторых, программа выдает много ошибок о неправильном присвоении типов. Я пыталась изменить.
Какая из программ? Моя? Если так, то это как раз то, о чем я предупреждал: заморочки версий Паскаля. Естественно, перед выкладыванием программа была мною тщательно отлажена и оттестирована. У меня она работает безупречно.
А всё-таки - в каком конкретно месте ругается?
Цитата:
Но в любом случае Ваш вариант слишком сложен для меня. ( в плане сложности решения)
На самом деле - абсолютно ничего сложного там нет. Программа существенно проще Вашей. Сейчас объясню.
1. Вводится строка вида А-В, где под А и В понимаются не собственно буквы, а некие символы, например С-М или 3-7. Пока ограничимся рассмотрением простейшей цепочки.
2. Осуществляется посимвольный перебор введенной строки s1. Если встречается комбинация вида "А-", то есть i-тый сивол есть "-", а предыдущий таковым не является, то переменной i1 присваивается значение кода символа А из кодовой таблицы. Если комбинация "-В",
то переменной i2 присваивается значение кода символа В. Таким образом, если как i1, так и i2 оказываются ненулевыми, то это значит, что обработана последовательность вида А-В.
3. В символьный массив s заносится цепочка символов, коды которых лежат в интервале от кода А до кода В, включая сами А и В. Длина цепочки N увеличивается на количество введенных в массив символов.
4. Строковой переменной s2 присваивается значение массива s. Вот тут, как я подозреваю, транслятор и может "взбрыкнуть". Если так, то замените строку
s2:=s;
строками
s2:='';
For i:=1 to N do s2:=s2+s[i];
Это должно пройти полюбому.
Программа обрабатывает и более сложные исходные строки, как и велено. По тому же алгоритму.
Цитата:
Я видать эту тему проболела.
Сочувствую.
Цитата:
Поэтому признаюсь честно, что не понимаю.
Ну, надеюсь, что после вышеприведенных объяснений разберетесь.
Цитата:
Мало ли кому пригодится, потом кину сюда конечную программу.
Давайте.
Цитата:
Еще раз спасибо, прям правда очень приятно, что уделили мне время (:
Еще раз - не за что.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

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