La verdad explicas muy bien, y no te limitaste a explicar un ejemplo si no q profundizaste en como trabaja la funcion y mas todabia, super completa la info! Justo lo que buscaba! Me suscribo para aprender de sus demas videos y futuros videos q subas tambien! Saludos profe ariel!
Gran video profe. Una consulta ¿se pueden generar numeros con negativos? Porque debo generar numeros entre el rango de -100 y 100. Por lo que leí solo va de 0 hasta RAND MAX pero en ese caso ¿como haria para tambien obtener negativos desde el -100 hasta el positivo 100? Porque en el final del video con esos IFS, es por si son par o no, si es par si se convertirá y sino , no cierto?
@@ElProfeAriel ahhh bien. Osea que si le resto 100 al numero que me genera rand, puede que sea 1 - 100 y el numero sea -99 por ejemplo, o puede ser que el numero generado por rand sea 150 y restandole 100 seria 50 en realidad. Entiendo bien profe?
Buenas Profesor. Gracias por la explicación. Qué programa utiliza? Parece mas fácil que el de Visual que estoy usando. Así al menos me concentro mas en aprender a hacer el código que en usar el programa.
Y si al obtener los 100 numeros aleatorios, quisiera ordanarlos de mayor a menor? #include #include #include int main(){ int i; srand(time(0)); int numeros[100] ={}; for (int i=1000; i>=0; i--) { numeros[i] = (rand() % 1000)+1; } for (int i=100; i>0; i--) { printf("Consecutivo %d valor %d ", i , numeros[i]); } printf("Termina programa "); } Esto es lo que tengo pero no me sale, me podrias ayudad porfavor
Antes de tu segundo ciclo for (Dónde imprimes tu arreglo), debes agregar el código para ordenar tu arreglo, puedes usar un método sencillo como ordenamiento por burbuja, te dejo un enlace dónde lo explican y te dan un ejemplo de código : conclase.net/c/orden/burbuja. Espero te sirva.
@@ElProfeAriel ya pude, pero no lo puedo haces descendentente porque se me mueve todos los datos, me podrías ayudar porfavor. #include #include #include int main(){ int numeros[100],i,j,aux; srand(time(NULL)); for(i=0;i
Para hacerlo descendente, solo debes cambiar el signo en tu if, ahora debes hacer if ( numeros[j] < numeros[j+1] ) , o también puedes imprimir tu arreglo al revés.
hola, como lo puedo hacer para crear numeros aleatorios muy grandes? me fije que al compilar el maximo numero es de 5 dijitos, pero quiero que llegue hasta 6, como lo puedo hacer?
El número más grande que se puede generar nos lo indica la constante RAND_MAX, podrías verificar que te arroja la siguiente impresión printf("%d",RAND_MAX); No olvides agregar la librería stdlib.h
@@ElProfeAriel gracias , me sale 32.767 , hay alguna forma de aumentar ese numero? alguna libreria externa o algo asi? en c++ encontre algo pero en c no :/
Eso es por la arquitectura de tu computadora, ya que al parecer un int solo es de 2 bytes, una opción que se me ocurre , sería generar dos aleatorios y sumarlos o multiplicarlos por un factor y guardar su resultado en una variable tipo float o double. Revisaré si existe alguna otra posibilidad.
Lo probé con este código, espero te sirva. #include #include #include int main(){ long int x; srand48(time(NULL)); x=lrand48(); printf("%ld",x); return 0; }
Se refiere al valor por medio del cual se empezaran a originar los valores aleatorios, srand(numero base), el número base sería el número a partir del cual se generarán los próximos aleatorios.
Muy clean la explicación, excelente profe Ariel!
Muchas gracias por el comentario. Que bien que ha quedado claro.
Grandioso, lo pondré en práctica en el lenguaje ensamblador, gracias Profesor Ariel!
Excelente, nos platicas del resultado. Que proyecto harás en ensamblador?
Excelente explicacion, muy claro todo
Hola, muchas gracias
La verdad explicas muy bien, y no te limitaste a explicar un ejemplo si no q profundizaste en como trabaja la funcion y mas todabia, super completa la info! Justo lo que buscaba! Me suscribo para aprender de sus demas videos y futuros videos q subas tambien!
Saludos profe ariel!
Muchas gracias. Espero seguir subiendo material que pueda servirte.
Grax por la explicación, especialmente lo de las librerías de C , me sirvió :D
Que bien que te ha servido.
Buen video profe me sirvió mucho😁
Gracias. Saludos
Justo lo que buscaba entender
Que bien que te ha servido. Saludos.
Excelentisimo video!
gracias.
Gracias! me sirvio!
Excelente!
me ayudo mucho
Que bien que te ha servido. Gracias.
Gran video profe. Una consulta ¿se pueden generar numeros con negativos? Porque debo generar numeros entre el rango de -100 y 100. Por lo que leí solo va de 0 hasta RAND MAX pero en ese caso ¿como haria para tambien obtener negativos desde el -100 hasta el positivo 100? Porque en el final del video con esos IFS, es por si son par o no, si es par si se convertirá y sino , no cierto?
Puedes generar el aleatorio entre 0 y 200, y después solo resta 100 al número generado. eso te dará valores en el rango que deseas.
@@ElProfeAriel ahhh bien. Osea que si le resto 100 al numero que me genera rand, puede que sea 1 - 100 y el numero sea -99 por ejemplo, o puede ser que el numero generado por rand sea 150 y restandole 100 seria 50 en realidad. Entiendo bien profe?
si, así es.
Buenas Profesor. Gracias por la explicación. Qué programa utiliza? Parece mas fácil que el de Visual que estoy usando. Así al menos me concentro mas en aprender a hacer el código que en usar el programa.
De nada, yo utilizo geany. www.geany.org/
Y si al obtener los 100 numeros aleatorios, quisiera ordanarlos de mayor a menor?
#include
#include
#include
int main(){
int i;
srand(time(0));
int numeros[100] ={};
for (int i=1000; i>=0; i--) {
numeros[i] = (rand() % 1000)+1;
}
for (int i=100; i>0; i--) {
printf("Consecutivo %d valor %d
", i , numeros[i]);
}
printf("Termina programa ");
}
Esto es lo que tengo pero no me sale, me podrias ayudad porfavor
Antes de tu segundo ciclo for (Dónde imprimes tu arreglo), debes agregar el código para ordenar tu arreglo, puedes usar un método sencillo como ordenamiento por burbuja, te dejo un enlace dónde lo explican y te dan un ejemplo de código : conclase.net/c/orden/burbuja. Espero te sirva.
@@ElProfeAriel ya pude, pero no lo puedo haces descendentente porque se me mueve todos los datos, me podrías ayudar porfavor.
#include
#include
#include
int main(){
int numeros[100],i,j,aux;
srand(time(NULL));
for(i=0;i
Para hacerlo descendente, solo debes cambiar el signo en tu if, ahora debes hacer if ( numeros[j] < numeros[j+1] ) , o también puedes imprimir tu arreglo al revés.
hola, como lo puedo hacer para crear numeros aleatorios muy grandes? me fije que al compilar el maximo numero es de 5 dijitos, pero quiero que llegue hasta 6, como lo puedo hacer?
El número más grande que se puede generar nos lo indica la constante RAND_MAX, podrías verificar que te arroja la siguiente impresión
printf("%d",RAND_MAX);
No olvides agregar la librería stdlib.h
@@ElProfeAriel gracias , me sale 32.767 , hay alguna forma de aumentar ese numero? alguna libreria externa o algo asi? en c++ encontre algo pero en c no :/
Eso es por la arquitectura de tu computadora, ya que al parecer un int solo es de 2 bytes, una opción que se me ocurre , sería generar dos aleatorios y sumarlos o multiplicarlos por un factor y guardar su resultado en una variable tipo float o double. Revisaré si existe alguna otra posibilidad.
@@ElProfeAriel encontré un creador de números random al azar que se llama Lrand48 , el problema es que no se como se implementa en el codigo
Lo probé con este código, espero te sirva.
#include
#include
#include
int main(){
long int x;
srand48(time(NULL));
x=lrand48();
printf("%ld",x);
return 0;
}
¿Cuál "semilla"?🧐
Se refiere al valor por medio del cual se empezaran a originar los valores aleatorios, srand(numero base), el número base sería el número a partir del cual se generarán los próximos aleatorios.