Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 05.11.2011
Сообщений: 11

Заменить в строке последовательности одинаковых символов на число, соответствующее их количеству (С -> Паскаль)

13.09.2012, 19:32. Показов 1676. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Заранее спасибо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/*Заменить в строке последовательности одинаковых
символов на число, соответствующее 
их количеству (т.е. “ abcdaaaaa xyznnnnnnn ” на “abcd5a xyz7n ” */
/* G++/Code::Blocks */
#include <stdio.h>
#include <stdlib.h>
 
int main(void)
{
    enum {n=80};
    char s[n];
    int i, j, k;
    char c;
    int done=0;
 
    gets(s);
    j=0;
    k=1;
    c=s[0];
    for (i=1; !done; i++)
    {
    if (s[i]==c)
        if (s[i]==' ')
        s[j++]=s[i];
        else
        k++;
    else
    {
        if (k>9) /* две цифры */
        s[j++]='0'+k/10;
        if (k>1) /* одна цифра */
        s[j++]='0'+k%10;
        s[j++]=c;
        c=s[i];
        k=1;
        if (s[i]=='\0')
        done=1;
    }
    }
    s[j]='\0';
 
    puts(s);
    system("pause");
    return 0;
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.09.2012, 19:32
Ответы с готовыми решениями:

Каждое слово строки заменить на число, соответствующее количеству символов в слове
Задана строка символов . группы символов, разделенные пробелом и не содержащие пробелов внутри...

Дана произвольная строка символов. Заменить подряд стоящие одинаковые символы одним символом, а после него в скобках записать число символов, которые
Дана произвольная строка символов. Заменить подряд стоящие одинаковые символы одним символом, а...

Каждую подстроку длиной n > 1, состоящую из одинаковых символов, заменить на подстроку из тех же символов в количестве 2
Всем добрый день! Помогите пожалуйста решить задачку. Дана строка S. Каждую подстроку длиной n &gt;...

1
 Аватар для BumerangSP
4311 / 1423 / 463
Регистрация: 16.12.2010
Сообщений: 2,939
Записей в блоге: 3
15.09.2012, 19:33
Лучший ответ Сообщение было отмечено Sturmf как решение

Решение

Надо бы протестить.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
uses crt;
var s,s1: string;
    i, j, k: integer;
    c: char;
begin
    readln(s);
    j:=1;
    k:=1;
    c:=s[1];
    i:=2;
    while true do
     begin
      if (s[i]=c) then
       begin
        if (s[i]=' ') then
         begin
          s[j]:=s[i];
          inc(j);
         end
        else
         inc(k);
       end
       else
        begin
         if (k>9) then //* две цифры */
          begin
           delete(s,j,k-1);
           str(k div 10 ,s1);
           insert(s1,s,j);
           str(k mod 10 ,s1);
           insert(s1,s,j+1);
           inc(j,2);
           i:=j+1;
          end;
         if (k>1) and (k<9) then //* одна цифра */
          begin
           delete(s,j,k-1);
           str(k mod 10 ,s1);
           insert(s1,s,j);
        inc(j);
        i:=j+1;
          end;
         inc(j);
         c:=s[i];
         k:=1;
         if i>=length(s)then
          break;
        end;
      inc(i);
    end;
    writeln(s);
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.09.2012, 19:33
Помогаю со студенческими работами здесь

В заданной строке заменить все последовательности одинаковых символов длиной более двух на конструкцию (k)a
Помогите пожалуйста.Не могу сообразить как делать(Нужно составить на языке Паскаль программу: В...

Заменить в строке последовательность одинаковых символов на константу
Составить функцию, которая заменяет в строке последовательность одинаковых символов на константу –...

Даны последовательность символов, в начале которой имеется некоторое количество одинаковых символов.
Я сам в строках вообще 0 помогите пожалуйста следующие задание: 1)даны последовательность...

Заменить во втором слове соответствующее количество символов на первое слово .
Даны два слова (первое длиннее второго ) . Заменить во втором слове соответствующее количество...

Даны два слова (первое длиннее второго). Заменить в первом слове соответствующее количество символов на второе слово.
например вводишь : 12345 678 он должен вывести 67845 var a,b:string; begin


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru