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

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

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

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

Строки

  • Автор темы Автор темы NAt
  • Дата начала Дата начала

NAt

Новые
Регистрация
9 Дек 2012
Сообщения
45
Реакции
0
Баллы
0
Строки

набран текст,исправить его, если в слове стречается вместо одной заглавной буквы две. помогите разобраться со строками
 
NAt, язык программирования укажите!
 
в программе паскаль
 
набран текст,исправить его, если в слове стречается вместо одной заглавной буквы две. помогите разобраться со строками
Не уверен, что правильно понял задание, но вот что получилось. Программа преобразует все прописные буквы, не являющиеся первыми буквами слов строки, в строчные. Работает в трёх раскладках (можно и вперемешку): латинице, кириллице-DOS и кириллице-Windows.
Код:
Var
 S,S1:String;
 i:Byte;

Function Big(Ch:Char):boolean;
begin
 Big:=((Ord(Ch)>64) and (Ord(Ch)<91)) or
      ((Ord(Ch)>191) and (Ord(Ch)<224)) or
      ((Ord(Ch)>127) and (Ord(Ch)<160));
end;

Begin
 Writeln('Enter the string:');
 Readln(S);
 S1:='';
 S1:=S1+S[1];
 for i:=2 to Length(S) do
  if (S[i-1]<>' ') and Big(S[i]) then
   begin
    if (Ord(S[i])<144) or (Ord(S[i])>191) then S1:=S1+Chr(Ord(S[i])+32)
    else S1:=S1+Chr(Ord(S[i])+80);
   end
  else
 S1:=S1+S[i];
 Writeln(S1);
 Readln
End.
 
спасибо за помощь :-)
 
Назад
Сверху