Глава 52. Задание "Г".

Книга адресована школьникам средних и старших классов, желающим испытать себя в «олимпийских схватках». Может быть полезна студентам-первокурсникам и преподавателям информатики.

Модераторы: Oleg_D, Модераторы

Глава 52. Задание "Г".

Сообщение Герман » 13.12.2016 12:00:35

Прошу оценить мое решение:

Код: Выделить всё
const CSize = 255;
type TSet = set of 1..CSize;
var S            : TSet;
i, n1, n2, k : integer;

begin
  S := [];
  for i := 1 to CSize do begin
    k := Random(CSize) + 1;
    S:= S + [k];
  end;
  for i := 1 to CSize do
    if i in S then Writeln(i);
  k := 1;
  Write('[');
  repeat
    if (k in S) and ((k + 1) in S) and ((k + 2) in S)
      then begin
        n1 := k;
        while k in S do Inc(k);
        n2 := k - 1;
        Write(n1, '..', n2,  ', ');
      end
      else
        if (k in S) and ((k + 1) in S) and not ((k + 2) in S)
        then begin
          Write(k, ', ');
          Inc(k);
        end
        else
          if (k in S) and not ((k + 1) in S)
              then begin
                Write(k, ', ');
                Inc(k);
              end
              else if not (k in S)
                then Inc(k);
  until (k > (CSize));
  Write(']');
  REadln;
end.

Герман
новенький
 
Сообщения: 26
Зарегистрирован: 27.10.2016 11:11:41

Re: Глава 52. Задание "Г".

Сообщение bormant » 14.12.2016 00:22:21

Множество: 1,2,5
Вывод будет содержать 2?
0 точно не нужен в качестве члена множества?
Аватара пользователя
bormant
постоялец
 
Сообщения: 366
Зарегистрирован: 21.03.2012 11:26:01

Re: Глава 52. Задание "Г".

Сообщение Герман » 14.12.2016 14:36:08

2- ку выводит. " 0 " добавил, тоже работает.
Я что хотел спросить- мой вариант вообще колхоз или "на троечку " пойдет?
Вариант из книги я бы сам не осилил. Хитро там придумано.
Герман
новенький
 
Сообщения: 26
Зарегистрирован: 27.10.2016 11:11:41

Re: Глава 52. Задание "Г".

Сообщение Oleg_D » 16.12.2016 15:40:06

Герман писал(а):Вариант из книги я бы сам не осилил. Хитро там придумано.

У вас тоже непросто :)
Я пока только глазами пробежал, не испытывал. Кое-что вам уже подсказали, мне кажется, что там и лишняя запятая выводится в конце. Главный плюс в том, что вы решаете самостоятельно, своим путём идёте. Без этого невозможно научиться. А хорошие изящные решения даже опытным программистам не сразу даются. Мастерство со временем приходит, если стараться каждую программу доводить до совершенства, а не следовать принципу «и так сойдёт». Действуйте в этом духе, и цель будет достигнута!
Oleg_D
постоялец
 
Сообщения: 385
Зарегистрирован: 09.05.2011 11:28:36


Вернуться в Книга "Песни о Паскале"

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru