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


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 81
1  Programación / Programación C/C++ / Re: Recorrer integer dígito por dígito en: 20 Junio 2016, 13:00
El número 4578:
Código:
4578 % 10 = 8
4578 / 10 = 457     457 % 10 = 7
457  / 10 = 45       45 % 10 = 5
45   / 10 = 4         4 % 10 = 4

En cada división por 10 del anterior, se realiza truncamiento. Léelo de abajo hacia arriba. Es el problema con los lenguajes de alto nivel, que te acostumbras a que esté todo hecho. No es necesario ningún ciclo for, si sabes que es de 4 dígitos solo tienes que aplicar la matemática del revés pero voy a dejar que te comas tú el tarro :-D

Además para leer un entero en C, el especificador de formato en el scanf no es %c, es %d o %i (para el formato en base 10). El %c es para leer un único caracter.

Un saludo.
2  Programación / Programación C/C++ / Re: Programa en c++ ,ayuda en: 19 Junio 2016, 12:00
Te falta el stdlib.h, puedes probarlo tú también eh. Varias puntualizaciones:

    1.- Compruebas dos veces que s \leq 59, tú me diras para qué (linea 16)
    2.- Tu programa no comprueba que introduzca valores fuera de los rangos establecidos(negativos) ¿Qué pasa si me da por introducir la hora -24050? ¿O el minuto -20? (Me refiero a la línea 37)

Y usa GeSHi por favor, no ves que queda feísimo:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h> // --> faltaba esto
  3. int main()
  4. {
  5.    int h;
  6.    int m;
  7.    int s;
  8.  
  9.    printf("Introduce la hora:");
  10.    scanf("%i",&h);
  11.    printf("Introduce los minutos:");
  12.    scanf("%i",&m);
  13.    printf("Introduce los segundos:");
  14.    scanf("%i",&s);
  15.  
  16.    if(s<=59 && m<=59 /* && s<=59 */) // Eso que esta entre comentarios es redundante, ya se comprueba en la primera condicion
  17.    {
  18.        if(s==59)
  19.        {
  20.            s=00;
  21.            m=m+1;
  22.        }
  23.        else
  24.        {
  25.            s=s+1;
  26.        }
  27.        if(m==60)
  28.        {
  29.            m=00;
  30.            h=h+1;
  31.        }
  32.        if (h==24)
  33.        {
  34.            h=00;
  35.        }
  36.  
  37.        if(h>23 || m>59 || s>59)
  38.        {
  39.            printf("La hora introducida es incorrecta\n");
  40.        }
  41.        printf("La hora es : %i:%i:%i\n",h,m,s);
  42.    }
  43.    system("pause");
  44.    return 0;
  45. }
3  Programación / Programación C/C++ / Re: Programa en c++ ,ayuda en: 19 Junio 2016, 11:49
me podrias decir como hago para poner que de una linea vaya a otra sin coger codigo de por medio ? , no se si me explico espero que lo entiendas , antes de c++ práctique un poco visualbasic y html y en visualbasic era goto para hacer eso aquí no se.

En el paradigma de programación estructurada tienes que cambiar el chip, usar goto no es aconsejable (porque te cargas la estructuración del código). Tienes que ingeniártelas para poder hacer lo que quieres, normalmente el comportamiento de goto lo puedes simular con un bucle.

Ya te digo, sigue avanzando poquito a poco, verás que puedes hacer todo sin usar goto, aunque para ti ahora parezca imprescindible.
4  Programación / Programación C/C++ / Re: Programa en c++ ,ayuda en: 19 Junio 2016, 11:36
vale ya va gracias ... estoy aprendiendo con un tipo que se llama empieza a programar en youtube una vez que termine sus videos con que sigo? , solo copié codigo de internet para saber si el codigo si que lo compilaba y ejecutaba y no se porque dev c++ esta mal

Hola de nuevo, no me tomes por duro, solo quiero que si aprendas lo hagas bien y el método de copiar y pegar no es bueno. Puedes seguir con los videos pero compleméntalo de algún libro como el de Deitel&Deitel o alguno reconocido ¡hay muchos! Esos videos están bien, pero ve poquito a poco. Si vas a copiar algo solo copia lo que entiendas, si no lo entiendes, lo pones aquí y te ayudaremos.

Pues mira, el entorno de desarrollo Dev C++ está muy desactualizado y obsoleto, no es bueno para empezar. Yo no te voy a decir que compiles por consola (al final es lo mejor) ya que al principio se hace pesado, pero si te recomiendo Codeblocks, o alguno de Microsoft, algunos foreros de por aquí han tenido problemas con Dev C++.

Un saludo.
5  Programación / Programación C/C++ / Re: Programa en c++ ,ayuda en: 19 Junio 2016, 11:07
Hola DadReX, bienvenido al foro.

Lo primero de todo Dev C++ no es un compilador, es un entorno de desarrollo. Lo segundo NO copies código de internet, así NO se aprende. Lo tercero si quieres un entorno de desarrollo decente deja Dev C++ y usa Codeblocks, aunque la mejor manera de aprender es que uses un editor de texto plano con algunos complementos como Emacs, Vim o similares.

Por último si te hubieses detenido a leer los errores del compilador, que no lo has hecho, sino no estarías preguntando (o al menos sabrías dónde falla) , habrías visto que:

Código:
error: 'prinf' was not declared in this scope|
error: 'sytem' was not declared in this scope|

Pues tú me dirás, más claro agua, prinf no está declarado en este ámbito y sytem tampoco. ¿Quizás es porque no se llaman así? Además si hubieses leído el código línea por línea te habrías dado cuenta de que los primeros printf están bien y luego ya no, y que sytem no es una función. Evidentemente una vez lo pongas todo bien te va a decir lo mismo de system, porque está declarada en stdlib.h, fichero de cabecera que no has incluido, pero me parece que te estoy hablando en chino. Tienes que poner:
Código
  1. #include <stdlib.h>

Te aconsejo que no vuelvas a copiar, te pilles un libro y aprendas bien, porque si sigues copiando y pegando lo único que vas a aprender es a eso precisamente, a copiar y pegar.

PD: Y cuando vayas a publicar código hazlo entre las etiquetas GeSHi, que están para que se coloree, tal que así:
Código
  1. int main(int argc, char **argv)
  2. {
  3.  
  4. }

Un saludo.
6  Programación / Programación C/C++ / Re: Opinad en: 18 Junio 2016, 17:57
A que os referís con que use la clase vector?

vector es un tipo de objeto de la biblioteca estándar de plantillas que te permite trabajar fácilmente con un array dinámico.En conjunto con otras funciones proporcionadas por la STL(standard template library) te permite hacer una gran variedad de cosas.

Por otra parte, sinceramente primero debes aprender lo básico(evidentemente es lo del principio):

          - Estructuras de control, if - else, do - while, while, for, switch.
          - Funciones. (paso por referencia y valor).
          - Punteros (y entenderlos bien).
          - Objetos (clases y estructuras).
          - Herencia.
          - Polimorfismo y RTTI.
          - Programación Genérica.

Tienes que ir dando pasitos.

Un saludo.
7  Programación / Programación C/C++ / Re: ayuda con ejercicio de vectores en: 18 Junio 2016, 14:38
Lo que me descuadra es lo de una multiplicación y una suma. Si conoces la fórmula de la suma de una progresión aritmética sabrás que:

\displaystyle\sum _{i=1}^{N} \left(i\right) = \frac{N(N+1)}{2}
Pero claro la única forma de poner eso como una sola multiplicación y una suma es sustituir N por 1000:

500\cdot(1000+1)

Aunque sigue sin cuadrarme lo del vector.


Por otra parte en el código que expones no sé que quieres hacer cuando pones

Código
  1. i=ve[1000];

Debes saber que esa posición no existe, tus posiciones disponibles son de 0 a 999 , es decir 1000 posiciones.

PD: Pon tu codigo con las etiquetas GeSHi, sino cada vez que pongas unos corchetes con una i, te sale en cursiva lo demás.

La clave de todo está en que los números son consecutivos.

Un saludo.
8  Programación / Programación C/C++ / Re: Opinad en: 18 Junio 2016, 14:28
Hola, así por encima:
          1. Pon comentarios porque a priori no sé que es x ni y ni i.
          2. Esto solo se permite en un estándar con extensiones. Para hacerlo en ISO C++ tienes tres opciones:
Código
  1. int posiciones[i]
                   a. Poner directamente un 0 porque i vale 0 en ese momento.
                   b. Hacerlo con memoria dinámica.
                   c. Usar la clase vector.
             Pero definitivamente en ISO C++ no puedes declarar un array con una variable en los corchetes.
          3. La función Errores devuelve un entero, y tu devuelves un booleano, es bueno que respetes los tipos. Si vas a devolver un bool el tipo de retorno debe ser bool. ¿Por qué el compilador no da fallo? Pues porque realiza conversiones implícitas, primero de bool a int y                 luego de int a bool para que no haya problemas.
9  Programación / Programación C/C++ / Re: ayuda con ejercicio de vectores en: 18 Junio 2016, 14:14
Hola, la ayuda se realiza sobre algo, sino no es ayuda, se llama hacerte el problema. Dos cosas:

     1. ¿Qué llevas hecho?
     2. ¿Dónde te atascas?

Un saludo.
10  Programación / Programación C/C++ / Re: Noob en c++ en apuros. en: 18 Junio 2016, 00:17
Okey, muchas gracias hahaha
No se si la pregunta sera algo tonta, pero... que es Qt y GTK?  :huh: :xD

Qt y GTK son frameworks, es decir, conjuntos de herramientas que te permiten hacer interfaces gráficas. Son las más faciles de usar en mi opinión, sobre todo Qt por su integración con C++ y la orientación a objetos. Es normal que no lo entiendas estás intentando comprender como se hacen integrales sin saber sumar.

Para hacer un uso de ellos no chapucero, debes comprender el lenguaje y el paradigma de orientación a objetos.

Un saludo.
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 81
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines