All pastes #748676 Raw Edit

Untitled

public text v1 · immutable
#748676 ·published 2007-10-25 00:41 UTC
rendered paste body
#include <iostream.h>
#include <stdlib.h>
void intercambiar (int *p1, int *p2)
{
     int aux;
     aux = *p1;
     *p1 = *p2;
     *p2 = aux;
}

void ordenar(int vector[], int i, int j)
{
     int x,y;
     for(x=i; x<j-1; x++)
              for (y=x+1; y<j; y++)
                  if (vector[x] > vector[y])
                     intercambiar(&vector[x],&vector[y]);
}

int posmenor(int vector[],int i, int n, int sig)
{
    int x, m=0;
    for (x=n-1;x >= i ; x--)
    {
  	   	if (vector[x] > sig)
          {
  	  	  	 m=x;
             x=-1;
    	  }
  	}
  	x=-1;
}

void escribir(int vector[],int n)
{
     for(int i=0;i<n;i++)
        cout<<vector[i]<<" ";

}
  	
int permutar (int vector[], int i, int n)
{
    int p;
    if (i>0)
    {
  	  	if (vector[i] > vector[i-1])
         {
             p=posmenor(vector, i, n, vector[i-1]);
             intercambiar(&vector[p], &vector[i-1]);
             ordenar(vector, i, n);
             escribir(vector, n);//aqui mostramos el arreglo resultante despues de cada permutacion
             return 1;
  	  	 }
  	  	else
  	  	     return (permutar(vector, i-1, n));
  	}
}
  	
int main()
{

         int *vector,n;//hay que leer el tamaño del arreglo
         vector=new int(n);

         while(permutar(vector,n-1,n)!=-1)
         {

         }
      system("PAUSE");
      return 0;
}