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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2012, 18:48   #1
ssnnqq
Новичок
Джуниор
 
Регистрация: 31.03.2012
Сообщений: 2
По умолчанию Просьба помочь с задачкой:)

есть два числа, к примеру: 1 и 2
нужно составить все варианты последовательностей этих чисел (10 чисел в строке/последовательности)
может не совсем понятно условие написал, вот пример начала:
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 2
1 1 1 1 1 1 1 1 2 2
1 1 1 1 1 1 1 2 2 2
1 1 1 1 1 1 2 2 2 2
1 1 1 1 1 2 2 2 2 2
1 1 1 1 2 2 2 2 2 2
1 1 1 2 2 2 2 2 2 2
1 1 2 2 2 2 2 2 2 2
1 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2
1 1 1 1 1 1 1 1 2 1
и так далее... и еще думаю что понятно что в ряду могут быть только одни числа.
я думаю, эта задача может быть решена в паскале, если же в какой-либо другой программе проще, то пожал-та скажите
ssnnqq вне форума Ответить с цитированием
Старый 31.03.2012, 20:03   #2
VIK_aka_TOR
Участник клуба
 
Аватар для VIK_aka_TOR
 
Регистрация: 30.01.2011
Сообщений: 1,578
По умолчанию

Код:
var i,j : integer;
a:array [1..10] of byte;
begin
for i:=1 to 10 do
  a[i] := 0;
  
for i:=0 to 1023 do
begin 
if i >= 512 then a[1] := 1 else a[1] := 0;
if (i mod 512) >= 256 then a[2] :=1 else a[2]:=0;
if (i mod 256) >= 128 then a[3] := 1 else a[3]:= 0;
if (i mod 128) >= 64 then a[4] := 1 else a[4]:= 0;
if (i mod 64) >= 32 then a[5] := 1 else a[5]:= 0;
if (i mod 32) >= 16 then a[6] := 1 else a[6]:= 0;
if (i mod 16) >= 8 then a[7] := 1 else a[7]:= 0;
if (i mod 8) >= 4 then a[8] := 1 else a[8]:= 0;
if (i mod 4) >= 2 then a[9] := 1 else a[9]:= 0;
if (i mod 2) >= 1 then a[10] := 1 else a[10]:= 0;
for j:=1 to 10 do
write(a[j] + 1,' ');
writeln;
end;

end.
как насчет такого вывода?... взятое на основании чисел в двоичной системе...
вот такой как вами указан был
Код:
var i,j,k,x,z : integer;
a:array [1..10] of byte;
begin
for i:=1 to 10 do
  a[i] := 0;
for j:=1 to 10 do
    write(a[j] + 1,' ');
    writeln;  
for z := 0 to 9 do
  for i:=1 to 10 do
  begin 
    for k:=1 to 10 do
      a[k] := 0; 
  for k :=10 - i + 1 to 10 - i +1 do
    begin
      for x :=k  to k +i - 1 do
        a[(x + z) mod 10 + 1]:= 1;
      for j:=1 to 10 do
        write(a[j] + 1,' ');
        writeln;
    end;
  end;
end.
пишу код не только за печеньки

Последний раз редактировалось VIK_aka_TOR; 31.03.2012 в 20:23. Причина: добавлен вариант решения
VIK_aka_TOR вне форума Ответить с цитированием
Старый 31.03.2012, 21:29   #3
ssnnqq
Новичок
Джуниор
 
Регистрация: 31.03.2012
Сообщений: 2
По умолчанию

огромное спасибо насчет "помог - жми на весы" - весы не могу найти)
ssnnqq вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Просьба помочь! С++/С# Lihoj Фриланс 0 08.12.2011 02:49
Просьба помочь с условием в тесте. Ветас Помощь студентам 0 26.12.2010 20:19
Просьба помочь Ditmar Microsoft Office Word 1 28.04.2010 13:11
Просьба помочь с задачей. kry Паскаль, Turbo Pascal, PascalABC.NET 9 11.01.2009 13:53
Можете помочь с задачкой? Fitness Паскаль, Turbo Pascal, PascalABC.NET 2 26.12.2007 17:46