+
1 5 5

: :)

  1. #1
    _DiZ_       _DiZ_
    13.01.2007
    9
    ()
    0
    : 0 (: 0).

     :)

    .
    . .
    :
    {
    : 1 2 3
    :
    1 2 3
    1 3 2
    2 1 3
    2 3 1
    3 1 2
    1 2 1
    ( )) )
    }
    .

  2. #2
    _snake_       _snake_
    02.02.2007
    nsk || brdsk
    319
    ()
    0
    : 0 (: 0).

     Re: :)

    :
    #include <stdio.h>
    #include <conio.h>
    #include <string.h>
    
    int Rec(char *res, char *src)
    {
    	int i, j, resLen, srcLen = strlen(src);
    	char *tmp = new char[256];
    
    	if (srcLen == 0) 
    	{
    		printf("%s\n", res);
    	}
    	else 
    	{
    		for (i=0; i<srcLen; i++)
    		{
    			resLen = strlen(res);
    			res[resLen] = src[i];
    			res[resLen+1] = 0;
    
    			for (j=i; j<srcLen; j++)
    				src[j] = src[j+1];
    
    			Rec(res, src);
    
    			for (j=i; j<srcLen-1; j++)
    				tmp[j] = src[j];
    		   
    			src[i] = res[resLen];
    			
    			for (j=i; j<srcLen-1; j++)
    				src[j+1] = tmp[j];
    		   
    			res[resLen] = 0;
    		}
    	}
    	return 0;
    }
    
    int main()
    {
    	char *str = new char[32];
    	char *buf = new char[32];
    
    	memset(str, 0, 32);
    	memset(buf, 0, 32);
    
    	printf("Enter string: ");
    	gets(str);
    	printf("\n\n");
    
    	Rec(buf, str);
    
    	_getch();
    	return 0;
    }

  3. #3
    OZone       OZone
    05.12.2006
    154
    ()
    0
    : 0 (: 0).

     Re: :)

    _snake_
    :
    char *str = new char[32];
    !!! C# , C++... , , ... - ! ... MS
    The death is not escape...

  4. #4
    _DiZ_       _DiZ_
    13.01.2007
    9
    ()
    0
    : 0 (: 0).

     Re: :)

    ...
    .
    :
    #include <stdio.h>
    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    
    
    void vvod_mas(int M[],int N);
    int  vvod_int();
    void per(int t,int M[],int N);
    void print(int *M,int f);
    void swap(int &a,int &b);
    
    
    
    void vvod_mas(int M[],int N)
    {
     for(int i=0;i<N;i++)
      M[i]=vvod_int();
    }
    
    int vvod_int()
    {
    	long int k_k;
    	int max=(pow(2,8*sizeof(int)-1)-1),t;
    
    	while (2)
    	{
    		scanf("%ld",&k_k);
    
    		if((k_k<max)&&(k_k>0))
    		{
    			t=(int)k_k;
    			break;
    		}
    		puts("Ne vernii diapazon\n Vvedite snova\n");
                   
    	}
    
     return t;
    }
    
    void per(int t,int M[],int N)
    {
    int backup[10];
    for (int j=0;j<N;j++) backup[j]=M[j];
    if(t==N-2){
    	print(backup,N);
    	swap(backup[t],backup[N-1]);
    	print(backup,N);return;
    	}	
    for(int i=t;i<N;i++)
    	{
    		swap(backup[t],backup[i]);
    		per(t+1,backup,N);
    	}
    
    }
    
    void print(int *M,int f)
    {
    	for(int i=0;i<f;i++) printf("%d ",*(M+i));
    	puts("  ");
    }
    
    void swap(int &a,int &b)
    {
    	int c;
    	c=a;
    	a=b;
    	b=c;
    }
    
    void main()
    {
    	int N,klmn=0;
    	clrscr();
    
    	puts("Programma vivodit na ekran vse perestanovki rida chisel.\n");
    	puts("Vvedite kolichestvo chisel v posledovatelnosti.\n");
    
    	N=vvod_int();
    	int *M=new int[N];
    
    	puts("\nVvedite elementi chislogo rida\n");
    
    	vvod_mas(M,N);
    
    	puts("\nResultn");
    	per(klmn,M,N);
    }

  5. #5
    VElmogA       VElmogA
    16.03.2007
    45
    ()
    0
    : 0 (: 0).

    void pereb(int i)
    {
    int j,k;
    if (i==f) prov();
    else
    {
    for (j=i+1;j<=f;j++)
    {
    pereb(i+1);
    k=p[i-1];p[i-1]=p[j-1];p[j-1]=k;
    }
    pereb(i+1);
    k=p[i-1];
    for (j=i;j<=f;j++) p[j-1]=p[j+1-1];
    p[f-1]=k;
    }
    }

    , pereb(1) - ( f)
    (p) { } .. :
    123
    132
    213
    231
    312
    321
    prov()

    3 . , )