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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: [1] 2 3
1  Programación / Java / Re: Duda a nivel de optimizacion, con página "acepta el reto" en: 13 Diciembre 2017, 23:49 pm
Muchas gracias por responder, he estado jugando con algunos consejos y la verdad que ha merojado :).

Y yo que pensaba que mi codigo era aceptable, pero vamos aun me queda mucho por aprender :)
2  Programación / Java / Duda a nivel de optimizacion, con página "acepta el reto" en: 8 Diciembre 2017, 00:18 am
Hola, he hecho un reto de la página acepta el reto, exactamente este: https://www.aceptaelreto.com/problem/statement.php?id=364

Y entrego mi programa pero la duda a es a nivel de optimización, a mi me sale entorno a 0.3 segundos, y si miro las estadísticas de otras personas ves tiempos de 0.012s, 0.016s.... en torno a 25 veces más rápido, y yo por mucho que mire mi código no veo dónde se podría optimizar para acercarme algo a sus resultados.

Código:
 public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        String texto;
       
       
       
        do {

            texto = sc.nextLine();

            if (!texto.equals("FIN")) {
               
                int tamanio = texto.length();
                String cadenaSalida = "";
               
                for(int i = 0; i < tamanio; ++i)
                    cadenaSalida += cifrar(texto.charAt(i));
               
                System.out.println(cadenaSalida);
            }

        } while (!texto.equals("FIN"));

    }
   
    private static String cifrar(char letra){
       
        switch (letra) {
            case 'A':
                return "B";
            case 'B':
                return "C";
            case 'C':
                return "D";
            case 'D':
                return "E";
            case 'E':
                return "F";
            case 'F':
                return "G";
            case 'G':
                return "H";
            case 'H':
                return "I";
            case 'I':
                return "J";
            case 'J':
                return "K";
            case 'K':
                return "L";
            case 'L':
                return "M";
            case 'M':
                return "N";
            case 'N':
                return "O";
            case 'O':
                return "P";
            case 'P':
                return "Q";
            case 'Q':
                return "R";
            case 'R':
                return "S";
            case 'S':
                return "T";
            case 'T':
                return "U";
            case 'U':
                return "V";
            case 'V':
                return "W";
            case 'W':
                return "X";
            case 'X':
                return "Y";               
            case 'Y':
                return "Z";   
            case 'Z':
                return "A";
            default:
                return " ";

        }

    }

Entonces por eso os consultaba, ya que no se donde puede estar el punto para que haya tanta diferencia.

Un saludo
3  Programación / Programación C/C++ / Re: problema con sumar una cantidad mayor a 5 en: 16 Mayo 2017, 23:46 pm
Acabo de probar tú programa y funciona correctamente el caso que indicas que falla;

Introduzco días trabajados como 6, elijo la opción R, y el resultado es 3375.

No se, no vi nada extraño en tú código, simplemente lo que mencionaba engel lex.

Edit Bueno, para ejecutarlo tuve que modificar algunas cosas, que el compilador de g++ no me los pasaba. Pero vamos, que cambie lo que dijo engel lex.
4  Programación / Programación C/C++ / Re: medir el tiempo de ejecución en C en: 14 Diciembre 2016, 02:44 am
Yo lo hago así

Código:

#include <stdio.h>
#include <time.h>

int main(){

clcok_t tiempo_inicio, tiempo_final;
double segundos;

tiempo_inicio = clock();

/*operación a medir tiempos, operación básica del código, normalmente bucles*/

tiempo_final = clock();

segundos = (double)(tiempo_inicio - timpo_final) / CLOCKS_PER_SEC; /*según que estes midiendo el tiempo en segundos es demasiado grande*/

printf("%f",segundos);


return 0;
}


Así lo hago yo en c, en c++ nunca lo he usado, más que nada porque todavía no he empezado a aprender c++.
5  Programación / Programación C/C++ / Re: linkado en c++? allegro5/allegro.h en: 22 Julio 2016, 14:12 pm
vale, acabo de encontrar el error, es una chorrada. Faltaba añadir un -c en el makefile

"main_juego.o: main_juego.cpp
   $(CXX) $(INCLUDE) $(LDFLAGS) $(CFLAGS) -c main_juego.cpp"

el "-c" es lo que me faltaba. Vaya chorrada. Muchas gracias por tus respuestas Alberto :) Un saludo
6  Programación / Programación C/C++ / Re: linkado en c++? allegro5/allegro.h en: 22 Julio 2016, 13:56 pm
El problema no está en que salgan warnings el problema esta en que no reconoce las funciones de Allegro5. ya que al compilar con el makefile sale esto:


/tmp/ccuudCEQ.o: En la función `main':
main_juego.cpp:(.text+0x23): referencia a `al_install_system' sin definir
main_juego.cpp:(.text+0x61): referencia a `al_create_display' sin definir
main_juego.cpp:(.text+0xa5): referencia a `al_map_rgb' sin definir
main_juego.cpp:(.text+0xda): referencia a `al_clear_to_color' sin definir
main_juego.cpp:(.text+0xdf): referencia a `al_flip_display' sin definir
main_juego.cpp:(.text+0xf7): referencia a `al_rest' sin definir
main_juego.cpp:(.text+0x103): referencia a `al_destroy_display' sin definir
collect2: error: ld returned 1 exit status


Lo que me da que pensar que no enlaza bien. Y más sabiendo que si compilo de forma manual desde la terminal si funciona
7  Programación / Programación C/C++ / Re: linkado en c++? allegro5/allegro.h en: 21 Julio 2016, 23:50 pm
Saludos, gracias por responder. respecto a lo de empezar, bueno, se mas o menos c, que es lo que di 1º ing informatica. A lo mejor es un poco complicado empezar con allegro5 pero como tengo el verano por delante tengo tiempo de aprender c++ más allegro :)

Respecto a los directorios si que existen. Es más si compilo desde la terminal con este comando:

"****@****-desktop:~/Escritorio/comecocos_cpp$ g++ main_juego.cpp -o a.out -I/usr/include/allegro5 -L/usr/lib -lallegro"

SI que reconoce los archivos,compila perfectamente,  no genera ningún error.  y genera una salida, la cual puedo ejecutar y genera una pantalla, que es el objetivo de mi código.

Asi que supongo que el error estará en el makefile.

Muchas gracias por su tiempo y responderme :)
8  Programación / Programación C/C++ / linkado en c++? allegro5/allegro.h en: 21 Julio 2016, 23:01 pm
Hola, acabo de empezar a programar en c++. La cosa es que me he bajado las bibliotecas de Allegro5 y cuando realizo este programa para iniciar una ventana:
Código:
 #include <iostream>
#include <stdlib.h>
#include "stdio.h"
#include <allegro5/allegro.h>

using namespace std;

int main(int argc, char **argv){
 
   ALLEGRO_DISPLAY *display = NULL;
 
   if(!al_init()) {
      fprintf(stderr, "failed to initialize allegro!\n");
      return -1;
   }
 
   display = al_create_display(640, 480);

   if(!display) {
      fprintf(stderr, "failed to create display!\n");
      return -1;
   }
 
   al_clear_to_color(al_map_rgb(0,0,0));
 
   al_flip_display();
 
   al_rest(10.0);
 
   al_destroy_display(display);
 
   return 0;
}

y compilo con un makefile hecho por mi me sale que no reconoce las funciones de Allegro5. exactamente pone esto: "/home/****/Escritorio/comecocos_cpp/main_juego.cpp:15: referencia a `al_install_system' sin definir
/home/****/Escritorio/comecocos_cpp/main_juego.cpp:20: referencia a `al_create_display' sin definr " pero lo pone con todas sus funciones de allegro5 no solo con esas. Entonces creo que es un problema al linkear las bibliotecas, aunque tampoco estoy muy seguro.


el makefile es este:


Código:
CXX=g++
CFLAGS= -g -Wall -ansi -pedantic
LDFLAGS=-L/usr/lib -lallegro
INCLUDE=-I. -I/usr/include/allegro5

EJECUTABLE = juego

all: $(EJECUTABLE)

juego: main_juego.o
$(CXX) -o salida main_juego.o

main_juego.o: main_juego.cpp
$(CXX)  $(INCLUDE) $(CFLAGS) $(LDFLAGS) main_juego.cpp


Y como me acabo de iniciar en c++ pues no tengo mucha idea. Muchas gracias. Saludos
9  Programación / Programación C/C++ / Re: Pasar argumentos a netbeans en: 6 Marzo 2016, 23:54 pm
En el main tengo ya
Código:
int main (int argc, char ** argv)

La cosa es que en netbeans no tengo ni idea de que cambiar en Propiedasdes run run command tengo esto ${OUTPUT_PATH}" pero no se como modificarlo para pasar arguementos... asi que abandonare yo creo que netbeans para usar gdb en linux. La cosa es que no me manejo muy bien con gdb, mi princiapl pregunta es como pongo breakpoints en funciones que no estan en el main. por ejemplo: tengo el main en un .c llamado main.c y tengo otro archivo llamado prueba.c y la pregunta es ¿como hago para poner un breakpoint en alguna linea de prueba.c?

Un saludo



Edito: bueno tras tocar un poco he conseguido que pase por arguemtnos un fichero, era  en run como dijiste.

Muchisimas gracias :)
10  Programación / Programación C/C++ / Pasar argumentos a netbeans en: 5 Marzo 2016, 13:58 pm
Hola, he hecho un programa en netbeans y necesito pasarle dos argumentos y no se como hacerlo.

Alguna sugerencia. gracias
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines