• 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.
    • ForenaitsF
      Forenaits Veteranos HL
      Última edición por

      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.

      cramC 1 Respuesta Última respuesta Responder Citar 0
      • 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]

                                    0 usuarios activos (0 miembros e 0 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.
                                    Dofmaxm ha sido nuestro último fichaje.