Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 05.09.2010, 10:03   #1 (permalink)
Serjant0007
Member
 
Регистрация: 21.06.2010
Сообщений: 31
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Задача о проведении смотра

На смотре было представлено 4 вокальных номера и художественное чтение. Сколько существует способов проведения смотра, выведите на экран эти способы. P.S. я с помощью математики посчитал что существует 600 способов проведения смотра.
Serjant0007 вне форума   Ответить с цитированием

Старый 05.09.2010, 10:03
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Участники нашего форума создавали похожие тем ранее

Задача по С + +
Задача по С++
Задача на Паскале
Задача на Паскале

Старый 05.09.2010, 10:18   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Serjant0007 Посмотреть сообщение
На смотре было представлено 4 вокальных номера и художественное чтение. Сколько существует способов проведения смотра, выведите на экран эти способы. P.S. я с помощью математики посчитал что существует 600 способов проведения смотра.
1. Что понимается под "способом проведения смотра"?
2. Что требуется в задаче - написать программу? Если да, то на каком языке?
3. Какого лешего мы вынуждены из Вас тащить информацию - это, в конце концов, нам надо или Вам? Неужели нельзя толком составить сообщение, чтобы было понятно?
Vladimir_S вне форума   Ответить с цитированием
Старый 05.09.2010, 10:22   #3 (permalink)
Serjant0007
Member
 
Регистрация: 21.06.2010
Сообщений: 31
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Извините пожалуйста! Способ проведения смотра это так: есть 4 вокала и 1 худ чтение их можно расположить по разному, например сначала может выступать первая вокальная группа, потом чтение, потом вторая потом третья и потом 4, чтение можно поставить вначало и это уже будет второй способ. Требуется написать программу: Pascal.
Serjant0007 вне форума   Ответить с цитированием
Старый 05.09.2010, 10:34   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Интересно, с помощью какой математики вы насчитали 600 способов? Если речь идет о перестановках множества из 5 элементов, то ответ такой: 5!=120.
Насчет программы - подумаю.
Vladimir_S вне форума   Ответить с цитированием
Старый 05.09.2010, 11:28   #5 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Придумал. Вот:
Код:
Const
 S0:ARRAY[1..5] of STRING=('V1','V2','V3','V4','R');
Var
 i1,i2,i3,i4,i5,j :Integer;
 S:ARRAY[1..5] of STRING;
BEGIN
 j:=1;
 For i1:=1 to 5 do
  begin
   S[1]:=S0[i1];
   For i2:=1 to 5 do
    If S0[i2]<>S[1] then
     begin
      S[2]:=S0[i2];
      For i3:=1 to 5 do
       If (S0[i3]<>S[1]) and (S0[i3]<>S[2]) then
        begin
         S[3]:=S0[i3];
         For i4:=1 to 5 do
          If (S0[i4]<>S[1]) and (S0[i4]<>S[2]) and
             (S0[i4]<>S[3]) then
           begin
            S[4]:=S0[i4];
            For i5:=1 to 5 do
             If (S0[i5]<>S[1]) and (S0[i5]<>S[2]) and
                (S0[i5]<>S[3]) and (S0[i5]<>S[4]) then
              S[5]:=S0[i5];
            Write(S[1]+'-'+S[2]+'-'+S[3]+'-'+S[4]+'-'+S[5]+' ');
            Inc(j);
            If j=6 then
             begin
              j:=1;
              WriteLn;
             end;
           end;
        end;
     end;
  end;

 Readln;
END.
Здесь V1..V4 - вокалисты, R - чтец. Не слишком красивое решение, но если обобщать на произвольное количество участников, то будет уж очень головоломно.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Старый 06.09.2010, 21:58   #6 (permalink)
Serjant0007
Member
 
Регистрация: 21.06.2010
Сообщений: 31
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

Спасибо огромное)))))
Serjant0007 вне форума   Ответить с цитированием
Старый 06.09.2010, 22:04   #7 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Serjant0007 Посмотреть сообщение
Спасибо огромное)))))
Пожалуйста. Разбирайтесь. Удачи!
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 13:23.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.