IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

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.



 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Федосеев Павел
сообщение 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
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 27.04.2024 21:00
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"