Страница 1 из 2

Помогите написать программу

Добавлено: 29 фев 2008, 13:23
krash171
Нужна программа на любом языке
Тема: "Составление списка размещения" это комбинаторика.
Размещение Вики
Может кто поможет буду очень благодарен.

Re: Помогите написать программу

Добавлено: 29 фев 2008, 13:50
Dim...ON
стучись в аську 198-012-696
сделаю на языках C++, Delphi, Pascal
я сейчас в сети

Re: Помогите написать программу

Добавлено: 01 мар 2008, 12:09
chnry
Стучись в 393-877-884
Поможем

Re: Помогите написать программу

Добавлено: 01 мар 2008, 13:20
krash171
Добавил.
В общем разобрался более менее что должна делать программа:
Даем пользователю выбрать скоко чисел ему дать ввести, он вводит их.
Потом он должен выбрать каким способом решить (с повторением или без повторения), потом скоко чисел вывести на экран. Ну и программа потом выводит.
Лучше всего на Дельфи т.к. его я хоть чуть чуть знаю, если что смогу подкоректировать.

Re: Помогите написать программу

Добавлено: 01 мар 2008, 17:07
drummer
что-то вроде этого

Код: Выделить всё

{$APPTYPE CONSOLE}

uses
  SysUtils;

var i,n,k,t,kol,q : longint;
    a,met : array of longint;
    s:string;
    f:boolean;

procedure cut_s;
   var i:longint;
   begin
        i:=length(s)-1;

        while (s[i]<>' ')and(i<>0) do
          dec(i);
        if i=0 then s:=''
               else
                   begin
                       s:=copy(s,1,i);
                   end;
   end;

procedure rec(x:longint);
   var i:longint;
   begin
      if x>k
          then
             begin
                  if t=k
                    then
                        begin
                             writeln(s);
                        end;
                  exit;
             end;

      for i:=1 to n do
        if (met[i]=0) or (f)
           then
               begin
                    inc(t);
                    s:=s+inttostr(a[i])+' ';
                    met[i]:=1;
                    rec(x+1);
                    cut_s;
                    dec(t);
                    met[i]:=0;
               end;
   end;

procedure init;
  begin
       setlength(a,n+1);
       setlength(met,n+1);
       t:=0;
       kol:=0;
       f:=true;
       s:='';
  end;

procedure input;
   begin
        write('quantity for input=');
        readln(n);
        init;
        for i:=1 to n do
           read(a[i]);
        writeln('with reiteration?');
        writeln('   1 <=> Yes');
        writeln('   0 <=> No');
        read(q);
        write('quantity for output=');
        readln(k);
   end;

procedure solve;
   begin
        if (q=0)
          then f:=false;
        rec(1);
   end;

begin
      input;
      solve;
end.

Re: Помогите написать программу

Добавлено: 01 мар 2008, 17:33
krash171
Вроде что то такое можно ток не в консоли

Re: Помогите написать программу

Добавлено: 02 мар 2008, 00:04
drummer
ну натыкай кнопочек, замени ввод и вывод.

Re: Помогите написать программу

Добавлено: 20 мар 2008, 13:11
krash171
Блин не получаеться переделать Application.
Вроде все перенес а ошибок куча выдает.
Помоги пожалуйста, а то сдавать уже скоро.

Re: Помогите написать программу

Добавлено: 18 апр 2008, 13:34
krash171
блин так и не получаеться(

Re: Помогите написать программу

Добавлено: 18 апр 2008, 14:57
MOTOCoder
Так а что именно не получается?