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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2008, 12:39   #1
onded
Пользователь
 
Аватар для onded
 
Регистрация: 29.09.2008
Сообщений: 26
Печаль проблема с большими и мелкими буквами

Дана строка. Переделать все мелкие буквы в большие, а большие в мелкие, и вычислить количество знаков припенания.
Очень нада, помогите
onded вне форума Ответить с цитированием
Старый 15.10.2008, 13:23   #2
Nixond
Пользователь
 
Регистрация: 06.10.2008
Сообщений: 13
По умолчанию

вот пример:
(он переделывает английские символы (с русскими чуть-чуть посложнее),
а знаками препинания он считает только точку и запятую)
Код:
program change_program;
  uses CRT;
  var
     Str: string; {сама строка}
     LenStr, Col, i: integer; {длина строки, кол-во знаков препинания}
function change(c: char): char;
  begin
    if (c >= 'a') and (c <= 'z') then
      change := chr(ord(c) - 32)
    else
      if (c >= 'A') and (c <= 'Z') then
        change := chr(ord(c) + 32)
      else
        change := c;
  end;
begin
  ClrScr; {очищаем экран}
  Write('Input string: ');
  Readln(Str); {считываем строку}
  LenStr := Length(Str); {длина строки}
  col := 0; {обнуляем кол-во знаков препинания}
  for i := 1 to LenStr do
    begin
      if (Str[i] = '.') or (Str[i] = ',') then
        inc(col)
      else
        Str[i] := change(Str[i]);    
    end;
    Writeln(Str); {Пишем преобразованную строку}
    Writeln(Col); {Пишем кол-во символов}
    readln;
end.

Последний раз редактировалось Nixond; 15.10.2008 в 14:24.
Nixond вне форума Ответить с цитированием
Старый 15.10.2008, 13:31   #3
-=<[Evklidd]>=-
Форумчанин Подтвердите свой е-майл
 
Аватар для -=<[Evklidd]>=-
 
Регистрация: 22.01.2008
Сообщений: 161
По умолчанию

Вот вариант программы с множеством знаков препинаний
Код:
program pro37;
uses
 Crt;
const
 dec: set of char = [':','.',',','?','!',';','-',')','('];
var
 s: string;
 i, q: byte;
begin
 ClrScr;
 write('Vvedite stroku: ');
 readln(s);
 q:= 0;
 for i:= 1 to Length(s) do
  begin
   if (s[i] >= 'A') and (s[i] <= 'Z') then
    s[i]:= chr(ord(s[i])+32)
   else
    if (s[i] >= 'a') and (s[i] <= 'z') then
     s[i]:= chr(ord(s[i])-32);
   if s[i] in dec then
    inc(q);
  end;
 writeln('Kol-vo znakov prepinani9= ', q);
 writeln('Polu4ivsha9s9 stroka: ', s);
 readln;
end.
-=<[Evklidd]>=- вне форума Ответить с цитированием
Старый 15.10.2008, 22:15   #4
onded
Пользователь
 
Аватар для onded
 
Регистрация: 29.09.2008
Сообщений: 26
По умолчанию

Биг спс...который раз уже программисты спасают))
onded вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к полям компонента TTable с большими целыми числами AleksP Общие вопросы Delphi 6 13.10.2008 18:41
Работа с большими числами SanekIrk Общие вопросы Delphi 3 11.07.2008 22:11
Как поменять интервал между буквами в поле Acces? xruss Microsoft Office Access 9 08.05.2008 11:32
работа с большими числами sasadabest Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.10.2007 10:51
Пробел между буквами Выручите! Mickle Помощь студентам 1 11.05.2007 01:18