Problema Matriz cuadrada con números aleatorios sin repetir

Iniciado por zaico77, 14 Febrero 2014, 17:39 PM

0 Miembros y 1 Visitante están viendo este tema.

zaico77

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();
}

leosansan


Antes que nada cuando postees código elige las etiquetas GeSHi y toma la C++ y en medio de las etiquetas Code que aparecen "pegas" tu código. Al no hacerlo de esta manera parte del código no sale correcta, especialmente las matrices.

Tienes varias respuesta a tu problema en este tema.

¡¡¡¡ Saluditos! ..... !!!!

:rolleyes: ;) ;) ;) :rolleyes:


Yoel Alejandro

Acabo de ver que este tema fue respondido al usuario en otro foro de C.
Saludos, Yoel.
P.D..-   Para mayores dudas, puedes enviarme un mensaje personal (M.P.)

leosansan


Mira que habían respuestas variadas en el hilo que le indiqué.

Posiblemente de ahí sacó la respuesta ya que en el otro foro sólo se le indicó un enlace para rellenar un array unidimensional, no bidimensional como él pedía.

Pero me apunto a la respuesta que le dieron en el sentido de que si consultas algo y lo resuelves no te cuesta nada colgar tu solución en el foro, así a otros usuarios les puede venir bien. Pero está visto que algunos sólo van a lo suyo. :rolleyes: :rolleyes: :rolleyes:

Por eso me ahorro la respuesta a llenar el array con números decimales en lugar de enteros.


¡¡¡¡ Saluditos! ..... !!!!

:rolleyes: ;) ;) ;) :rolleyes: