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
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