Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Generar numeros

Estas en el tema de Generar numeros en el foro de C/C++ en Foros del Web. Hola quisiersa saber como generar numero aleatorios de 4 digitos del 0 al 1000 tengo una idea pero no se muy bien como aclararla si ...
  #1 (permalink)  
Antiguo 06/12/2010, 19:37
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años
Puntos: 1
Generar numeros

Hola quisiersa saber como generar numero aleatorios de 4 digitos del 0 al 1000 tengo una idea pero no se muy bien como aclararla si usar strstr o como puede ser mas facil

Ejemplo:

Numeros del 0 al 9 y que me los muestre a si

0001
0009
0004
0006
0008
0007
0003
0002
0005
0010

Código C++:
Ver original
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <conio.h>
  5. #define MAX 10
  6.  main()
  7. {
  8.    int i;
  9.  
  10.    for(i=1; i<MAX; i++)
  11.        printf("%i \n",  rand() % 9);
  12.  
  13.    getch();
  14. }

Última edición por vnvnation; 06/12/2010 a las 20:18
  #2 (permalink)  
Antiguo 06/12/2010, 21:26
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Generar numeros

Código C++:
Ver original
  1. #include <stdlib.h>
  2. #include <stdio.h>
  3. #include <time.h>
  4. #include <conio.h>
  5. #define MAX 10
  6.  main()
  7. {
  8.    int i;
  9.  
  10.    for(i=1; i<MAX; i++)
  11.        printf("%04d \n",  rand() % 1001); // para que vaya del 0 al 1000
  12.  
  13.    getch();
  14. }
  #3 (permalink)  
Antiguo 06/12/2010, 22:50
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años
Puntos: 1
Respuesta: Generar numeros

