Вопрос задан 03.11.2023 в 10:08. Предмет Информатика. Спрашивает Рыбалов Павел.

Здравствуйте. Помогите написать задачу на PascalABC.NET Задача. В последовательности, состоящей

из 0 и 1, подсчитать максимальное количество подряд стоящих 1. Хранить элементы последовательности в памяти нет необходимости.
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Киселёва Софья.

Ответ:

program project215;

uses

 crt;

var a:array[1..100] of integer;

   i,j,k:integer;

begin

 randomize;

 j:=0;

 k:=0;

 for i:=1 to 100 do

 begin

   a[i]:=random(100)-50;

   writeln(a[i]);

   if i mod 10=0 then writeln;

   if a[i]>0 then j:=j+1

   else

   begin

  if k<j then k:=j;

     j:=0;

   end;

 end;

write('Максимальная последовательность положительных элементов: ',k);

 Readln;

end.

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Здравствуйте! Я могу помочь вам написать задачу на платформе PascalABC.NET.

Вот пример задачи:

Задача: В последовательности, состоящей из 0 и 1, необходимо подсчитать максимальное количество подряд стоящих единиц. Хранить элементы последовательности в памяти нет необходимости.

Пример входных данных: 001010111100100100 Пример выходных данных: 4

Решение:

program MaxConsecutiveOnes;

var sequence: string; maxOnes, currentCount: integer; i: integer;

begin // Ввод последовательности Write('Введите последовательность: '); ReadLn(sequence);

// Инициализация переменных maxOnes := 0; currentCount := 0;

// Подсчет максимального количества подряд стоящих единиц for i := 1 to Length(sequence) do begin if sequence[i] = '1' then begin currentCount := currentCount + 1; if currentCount > maxOnes then maxOnes := currentCount; end else currentCount := 0; end;

// Вывод результата WriteLn('Максимальное количество подряд стоящих единиц: ', maxOnes); end.

В данном решении мы считываем последовательность символов с помощью команды ReadLn и сохраняем ее в переменной sequence. Затем инициализируем переменные maxOnes и currentCount нулями.

Далее, мы проходим циклом от 1 до длины последовательности с помощью команды for и в каждой итерации проверяем, является ли текущий символ равным '1'. Если да, то увеличиваем currentCount на 1 и сравниваем его со значением maxOnes. Если currentCount больше, чем maxOnes, то присваиваем maxOnes текущее значение currentCount.

Если текущий символ не равен '1', то обнуляем currentCount и переходим к следующему символу последовательности.

После завершения цикла, выводим результат с помощью команды WriteLn.

Теперь вы можете использовать данное решение для написания своей программы на платформе PascalABC.NET. Удачи!

0 0

Похожие вопросы

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

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

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