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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.01.2023, 11:53   #1
Student_Dead1nS1de
Пользователь
 
Регистрация: 12.01.2023
Сообщений: 19
Сообщение FreePascal

Напиcать программу, определяющую количество уникальных подстрок из трех символов входящих
в заданную строку. FreePascal
Вот эту показал преподу, не правильно рабтает.
uses crt;
var len,i,j,t: integer;
s,s1,s2: string; flag:boolean;
begin
clrscr;
writeln('Enter the line');
readln(s);
len:=length(s);
t:=0;
flag:=false;
for i:= 1 to len-2 do
begin
s1:=s[i]+s[i+1]+s[i+2];
for j:=1 to len-2 do
begin
if (j<>i) then begin
s2:= s[j]+s[j+1]+s[j+2];
if s1 = s2 then flag:=true;
end;
end;
if not flag then t:=t+1;
s1:='';s2:=''; flag:= false;
end;
writeln(t);
readln;
end.
Student_Dead1nS1de вне форума Ответить с цитированием
Старый 13.01.2023, 12:04   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

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

P.S. замените переменную flag: boolean; на переменную flagpovtor: boolean;
и выполняйте суммирование в соответствии с новой переменной
( и не забудьте ее правильно инициализировать true нашли повтор или false нет)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 13.01.2023 в 12:16.
evg_m вне форума Ответить с цитированием
Старый 13.01.2023, 12:11   #3
Student_Dead1nS1de
Пользователь
 
Регистрация: 12.01.2023
Сообщений: 19
По умолчанию

evg_m, Можете примерно накидать?? Или алгоритм, дать?
Student_Dead1nS1de вне форума Ответить с цитированием
Старый 13.01.2023, 12:19   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Код:
Код:
цикл по всем подстрокам
  поиск повторов в просмотренной части
  если не нашлиповтор то это уникальная
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 13.01.2023, 12:27   #5
Student_Dead1nS1de
Пользователь
 
Регистрация: 12.01.2023
Сообщений: 19
По умолчанию

Кто еще что знает?
Student_Dead1nS1de вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
FreePascal Lazarus Liliya1993 Паскаль, Turbo Pascal, PascalABC.NET 6 10.12.2014 13:27
программа(FreePascal) Nastya1221 Помощь студентам 1 15.02.2012 21:26
Массивы (FreePascal) ScoPld Помощь студентам 1 23.05.2011 16:01
FreePascal Foxtrot_1 Паскаль, Turbo Pascal, PascalABC.NET 4 26.09.2009 20:01