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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2014, 01:25   #1
Алькер
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 26
Восклицание Дан массив. из всех непрерывных участков массива а1, а2,…, аn, состоящих из нулей, выбрать наибольший по длине.

Написать программу выполнения следующего задания: из всех непрерывных участков массива а1, а2,…, аn, состоящих из нулей, выбрать наибольший по длине. Вывести индексы его начала и конца.
Алькер вне форума Ответить с цитированием
Старый 07.12.2014, 10:00   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Код:
begin

  // ввод массива A[1..N]

  curLen := 0;
  MaxLen := 0;
  indexMax := 0;
  for i := 1 to N do begin
    if A[i] = 0 then inc(curLen);
    if (A[i] <> 0) or (i = N) then
    begin
      if curLen > MaxLen then
      begin
        MaxLen := curLen;
        indexMax := i - curLen;
      end;
      curLen := 0;
    end;
  end;

  writeln('Max zero sequence begins at ', indexMax, ' and ends at ', indexMax + MaxLen - 1);

end.

p.s. переделал из другой программы и не проверял, возможны небольшие косячки...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан массив X(N,M) .Уменьшить в 2 раза все элементы той строки массива,в которой находится наибольший элемент. darwin1 Паскаль, Turbo Pascal, PascalABC.NET 1 13.04.2014 11:54
Дан массив размера N. Найти количество участков, на которых его элементы монотонно убывают. ALEXandr20333 Помощь студентам 1 14.02.2014 13:12
Дан массив X(N).Найти среднеквадратичное всех элементов массива и заменить этим значение нулевые элементы массива. sev48fire Паскаль, Turbo Pascal, PascalABC.NET 3 21.06.2012 23:44
C# дан двумерный массив 9х9. найти наименьший и наибольший элементы массива и поменять их местами. Koksa Помощь студентам 1 10.10.2011 11:28
Дан массив поменять 1ую компоненту массива на большую всех остальных компонент и заменить defol-777 Помощь студентам 2 15.01.2009 14:35