С Новым годом! Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 6
1

Создать модуль, для работы с рядом символов

12.04.2010, 20:54. Показов 850. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте!
Я у вас новичок, но думаю что смогу получить у вас помощь в решении задачи.
Задание звучит так:
Создать модуль, для работы с рядом символов. В модуле предусмотреть необходимого типа декларации и подпрограммы (не уверен что это правильное название (программа в программе)). Подготовить спецификацию интерфейса модуля.
В ряду символов определить какая рядом идущая буква повторяется больше всего раз (например aaabbbbccd результат b 4 raza).
Разработать главную программу, которая использует (тестирует) разработанный модуль.
Ввод данных разрешен только в главной программе.

Буду рад любой помощи! Так как сам с заданием уже просидел не мало....

П.С. Извините, текст задания переводил с другого языка. Так что, если что то непонятно, обращайтесь.
П.П.С. Так же у меня есть пример (похожий) задания. Если что, и если скажите как, могу прикрепить...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.04.2010, 20:54
Ответы с готовыми решениями:

Модули. Создать модуль для работы с матрицами 3 на 3
Создать модуль для работы с матрицами 3 на 3 Он должен содержать 3 подпрограммы: Нахождение...

Создать пользовательский модуль для работы с матрицами
Создать модуль, содержащий процедуры и/или функции: − объединение двух матриц вертикально («одна...

Создать модуль для работы с целочисленным массивом
Создать модуль для работы с целочисленным массивом. Задача. Заданные одномерные массивы H, G и K...

Создать модуль для работы с комплексными числами
создать модуль для роботы с комплексными числами!!!!в главной программе: 1)дан масив а-масив...

8
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
12.04.2010, 21:35 2
Цитата Сообщение от JackD Посмотреть сообщение
для работы с рядом символов.
Имеется ввиду строка тип string, или массив символов array[1..n] of char, или просто последовательность до ввода определенного символа?

Добавлено через 14 минут
Если строка.
Текст модуля
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
unit unit1;
interface
procedure Povtor(s:string;var c:char;var mx:byte);
implementation
procedure Povtor;
var i,n,k:byte;
begin
mx:=0;
i:=1;
while i<=length(s)do
if s[i]=s[i+1] then
 begin
  n:=i;k:=0;
  while (s[n]=s[n+1])and(n<=length(s)-1) do
   begin
    n:=n+1;
    k:=k+1;
   end;
  if k>mx then
    begin
     mx:=k;
     c:=s[i];
    end;
  i:=i+k+1;
 end
else i:=i+1;
writeln('Самая длинная цепочка из символа ',c,' = ',mx);
readln
end;
end.
Текст программы.
Pascal
1
2
3
4
5
6
7
8
9
10
uses crt,unit1;
var s:string;
    k:byte;
    c:char;
begin
clrscr;
write('Строка:  ');
readln(s);
Povtor(s,c,k);
end.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 6
12.04.2010, 22:20  [ТС] 3
Цитата Сообщение от Puporev Посмотреть сообщение
Имеется ввиду строка тип string, или массив символов array[1..n] of char, или просто последовательность до ввода определенного символа?

Добавлено через 14 минут
Если строка.
Текст модуля
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
unit unit1;
interface
procedure Povtor(s:string;var c:char;var mx:byte);
implementation
procedure Povtor;
var i,n,k:byte;
begin
mx:=0;
i:=1;
while i<=length(s)do
if s[i]=s[i+1] then
 begin
  n:=i;k:=0;
  while (s[n]=s[n+1])and(n<=length(s)-1) do
   begin
    n:=n+1;
    k:=k+1;
   end;
  if k>mx then
    begin
     mx:=k;
     c:=s[i];
    end;
  i:=i+k+1;
 end
else i:=i+1;
writeln('Самая длинная цепочка из символа ',c,' = ',mx);
readln
end;
end.
Текст программы.
Pascal
1
2
3
4
5
6
7
8
9
10
uses crt,unit1;
var s:string;
    k:byte;
    c:char;
begin
clrscr;
write('Строка:  ');
readln(s);
Povtor(s,c,k);
end.
Да, спасибо. Имеется ввиду строка тип string...
А что такое тип byte, не подаскажете?
А всё понял, извините... Не такой уж я и глупый, как думал
Ещё раз спасибо за помощь!

Добавлено через 43 минуты
А ещё вопросик.... Как мне сделать что бы результат писался в конце обрабатываемой строки?
Т.е. например вводим строку aaabbc
нужно что бы результат был в таком виде aaabbc rezultat: a 3 raza
Не подскажите как это реализовать?
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
12.04.2010, 22:46 4
Pascal
1
writeln('Самая длинная цепочка в строке ',s,' из символа ',c,' = ',mx);
1
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 6
13.04.2010, 17:42  [ТС] 5
Всё! Разобрался!
Спасибо огромное за помощь! Буду обращаться ещё, если что

Добавлено через 17 часов 16 минут
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
unit MyLabUN;
Interface
const LenStrMod=255;
 
type STRMod= string [LenStrMod];
 
var Change: integer;
    Character: char;
 
procedure SimbolCount
          (InpStr: STRMod; var OutStr: STRMod);
 
implementation
procedure SimbolCount
          (InpStr: STRMod; var OutStr: STRMod);
          var i, k, n: integer;
 
begin
 Change:=0;
 i:=1;
  while i<=Length(InpStr) do
   if InpStr[i]=InpStr[i+1] then
    begin
     n:=i; k:=0;
      while (InpStr[n]=InpStr[n+1]) and (n<=Length(InpStr)-1) do
       begin
        n:=n+1;
        k:=k+1;
       end;
      if k>Change then
       begin
        Change:=k;
        Character:=InpStr[i];
       end;
      i:=k+i;
     end
   else i:=i+1;
 
   OutStr:=InpStr;
   end;
   begin
 
 end.
Не подскажите в чем ошибка? Вроде как всё сделал как у вас... но ответ всё равно не верный выдает. Я просто немного изменил под свой лад... но суть та же осталась...
Например: aaabbbbcc
Выдает: aaabbbbcc rezultat: b 3 raza
В чем ошибка?

Добавлено через 37 минут
То был Юнит, а это собственно программа, если надо...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
program MyLab;
uses MyLabUN;
 
var
 InputString: STRMod;
 OutputString: STRMod;
begin
  writeln(' Vvedi rjad dlja analiza:');
  readln(InputString);
 
   SimbolCount( InputString, OutputString);
   writeln(' ');
   writeln(' Obrabotannij rjad:');
   writeln(OutputString,' rezultat: ', Character,' ', Change, ' raz');
   writeln(' ');
   writeln( ' Nazhmi ENTER');
   readln;
 
 end.
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
13.04.2010, 18:16 6
Попробуйте написать процедуру так
Delphi
1
2
procedure SimbolCount
          (InpStr: STRMod; var OutStr: STRMod;var Character:char;var Change:integer);
А в программе ввести соответствующие переменные, или сделать вывод прямо в процедуре.
0
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 6
13.04.2010, 18:25  [ТС] 7
Цитата Сообщение от Puporev Посмотреть сообщение
Попробуйте написать процедуру так
Delphi
1
2
procedure SimbolCount
          (InpStr: STRMod; var OutStr: STRMod;var Character:char;var Change:integer);
А в программе ввести соответствующие переменные, или сделать вывод прямо в процедуре.
Сделал как вы сказали, но это ни привело ни к какому результату. То есть проблема осталась не решенной...
0
Почетный модератор
64303 / 47600 / 32742
Регистрация: 18.05.2008
Сообщений: 115,181
13.04.2010, 18:44 8
Ну так вы же все шибка умные. Вам напишешь нормально, вы все испохабите, потом ноете. Короче, умерла, так умерла, сам, так сам. До свидания.
1
0 / 0 / 0
Регистрация: 12.04.2010
Сообщений: 6
13.04.2010, 20:10  [ТС] 9
Цитата Сообщение от Puporev Посмотреть сообщение
Ну так вы же все шибка умные. Вам напишешь нормально, вы все испохабите, потом ноете. Короче, умерла, так умерла, сам, так сам. До свидания.
Кхм. Переписал полность ваш код, скомпилировал, запустил программу, но проблема та же.
Судя по всему где-то в коде ошибка. Но мои знания мне не позволяют её найти, пока...
Извините за доставленные неудобства (беспокойство)...

Надеялся получить здесь помощи, но по всей видимости, я её здесь не получу... Очень жаль
0
13.04.2010, 20:10
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.04.2010, 20:10
Помогаю со студенческими работами здесь

Создать модуль, реализующий некоторые действия для работы с одномерными массивами
Напишите код пожалуйста :-* Создайте свой собственный модуль, реализующий некоторые действия для...

Создать динамический класс для работы со строками (последовательностями символов)
пишу код для такой задачи :Создать динамический класс для работы со строками (последовательностями...

Создать динамический класс для работы со строками (последовательностями символов)
Добрый день,товарищи. Можете мне объяснить логику задачи на с++. Вот сама задача. Создать...

Создать динамический классовый тип для работы со строками символов
Создать динамический классовый тип для работы со строками символов. Максимальная длина строки -...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru