Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Antonio9411

#1
Buenas a quien lea. Escribo con motivo de un probremilla que me ha surgido con un ejercicio de clase que se me ha atragantado. La cuestión es hacer un programa que genere 10 numeros aleatorios entre el 10 y el 1000, los muestre en pantalla y diga cual es el maximo y el minimo.

He comenzado generando los valores aleatorios entre ese itervalo, y los he metido en un vector para poder trabajar con ellos más adelante. Hasta aqui ningún problema, el programa me muestra los resultados en pantalla y todos estan comprendidos entre el 10 y el 1000. Lo malo viene cuando intento definir el max y el min.

Lo que he intentado es definir un maximo y un minimo como los valores de dos posiciones cualquiera del vector, y recorrer el vector con un ciclo for, viendo si cada vector es mayor o menor que el maximo, y así definir nuevos max y min.  Tal que así.

//Programa que genera 10 numeros aleatorios entre el 100 y el 1000 y dice cual es el maximo, el minimo y el medio

#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

int main (void) {
    int v[10], i, max, min;
   
    srand(time(NULL));
    v[0]=10+rand()%(1000-10)+1;
    v[1]=10+rand()%(1000-10)+1;
    v[2]=10+rand()%(1000-10)+1;
    v[3]=10+rand()%(1000-10)+1;
    v[4]=10+rand()%(1000-10)+1;
    v[5]=10+rand()%(1000-10)+1;
    v[6]=10+rand()%(1000-10)+1;
    v[7]=10+rand()%(1000-10)+1;
    v[8]=10+rand()%(1000-10)+1;
    v[9]=10+rand()%(1000-10)+1;
   
     cout<<v[0]<<endl<<v[1]<<endl<<v[2]<<endl<<v[3]<<endl<<v[4]<<endl<<v[5]<<endl;
     cout<<v[6]<<endl<<v[7]<<endl<<v[8]<<endl<<v[9]<<endl;   

   v[0]=max;
   v[0]=min;
    for (i=0;i<10;i++) {
     
        if(v>max) { v=max; }
        else if(v<min) { v=min; } }
       
       
     cout<<"Maximo: "<<max<<endl;
     cout<<"Minimo: "<<min<<endl;   
       
   
   
   
    system("pause");
   
    return 0; }


Sin errores de sintaxis, el programa compila, pero al ejecutarse, me muestra un maximo y un minimo aleatorio y fuera del intervalo. Llevo un par de dias dandole vueltas y no se me ocurre nada.

Supongo que será un error muy obvio y tonto, o que estaré metiendo la pata hasta el fondo confundiendo algún concepto, pero llevo solo un mes programando y no se me ocurre donde.

Gracias de antemano y saludos.