• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о проекте, чтобы узнать больше. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите пожалуйста решить задачу на строки по Паскалю.

Дарюшка

Ученик
Регистрация
11 Апр 2012
Сообщения
2
Реакции
0
Баллы
0
Помогите пожалуйста решить задачу на строки по Паскалю.

Дана строка. преобразовать в ней все строчные буквы(как латинские, так и русские) в прописные, а прописные- в строчные.
Заранее спасибо.
 
Дана строка. преобразовать в ней все строчные буквы(как латинские, так и русские) в прописные, а прописные- в строчные.
Заранее спасибо.
Здесь могу помочь ограниченно: без никаких "так и русские" - только латиница. Потому что кодировка кириллицы нестандартизована, есть куча таблиц, у DOS (которым я пользуюсь) - своя, у Windows - своя, а кто-то вообще в UTF сидит, в общем, извините, заморачиваться с кириллицей никакого желания нет. Хотите - можете сами, исходя из своей кодировки, добавить в программу недостающие строки по тому же принципу сдвига значений кодов символов. А по латинице - пожалуйста:
Код:
var
 S,S1:string;
 i:byte;
begin
 writeln('String:');
 Readln(S);
 S1:='';
 For i:=1 to Length(S) do
  begin
   If (Ord(S[i])>64) and (Ord(S[i])<91) then S1:=S1+Chr(Ord(S[i])+32)
   else
   If (Ord(S[i])>96) and (Ord(S[i])<123) then S1:=S1+Chr(Ord(S[i])-32)
   else
   S1:=S1+S[i];
  end;
 Writeln(S1);
 Readln
End.
 
Назад
Сверху