Вопрос задан 03.05.2019 в 20:04. Предмет Информатика. Спрашивает Майер Соня.

Посчитать сколько раз в текстовой строке S встретится подстрока S1. Разрешается завести только одну

дополнительную строковую переменную. Pascal.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Корнилова Танюша.
Var s,s1,s2:string;
k,l,p:integer;
begin
writeln('Введите строку:');
readln(s);
writeln('Введите подстроку:');
readln(s1);
l:=length(s1);
s2:=s;
k:=0;
p:=pos(s1,s2);
while p>0 do
 begin
 k:=k+1;
 delete(s2,p,l);
 p:=pos(s1,s2);
 end;
writeln('k = ',k);
end.

Пример:
Введите строку:
сколько раз в текстовой строке S встретится подстрока S1
Введите подстроку:
ст
k = 4
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для подсчета количества вхождений подстроки S1 в текстовой строке S в языке Pascal можно использовать следующий код:

```pascal function CountSubstringOccurrences(S, S1: string): Integer; var Count: Integer; Index: Integer; begin Count := 0; Index := Pos(S1, S); while Index > 0 do begin Inc(Count); Index := PosEx(S1, S, Index + Length(S1)); end; Result := Count; end; ```

В этом коде используется функция `Pos`, которая возвращает позицию первого вхождения подстроки S1 в строке S. Затем с помощью цикла `while` и функции `PosEx` мы продолжаем поиск следующих вхождений, начиная с позиции, следующей сразу после найденного вхождения. Каждый раз, когда находим вхождение, увеличиваем счетчик `Count`. В конце возвращаем значение `Count`, которое будет содержать количество вхождений подстроки S1 в строке S.

Пример использования функции:

```pascal var S, S1: string; Occurrences: Integer; begin S := 'This is a test string. Test is a keyword.'; S1 := 'test'; Occurrences := CountSubstringOccurrences(S, S1); writeln('Number of occurrences: ', Occurrences); end. ```

В данном примере мы ищем подстроку 'test' в строке 'This is a test string. Test is a keyword.' и выводим количество вхождений подстроки.

Примечание: Пожалуйста, обратите внимание, что код предоставлен на основе предоставленной информации и может потребовать дополнительной настройки или изменений в зависимости от конкретных требований вашей программы.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос