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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2010, 21:03   #1
LeDиNkо
Пользователь
 
Аватар для LeDиNkо
 
Регистрация: 17.12.2009
Сообщений: 18
Вопрос работа со строками в PascalABC

Нужно заменить в строке все заглавные буквы на строчные и наоборот. Написала программу, однако, выдает ошибку: операция in неприменима к типам char. Не знаю, чем ее заменить. Подскажите, буду очень признательна....
вот код программы:
Uses Crt;
var
a: array ['а'..'я'] of char;
b: array ['А'..'Я'] of char;
stroka,s,rez : string;
i ,k : integer;
begin
TextColor(Blue); TextBold; TextSize(12);
WriteLn('Замена заглавных букв строчными и наоборот ':55);
WriteLn;
TextColor(Cyan); WriteLn('Введите строку из русских букв');
TextColor(Black); ReadLn(stroka);k:=1;rez:=' ';
WriteLn;
for i := 1 to Length(stroka) do
begin
if stroka[i] in a then begin S[k]:=LowCase(stroka[i]); rez:=rez+s[k];inc(k);end;
else begin S[k]:=LowCase(stroka[i]); rez:=rez+s[k];inc(k); end;
end;
TextColor(Cyan); WriteLn('Строка после замены:');
TextColor(black); WriteLn(s);
end.
LeDиNkо вне форума Ответить с цитированием
Старый 08.11.2010, 21:07   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Код:
Uses Crt;
var
a: set of char;
b: set of char;
s,rez : string;
i : integer;
begin
a:=['а'..'я'];
b:=['А'..'Я'];
TextColor(Blue); TextBold; TextSize(12);
WriteLn('Замена заглавных букв строчными и наоборот ':55);
WriteLn;
TextColor(Cyan); WriteLn('Введите строку из русских букв');
TextColor(Black); ReadLn(s);;
WriteLn;
for i := 1 to Length(s) do
begin
if s[i] in a then begin rez:=rez+UpCase(s[i]); ;end
else if s[i] in b then
 begin rez:=rez+LowCase(s[i]);  end;
end;
TextColor(Cyan); WriteLn('Строка после замены:');
TextColor(black); WriteLn(rez);

end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 08.11.2010 в 21:29.
Mad_Cat вне форума Ответить с цитированием
Старый 08.11.2010, 21:22   #3
LeDиNkо
Пользователь
 
Аватар для LeDиNkо
 
Регистрация: 17.12.2009
Сообщений: 18
По умолчанию

Программу изменила......однако она заменяет мне только заглавные буквы на строчные, а наоборот не заменяет.... В чем проблема понять не могу:-(


Uses Crt;
var
a: set of char;
b: set of char;
stroka,s,rez : string;
i ,k,j : integer;
begin
a:=['а'..'я'];
b:=['А'..'Я'];
TextColor(Blue); TextBold; TextSize(12);
WriteLn('Замена заглавных букв строчными и наоборот ':55);
WriteLn;
TextColor(Cyan); Write('Введите строку из русских букв '); ReadLn(stroka);
TextColor(Black);k:=1;rez:=' ';
WriteLn;
for i := 1 to Length(stroka) do
begin
if stroka[i] in a then begin S[k]:=LowCase(stroka[i]); rez:=rez+s[k];inc(k);end
else begin S[k]:=LowCase(stroka[i]); rez:=rez+s[k];inc(k); end;
end;
TextColor(Cyan); WriteLn('Строка после замены: ');
TextColor(black); WriteLn(rez);
end.
LeDиNkо вне форума Ответить с цитированием
Старый 08.11.2010, 21:28   #4
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

ваше
Код:
if stroka[i] in a then begin S[k]:=LowCase(stroka[i]); rez:=rez+s[k];inc(k);end
else begin S[k]:=LowCase(stroka[i]); rez:=rez+s[k];inc(k); end;
А должно быть
Код:
if stroka[i] in a then begin S[k]:=UpCase(stroka[i]); rez:=rez+s[k];inc(k);end
else begin S[k]:=LowCase(stroka[i]); rez:=rez+s[k];inc(k); end;
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 08.11.2010, 21:32   #5
LeDиNkо
Пользователь
 
Аватар для LeDиNkо
 
Регистрация: 17.12.2009
Сообщений: 18
По умолчанию

и правда...я не заметила.........спасибо большое
LeDиNkо вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа со строками NAZE Общие вопросы Delphi 1 16.06.2010 00:18
работа со строками Андрей.12 Помощь студентам 3 15.11.2009 19:42
Работа со строками dron4ikkkk Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 25.10.2009 18:48
Работа со строками Дырдин Общие вопросы C/C++ 12 24.10.2009 19:47
c#. Работа со строками alestro07 Помощь студентам 1 23.10.2009 00:34