elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Generar números aleatorios sin que se repitan ... en C++ en: 22 Febrero 2011, 00:52 am
Hola, foreros!

Estoy iniciándome con este asunto de la programación y me han puesto un ejercicio en el cual me piden lo siguiente:

"Hacer un programa que llene 2 arreglos unidimensionales de 10 elementos con valores aleatorios de 1 a 15. En cada arreglo no puede existir el mismo número repetido, pero si puede existir en el otro arreglo.

Cuando termina de llenar los vectores debe mostrar su contenido uno a la par del otro. Luego deberá sumar los resultados en un tercer arreglo tomando el primer elemento del arreglo 1 y sumarlo con el último elemento del arreglo 2.

Al finalizar la suma de los elementos debe mostrar el resultado del tercer vector."



Pues bien, ya comencé a desarrollar el código para resolver este ejercicio, pero, cuando llego a la parte donde debo comprobrar si un elemento se repite en un arreglo (por el momento solamente he declarado 1 arreglo) ya no sé qué hacer para crear la recursividad que me permita saber si el elemento está o no repetido.

Agradecería mucho si podéis ayudarme a resolver esto. Os dejo el código que he desarrollado hasta el momento.

//Inicia el codigo

#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <time.h>
using namespace std;

int main () {

        int tamanno = 10;
        int arreglo1[tamanno]; //declaro un arreglo de 'tamanno' elementos.
        int contador = 1;
        int aux = 0;

        //Voy a sembrar una 'semilla' para luego usar numeros aleatorios en
        //el arreglo que utilizare posteriormente.
        srand(time(NULL));

        //Esto inicializa en '0' a los elementos del arreglo.

        for ( int i = 0; i < tamanno; i++ ) {
        arreglo1 = (rand() % 10) + 1; //Genera numeros aleatorios entre 0 y 10
        }

        // Aqui deberia haber algo que permita crear una recursion para saber
        // si un elemento del arreglo esta repetido. De ser asi deberia crear
        // otro elemento en esa posicion, comprobar de nuevo si esta repetido
        // y si no lo esta entonces pasar a la siguiente posicion repetiendo
        // esta accion hasta que todos los numeros no esten repetidos.

        //Ahora voy a mostrar el encabezado de donde estara el arreglo.

        cout << "Elemento" << setw(13) << "Valor" << endl;

        cout << "Elemento" << setw(13) << "Valor" << endl;

        //Esta sección de codigo es la que muestra a los elementos del
        //arreglo.
        for ( int i = 0; i < tamanno; i++ )
                cout << setw(7) << i << setw(13) << arreglo1 << endl;

        return 0;


// Finaliza el codigo
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines