Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: messi22 en 22 de Octubre 2021, 15:44

Título: lenguajeC C ejercicio resuelto vectores numeros enteros tamaño cargar mostrar
Publicado por: messi22 en 22 de Octubre 2021, 15:44
Hola, necesito ayuda para resolver este ejercicio, me cuesta resolverlo...


Ejercicio a resolver

Se va a trabajar con dos vectores de numeros enteros. Se pide lo siguiente:

1) El tamaño de ambos vectores sera el mismo, será un numero aleatorio entre 5 y 15 impar.
2) Ambos vectores deberan cargarse con números aleatorios impares entre 20 y 40, que no terminen en 5.
3) Mostrar ambos vectores. 
4) Mostrar el producto entre todos los numeros mayores a 35 (de los dos vectores).
5) Mostrar el minimo entre los dos vectores y en que vector se encontro.
Título: Re: Lenguaje en c
Publicado por: Kabuto en 23 de Octubre 2021, 10:13
Hola.
Muestra lo que tengas hecho y/o específica que parte es la que se te resiste, o donde tienes dudas sobre que proceso lógico aplicar.

Un saludo.
Título: Re: Lenguaje en c
Publicado por: messi22 en 23 de Octubre 2021, 11:26
Hola que tal, me trabe con el 1) y no continue mucho, intente el numero aleatorio entre 5 y 15:
 variable= min + rand()%(max-min+1);
y nose si despues un para el numero impar asi
 if (num%2!=0)
y los demas no llegue
Título: Re: Lenguaje en c
Publicado por: Kabuto en 24 de Octubre 2021, 00:28
Bueno, a ver...

La verdad es que el lenguaje C no es lo mío, lo conozco muy por encima...

Aquí he escrito un código que, usando dos funciones para generar distintos tipos de aleatorios, se crean, rellenan y muestran ambos vectores.
No se si es el código más adecuado, ya digo que estoy poco familiarizado con C, pero parece funcionar.

Sería maravilloso que alguien con mejores capacidades nos diera su opinión.

Faltarían los puntos 4) y 5). Inténtalos, a ver hasta donde puedes llegar.

Código: [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int generaImpar5_15(); //Función que genera un impar entre 5 y 15
int generaImpar20_40(); //Función que genera un impar entre 20 y 40, y que no acaba en 5

int main()
{
    srand(time(NULL));
    //Creamos vectores
    int longitud = generaImpar5_15();
    int vector1[longitud], vector2[longitud];
    //Rellenamos
    for (int i  = 0; i < longitud; i++) {
        vector1[i] = generaImpar20_40();
        vector2[i] = generaImpar20_40();
    }
    //Los mostramos
    printf("Vector 1:\n");
    for (int i  = 0; i < longitud; i++) {
        printf("%d ", vector1[i]);
    }
   
    printf("\nVector 2:\n");
    for (int i  = 0; i < longitud; i++) {
        printf("%d ", vector2[i]);
    }
   
    return 0;
}

int generaImpar5_15() {
   
    int impar;
    do {
        impar = 5 + (rand() % 11);
    } while (impar % 2 == 0); //Si es par, se repite el bucle
   
    return impar;
}

int generaImpar20_40() {
   
    int imparNo5;
    do {
        imparNo5 = 20 + (rand() % 21);
    } while(imparNo5 % 2 == 0 || imparNo5 % 5 == 0);//Si es par, o impar múltiplo de 5, se repite el bucle
   
    return imparNo5;
}
Título: Re: Lenguaje en c
Publicado por: Mario R. Rancel en 24 de Octubre 2021, 11:22
Hola Kabuto, yo el código lo veo correcto. Para messi22, en https://aprenderaprogramar.com/foros/index.php?topic=1460.0 tienes las indicaciones sobre cómo escribir en los foros, cómo poner título a los hilos, etc. Si te queda alguna duda escribe una consulta en el foro "Comunidad". Es importante que aportes código para poder partir de él (ver cómo pegar código en el hilo citado). Si necesitas una base de lenguaje C mira el curso disponible en la web https://aprenderaprogramar.com/index.php?option=com_content&view=category&id=82&Itemid=210
Un saludo,