Muy bueno men esta del 1, ahora mira estoy haciendo esto, aplicando el metodo burbuja estoy creando con el random los numero aleatoreos y metiendolos en un archivo y de ese archivo quiero obtener los numeros y con el metodo burbuja ordenarlos pero no me sale no me quiere ordenar :(
  #4 (permalink)  
Antiguo 07/12/2010, 02:58
 
Fecha de Ingreso: agosto-2008
Mensajes: 240
Antigüedad: 15 años, 7 meses
Puntos: 6
Respuesta: Generar numeros

Hola,

usar sólo la función rand() genera un pequeño problema, y es que siempre te genera los mismos números ejecución tras ejecución.

Usando la función srand() se elimina ese problema. Échale un vistazo a este código

Código C:
Ver original
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. #define LIMITE 5    // Cantidad de numeros generados
  6. #define RANGO 12 // rango entre 0 y 11
  7.  
  8. int main()
  9. {
  10.   int numero;
  11.   int i;
  12.  
  13.   srand(time(NULL)); /* La funcion time() asegura que no se generen los mismos numeros en ejecuciones sucesivas descaradamente (salvo por azar) */
  14.  
  15.   for(i=0; i<LIMITE; i++)
  16.     {
  17.       numero = (rand()) % RANGO;
  18.       printf("Numero generado: %d \n", numero);
  19.     }
  20.  
  21.   return 0;
  22. }

Un saludos,
gonzo13
  #5 (permalink)  
Antiguo 08/12/2010, 00:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años
Puntos: 1
Respuesta: Generar numeros

Hola necesito una ayuda bien grande quisiera saber como meter lo que tengo en mi en mi archivo Random.txt en un arreglo para aplicar el metodo burbuja :S



Código C++:
Ver original
  1. #include <iostream>
  2. #include <conio.h>
  3. #define MAXNUM 17
  4. using std::cerr;
  5. using std::cout;
  6. using std::endl;
  7. using std::fixed;
  8. using std::ios;
  9. using std::left;
  10. using std::right;
  11. using std::showpoint;
  12. #include <fstream>
  13. using std::ifstream;
  14. #include <iomanip>
  15. using std::setw;
  16. using std::setprecision;
  17. #include <string>
  18. using std::string;
  19. #include <cstdlib>
  20. using std::exit;
  21. void imprimirLinea(int ran);
  22. int burbuja (int ran);
  23. #include "stdlib.h"
  24. int arreglo,ran=0;
  25. int main ()
  26. {
  27.     ifstream Salario("Random.txt",ios::in);
  28.     if (!Salario)
  29.     {
  30.                                  cerr<<"No se pudo abrir el archivo"<< endl;
  31.                                  exit(1);
  32.     }
  33.     system ("Color 9f");
  34.     while (Salario>>ran) {
  35.     imprimirLinea(ran);}
  36.     burbuja(ran);
  37.    
  38.     getch ();
  39.     return 0;
  40. }
  41. void imprimirLinea(int ran)      
  42. {
  43.      cout<<ran<<endl;
  44. }
  45.  
  46. int burbuja (int ran)
  47. {
  48. int temporal,i,j;
  49.      
  50.       int arreglo [ran];    // Aqui se aplica el metodo burbuja
  51.      for (i=0; i<MAXNUM-1; i++)
  52.      for (j=i+1; j<MAXNUM; j++)
  53.      {
  54.          if (arreglo[i]>arreglo[j])//Para ordenar menor a mayor solo hay que cambiar el signo < por >
  55.          {
  56.          temporal = arreglo[i];
  57.          arreglo[i] = arreglo[j];
  58.          arreglo[j] = temporal;  
  59.          }
  60.      }
  61. //Aqui termina el método.      cout<<endl;
  62.        for (i=0; i<MAXNUM; i++)
  63.         cout<<arreglo[i]<<"  ";
  64. }

Última edición por vnvnation; 08/12/2010 a las 01:35
  #6 (permalink)  
Antiguo 08/12/2010, 23:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años
Puntos: 1
Respuesta: Generar numeros

Código C++:
Ver original
  1. #include <iostream>
  2. #include <conio.h>
  3. using std::cerr;
  4. using std::cout;
  5. using std::endl;
  6. using std::fixed;
  7. using std::ios;
  8. using std::left;
  9. using std::right;
  10. using std::showpoint;
  11. #include <fstream>
  12. using std::ifstream;
  13. #include <iomanip>
  14. using std::setw;
  15. using std::setprecision;
  16. #include <string>
  17. using std::string;
  18. #include <cstdlib>
  19. using std::exit;
  20. void imprimirLinea(int ran);
  21. #include "stdlib.h"
  22. #include "Cola.h"
  23. #include "Pila.h"
  24. #define MAX 20
  25.  
  26. int main ()
  27. {
  28.     TipoPila Pila;
  29.     InicializarPila(&Pila);
  30.     int ran=0;
  31.     ifstream Salario("Random.txt",ios::in);
  32.     if (!Salario)
  33.     {
  34.                                  cerr<<"No se pudo abrir el archivo"<< endl;
  35.                                  exit(1);
  36.     }
  37.     system ("Color 9f");
  38.     while (Salario>>ran)
  39.     Push(&Pila,ran);      //A qui me mete todos los datos de la variable ran
  40.     Imprimir(Pila);         //A qui me muestra el contenido ni mi pila
  41.     while(!PilaVacia(Pila))Pop(&Pila,&ran); // a qui me saca el contenido
  42.     Imprimir(Pila);
  43.    
  44. // Ahora quiero que lo que  salga de mi pila en este caso ran que me cada valor me lo meta en una arreglo para aplicar el metodo
  45. int temporal,i,j;
  46. int arreglo[ran];    // Aqui se aplica el metodo burbuja
  47. for (i=0; i<MAX-1; i++)
  48. for (j=i+1; j<MAX; j++)
  49. {
  50. if (arreglo[i]>arreglo[j])//Para ordenar menor a mayor solo hay que cambiar el signo < por >
  51. {
  52. temporal = arreglo[i];
  53. arreglo[i] = arreglo[j];
  54. arreglo[j] = temporal;  
  55. }
  56. }
  57.  
  58. //Aqui termina el método.      cout<<endl;
  59.  
  60. cout<<endl<<endl;
  61. cout<<"El arreglo ardenado es: \n";
  62.    for (i=0; i<MAX; i++)
  63.      cout<<arreglo[i]<<" ";
  64.    
  65.     getch ();
  66.     return 0;
  67. }
  #7 (permalink)  
Antiguo 09/12/2010, 23:21
 
Fecha de Ingreso: marzo-2009
Mensajes: 74
Antigüedad: 15 años
Puntos: 1
Respuesta: Generar numeros

Buen despues de no dormir todo 1 dia por fin pude hacer lo que quise se los comparta jeje gracias por su tiempo amigos.
Bueno ahora lo que quier es poner un timer para saber cuand tiemp se tarda en ordena jeje pero no se como jiji


Código C++:
Ver original
  1. #include <iostream>
  2. #include <conio.h>
  3. using std::cerr;
  4. using std::cout;
  5. using std::endl;
  6. using std::fixed;
  7. using std::ios;
  8. using std::left;
  9. using std::right;
  10. using std::showpoint;
  11. #include <fstream>
  12. using std::ifstream;
  13. #include <iomanip>
  14. using std::setw;
  15. using std::setprecision;
  16. #include <string>
  17. using std::string;
  18. #include <cstdlib>
  19. using std::exit;
  20. void imprimirLinea(int ran);
  21. #include "stdlib.h"
  22. #include "Pila.h"
  23. #define MAX 10
  24.  
  25. int main ()
  26. {
  27.     TipoPila Pila;
  28.     InicializarPila(&Pila);
  29.     int ran=0;
  30.     int arreglo[MAX];
  31.     int temporal,i,j;
  32.     ifstream Salario("Random 4 digitos.txt",ios::in);
  33.     if (!Salario)
  34.     {
  35.                                  cerr<<"No se pudo abrir el archivo"<< endl;
  36.                                  exit(1);
  37.     }
  38.     system ("Color 9f");
  39.     int x=0;
  40.     while (Salario>>ran)
  41.     Push(&Pila,ran);
  42.     Imprimir(Pila);
  43.     while(!PilaVacia(Pila))
  44.        {Pop(&Pila,&ran);
  45.        arreglo[x++]=ran;} // A QUI METI MI ARREGLO Y ME SOLUCIONO MI PROBLEMA YUPI
  46.         // Aqui se aplica el metodo burbuja
  47. for (i=0; i<MAX-1; i++)
  48. for (j=i+1; j<MAX; j++)
  49. {
  50. if (arreglo[i]>arreglo[j])//Para ordenar menor a mayor solo hay que cambiar el signo < por >
  51. {
  52. temporal = arreglo[i];
  53. arreglo[i] = arreglo[j];
  54. arreglo[j] = temporal;  
  55. }
  56. }
  57.  
  58. //Aqui termina el método.      cout<<endl;
  59.  
  60. cout<<endl<<endl;
  61. cout<<"El arreglo ardenado es: \n";
  62.    for (i=0; i<MAX; i++)
  63.      cout<<arreglo[i]<<" ";
  64.    
  65.     getch ();
  66.     return 0;
  67. }

Etiquetas: numeros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:51.