Buenas mi problema es que tengo que hacer un programa que genere una matriz cuadrada y se llene con números aleatorios sin repetir, pero lo que no puedo es hacer que los números no se repitan.
Ojala y pudieran ayudarme, de antemano muchas Gracias.
Mi código es el siguiente y tiene que ser orientado a objetos:
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
class Matriz{
public:
int matriz[10][10];
int fila,columna,tam;
void Mostrar();
void Capturar();
}mat;
void Matriz::Capturar()
{
cout<<"\nIngrese el tamaño de la matriz==>";
cin>>tam;
fila=tam;
columna=tam;
if(tam>10||tam<1)
{
cout<<"Tamaño invalido";
mat.Capturar();
}else{
matriz[1][1]=matriz[fila][columna];
srand(time(NULL));//numeros Aleatorios en funcion del tiempo
for (int fila=0;fila<tam;fila++)//para desplazarse por las columnas
{
for (int columna=0;columna<tam;columna++)//para desplazarse por las filas
{
matriz[fila][columna]=rand()% (101 - 1);//Agrega numero aleatorio a la posicion ij de la matriz
cout<<"\t"<<matriz[fila][columna];//imprime elemento de la matriz en pantalla
}
cout<<"\n\n";//para dejar espacios entre filas.
}
}
}
int main()
{
mat.Capturar();
}
Ojala y pudieran ayudarme, de antemano muchas Gracias.
Mi código es el siguiente y tiene que ser orientado a objetos:
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
class Matriz{
public:
int matriz[10][10];
int fila,columna,tam;
void Mostrar();
void Capturar();
}mat;
void Matriz::Capturar()
{
cout<<"\nIngrese el tamaño de la matriz==>";
cin>>tam;
fila=tam;
columna=tam;
if(tam>10||tam<1)
{
cout<<"Tamaño invalido";
mat.Capturar();
}else{
matriz[1][1]=matriz[fila][columna];
srand(time(NULL));//numeros Aleatorios en funcion del tiempo
for (int fila=0;fila<tam;fila++)//para desplazarse por las columnas
{
for (int columna=0;columna<tam;columna++)//para desplazarse por las filas
{
matriz[fila][columna]=rand()% (101 - 1);//Agrega numero aleatorio a la posicion ij de la matriz
cout<<"\t"<<matriz[fila][columna];//imprime elemento de la matriz en pantalla
}
cout<<"\n\n";//para dejar espacios entre filas.
}
}
}
int main()
{
mat.Capturar();
}