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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2007, 20:50   #11
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Меня задача и ее условие особенно не волнуют. Мне интересно как вывести на экран например такие фрагменты массива (выделено красным):
. . .1 2 3 4 3 2 1 5 6 7. . .
puporev вне форума Ответить с цитированием
Старый 31.10.2007, 05:17   #12
Aristarh Dark
Форумчанин
 
Регистрация: 07.08.2007
Сообщений: 154
По умолчанию

Вот решение по предложенному мной алгоритму:
Код:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  data:array [1..50] of integer;
  StartIntervar:Integer = -1;
  i:Integer;
procedure OutLineToScr(start,finish:byte);
//Вывод последовательности на экран
var
  j:integer;
begin
  WriteLn;
  WriteLn('[',start,',',finish,']');    //<- Это границы последовательности
  for j:=start to finish do
    Write(data[j],' ');                 //<- Это сама последовательность
  WriteLn;
end;
begin
  //Заполнили последовательность
  for i:=1 to 50 do
    data[i]:=Random(11)-5;
  //Поиск возрастающих последовательностей
  for i:=2 to 50 do
    begin
      if data[i-1]<data[i] then
        begin
          if StartIntervar<0 then
            StartIntervar:=i-1;
        end
      else
        if StartIntervar>0 then
          begin
            OutLineToScr(StartIntervar,i-1);
            StartIntervar:=-1;
          end;
    end;
  Readln;
end.
Есть тут одна бага - но это на самостоятельное решение оставлю, а то разжуй да еще и проглоти
Aristarh Dark вне форума Ответить с цитированием
Старый 31.10.2007, 09:44   #13
puporev
Старожил
 
Регистрация: 13.10.2007
Сообщений: 2,740
По умолчанию

Извините пожалуйста Aristarh Dark. Я вообще-то ввязался в переписку со Stilet, а Ваш первый пост внимательно не читал. Все нормально работает. Спасибо. Ошибку в Вашем коде нашел только одну.
Цитата:
StartIntervar:Integer = -1;
Я бы написал это так: StartIntervar:Integer;{:= -1}. Всего хорошего.
puporev вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запись последовательности в txt NeiL Общие вопросы Delphi 1 14.04.2008 22:23
Ввод последовательности чисел POPOV Общие вопросы Delphi 5 16.02.2008 22:13
Как из последовательности чисел выделить недостающие Юрій Microsoft Office Excel 2 27.01.2008 21:46
Не могу выявить ошибку Cyn4uk Общие вопросы Delphi 14 14.01.2008 13:12
суммы членов числовой последовательности tonic Microsoft Office Excel 2 04.01.2008 00:24