Дана строка преобразовать в ней все строчные буквы как латинские так и русские в прописные
Перейти к содержимому

Дана строка преобразовать в ней все строчные буквы как латинские так и русские в прописные

Программирование на Паскале абц.

Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные.

Вот что у меня получилось
uses crt;
var s:string;
i,a:byte;
begin
writeln(‘Введите строчку: ‘);
readln(s);
for i:=1 to length(s) do
begin
if (ord(s[i])in [97..122]) then
s[i]:=chr(ord(s[i])-32);

for i:=1 to length(s) do
if s[i] in [‘а’..’я’] then s[i]:=chr(ord(s[i])-32);
if s[i]=’ё’then s[i]:=’Ё’;
end;
for i:=1 to length(s) do
if s[i] in [‘a’..’z’] then s[i]:=chr(ord(s[i])-32);
writeln(s);
end.
Из маленьких в большие делает, а наоборот никак. Помогите пожалуйста.

Я не в курсе, как на АБЦ работает это дело, но на языках с поддержкой Unicode все делается примерно так:

for i:=1 to length(s) do
if s[i]=UpCase(s[i]) then
s[i]:=LowCase(s[i])
else
s[i]:=UpCase(s[i]);

Если в АБЦ нет функций UpCase и LowCase, наверняка есть какие-то их аналоги — гугли. Или напиши свои.

uses crt;
var s:string;
i,a:longint;
begin
writeln(‘Введите строчку: ‘);
readln(s);
for i:=1 to length(s) do
begin
if (s[i] in [‘a’..’z’]) then
s[i]:=chr(ord(s[i])-32)
else
if (s[i] in [‘A’..’Z’]) then
s[i]:=chr(ord(s[i])+32);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *