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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 [123] 124 125 126 127 128 129 130 131 132
1221  Programación / Programación C/C++ / Re: RETOS C++ en: 24 Octubre 2012, 21:59 pm
Actualizado

como paso tanto tiempo nose si a todos sume los que tocan,si me deje alguien que me lo diga.
Si te gusto mi solución al diccionario por fuerza bruta que está en esta página, a mí no me habrías sumado los puntos.
Anímate y pon nuevos retos y si se puede te podemos sugerir algunos.
Saludos!.
1222  Programación / Programación C/C++ / Re: Ejercicios para practicar en C en: 24 Octubre 2012, 21:52 pm
¡Guau!
 voy a postear bastante mas porque he leido algunos y posiblemente sepa hacerlos, pero voy a tener que pedir ayuda y pensar mucho  :xD :xD 
Citar
Si te parece, habre un hilo nuevo y cuelga aquellos que vayas a "atacar", como se hizo en los retos de C++, pero estos serán retos en C, y me tendrás a tu disposición. Te puedo incluso recomendar algunos ejercicios interesantes, como el que se puso en un tema anterior denominado "centros numéricos". A pesar de su "pomposo" nombre es relativamente sencillo con diversas opciones. La respuesta que puse no tiene explicación alguna porque el que colgo el tema no había hecho nada y no era plan de dárselo todo hecho.
¡ÄNIMO!
Saludos.
1223  Programación / Programación C/C++ / Re: Leer un char como float en: 24 Octubre 2012, 13:57 pm
Pero no quiero tener que escribirlo así, porque de esta manera no puedo calcular el radio de un AN de 1 kg, que puedo querer hacerlo. Además, quiero hacer esto para las masas de un protón, un átomo, la Tierra, Júpiter y el Sol, y tendría que reservar demasiadas variables. Lo que quiero es escribir Mt y que lea 5.98e24 (la masa de la Tierra) sin que tenga que reservar valores concretos que me podría interesar calcular.
El ordenador no es "adivino", en el sentido de que al introducir Ms él interprete que es la masa del Sol. Tienes que implementarlo, bien a lo sencillo como hice yo o a lo profesional como hizo rir.
En cualquier caso, en el código tienes que introducir previamente los valores de las variables más comunes que uses; masad del Sol, de júpiter, de la Tierra, del protón, etc.
Una vez introducidas en el código dichas masas está la forma de acceder a ellas. Una forma sencilla sería crear un índice donde a cada masa se le va asignando un valor: Ms=0,Mt=1,Mj=2 .... y luego crear un array donde "estén" los valores numéricos: masas[3]={1.9891e30, 5.98e24, 5.98e24}. Lo anterior lo he hecho para el caso de las masa del Sol, Tierra y Júpiter, y tú lo amplias según tus necesidades.
Al corrrer el program tienes una opción para entrar la masa en Kg, si así lo deseas, o con la "chuletilla" de las masas según el índice.
Repito lo primero, el ordenador "no sabe" lo que es Ms, lo tienes que declarar tú.

Código
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4. int main ()
  5. {
  6.    double masa=0,r=0,G=6.67e-11,c=3e8,Ms=0,Mt=1,Mj=2;
  7.    double masas[3]={1.9891e30, 5.98e24, 5.98e24};
  8.    int indice;
  9.    cout << "Indique la masa (negativo si va e entrar la masa en Kg)=";
  10.    cin >> indice;
  11.    if (indice<0)
  12.        {
  13.            cout <<"m=";cin >>masa;
  14.            r=2*G*masa/(c*c);
  15.        }
  16.    else
  17.        r=2*G*masas[indice]/(c*c);
  18.    cout <<r;
  19.    return 0;
  20. }
1224  Programación / Programación C/C++ / Re: Leer un char como float en: 23 Octubre 2012, 23:07 pm
quiero poder escribir Ms (por ejemplo) para no tener que escribir la masa del Sol y que al leer lo lea como float 1.9891e30.
Alguien podría explicarme como hacerlo?

Puedes escribir incluso menos:
Código
  1. #include <iostream>
  2. #include <cstdio>
  3. using namespace std;
  4. int main()
  5. {
  6.    const  float G=6.67e-11,c=3e8,Ms=1.9891e30;
  7.    float m,r,a=0;
  8.    cout << "a(1 para Ms )=" ;
  9.    cin >> a;
  10.    if (a==1) m=Ms;
  11.    else {cout << "m=" ;cin >> m;}
  12.    r=2*G*m/(c*c);
  13.    cout << r << endl;
  14.    return 0;
  15. }
Saludos!.
1225  Programación / Programación C/C++ / Re: ¿Cómo determinar que sólo acepte 8 dígitos? en: 23 Octubre 2012, 06:19 am
Muchas gracias leosansan, me funcionó perfecto ya que si convertía el int a char me traería problemas con otras cosas en mi código y sin convertirlo de int a otro tipo me pareció perfecto, sólo una pregunta, ¿para qué se usa el n=n/10;? Todo lo entendí pero eso no muy bien, necesito comprenderlo bien ya que soy algo nuevo en el c++.
Cada vez que haces n/10 divides entre 10 de forma entera, con lo que te "comes" un dígito del número inicial, al tiempo que "contador" se incrementa contando así los dígitos.
Saludos!.
1226  Programación / Programación C/C++ / Re: AYUDA URGENTE EN C, calcular centros numericos en: 22 Octubre 2012, 21:22 pm
hola, necesito hacer un programa que me calcule centros numericos y no tengo ni idea de como comenzar , se tiene que meter el orden del centro numerico y nos tiene que decir cuanto vale, por ejemple el centro numerico 1 es igual a 6, y asi con todos
Mira si te vale lo que te paso, aunque comprueba algunos valores conocidos, yo no tengo tiempo:
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<math.h>
  4. #define n   1000000
  5. int main()
  6. {
  7.    float centro=0;
  8.    int i,orden=1,orden_1;
  9.  
  10.    printf(" \n Ingrese el orden del centro:  ");
  11.    scanf("%d", &orden_1);/**/
  12.    for (i=2;i<=n;i++)
  13.        {
  14.            centro =sqrt ((i*i+i)/2);
  15.            if (centro == (int)centro )
  16.                {
  17.  
  18.                    if (orden_1==orden)
  19.                        printf(" \n El centro es: %g de orden %d\n", centro,orden);
  20.                    orden++;
  21.                }
  22.  
  23.        }
  24.    return 0;
  25. }
1227  Programación / Programación C/C++ / Re: Error al imprimir cadena de carácteres en C en: 21 Octubre 2012, 14:54 pm
Vayamos paso por paso:
Una imagen vale más que mil palabras:
Código
  1. #include <stdio.h>
  2.  
  3. main ()
  4. {
  5. char nombre_apellido [100];
  6. char lugar [100];
  7. printf ("Como te llamas\?");
  8. scanf ("%100[^\n]", nombre_apellido);
  9. printf ("Hola %s, por favor, introduce lo siguiente:\n", nombre_apellido);
  10. printf ("Donde vives\n?");
  11. fflush (stdin);
  12. scanf ("%100[^\n]", lugar);
  13. printf ("Ahora sé que te llamas %s y vives en %s.\nEsto fue una prueba de C.\n", nombre_apellido, lugar);
  14. return 0;
  15. }
  16.  
Ahora ya introduce nombre y apellidos y lugar con los espacios que quiera y sin que se salte ninguna sentencia.
...Si, ya sé que fflush no es muy querida, pero hace su labor; otra opción es la apuntada por Caster.
1228  Programación / Programación C/C++ / Re: Error al imprimir cadena de carácteres en C en: 21 Octubre 2012, 14:36 pm
Leosansan, no tiene declarada la variable apellido porque en su ejemplo, su nombre completo es "Nombre Apellido" (es una sola cadena, ergo no hacen falta dos variables).
Fíjate en y ya me diras de dónde sale eso del código que expuso.
1229  Programación / Programación C/C++ / Re: mostrar por pantalla los residuos de un número en: 21 Octubre 2012, 14:30 pm
Muchas gracias leosansan ahora ya lo comprendo, lo único que al calcular los residuos de un entero imprime por pantalla todos y aparece como último el Dividendo que es menor que 10, en lugar de 1, pero es correcto ¿no?

No se si me he explicado bien, por ejemplo de 324

324/10=32 324%10=4
32/10=3     32%10=2
3/10=0       3%10=1 <===el resultado es 3, no 1:es el resto

No muestra 4 2 1 sino 4 2 3 <====como debe ser
Saludos!.
1230  Programación / Programación C/C++ / Re: Error al imprimir cadena de carácteres en C en: 21 Octubre 2012, 14:25 pm
He hecho un programa de prueba para testear la impresión de cadenas de carácteres, pero me da el siguiente error:
Difícil que te de ese error cuando no tienes ni declarada la variable apellido ni aparece dicho nombre en los printf, además de asignar el símbolo %S de cadenas a caracteres a,b,c.
Supongo que esto es lo que querías hacer:

Código
  1. #include <stdio.h>
  2.  
  3. main ()
  4. {
  5. char nombre [100];
  6. char apellido [100];
  7. char lugar [100];
  8. printf ("Como te llamas\?");
  9. scanf ("%s", nombre);
  10. printf ("Hola %s, por favor, introduce lo siguiente: apellido\n",nombre );
  11. scanf ("%s", apellido);
  12. printf ("\nDonde vives\n");
  13. scanf ("%s", lugar);
  14. printf ("\nAhora se que te llamas %s %s y vives en %s.\nEsto fue una prueba de C.\n",  nombre, apellido, lugar);
  15. getchar();
  16. return 0;
  17. }
PD:no hay que limpiar buffer porque todos los printf llevan \n.
Páginas: 1 ... 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 [123] 124 125 126 127 128 129 130 131 132
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines