Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - do-while

#731
¡Buenas!

El error de tu codigo es que declaras d como un puntero a entero.

Estas intentando utilizarlo como un vector, pero es un puntero que en principio apunta a cualquier parte de la memoria, por lo que estaras intentando escribir en alguna parte del programa en la que no tengas permiso para escribir, o estaras sobreescribiendo otros datos de tu programa.

Una solucion podria ser asignar dinamicamente una dimension para esta variable. No te lo aconsejo, porque en principio no sabes cuantos divisores va a tener tu numero, por lo que podria tener mayor cantidad de divisores que la dimension que le indiques.

Otra solucion seria ir aumentando la memoria cada vez que encuentres un divisor. Un coñazo y hay formas mas sencillas de resolverlo.

Mas alternativas... En lugar de utilizar punteros, declara un vector estatico con una dimension. (Volvemos al problema de dos parrafos mas arriba)

La mejor solucion, olvidate de los vectores y los punteros para este problema. No te hacen falta para nada. Si encuentras un divisor, lo acumulas en una variable y punto. Sencillo y rapido. (Esta era la solucion buena. XD)

¡Saludos!
#732
Programación C/C++ / Re: aleatorio c
29 Junio 2012, 04:43 AM
¡Buenas!

Primero, si posteas codigo utiliza las etiquetas GeSHi, ahora no has tenido ningun problema, pero si utilizas i como subindice de vectores pasara todo lo que siga a cursiva y con otras letras tendras negritas, subrayados... por lo que se perdera claridad e informacion en el codigo. Como decia, procura utilizar las etiquetas de codigo. XD

Has definido la funcion aleatorio, como una funcion que recive un parametro entero, pero cuando la llamas, no incluyes ningun parametro. De todas formas esta funcion te sobra un poco. Lo unico que haces en ella es declarar un entero, asignarle un valor aleatorio y devolver el entero como parametro, por lo que directamente puedes calcular en tu codigo el valor aleatorio y asignarselo a la variable que quieras sin tener que estar llamando a funciones creadas por ti.

Te falta crear un bucle para repetir la tirada la cantidad de veces que te digan, y la llave que cierra main.

¡Saludos!
#733
¡¡¡¡CHAMPAN PA TODOS!!!!
#734
¡Buenas!

Tienes otra solucion posible. Leer el tamaño del fichero con los parametros, asignar dinamicamente memoria para almacenar los datos y leer el bloque entero del fichero. Haces lo mismo con el fichero en el que va a haber sustituciones, y ya te olvidas de cadenas que pueden estar o no cortadas. Luego como bien te han dicho, con strchr, strstr y strtok te vas apañando.

¡Saludos!
#735
¡Buenas!

Igual esto se va un poco del tema principal, pero no puedo quedarme con las ganas de preguntar. XD

Visitando alguno de los links que has dejado, he visto que en los sistemas BSD estan intentando eliminar cualquier presencia de codigo licenciado bajo GPL. A raiz de esto, he estado buscando un poco de informacion sobre ambas licencias, y por lo que he leido, la unica diferencia significativa entre ambas licencias es que BSD, a diferencia de GPL, permite derivar software propietario (o algo asi...). ¿Es por esto por lo que quieren eliminar la licencia GPL de estos sistemas? ¿Quieren hacerlos propietarios? ¿Simplemente es para que todo pueda englobarse dentro de una misma licencia? ¿Es porque la licencia BSD es suya y la GPL no? ¿Cual es la razon?

¡Saludos!
#736
¡Buenas!

Asi, de un primer vistazo, ¿¿¿¿Que es esto????

int main(array<System::String ^> ^args)


main tiene dos argumentos (que yo sepa), un entero que indica el numero de argumentos que recive, y un vector de cadenas conteniendo los argumentos que se le pasan. Normalmente se les llama argc y argv, pero puedes llamarlos como quieras mientras sean de los tipos indicados...

^ en C y C++ es un operador binario, XOR, y por mucho que lo sobrecargues, no puedes hacer que sea unario.

Seguro que hay mas errores de este tipo, revisa bien el codigo.

¡Saludos!

PD: ¿De donde sacas las clases que estas utilizando? No veo que estes incluyendo ningun header que las contenga... (windows.h y stdafx.h, vienen de C ¿no?)
#737
Foro Libre / Re: Si hay fútbol no hay sexo
20 Junio 2012, 20:39 PM
Despues del periodo de sequie que llevo, me dan a escoger entre echar un kiki o ver un partido de futbol (deporte que odio a muerte, todo sea dicho), evidentemente escojo el casquete.

Ojala hubiese partido de futbol todos los dias, asi la seleccion natural seguiria su curso y quedarian erradicados esos genes de borreguismo que tan de moda se han puesto...

¡Saludos!
#738
¡Buenas!

Ya que utilizas una libreria no estandar, podrias haber investigado por lo menos algunas funciones de las trae...

- kbhit() te detecta si se ha pulsado alguna tecla.
- getch() extrae las pulsaciones de caracter.

Luego:


int posicion = 0, pulsacion = 0;
char letra;

do{
   do{
       if(kbhit())
       {
           letra = getch();
           if(letra != '\r')
           {
               cadena[posicion++] = letra;
               pulsacion = 1;
           }
       }
   }while(letra != '\r'); //al leer intro con getch, devuelve '\r', no '\n'
}while(!pulsacion);


Este metodo para leer cadenas es un coñazo, ya que tendras que realizar muchas comprobaciones (que no se haya pulsado una tecla de direccion, una de funcion FX, ctrl + algo, alt + algo, supr...) pero si lo implementas bien, puedes montarte un textbox de una linea relativamente interesante.

¡Saludos!

PD:

Y si utilizas las funciones getetxt, puttext,  (creo recordar que eran estas dos)  wherex, wherey, gotoxy, combinandolos con el reconociemiento de las direcciones y de distintas pulsaciones especiales de teclado, puedes hacerte un textbox multiline...

con cprintf, puedes remarcar errores o realzar el texto para determinadas palabras...

Si vas a usar conio, sacale jugo, no la utilices solo para el getch() del final de programa...
#739
¡Buenas!

Sobre como leer los datos de la imagen... No se si habra librerias ya escritas (¡tiene que haberlas!), yo estas cosas las hago a pelo, me busco en internet la especificacion del formato, y luego me pongo a trabajar en ello (si no es muy complicado). Tengo entendido que un png es una imagen sin compresion (o con compresion pero sin perdida de datos...), por lo que lo logico seria que tuviese algun tipo de encabezado describiendo ancho, alto, profundidad del color, compresion, inicio de la imagen dentro del fichero... y luego estuviese la informacion de la imagen en bruto, por ejemplo por filas (y en formato RGB, referencias a una paleta o algo parecido), de tal forma que ya podrias leerla para procesarla.

El tema de como pasarla a ASCII, si quieres hacerlo tu... no se. Podrias intentar hacer comparaciones con fuentes de tamaño (altura,anchura) fijo. Mides en la fuente la proporcion blanco/negro y tendras una tabla de referencia, tendras que tener una funcion que te evalue en la imagen un pixel o una zona del tamaño del caracter a un valor que puedas comparar con el del caracter, y asi escogerias la letra que mas te convenga...

No se si sera un buen metodo, solo es uno, supongo que tendras muchas formas de hacerlo. Unas mas fieles al original y otras mas rapidas...
#740
¿Pero no os dais cuenta de lo que estais diciendo?

Si yo monto un bar, ¿os creeis que me dejan vender alcohol de una marca por alcohol de otra? ¿Pensais que puedo vender sin pagar el iva? ¿En un taller de reparacion de vehiculos, puedo sustituir las piezas estandar por las que me fabrico yo en casa?

Si te montas un negocio, atente a las consecuencias de hacerlo legal o ilegal. En este caso, de cara a la gente, no se va notar diferencia alguna, pero no deja de ser un negocio con irregularidades legales.

Si no quieren pagar por licencias de Windows, lo unico que tienen que hacer es utilizar software que no requiera de pago de licencias.

¡Saludos!