C++ Rellenar vector, punteros, asignacion dinami

malarcky

Tengo que realizar un programa que rellene un vector con 100 elementos de numeros enteros comprendidos en el intervalo [10,20], calcule su media mediante una funcion y la muestre, alguna idea? Cualquier aporte se agradece. Gracias

B

http://sauce.pntic.mec.es/jdiego/glosario/media.swf

1) Metes valores al azar en el vector usando un bucle con random
2) Implementas una funcion que te devuelva la media
3) Muestras por pantalla el valor de la función.

Si te interesa aprender con los datos que te he dado deberias poder hacerlo, en caso contrario espera que alguien postee el código.

dagavi

Y que esté entre 10 y 20 es tan fácil como hacer el módulo con la diferencia entre el máximo y el minimo y sumarle el mínimo. Si el máximo se quiere que aparezca pues la diferencia entre (máximo + 1) y mínimo.

NeB1

no sé si es bueno contestarte o que, porque se aprende pensando, pero weno, aquí va una idea, aunque ya hace muchos años que no gasto c++.

define VLENGTH 100
define MAX 20
define MIN 10
int main(){
  int vector[VLENGTH], i, value;
  for(i=0;i<100;i++){
    value=rand();
    value=rand%11; //Así todos los valores serán 1,2,3,4,5,6,7,8,9,10 y 0 
    value=value+10 //así todos los valores pasarán a ser 10,11,12,13,14...hasta 20
    vector[i]=value;
  }

}

Aquí, si no fallo en la sintaxis, tienes un vector generado con numeros aleatorios del 10 al 20 que creo que era lo más complicado del ejercicio

maRc

Puedes utilizar está función para sacar los números aleatorios:

/* Esta función obtiene un entero aleatorio entre 10 y 20 */
int obtieneAleatorio() {
    return 15; // Totalmente aleatorio, lancé un dado de 11 caras
               // y le sumé 10 al resultado
}
NeB1

omg xDDD

Buffoncete

Me va a gustar esta sección del foro, no la conocía xD

#4 está mal tu parte por dos motivos, haces:

value = rand()
value = rand%11

pobre chaval, si en la segunda no pones los () no fallará, dará un warning pero no funcionará.

value = rand()%11


Y por otra parte, si alguna vez has hecho algún juego que requiera de números aleatorios, si antes no alimentas los números random con una semilla, te saldrá siempre la misma secuencia, digamos que necesitas números aleatorios entre el 1 y el 10, si la primera ejecución tu aplicación diera:

1,3,3,5,6,7,8,9,1,2,6,2,3,4,1

la segunda ejecución daría el mismo resultado una y otra vez, para alimentar los números random con una semilla necesitas utilizar el tiempo actual de tu sistema:

#include <time.h>

  /* initialize random seed: */
  srand ( time(NULL) );

  /* generate secret number: */
  iSecret = rand() % 10 + 1;
dr_Rouman

#5

Fuente

xDDDDDDDDDD

Buffoncete

Te han cazado !!!!

xD

NeB1

#7 lo primero ha sido un patinazo donde pone rand%11 es value. y si, se me ha olvidado alimentar la semilla :P

Usuarios habituales