SDL
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
Mostrar Mensajes Menúint c;
unsigned contador = 0;
while((c = getchar()) != EOF && c != '\n')
if(c != '\n')
contador++;
#include <iostream>
#include <Time.h>
#include <cstdlib>
using namespace std;
void CargaVector(int vec[],int digitos)
{
int z=0,error,N;
while (vec[digitos-1] == 0)
{
error=1;
while (error == 1)
{
error=0;
N = (rand() % digitos) + 1;
for (int a=0;a<z;a++)
if (N == vec[a])
error=1;
if (error == 0)
vec[z]=N;
}
z++;
}
}
int main()
{
int N,x,y,digitos,aux,fact,error,bien=1,ban;
cout << "Digitos: ";
cin >> digitos;
aux = digitos;
fact = digitos;
while (aux-1 > 1)
{
fact = fact*(aux-1);
aux--;
}
int mat[fact][digitos],vec[digitos];
for (x=0;x<fact;x++)
for (y=0;y<digitos;y++)
mat[x][y] = 0;
for (x=0;x<digitos;x++)
vec[x]=0;
CargaVector(vec,digitos);
//
x=0;
for (y=0;y<digitos;y++)
mat[x][y] = vec[y];
CargaVector(vec,digitos);
while (mat[fact-1][digitos-1] == 0) //mientras el ultimo elemento de la matriz siga siendo 0
{
x=0;
---> while (mat[x][0] != 0) //mientras el primer elemento de la fila sea distinto de 0 (aca va a estar comparando, para no repetir combinaciones)
{
bien=0;
ban=0;
for (y=0;y<digitos;y++)
if (mat[x][y] != vec[y] && ban == 0)
{
bien++;
ban++;
}
if (bien == 0) //si bien sigue siendo 0 es porque hubo una combinacion coincidente, vuelvo a generar una combinacion en mi vector auxiliar y mando al final del ciclo
{
CargaVector(vec,digitos);
continue;
}
x++;
---> }
if (bien-1 == x)
for (y=0;y<digitos;y++)
mat[x][y] = vec[y];
}
return 0;
}