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

Сжатие на основе сравнения

18.10.2019, 16:10. Показов 2226. Ответов 2

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите пожалуйста с задачей на Паскале:

Сжатие на основе сравнения. Вводится m различных сообщений произвольной длины, последовательности начальных символов в которых могут совпадать. Если такое совпадение имеется в двух сообщениях, следующих друг за другом, то начальные символы второго сообщения заменяются программой на эквивалентное представление вида *(k), где k – количество совпадающих символов.

Например, вводится m сообщений, в нашем случае 3:
Иванов Иванков Ивлев
В результате будет:
Иванов
*(4)ков
*(2)лев

Спасибо
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.10.2019, 16:10
Ответы с готовыми решениями:

Сжатие на основе сравнения
Сжатие на основе сравнения. вводится m различных сообщений произвольной длины, последовательности начальных символов могут совпадать. Если...

Написать программу на основе алгоритма RLE (сжатие/восстановление массива)
Массив из 0 и 1 целых чисел. Массив надо сжать, а затем восстановить массива. Надо написать программу по алгоритму RLE. Спасибо заранее ...

Реализовать метод, осуществляющий сжатие строки на основе счетчика повторяющихся символов
Решите задачу пожалуйста 1.Реализуйте метод, осуществляющий сжатие строки на основе счетчика повторяющихся символов. Например, строка...

2
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
19.10.2019, 09:49
Лучший ответ Сообщение было отмечено AnthonyG как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
  s, t: String;
  i, k, m: Integer;
begin
  ReadLn(m); ReadLn(t); WriteLn(t);
  for m:=2 to m do begin
    s:=t; ReadLn(t);
    k:=Length(t); if k>Length(s) then k:=Length(s);
    i:=1; while (i<=k) and (s[i]=t[i]) do Inc(i);
    if i>1
    then WriteLn('*(',i-1,')',Copy(t,i,Length(t)))
    else WriteLn(t);
  end;
end.
Чтобы было именно сжатие ("сжатая" строка короче исходной) нужно
Pascal
10
    if i>5
1
0 / 0 / 0
Регистрация: 24.11.2017
Сообщений: 11
20.10.2019, 14:14  [ТС]
Большое спасибо. Именно то, что нужно. Подкорректировал под себя
Вложения
Тип файла: rar 1 - 7.rar (619 байт, 16 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.10.2019, 14:14
Помогаю со студенческими работами здесь

Провести компрессию (сжатие) информации методом главных компонент (РСА) и на основе системы Э. Оя
Здравствуйте! Есть задание провести компрессию (сжатие) информации методом главных компонент (РСА) и на основе системы Э. Оя. Знаю, что...

Копирование файлов на основе результатов сравнения содержимого каталогов
Добрый день! Прошу помощи в написании батника со следующим функционалом: Есть три папки A, B, С В каталоге A находятся...

Как вывести два графика для визуального сравнения сравнения
Как вывести два графика с данными в один для сравнения import numpy as np import matplotlib.pyplot as plt import pandas as pd from...

Написать программу которая, подготавливает регистры к проведению цикла сравнения строк fam и tabs и сам цикл сравнения
Доброго времени суток нужна помощь в написании программы. Задание: Написать программу которая, подготавливает регистры к проведению цикла...

Сжатие звука с потерями и обратно (или иное сжатие с потерями)
Доброго всем времени суток. Столкнулся с такой проблемой, есть канал связи с маленькой скоростью на одном конце SDR приемник (дает...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru