Поиск:

Ответ в темуСоздание новой темы Создание опроса
> алгоритм перебора, понимаю, уже было. ненашел. 
:(
    Опции темы
qw354
  Дата 17.7.2007, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 17.7.2007

Репутация: нет
Всего: нет



итак задача:

char a[300]="123\*длиииинная стока*\xyz";
char bufer[300];
for(;;)
{
\\тут чтета делается так, чтоб было как в примере работы программы, что ниже написан
printf("%s\n",bufer);
}

пример работы при a="123"
вывод:
1
2
3
11
12
13
21
...
111
112
113
121
...
323
331
332
333
...
3 n раз.
вроде все понятно smile 
решил вот поразвлечся написать прогу какуюнить(давно уж ниче не писал) да и пригодится эта прога может  smile  вроде простую задачу поставил, а нет, ниче в голову не приходитsmile  сам знаю, в любом учебнике наверно эта прга есть... главно сам алгоритм узнать бы..

Это сообщение отредактировал(а) qw354 - 17.7.2007, 13:22
PM MAIL   Вверх
mikla
Дата 17.7.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 3.12.2006
Где: Витебск

Репутация: нет
Всего: нет



Попробуй так : 
Код


   var M,N,i:byte;
    X:array[ byte ] of byte;
    Yes:boolean;
    f:text;
      procedure Next(var X:array of byte;var Yes:boolean);
      var i:byte;
      begin
        i:=N;

        while (i>0)and(X[i]=M) do begin X[i]:=1;dec(i) end;
        if i>0 then begin inc(X[i]);Yes:=true end
            else Yes:=false
      end;

    begin
     readln(M);
     for n:=1 to M do
     begin
      for i:=1 to N do X[i]:=1;
           repeat
             for i:=1 to N do write(X[i]);writeln;
                 Next(X,Yes)
             until not Yes
      end;
    end.




Код


#include <iostream>
using namespace std;

void generate ( int k, int m, int n, int x[100]) {
    if ( k == n ) {
        for ( int i = 1; i<=n; i++ ) cout << x[i];  
        cout << endl;
    }
    else
        for ( int j = 1; j<=m; j++ ) {
            x[k+1] = j;
            generate (k+1,m,n,x);
        }
};

int main()
{
    int M,N;
    int X[100];
    cin >> M;
    for ( N = 1; N<=M; N++ ) generate(0,M,N,X);
    return 0;
}



Это сообщение отредактировал(а) mikla - 17.7.2007, 14:34
--------------------
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0428 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.