zadach533.PAS

{* Задача 533 *}

Unit ZADACH533;
Interface
Implementation
Begin
 writeln('Из семи красных и восьми белых роз требуется составить букет из пяти роз. Перечислить все возможные варианты. ');
End.

Program zadach533;
Uses crt, f_mouse; {* Подключение модулей *}
Var {* Объявление переменных *}
  m                 : longint;
  k                 : longint;
  i1                : longint;
  i2                : longint;
  i3                : longint;
  i4                : longint;
  i5                : longint;
  p3                : longint;
  j                 : longint;
  s1                : longint;
  s2                : longint;
  er                : integer;
  p1                : String;
  p                 : Array[1..1000]Of longint;
Procedure symma(g : longint;
Var {* Необходимые переменные *}
  p2 : longint);
Begin
  p2 := 0;
  str(g, p1);
  For i3 := 1 To 5 Do {* Переменная i3 увеличивается с 1 до 5 *}
  Begin
    val(p1[i3], j, er);
    p2 := p2 + j;
  End;
  
End;
Begin
  clrscr; {* Стираем всё с экрана *}
  For i1 := 1 To 2 Do {* Цикл для i1 => [1 .. 2] *}
    For i2 := 1 To 2 Do {* Увеличиваем i2 от 1 до 2 с шагом 1 *}
      For i3 := 1 To 2 Do {* Увеличиваем i3 от 1 до 2 с шагом 1 *}
        For i4 := 1 To 2 Do {* Переменная i4 увеличивается с 1 до 2 *}
          For i5 := 1 To 2 Do {* Переменная i5 увеличивается с 1 до 2 *}
          Begin
            m := i5 + i4 * 10 + i3 * 100 + i2 * 1000 + i1 * 10000;
            inc(k); {* Увеличиваем k на 1 *}
            p[k] := m;
          End;
  For i1 := 1 To k - 1 Do {* Увеличиваем i1 от 1 до k с шагом 1 *}
    For i2 := i1 + 1 To k Do
    Begin
      symma(p[i1], s1);
      symma(p[i2], s2);
      If s1 = s2 Then
        p[i2] := 0;
    End;
  For i2 := 1 To k Do {* Переменная i2 увеличивается с 1 до k *}
    If p[i2]0 Then
      write(p[i2], '   ');
  readln; {* Приостановка программы. Ожидание Enter *}
End.