help ! помогите с пробелами! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
help ! помогите с пробелами! |
alex 10 |
15.02.2015 17:47
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 22 Пол: Мужской Реальное имя: Алексей Репутация: 0 |
помогите пожалуйста! программа выводит ответ без пробелов! пробовал исправить-не получилось!
Добавлено через 1 мин. Код program perevod; uses crt; var s,s1:string; i:integer; j:char; begin write('введите текст на английском'); readln(s); for i:=1 to length(s) do begin for j:='A' to 'z' do begin if s[i]=j then begin if s[i]='a' then begin s[i]:='Ф'; s1:=s1+s[i] end; If s[i]='A' then begin s[i]:='ф'; s1:=s1+s[i] end; If s[i]='b' then begin s[i]:='и'; s1:=s1+s[i] end; If s[i]='c' then begin s[i]:='с'; s1:=s1+s[i] end; If s[i]='d' then begin s[i]:='в'; s1:=s1+s[i] end; If s[i]='e' then begin s[i]:='у'; s1:=s1+s[i] end; If s[i]='f' then begin s[i]:='а'; s1:=s1+s[i] end; If s[i]='g' then begin s[i]:='п'; s1:=s1+s[i] end; If s[i]='h' then begin s[i]:='р'; s1:=s1+s[i] end; If s[i]='i' then begin s[i]:='ш'; s1:=s1+s[i] end; If s[i]='j' then begin s[i]:='о'; s1:=s1+s[i] end; If s[i]='k' then begin s[i]:='л'; s1:=s1+s[i] end; If s[i]='l' then begin s[i]:='д'; s1:=s1+s[i] end; If s[i]='m' then begin s[i]:='ь'; s1:=s1+s[i] end; If s[i]='n' then begin s[i]:='т'; s1:=s1+s[i] end; If s[i]='o' then begin s[i]:='щ'; s1:=s1+s[i] end; If s[i]='p' then begin s[i]:='з'; s1:=s1+s[i] end; If s[i]='q' then begin s[i]:='й'; s1:=s1+s[i] end; If s[i]='r' then begin s[i]:='к'; s1:=s1+s[i] end; If s[i]='s' then begin s[i]:='ы'; s1:=s1+s[i] end; If s[i]='t' then begin s[i]:='е'; s1:=s1+s[i] end; If s[i]='u' then begin s[i]:='г'; s1:=s1+s[i] end; If s[i]='v' then begin s[i]:='м'; s1:=s1+s[i] end; If s[i]='w' then begin s[i]:='ц'; s1:=s1+s[i] end; If s[i]='x' then begin s[i]:='ч'; s1:=s1+s[i] end; If s[i]='y' then begin s[i]:='у'; s1:=s1+s[i] end; If s[i]='z' then begin s[i]:='я'; s1:=s1+s[i] end; If s[i]='B' then begin s[i]:='И'; s1:=s1+s[i] end; If s[i]='C' then begin s[i]:='С'; s1:=s1+s[i] end; If s[i]='D' then begin s[i]:='В'; s1:=s1+s[i] end; If s[i]='E' then begin s[i]:='У'; s1:=s1+s[i] end; If s[i]='F' then begin s[i]:='А'; s1:=s1+s[i] end; If s[i]='G' then begin s[i]:='П'; s1:=s1+s[i] end; If s[i]='H' then begin s[i]:='Р'; s1:=s1+s[i] end; If s[i]='I' then begin s[i]:='Ш'; s1:=s1+s[i] end; If s[i]='K' then begin s[i]:='Л'; s1:=s1+s[i] end; If s[i]='L' then begin s[i]:='Д'; s1:=s1+s[i] end; If s[i]='M' then begin s[i]:='Ь'; s1:=s1+s[i] end; If s[i]='N' then begin s[i]:='Т'; s1:=s1+s[i] end; If s[i]='O' then begin s[i]:='Щ'; s1:=s1+s[i] end; If s[i]='P' then begin s[i]:='З'; s1:=s1+s[i] end; If s[i]='Q' then begin s[i]:='Й'; s1:=s1+s[i] end; If s[i]='R' then begin s[i]:='К'; s1:=s1+s[i] end; If s[i]='S' then begin s[i]:='Ы'; s1:=s1+s[i] end; If s[i]='T' then begin s[i]:='Е'; s1:=s1+s[i] end; If s[i]='U' then begin s[i]:='Г'; s1:=s1+s[i] end; If s[i]='V' then begin s[i]:='М'; s1:=s1+s[i] end; If s[i]='W' then begin s[i]:='Ц'; s1:=s1+s[i] end; If s[i]='X' then begin s[i]:='Ч'; s1:=s1+s[i] end; If s[i]='Y' then begin s[i]:='Н'; s1:=s1+s[i] end; If s[i]='Z' then begin s[i]:='Я'; s1:=s1+s[i] end; If s[i]='J' then begin s[i]:='О'; s1:=s1+s[i] end; If s[i]=' ' then begin s[i]:=' '; s1:=s1+' '+s[i] end; end; end; end; writeln(s1); end. |
Федосеев Павел |
16.02.2015 22:23
Сообщение
#2
|
Бывалый Группа: Пользователи Сообщений: 298 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 8 |
Если я правильно понял - это подобие PuntoSwitcher.
Тогда для преобразования нужен другой подход. Делаешь символьный массив преобразований Table - [#0..#255] of char, в котором Table['s']='ы', Table['d]='в' и т.д. Таблицу удобно задать в виде константы в начале программы. Код type TCharArray = array [#0..#255] of char; const Table: TCharArray = (#0, #1, #2, #3, #4, ....................); Заполнение попробуй организовать самостоятельно любым способом. Коды символов можешь уточнить в Wikipedia, задав поиск cp866 (кодировка DOS и консоль в Windows) и cp1251 (кодировка Windows - до эпохи Unicode). И тогда преобразование строки будет следующим Код for i:=1 to length(s) do s[i]:=Table[s[i]]; А по поводу ошибки в конкретно твоём коде. Я взял форматтер исходного кода JCF и после "причёсывания" увидел, что преобразование ты выполняешь в двух циклах - по длине строки и по алфавиту от 'A' до 'z' и первой командой стоит сравнение очередного символа строки с символом из алфавита от 'A' до 'z', куда пробел не входит. Сообщение отредактировано: Федосеев Павел - 16.02.2015 22:32 |
Текстовая версия | 27.04.2024 21:00 |