• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Ayudita en mis deberes de programación

    Programado Fijo Cerrado Movido
    Off Topic
    7
    17
    1.8k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • cramC
      cram @Forenaits
      Última edición por

      @Forenaits:

      Lo primero que veo es que esas instrucciones "llegirenter" y "escriure" no existen como tales en C, o bien pertenecen al paquete entsort.h (que no se para que lo usais…) o bien has puesto el pseudocódigo.

      Obviedades aparte creo que ese programa nunca te va a funcionar, lo único que haces es dividir pero ¿qué pasa con lo que te sobra? ¿no lo tienes en cuenta? Bueno luego te lo miro con mas tiempo... si se pasa Istarion por aquí te lo resuelve en un periquete.

      A ver, lo de llegirenter y todo eso sí es normal y nos lo han enseñado así, el programa lo capta bien y ya he hecho bastantes en la uni.

      Sobre lo del resto pues lo he solucionado con; a ver las horas serán n/3600, luego una variable de paso es la n que calcula el sobrante de la división anterior (el % es igual que el mod y que resto de una división) luego los minutos son el resto (n) partido por sesenta y luego los segundos el resto de la división anterior. Si lo hice en la uni igual y me salió bien hoy.

      Edit; es el ejercicio 1 de aquí; http://truja.lsi.upc.edu/fi/material%20/Laboratori/Exercicis%20Laboratori/cap1.pdf
      Y aquí lcomo traducir; http://truja.lsi.upc.edu/fi/material%20/Laboratori/apunts_lab/cap2.pdf

      Ya dije que no tengo ni idea por lo que alomejor es un fallo tonto.

      cobitoC 1 Respuesta Última respuesta Responder Citar 0
      • cobitoC
        cobito Administrador @cram
        Última edición por

        El entsort.h ese ¿para que es? ¿para programar en catalán? Me parece muy raro…

        Si pones el código fuente en C de verdad quizás te pueda ayudar, porque no entiendo muy bien algunas cosas que has puesto.

        PD: Eso que os enseñan sirve como iniciación a la programación, pero no es C (lo es pero de esa forma nunca vas a saber cómo se programa en C).

        Toda la actualidad en la portada de Hardlimit
        Mis cacharros

        hlbm signature

        cramC 1 Respuesta Última respuesta Responder Citar 0
        • cramC
          cram @cobito
          Última edición por

          @cobito:

          El entsort.h ese ¿para que es? ¿para programar en catalán? Me parece muy raro…

          Si pones el código fuente en C de verdad quizás te pueda ayudar, porque no entiendo muy bien algunas cosas que has puesto.

          PD: Eso que os enseñan sirve como iniciación a la programación, pero no es C (lo es pero de esa forma nunca vas a saber cómo se programa en C).

          Según la teoria que nos dan –> #include <entsort.h>Cal afegir-lo sempre que en el programa s'usin operacions de llegir o escriure. (hace falta añadirlo cuando en el programa se usen ooperaciones de leer o escribir)

          Pues vaya mierda nos enseñan con el culo. Encima hacemos una clase y para el martes que viene (entremedio no tengo ninguna otra clase de eso) pues un examen, ya ves que gracia.</entsort.h>

          kynesK cobitoC 2 Respuestas Última respuesta Responder Citar 0
          • kynesK
            kynes Veteranos HL @cram
            Última edición por

            ¿stdio.h pero con inmersión lingüística? No se, me parecen unas funciones un poco extrañas para captar del teclado y mostrar en pantalla. ¿Seguro que lo que estáis dando es C?

            El programa debería ser una cosa como así (que conste que llevo sin programar en C como que 9 años, si hay fallos que alguien los corrija)

            #include<stdio.h>

            int main(void) {

            int h,n,m,s;

            scanf("%d", n);
            h = n / 3600;
            n = n % 3600;
            m = n / 60;
            s = n % 60;
            printf("%d:%d:%d",h,m,s);

            return 0;
            }</stdio.h>

            hlbm signature

            1 Respuesta Última respuesta Responder Citar 0
            • cobitoC
              cobito Administrador @cram
              Última edición por

              Bueno, ignorando esas operaciones de lectura y escritura creo que el algoritmo que has usado está bien (tampoco estoy 100% seguro porque hace 2 años que no miro nada de C). Me he bajado tu archivo compilado y lo único que hace es salir un cursor moviéndose de un sitio a otro, pero ni pide el nº de segundos ni nada, así que el algoritmo, esté bien o no, no es el responsable del mal funcionamiento. ¿Has probado poniendo #include <stdio.h>al principio?</stdio.h>

              Toda la actualidad en la portada de Hardlimit
              Mis cacharros

              hlbm signature

              IstarionI 1 Respuesta Última respuesta Responder Citar 0
              • IstarionI
                Istarion @cobito
                Última edición por

                El codigo esta bien. Ese include es como el paquete de "paraules" de Ada que usamos aqui, solo que NOS EXPLICAN como hacer todo lo que hay ahi xD Es una leve diferencia, pero bastante importante.
                Debe tratarse de una libreria de lectura y escritura en pantalla, y si que es c, de hecho "stdio.h" solo es una libreria de c, no tienes porque usarla y estaras programando en c igualmente 😛

                Debe de haber algun problema con las librerias de tu profe, quizas no tienes las ultimas, hay que hacer un volcado del buffer de teclado… no lo se muy bien, necesitaria el codigo de la libreria para saber exactamente lo que estas haciendo...
                Es que claro sin ella no se puede hacer nada... el parametro que le pasas esta bien? Para mi que el "c" que os enseñan poco tiene de "ANSI C", porque eso huele a sobrecarga de parametros segun el tipo que le pases, y eso esta en C++ y no en c...

                En fin, ya te digo que sin la libreria no se puede saber nada...

                P.D.: Ese "entsort" se refiere a Entrada/Sortida, al estilo de I/O. Lo bueno es que os abstraen de hacer lecturas vosotros, y la idea parece buena. Pero no me convence si no os han enseñado a usar la "stdio". Tienen que enseñaros como encapsulan las llamadas a la libreria estandar "stdio" con esa libreria, porque es estandar y si no teneis "entsort" tendreis que buscar informacion sobre la stdio (que es facil de usar, pero vamos, primero se enseñan las bases, y luego se abstrae de ellas, que si un dia te quedas sin esa "capa de abstraccion", caca...).

                Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                IstarionI 1 Respuesta Última respuesta Responder Citar 0
                • IstarionI
                  Istarion @Istarion
                  Última edición por

                  Ahora que veo que mi vecina no dice nada mas, ya tengo algo mas de tiempo:

                  @cobito:

                  Si pones el código fuente en C de verdad quizás te pueda ayudar, porque no entiendo muy bien algunas cosas que has puesto.
                  PD: Eso que os enseñan sirve como iniciación a la programación, pero no es C (lo es pero de esa forma nunca vas a saber cómo se programa en C).

                  Es c, pero ya te digo que no me convence si empiezan asi…

                  @cram:

                  Según la teoria que nos dan –> #include <entsort.h>Cal afegir-lo sempre que en el programa s'usin operacions de llegir o escriure. (hace falta añadirlo cuando en el programa se usen ooperaciones de leer o escribir)

                  Pues vaya mierda nos enseñan con el culo. Encima hacemos una clase y para el martes que viene (entremedio no tengo ninguna otra clase de eso) pues un examen, ya ves que gracia.</entsort.h>

                  Vaya panda de … bueno, a ver, no te preocupes. Lo hacen para que no tengais que "pelearos" con la "stdio", que es facil de co*ones usarla, pero bueno asi seguro que los alumnos no se equivocan y es bastante "comoda" de usar la entsort (al menos lo parece).

                  Pero que sepas que para utilizar operaciones de lectura/escritura de cualquier tipo (lectura del teclado, escritura por pantalla, o impresora, etc.) basta con utilizar la "stdio.h", STanDard Input/Output, una libreria estandar de c que viene con todos los compiladores. Esa "entsort.h" si vienes a mi casa a programar en c, no te funcionara 😛 pa que veas lo poco "portable" que es un programa usando librerias externas. Si me las pasas ya esta, pero si usas algo estandar, te evitas el ajetreo de pasar librerias...

                  @kynes:

                  El programa debería ser una cosa como así (que conste que llevo sin programar en C como que 9 años, si hay fallos que alguien los corrija)

                  Esta casi bien. Al principio pense que el %d era para doubles, pero no, es para decimales con signo (es que ya no toco ni printf ni scanf xD). Lo que pasa es que el scanf espera como segundo parametro una indireccion, o de lo contrario le estaras pasando la direccion de la variable:

                  scanf("%d", n); => scanf("%d",&n);

                  El resto esta ok ;D

                  @cobito:

                  Bueno, ignorando esas operaciones de lectura y escritura creo que el algoritmo que has usado está bien (tampoco estoy 100% seguro porque hace 2 años que no miro nada de C). Me he bajado tu archivo compilado y lo único que hace es salir un cursor moviéndose de un sitio a otro, pero ni pide el nº de segundos ni nada, así que el algoritmo, esté bien o no, no es el responsable del mal funcionamiento. ¿Has probado poniendo #include <stdio.h>al principio?</stdio.h>

                  No necesita la libreria stdio, fijate que no usa ninguna de sus funciones, y es codigo en c, lo que pasa es que usa funciones de otra libreria 😉

                  Si tienes a Fore en el msn, dile que te pase mi dir, y asi lo acabamos en un periquete como bien ha dicho 😛

                  Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                  cramC 1 Respuesta Última respuesta Responder Citar 0
                  • cramC
                    cram @Istarion
                    Última edición por

                    Gracias Istarion,

                    lo de entsort.h lo he sacado de aquí: http://www.lsi.upc.edu/%7Efi/Software/ENTSORT.h

                    es esto:

                    /*

                    • entsort.h
                    • Operacions d'entrada/sortida
                      */

                    #ifndef ENTSORT_H
                    #define ENTSORT_H

                    void
                    LlegirCaracter(char *const c);
                    void
                    LlegirEnter(int *const i);
                    void
                    LlegirReal(float *const f);

                    void
                    EscriureCaracter(char c);
                    void
                    EscriureEnter(int i);
                    void
                    EscriureReal(float f);

                    void
                    EscriureMissatge(char c[]);

                    #endif

                    y no se si esto es algo importante o no pero leas he tenido que poner en el programa. http://www.lsi.upc.edu/%7Efi/Software/libes.a

                    Aquí los programas que uso http://truja.lsi.upc.edu/fi/material%20/Laboratori/Intruccions%20per%20a%20la%20installacio%20de%20emacs%20i%20gcc

                    Sobre lo de usar los estandard pues no me convence porqué después en el examen lo hemos de hacer con lo de entsort.h y si no lo practico no me voy a enterar.

                    smlS 1 Respuesta Última respuesta Responder Citar 0
                    • smlS
                      sml @cram
                      Última edición por

                      Para las I/O me explicaron que era #include<iostream.h>

                      Que diferencia hay con las demas?</iostream.h>

                      kynesK 1 Respuesta Última respuesta Responder Citar 0
                      • kynesK
                        kynes Veteranos HL @sml
                        Última edición por

                        iostream es el equivalente de stdio pero en C++ en vez de en C, si no me equivoco.

                        hlbm signature

                        IstarionI 1 Respuesta Última respuesta Responder Citar 0
                        • IstarionI
                          Istarion @kynes
                          Última edición por

                          Al fin me puedo volver a conectar a hardlimit, se ve que hay algun cachondo en telefonica que le pega por caparme el acceso a esta pagina cuando le apetece O_o

                          @cram:

                          Gracias Istarion,
                          lo de entsort.h lo he sacado de aquí:

                          Sobre lo de usar los estandard pues no me convence porqué después en el examen lo hemos de hacer con lo de entsort.h y si no lo practico no me voy a enterar.

                          Ok, no me funcionan algunos enlaces porque no estoy logueado, pero me lo imagino. Ese .h es la "cabecera" de la libreria. Ahi te dicen qué funciones estan implementadas en el archivo .a (que viene a ser una especie de .dll pero estatica, uhm bueno tu creetelo :p).
                          Las .dll tambien vienen con un archivo .h (siempre que te dejen programar con ellas), ves las funciones que puedes utilizar, y tu usas las que quieras. En los mods de juegos, te dejan utilizar algunas funciones de las .dll del juego, solo que algo "capadas" para que no puedas hacer un juego completo.

                          Entiendo que no te convenza lo de usar estandares, no queria decir eso. Simplemente es mas correcto, pero como que a ti te van a examinar de otra cosa, puedes pasar de la stdio y demas. Tu conectate al msn y hablamos, asi me pasas la libreria y demas, y puedo hacer pruebas mas rapidamente.

                          Por cierto me equivoque, no usa sobrecarga de C++, al menos parece que usa ANSI C para hacer la libreria entsort…

                          @kynes:

                          iostream es el equivalente de stdio pero en C++ en vez de en C, si no me equivoco.

                          Exacto, solo que es sin .h (#include <iostream>). Basicamente es lo mismo pero se utilizan objetos, y no "funciones sueltas" como en ANSI C.</iostream>

                          Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                          lforosL 1 Respuesta Última respuesta Responder Citar 0
                          • lforosL
                            lforos Veteranos HL @Istarion
                            Última edición por

                            El algoritmo está bien. ¿Porqué no haces una prueba simple con este código …?

                            #include<entsort.h>

                            int main(void) {
                            int n;

                            LlegirEnter(&n);
                            EscriureEnter(n);
                            return 0;
                            }

                            Si te da el mismo error es que es un problema de la librería entsort.</entsort.h>

                            hlbm signature

                            IstarionI 1 Respuesta Última respuesta Responder Citar 0
                            • IstarionI
                              Istarion @lforos
                              Última edición por

                              Y para asegurarte definitivamente (veo que no te conectas al msn :p) prueba a poner "printfs" por todo. Vale que no es la libreria que te piden en el examen pero es muy facil de utilizar y funciona siempre:

                              Primero incluye la libreria que contiene la funcion:

                              #include<stdio.h>

                              int main(…) {

                              printf("Llego al 1");
                              funcion_que_crees_que_tiene_papeletas_de_que_vaya_a_petar();
                              printf("Llego al 2");

                              }

                              Ya te digo que eso rula ok, y asi localizas la funcion que te esta haciendo extraños. Tambien puede ser que tengas otra version de la libreria y por eso pete, pero es raro porque si peta un programa tan sencillo mal rollo...</stdio.h>

                              Intel Xeon E3 1231v3 @ 3.4Ghz / 16GB DDR3 2133Mhz 11-11-11 / R290 PRO / Samsung 970 Evo 500GB / Samsung 840 250GB / 2xHDD / Netway 700w

                              ForenaitsF cramC 2 Respuestas Última respuesta Responder Citar 0
                              • ForenaitsF
                                Forenaits Veteranos HL @Istarion
                                Última edición por

                                Debug casero powah! xD

                                1 Respuesta Última respuesta Responder Citar 0
                                • cramC
                                  cram @Istarion
                                  Última edición por

                                  @Istarion:

                                  Y para asegurarte definitivamente (veo que no te conectas al msn :p) prueba a poner "printfs" por todo. Vale que no es la libreria que te piden en el examen pero es muy facil de utilizar y funciona siempre:

                                  Primero incluye la libreria que contiene la funcion:

                                  #include<stdio.h>

                                  int main(…) {

                                  printf("Llego al 1");
                                  funcion_que_crees_que_tiene_papeletas_de_que_vaya_a_petar();
                                  printf("Llego al 2");

                                  }

                                  Ya te digo que eso rula ok, y asi localizas la funcion que te esta haciendo extraños. Tambien puede ser que tengas otra version de la libreria y por eso pete, pero es raro porque si peta un programa tan sencillo mal rollo...</stdio.h>

                                  Vale, gracias por todo pero sí me va ya, era una parida, al compilar no lo hacia bien y por eso el exe no estaba bien, todo solucionado.

                                  He hecho unos cuantos y todos ok; uno que calcula la letra del dni, otro que suma, otro que resta, division de enteros, soluciones de una eq de 2º grado, y cero problemas.

                                  Merxi pro todo!!!!

                                  por cierto he puesto mi msn bien que ese era el que tenia hace mucho, ara es ************

                                  1 Respuesta Última respuesta Responder Citar 0
                                  • 1 / 1
                                  • First post
                                    Last post

                                  Foreros conectados [Conectados hoy]

                                  4 usuarios activos (0 miembros e 4 invitados).
                                  febesin, pAtO,

                                  Estadísticas de Hardlimit

                                  Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                  Somos un total de 34.8k miembros registrados.
                                  daniel1606 ha sido nuestro último fichaje.