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

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

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2021, 18:18   #11
король смерти
Пользователь
 
Регистрация: 17.06.2021
Сообщений: 17
По умолчанию

digitalis, ну смысл тут в том что нужно вывести все варианты и их количество. Как по мне ник нормальный)
король смерти вне форума Ответить с цитированием
Старый 19.06.2021, 21:58   #12
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Поскольку в #6 я лопухнулся, даю супер-сложно-навороченную прогу. Цифры 1..5 = дни недели Пн..Пт .
Код:
procedure TForm1.Memo1Click(Sender: TObject);
var i,j,k,v: integer;
begin
v := 1 ;
for i :=1 to 5 do
  for j := i+1 to 5 do
    for k := j+1 to 5 do
       begin Memo1.Lines.Add(Format('%2d = %d %d %d',[v,i,j,k])) ;
          Inc (v)
       end ;
end;
Предполагается в один день только 1 инглиш, и безразлично какой по порядку урок.
Ну если тебе ник нормальный - носи на здоровье. Ещё в детсаде популярны: Бабай, Барабашка.
digitalis вне форума Ответить с цитированием
Старый 19.06.2021, 23:41   #13
король смерти
Пользователь
 
Регистрация: 17.06.2021
Сообщений: 17
По умолчанию

digitalis, я что-то не могу понять что программа выводит. вообще не врубаюсь. объясните.

1 = 1 2 3
2 = 1 2 4
3 = 1 2 5
4 = 1 3 4
5 = 1 3 5
6 = 1 4 5
7 = 2 3 4
8 = 2 3 5
9 = 2 4 5
10 = 3 4 5
король смерти вне форума Ответить с цитированием
Старый 19.06.2021, 23:47   #14
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

первый вариант - пн,вт,ср - и т.д. всего вариантов 10.
Цитата:
Цифры 1..5 = дни недели Пн..Пт .
digitalis вне форума Ответить с цитированием
Старый 20.06.2021, 14:39   #15
король смерти
Пользователь
 
Регистрация: 17.06.2021
Сообщений: 17
По умолчанию

digitalis, теперь дошло
король смерти вне форума Ответить с цитированием
Старый 20.06.2021, 22:03   #16
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Заходи если что...
digitalis вне форума Ответить с цитированием
Старый 21.06.2021, 03:16   #17
canadamoscow
Пользователь
 
Аватар для canadamoscow
 
Регистрация: 16.05.2020
Сообщений: 57
По умолчанию

Код:
procedure TForm1.Memo1Click(Sender: TObject);
var
  v,d1,h1,d2,h2,d3,h3: integer;
begin
v := 1;
for d1 :=1 to 3 do
  for h1 := 1 to 4 do
    for d2 := d1+1 to 4 do
      for h2 := 1 to 4 do
        for d3 := d2+1 to 5 do
          for h3 := 1 to 4 do
           begin 
             Memo1.Lines.Add(Format('%2d = %d-%d %d-%d %d-%d',[v,d1,h1,d2,h2,d3,h3])) ;
             Inc (v) 
           end ;
end;

Последний раз редактировалось canadamoscow; 21.06.2021 в 10:01.
canadamoscow вне форума Ответить с цитированием
Старый 21.06.2021, 10:27   #18
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,550
По умолчанию

Ну это уж всеобъемлющая версия для всех случаев, видимо: и все 3 урока в один день, и порядковый номер урока играет рояля в смысле - уже другой вариант. Пригодится, видимо, в т.ч. и для школы в психдиспансере , со всеми его 640
>1000 вариантами.
-------------------------
Поскольку эта простая задачка превратилась в полигон: как её смешнее решить, то обойдёмся одним циклом.
Код:
procedure TForm1.SClick(Sender: TObject);
var i,j,n: integer ; ss: string ;

function sp (arg:integer; var n3: integer): string;
var t1,t2,n: integer; stmp: string ;
begin
  stmp := '0 0 0 0=0 0 0 0=0 0 0 0=0 0 0 0=0 0 0 0' ;
  t1 := 1 ;
  t2 := 524288 ;
  n3 := 0 ;
  while t2 > 0 do
    begin
      if (t2 and arg) > 0 then
          begin 
              stmp[t1] := '1' ;
              Inc (n3) 
           end ;
      t2 := t2 div 2;
      t1 := t1 + 2 ;
    end;
  Result := stmp
end ;

  n := 1 ;
  for i := 7 to 1000000 do
    begin
    ss := sp(i,j) ;
    if j = 3 then
      begin
        S.Lines.Add(Format('%3d %s',[n,ss])) ;
        Inc (n)
      end ;
    end ;
end;
О красоте вывода не заботился, всё понятно и так:
1 -- есть инглиш,
= -- разделитель дней.

Последний раз редактировалось digitalis; 21.06.2021 в 19:02.
digitalis вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
легкие браузеры. Пепел Феникса Свободное общение 18 20.09.2010 21:20
delphi, легкие задачки KaZaaM Помощь студентам 5 26.12.2009 14:35
2 легкие проги на С++ Deis Помощь студентам 4 24.04.2009 15:36