Помощь - Поиск - Пользователи - Календарь
Полная версия: Задача на процедуры
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
-Den-
Составить процедуру сжатия исходной последовательности, состоящую из нескольких вхождений одного и того же символа, заминается на текст х(k), где х - символ k - число вхождений символа х в подстроку исходной последовательности.
Нужно ввести один символ любое количество раз, и чтоб выводило количество вхождений.
Пример:
вводим
аааааааааа
выдаётся ответ
а(10)...
Если
ааааааbаааа
то
ошибка, так как должен вводится один и тот же символ...
volvo
Ну и что непонятно? Уже куда проще?
procedure compact(s: string;
         var res: string);
var
 isOk: boolean;
 i: byte;
 st: string;
begin
 isOk := True;
 for i := 2 to length(s) do
   isOk := isOk and (s[i] = s[1]);
 if isOk then begin
   str(length(s), st);
   res := s[1] + '(' + st + ')'
 end
 else res := 'error'
end;

var
 s, print_it: string;

begin
 write('enter the string: '); readln(s);

 compact(s, print_it);
 writeln(print_it)
end.
-Den-
Человеческое спасибо... Так дело в том что когда я писал одно условие не наодном форуме её немогли решить, даже на вашем. А написать сам не смог, что -то не получается никак, я тока в прошлом семместре узнал, что такое языки программирования... Вот учусь потихоньку, да ещё чем сложно мы за семместр по языку проходим... В этом семместре надо здать 15 задач, 3 на С и 12 на С++... Вот такие дела... Учу потихоньку... Ну ладно ещё раз спасибо...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.