Вопрос задан 02.05.2019 в 12:39. Предмет Информатика. Спрашивает Логутова Марьяна.

Дана послeдоватeльность из n символов. Подсчитать наибольшее число букв “а” идущих подряд в данной

последовательности. Паскаль, пожалойста. Помогите
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Бурикова Мария.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var s:=ReadlnString('Введите строку:');
  Writeln('Максимальная длина цепочки "а" равна ',
    s.Matches('(a+)').Select(m->m.Value).SortedDescending.
    Take(1).JoinIntoString.Length)
end.

Пример
Введите строку: tbtgt adaaad aa sdfsfsaaaaawe dsssfsd dfdsaaaaaaaaasdfsf gdff fsaaaaaaqe
Максимальная длина цепочки "а" равна 9
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для подсчета наибольшего числа букв "а", идущих подряд в данной последовательности, можно использовать следующий алгоритм:

1. Инициализировать переменные `count` и `maxCount` равными 0. 2. Пройти по каждому символу в последовательности. 3. Если текущий символ равен букве "а", увеличить `count` на 1. 4. Если текущий символ не равен букве "а", сравнить `count` с `maxCount` и обновить `maxCount`, если `count` больше `maxCount`. Затем сбросить `count` в 0. 5. Повторять шаги 3-4 до конца последовательности. 6. Вернуть значение `maxCount` как результат.

Ниже приведен пример кода на языке Паскаль, который реализует описанный алгоритм:

```pascal program MaxCountOfA; var sequence: string; count, maxCount, i: integer; begin write('Введите последовательность символов: '); readln(sequence); count := 0; maxCount := 0; for i := 1 to Length(sequence) do begin if sequence[i] = 'а' then begin count := count + 1; if count > maxCount then maxCount := count; end else count := 0; end; writeln('Наибольшее число букв "а" идущих подряд: ', maxCount); end. ```

Вы можете запустить этот код, введя последовательность символов, и он выведет наибольшее число букв "а", идущих подряд в данной последовательности.

Примечание: Пожалуйста, обратите внимание, что код на Паскале чувствителен к регистру, поэтому символы "а" и "А" будут считаться разными символами. Если вам нужно игнорировать регистр, вы можете использовать функцию `LowerCase` для преобразования символов в нижний регистр перед сравнением.

Надеюсь, это поможет! Если у вас возникнут дополнительные вопросы, пожалуйста, дайте мне знать.

0 0

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

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

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