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ú

Mensajes - Antonio9411

#1
EDITO. Era un fallo del archivo.
#2
Cita de: zonahurbana en 20 Noviembre 2012, 21:27 PM
Y recuerda que para generar N números aleatorios (de un mismo intervalo) puedes usar también un FOR:
for(int x=0; x<N; x++) v[x]=10+rand()%(1000-10)+1;
// En tu caso reemplazarías N por 10.


Lo mismo para mostrar valores N contenidos en un arreglo:
for(int x=0; x<N; x++) cout<<v[x]<<endl;

Pues es verdad... Mira que estoy espeso, lo que me puedo ahorrar así... Gracias!
#3
Solucionado. Muchas gracias!
#4
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.