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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2014, 00:18   #1
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию Последовательность чисел.

Последовательно вводятся исходные данные - целые числа. Признак окончания последовательности - число 0, которое само в последовательность не входит. Проверить и вывести на экран, отсортирована ли последовательность в порядке убывания.(без массива)
Код:
var a,b : integer; r:boolean;
begin
  r:=true;
  readln(b);
  if b<>0 then
  begin
    repeat
      readln(a);
      if a=0 then break;
      if b<=a then r:=false;
      b:=a;
    until false;
  end else r:=false;
    writeln(r);
end.
Как это сделать без break'а?
Lumpup вне форума Ответить с цитированием
Старый 08.11.2014, 00:32   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Чем плох break?

Ну а избавиться от него можно, например, так:

Код:
var a,b : integer; r:boolean;
begin
  r:=true;
  readln(a);
  b:=high(b);
  while a<>0 do begin
    if b<=a then r:=false;
    b:=a;
    readln(a);
  end;
  writeln(r);
end.
Arigato вне форума Ответить с цитированием
Старый 08.11.2014, 00:36   #3
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Чем плох break?

Ну а избавиться от него можно, например, так:

Код:
var a,b : integer; r:boolean;
begin
  r:=true;
  readln(a);
  b:=high(b);
  while a<>0 do begin
    if b<=a then r:=false;
    b:=a;
    readln(a);
  end;
  writeln(r);
end.
break не плох, но он запрещён..
Спасибо вам
Lumpup вне форума Ответить с цитированием
Старый 08.11.2014, 09:02   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
break не плох, но он запрещён..
Твой преподаватель случайно не в Роскомнадзоре работает?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.11.2014, 09:39   #5
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Твой преподаватель случайно не в Роскомнадзоре работает?
Судя по заданиям к лабам - половина преподов неадекватные маньяки-педофилы и/или наркоманы-алкаши, дружно сидящие в психушках, в палатах для буйных, под галоперидолом.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 08.11.2014, 12:19   #6
Lumpup
Пользователь
 
Регистрация: 13.10.2014
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
Чем плох break?

Ну а избавиться от него можно, например, так:

Код:
  b:=high(b);
Что значит это?
Lumpup вне форума Ответить с цитированием
Старый 08.11.2014, 12:23   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,547
По умолчанию

Максимально возможное число.
Arigato вне форума Ответить с цитированием
Старый 08.11.2014, 13:18   #8
ViktorR
Старожил
 
Регистрация: 23.10.2010
Сообщений: 2,309
По умолчанию

Осмелюсь предложить слегка модифицированный вариант:
Код:
var a,b : integer; fZ, fL:boolean;
begin
  readln(b);
  if b <> 0 then
  begin
     fZ := true;
     fL := true;
  end;
  while (fZ and fL) do
  begin
     readln(a);
     if (a<>0) then
     begin
        if (a > b) then fL := false;
        b := a;   {только если a <> 0}
     end
     else
        fZ := false;
  end;
  writeln(fL);
end.
Код завершает работу сразу при обнаружении нуля или нарушения условия задачи.

Как-то так, ...
Как-то так, ...
ViktorR вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дана непустая последовательность целых чисел. Найти: Сумму чисел, больших числа x и количество всех чётных чисел maksim97maksim Паскаль, Turbo Pascal, PascalABC.NET 1 09.04.2014 13:59
Дана последовательность целых чисел a1, a2, …an. Образовать новую последовательность, выбросив из исходной, те члены, которые равн Мария74 C++ Builder 2 04.12.2013 23:09
Дана непустая последовательность вещественных чисел, оканчивающаяся числом 1000. Последовательность является неубывающей. fanatloko Паскаль, Turbo Pascal, PascalABC.NET 1 23.06.2013 14:25
Дана последовательность вещественных чисел. каждая пара чисел задает границы отрезка. Найти количество целых чисел на отрезках 'studentka' Помощь студентам 6 30.11.2011 18:35
С\С++ Дана последовательность чисел. Найти количество различных чисел в этой последовательности yuliyayuliya Помощь студентам 1 14.04.2011 06:30