Autor Tema: lenguajeC C ejercicio resuelto vectores numeros enteros tamaño cargar mostrar  (Leído 1924 veces)

messi22

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
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.
« Última modificación: 13 de Abril 2022, 19:13 por Alex Rodríguez »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 985
    • Ver Perfil
Re: Lenguaje en c
« Respuesta #1 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.
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

messi22

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Re: Lenguaje en c
« Respuesta #2 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

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 985
    • Ver Perfil
Re: Lenguaje en c
« Respuesta #3 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;
}
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
Re: Lenguaje en c
« Respuesta #4 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,

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".