elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 ... 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [84] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ... 132
831  Programación / Programación C/C++ / Re: necesito darle valores a esta matriz y que me de un resultado ayuda porfa en: 8 Mayo 2013, 19:25 pm
Lo primero es lo primero, antes de empezar la eliminación gaussiana darle "contenido" a la matriz a[fil]col[]:

Código
  1. for (i=0;i<fil;i++){
  2.    for (j=0;j<col;j++) {
  3.    printf("a[%d][%d]= ",i+;1,j+1);
  4.    scanf (" %lf",a[i][j])
  5.    }
  6. }
  7.  

Lo segundo es lo de casi siempre, para poner código clickea en donde pone GeSHi y seleccionas C++, aunque sea el código en C, así sale coloreado, y en medio de las etiquetas que aparecen "pegas" tu código. Si te fijas en el que has puesto hay partes de la matriz que no aparecen, por no poner las mencionadas etiquetas.

Y después de "rellenar" la matriz y, antes de empezar con Gauss, revisa los índices de los for que tienes puestos, están mal y sin inicializar y comentas los "nuevos" problemas que tengas, pero cuelga el código entre etiquetas code. ;)

Saluditos!. ....
832  Programación / Programación C/C++ / Re: Problema con una funcion en: 8 Mayo 2013, 19:02 pm
Problema con el buffer, que en este caso se soluciona dejando un espacio en blanco en los scanf. Esto me da como salida:

Código
  1.                        MENU
  2. 1...Para los dias de la semana
  3. 2...SALIR
  4.  
  5. Ingrese su opcion y presione enter: 1
  6.  
  7. Ingrese la inicial del dia: s
  8.  
  9. El dia de la semana que le corresponde es el 7                  MENU
  10. 1...Para los dias de la semana
  11. 2...SALIR
  12.  
  13. Ingrese su opcion y presione enter: 1
  14.  
  15. Ingrese la inicial del dia: d
  16.  
  17. El dia de la semana que le corresponde es el 1                  MENU
  18. 1...Para los dias de la semana
  19. 2...SALIR
  20.  

Y el código con los espacios puestos:

Código
  1. //Ultimo Programa de funciones
  2. #include <stdio.h>
  3. #include <conio.h>
  4. //Prototipos
  5. int menu(void);
  6. int semana(char);
  7. //Programa Principal
  8. int main()
  9. { int opcion;
  10.  char dia;
  11.  float valor;
  12.  
  13.  while((opcion=menu())!=2)
  14.  { switch(opcion)
  15.    { case 1: clrscr();
  16.              printf("\nIngrese la inicial del dia: ");
  17.              scanf(" %c",&dia);
  18.              printf("\nEl dia de la semana que le corresponde es el %d",semana(dia));
  19.              break;
  20.    }
  21.  return 0;
  22. }
  23. }
  24. //Funciones
  25. int menu(void)
  26. { int opc;
  27.  clrscr();
  28.  printf("\t\t\tMENU");
  29.  printf("\n1...Para los dias de la semana");
  30.  printf("\n2...SALIR");
  31.  do
  32.  { printf("\n\nIngrese su opcion y presione enter: ");
  33.    scanf(" %d",&opc);
  34.    if(opc<1 || opc>2)
  35.    { printf("\nHa ingresado un valor incorrecto!!!");
  36.      getch();
  37.    }
  38.  }while(opc<1 || opc>2);
  39.  return opc;
  40. }
  41.  
  42.  
  43. int semana(char fdia)
  44. { int fndia;
  45.  switch(fdia)
  46.  { case 'd': fndia=1;
  47.              break;
  48.    case 'l': fndia=2;
  49.              break;
  50.    case 'm': fndia=3;
  51.              break;
  52.    case 'M': fndia=4;
  53.              break;
  54.    case 'j': fndia=5;
  55.              break;
  56.    case 'v': fndia=6;
  57.              break;
  58.    case 's': fndia=7;
  59.              break;
  60.  }
  61. return fndia;
  62. }
  63.  


Saluditos!. ....  

833  Programación / Programación C/C++ / Re: Les presento mi calculadora de ncr!!!(ahora si que si!!!) en: 8 Mayo 2013, 14:39 pm
[Recopilatorio] Sources interesantes

hola, se preguntarán alguno que diablos es ncr, bueno mas especificamente es una parte del Teorema del binomio.

Mas especificamente es:


Entonces como en mis ratos libres y de oseo aprendo C, y dado que no tengo para comprarme una calculadora de esas Casio y que solo tengo una de esas chinas o japonesas, en fin, me hice mi propia calculadora para eso que entrega detalladamente los resultados para comprobarlos(si quieren a mano)...

..................................................

El uso de los factoriales para el cálculo de los números combinatorios tiene el inconveniente de su tamaño, desbordan las posibilidades de C/C++ desde 14 o 15. Una muestra de la salida de tu código:

Código
  1.  
  2. Ingrese n y k: 16
  3. 14
  4.  
  5. n! = 2004189184
  6. k! = 1278945280
  7. (n - k)! = 2
  8. k! * (n - k)! = -1737076736
  9. n! / [k! (n - k)!] = -1
  10. --------------------------
  11. Resultado final (ncr): -1
  12.  

Decepcionante, ¿verdad?.

Para evitarlo existe otra forma de calcular los números combinatorios que técnicamente consiste en dividir las variaciones de n tomados de p en p entre las permutaciones de p. Vamos que con un ejemplo se ve que es más fácil de lo que parece:

Combinaciones(15,4)= 15/4 * 14/3 * 13/2 * 12/1.

Y aún así se puede mejorar la eficiencia del cálculo. Por ejemplo:

Combinaciones(15,12)=15/12*14/11*13/10*12/9*11/8*10/7*.....

Muy largo, ¿verdad?. Pero eso se puede remediar aprovechado una propiedad de los números combinatorios que establece que :

Combinaciones(n,p)=Combinaciones(n,n-p)

Y aplicada al caso último daría:

Combinaciones(15,12)=Combinaciones(15,3)=15/3 *14/2 *13/1

Mucho más breve que el anterior método.

Así, aprovechando estas dos propiedades, la primera para cuando es inferior a la mitad de n y la segunda para cuando es superior surge el código mágico que te permitirá "meter" de exponente 20 y más sin problemas de que el C/C++ "cruja" soltando números "raros" porque se salen de sus capacidades:


Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int comb(int n,int p)
  5. {
  6.    int i;
  7.    if (n < 0 || p < 0 || p > n) return 0;
  8.    float c = 1;
  9.    if (p>n/2)
  10.        p=n-p;
  11.    for ( p; p>=1; p--,n--)
  12.        c*= (float)n/p;
  13.    return (int)c;
  14. }
  15. int main()
  16. {
  17.    int n, p, num , y;
  18.    while (1){
  19.        printf("\n\nIngrese n (0 para SALIR): " );
  20.    if (n==0)
  21.        break;
  22.    fflush( stdout);
  23.    scanf(" %d", &n);
  24.    printf("\nIngrese p : " );
  25.    fflush( stdout);
  26.    scanf(" %d", &p);
  27.    printf("\ncombinaciones(%d,%d)= %d",n,p,comb(n,p));
  28.    fflush( stdout);
  29.    }
  30.    return 0;
  31. }
  32.  

Y ahora puedo meter números más grandes:

Código
  1. Ingrese n (0 para SALIR): 40
  2.  
  3. Ingrese p : 35
  4.  
  5. combinaciones(40,35)= 658008
  6.  
  7. Ingrese n (0 para SALIR): 35
  8.  
  9. Ingrese p : 12
  10.  
  11. combinaciones(35,12)= 834451776
  12.  

Saluditos!. ...  

P.D: Más en http://foro.elhacker.net/programacion_cc/teorema_binomial-t388312.0.html
834  Programación / Programación C/C++ / Re: revienme este programa me da error en la variable del nombre de la clase en: 7 Mayo 2013, 22:35 pm
yo hago como  se me vienen las ideas q es no a lo  lo  y para el de la imgen del leon yo soy honesto nunca hables de alguien sin conocerlo xq t puedes llevar un castigo

El de la imagen del "LEÓN" no te deja nunca colgado, al final siempre creo que las cosas las haces con mucha voluntad. Pero en serio, lee antes un buen manual de C++ o fíjate en los "muchos" códigos que te hemos pasado ya.

Como no se entiende bien lo qie quieres, sigo el juego de adivinar y esto te puede servir de orientación:


Código
  1. #include <iostream>
  2. #include<cstdlib>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    int op;
  9.    float radio,area, longitud;
  10.    while(1){
  11.        cout<<"introduzca una opcion: 1->Area, 2->Volumen, 0->Salir: ";
  12.        cin>>op;
  13.        if (op==0)
  14.            return 0;
  15.        cout<<"introduzca el Radio:";
  16.        cin>>radio;
  17.        if(op==1)
  18.            cout<<"Area= "<<4*3.1415*pow(radio,2)<<endl;
  19.        else if (op==2)
  20.            cout<<"Volumen= "<<4*3.1415*pow(radio,3)/3<<endl;
  21.        else
  22.            cout<<"Opcion erronea. Vuelva a intentarlo"<<endl;
  23.    }
  24. }
  25.  

Y conste que todo lo que te digo es en plan de buen rollo, amigo carrlos.


Saluditos!. ....  

P.D:Paso ya de los castigos. .....
835  Programación / Programación C/C++ / Re: revienme este programa me da error en la variable del nombre de la clase en: 7 Mayo 2013, 22:04 pm
¿Haces caso de algo de lo que se te dice?

Ni debroma, él sigue ese método de códigos estrámboticos para que acabemos haciéndole la tarea. Sólo el ver como coloca las librerías da.... pena. Pero en fin, él es así. Si fuera más sincero no se llevaría las reprimendas que le estoy dedicando, aunque al final soy uno de los tontos que le acaba  haciendo la tarea. Y además siempre actúa de la misma forma, abre un primer tema donde sabe que va a "recibir" y luego vuelve y abre otro tema pero con lo mismo.

Saluditos!. ......
836  Programación / Programación C/C++ / Re: nesecito ayuda con la formula para calcular el volumen de la esfera en: 7 Mayo 2013, 21:40 pm
Ya llevo leídos unos cuantos posts tuyos y en este no he podido evitar contestar:
Si quieres buenas respuestas, haz buenas preguntas..... y no hagas las cutreces que estás haciendo.

¡Bienvenido amigo Caster, estabas perdido en estos últimos tiempos, te echabamos de menos !!!!!

Saluditos! .....  
837  Programación / Programación C/C++ / Re: me podrian revisar estos programas en: 7 Mayo 2013, 20:52 pm
si ya lo que pasa es que la puse en el main y no e el encabezada del programa

Ejem ......, después de 89 post que llevas ya deberías al menos saber usar las librerías básicas y dónde ponerlas.

Y respecto al código que has posteado aquí, como los demás, insisto que es inconexo, sin sentido aparente.

"Intuyo" que quieres saber el área de un círculo, cosa que será a partir del radio del mismo que debes entrar como dato y como pones la librería math haciendo uso de la misma, cosa que en este caso estaría de más . Y puestos a hacer adivinanzas, por el if que pones con opcion==1 adivino que querrás calcular otra cosa, y no se me ocurre otra que la longitud de la circunferencia del círculo. Pero eso, son meras especulaciones o adivinanzas. Si estuviera en lo cierto a lo mejor lo que sigue te sirve:


Código
  1. #include <iostream>
  2. #include<cstdlib>
  3. #include <cmath>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.    int op;
  9.    float radio,area, longitud;
  10.    while(1){
  11.        cout<<"introduzca una opcion: 1->Area, 2->Longitud, 0->Salir: ";
  12.        cin>>op;
  13.        if (op==0)
  14.            return 0;
  15.        cout<<"introduzca el Radio:";
  16.        cin>>radio;
  17.        if(op==1)
  18.            cout<<"Area= "<<3.1415*pow(radio,2)<<endl;
  19.        else if (op==2)
  20.            cout<<"Longitud= "<<2*3.1415*radio<<endl;
  21.        else
  22.            cout<<"Opcion erronea. Vuelva a intentarlo"<<endl;
  23.    }
  24. }
  25.  

Es elemental, pero es lo que "destila" de tus comentarios. Procura ser al menos concreto con el objetivo del código, ya que en el mismo no lo eres.

Saluditos!. ....  
838  Programación / Programación C/C++ / Re: Time.h [HELP] en: 7 Mayo 2013, 19:47 pm
Hola a todos compañeros!

Bueno...como siempre me surgen dudas y esta vez está referida al uso de la función time().

Quisiera poder obtener la hora del sistema y almacenarla en un archivo .txt pero cuando la intento sacar me devuelve un número ENORME que para mí no tiene sentido alguno.


Para que conste, lo primero que deberías es colgar el código o trozo donde podamos averiguar el posible error. No somos adivinos.

Para que no te vuelvas loco buscando ejemplos, te dejo un cronómetro simple  De ahí podrás sacar conclusiones en cuanto a las variables para guardar el tiempo:


Código
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <windows.h>
  4. struct tm *tiempo;
  5. time_t t;
  6. void cronometro(void);
  7. int main(void)
  8. {
  9.   cronometro();
  10.   return 0;
  11. }
  12.  
  13. void cronometro(void)
  14. {
  15.    int hora,minuto,limite,segundo;
  16.    t=time(NULL);
  17.    tiempo = localtime(&t);
  18.    limite=tiempo->tm_min+2;
  19.    while(1)
  20.    {
  21.        Sleep (1000);
  22.        t=time(NULL);
  23.        tiempo = localtime(&t);
  24.        hora=tiempo->tm_hour;
  25.        minuto=tiempo->tm_min;
  26.        segundo=tiempo->tm_sec;
  27.        printf("%d:%d:%d\r",hora,minuto,segundo);
  28.    }
  29. }
  30.  

Saluditos!. .....  
839  Programación / Programación C/C++ / Re: me podrian revisar estos programas en: 7 Mayo 2013, 19:24 pm
\circulo.cpp F:\F cstdlib.h: No such file or directory.
no me dise esto

Estas en C++, ¿no te habías fijado en ese pequeño detalle?. Entonces sería

Código
  1. #include<cstdlib>

Saluditos!. .... 
840  Programación / Programación C/C++ / Re: me podrian revisar estos programas en: 7 Mayo 2013, 18:46 pm
ah ok el main tambien lo lleva

No, si te parece. Y falta la librería cstdlib para que usar la función system.

Saluditos!. ... 
Páginas: 1 ... 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 [84] 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 ... 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines