Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Concurso casero de C

Estas en el tema de Concurso casero de C en el foro de C/C++ en Foros del Web. Pongan un ejercicio de listas y archivos que de eso recuerdo algo...

  #61 (permalink)  
Antiguo 28/09/2006, 13:15
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
Pongan un ejercicio de listas y archivos que de eso recuerdo algo
  #62 (permalink)  
Antiguo 28/09/2006, 14:13
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por Developer9 Ver Mensaje
Pongan un ejercicio de listas y archivos que de eso recuerdo algo
Jeje, si pongo algo de eso será complicado, no el típico ejercicio de universidad ;)

Developer9, a ver si te pones de nuevo con la informática de verdad en tu tiempo libre después de trabajar con Visual Studio .NET :D

He tenido bastantes tarea esta semana entre clases y la programación de un driver, mañana viernes prometo colgar algo :)
  #63 (permalink)  
Antiguo 28/09/2006, 17:24
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
Tranquilo max... que los drivers no generan reportes ni cuadros estadisticos valiosos para tomar decisiones gerenciales...

bah! informática de verdad...

Bueno dale con el ejercicio que desempolvaré el borlandC
  #64 (permalink)  
Antiguo 29/09/2006, 00:41
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 8 meses
Puntos: 2
para GM_Juanjo.

enrealidad la exprecion:

ptr1 = void;

es una asignacion en la que interviene un puntero generico, la anterior es;
(Pero eno es una centencia de C o C++).
ptr1 = ptr2; asignacion entre punteos de tipo.

eso es.

si quieres ver de donde saque e esto de dejo el link:
http://www.zator.com/Cpp/E4_2_2.htm

Saludos.
  #65 (permalink)  
Antiguo 29/09/2006, 06:47
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por Developer9 Ver Mensaje
Tranquilo max... que los drivers no generan reportes ni cuadros estadisticos valiosos para tomar decisiones gerenciales...

bah! informática de verdad...

Bueno dale con el ejercicio que desempolvaré el borlandC
No lo generarán, pero los drivers hacen posible que tu tengas soporte de la impresora con la que imprimes esos reportes y cuadros estadísticos :D

Estoy comiendo, ahora pondre el ejercicio.

Por cierto, te recomiendo usar un compilador de verdad. Prueba Code::Blocks o Dev-C++ que traen gcc (mingw); o instala el soporte de C++ en tu Visual Studio.
  #66 (permalink)  
Antiguo 29/09/2006, 11:27
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Lo prometido es deuda.

Aquí tenéis el nuevo problema (mirad la página 1, primer mensaje).

Colocado a las 19:27 hora española.
  #67 (permalink)  
Antiguo 29/09/2006, 13:24
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
oYE sería de que lo pongas al último, así no se pierden los ejercicios anteriores y se sigue una secuencia
  #68 (permalink)  
Antiguo 01/10/2006, 07:28
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por Developer9 Ver Mensaje
oYE sería de que lo pongas al último, así no se pierden los ejercicios anteriores y se sigue una secuencia
Pero así siempre están en el mismo lugar.

Ya haré una relación de los problemas resueltos.

¿Aún nadie pregunta nada acerca del nuevo? :)
  #69 (permalink)  
Antiguo 01/10/2006, 09:55
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 8 meses
Puntos: 2
OK, apenas, me entero, del nuevo problema, alcompilarlo me encuentro con que puts, no acepta como parametro a p.

¿es valido hacer el casting a char* o const char*?.
cuando te refieres ha hacer algo util, no pones limites. podria agregar un WinMain, una WNDCLASS, etc, y crear un entrono de ventanas. jaja.
¿talvez consiste en usar como uno quiera esos 3 array's, y hacer algo util con su contenido?
¿se pueden crear mas variables o punteros para solucionar esto?.

Saludos.
  #70 (permalink)  
Antiguo 01/10/2006, 12:48
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por Nivel7 Ver Mensaje
OK, apenas, me entero, del nuevo problema, alcompilarlo me encuentro con que puts, no acepta como parametro a p.
Eso es porque estás compilando como C++.

El concurso es de C, y es perfectamente válido.

Cita:
¿es valido hacer el casting a char* o const char*?.
cuando te refieres ha hacer algo util, no pones limites. podria agregar un WinMain, una WNDCLASS, etc, y crear un entrono de ventanas. jaja.
¿talvez consiste en usar como uno quiera esos 3 array's, y hacer algo util con su contenido?
¿se pueden crear mas variables o punteros para solucionar esto?
La meta del concurso es que el puts(p); imprima algo legible (no algo cualquiera evidentemente). Si el programa es correcto, deberíais ver una cadena de felicitación.

Y para ello, con una sentencia basta ;) Ahora bien, dejo libertad para que uséis más, desde luego.

Como si quieres crear una ventana, como si quieres agregar un WinMain, lo que te de la real gana.

Pero el objetivo es que puts(p) te felicite, en vez de lo que hace ahora, que es imprimir "basura", digamos.

¿Cómo hacerlo? Preguntadme en el foro y responderé. Poco a poco iréis dando con la solución. El que más contribuya con preguntas acertadas, mejor.

Última edición por MaxExtreme; 01/10/2006 a las 12:54
  #71 (permalink)  
Antiguo 02/10/2006, 00:07
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 8 meses
Puntos: 2
Ok, ahora ya esta mas claro, el planteameminto inicial es muy confuso.

pense en algo como un patron que esconde un mensaje, solo que aun no he trabajado mucho en el. pinta a complicado. jeje

Saludos.

Última edición por Nivel7; 02/10/2006 a las 01:09
  #72 (permalink)  
Antiguo 02/10/2006, 08:21
Avatar de Pistemas  
Fecha de Ingreso: diciembre-2004
Ubicación: entre las piernas de una hermosa mujer
Mensajes: 1.552
Antigüedad: 20 años, 1 mes
Puntos: 8
Demons... , si esta complicado...

  #73 (permalink)  
Antiguo 02/10/2006, 09:43
lpz
 
Fecha de Ingreso: abril-2006
Ubicación: Argentina
Mensajes: 402
Antigüedad: 18 años, 8 meses
Puntos: 2
Cita:
Iniciado por MaxExtreme Ver Mensaje
Jeje, si pongo algo de eso será complicado, no el típico ejercicio de universidad ;)
No se que tipo de ejercicios daran en las universidades de donde vives, pero en donde voy yo todas las materias de programacion tienen siempre algo para castigarnos... y los ejercicios de listas que daban eran todos diferentes.. o sea, no era un "recorrer lista de listas", sino se las rebuscaban para complicarnos la vida ademas por el hecho que las restricciones de memoria y archivos ayudaban mucho para que el problema sea mas problema.
  #74 (permalink)  
Antiguo 02/10/2006, 10:09
lpz
 
Fecha de Ingreso: abril-2006
Ubicación: Argentina
Mensajes: 402
Antigüedad: 18 años, 8 meses
Puntos: 2
Con respecto al problema, lo primero que se me ocurrio fue implementar un automata reconocedor. El conjunto de estados serian los elementos del vector y el alfabeto seria las letras del abecedario. Ahora no estoy seguro sobre el simbolo inicial, pero de seguro que hay un texto escondido si se utiliza un automata ya que de otra forma no creo que se pueda obtener algo con elementos aleatorios.
  #75 (permalink)  
Antiguo 02/10/2006, 11:32
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por lpz Ver Mensaje
No se que tipo de ejercicios daran en las universidades de donde vives, pero en donde voy yo todas las materias de programacion tienen siempre algo para castigarnos... y los ejercicios de listas que daban eran todos diferentes.. o sea, no era un "recorrer lista de listas", sino se las rebuscaban para complicarnos la vida ademas por el hecho que las restricciones de memoria y archivos ayudaban mucho para que el problema sea mas problema.
Hay universidades y universidades, academias y academias, escuelas y escuelas, profesores y profesores...

Pero en término general, los ejercicios que se ven sobre C/POSIX son típicos, que puedes encontrar la solución con buscar un poco en Google y echarle una tarde de programación.

Evidentemente hablo de las prácticas, no de proyectos de carrera o similar. Y en cualquier caso hablo según la experiencia de lo que he leído/oído, no he ido a la universidad.
  #76 (permalink)  
Antiguo 02/10/2006, 11:36
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por lpz Ver Mensaje
Con respecto al problema, lo primero que se me ocurrio fue implementar un automata reconocedor. El conjunto de estados serian los elementos del vector y el alfabeto seria las letras del abecedario. Ahora no estoy seguro sobre el simbolo inicial, pero de seguro que hay un texto escondido si se utiliza un automata ya que de otra forma no creo que se pueda obtener algo con elementos aleatorios.
Ciertamente hay un mensaje escondido, cosa que podíais deducir de mi mensaje a Nivel7: "veréis una cadena de felicitación". Evidentemente esa cadena la escribí yo y la oculté.

No he usado nada raro para ocultarla, de hecho probando unas cuantas cosas podrías encontrarla, pero el objetivo real no es ese.

El tema NO es descubrir el sistema de cifrado ;)

¿Y si no hace falta descubrir el cifrado...? ¿Se os ocurre cómo podría haber hecho yo el problema para que sin necesidad de que sepáis el cifrado podáis ver la cadena...?

Ahí está la clave.
  #77 (permalink)  
Antiguo 02/10/2006, 12:04
lpz
 
Fecha de Ingreso: abril-2006
Ubicación: Argentina
Mensajes: 402
Antigüedad: 18 años, 8 meses
Puntos: 2
Sin descubrir el sistema de cifrado?... la verdad no se, al menos que todos esos codigos en hexa se los pase a decimal y de ahi al caracter que represente pero no creo que sea asi de facil.. Si de una forma los codificaste, usando la forma reversa deberia poder descifrarse, o sea implica un 'sistema de cifrado' o algun otro algoritmo.
  #78 (permalink)  
Antiguo 02/10/2006, 13:38
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 8 meses
Puntos: 2
No creo que se trate de una cadena inversa, al menos ya intente eso, ya intente intercalar, operaciones de bit's, aritmeticas y no logro conseguir nada.

ahora si que esta dificil, esto.
  #79 (permalink)  
Antiguo 02/10/2006, 14:09
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
Cita:
Iniciado por lpz Ver Mensaje
No se que tipo de ejercicios daran en las universidades de donde vives, pero en donde voy yo todas las materias de programacion tienen siempre algo para castigarnos... y los ejercicios de listas que daban eran todos diferentes.. o sea, no era un "recorrer lista de listas", sino se las rebuscaban para complicarnos la vida ademas por el hecho que las restricciones de memoria y archivos ayudaban mucho para que el problema sea mas problema.
En la uni tienes 2 horas para el examen... aqui todo el fin de semana
  #80 (permalink)  
Antiguo 02/10/2006, 14:54
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 2 meses
Puntos: 52
Ufff, yo he intenado de todo, desde apuntar con un puntero de funcion a esos arrays para ver si ejecutaban algo, aritmetica de punteros, hasta funciones de string.

nada me da resultado.

Vere que se me ocurre en el pasod el tiempo.

saludos
  #81 (permalink)  
Antiguo 02/10/2006, 17:05
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por lpz
Sin descubrir el sistema de cifrado?... la verdad no se, al menos que todos esos codigos en hexa se los pase a decimal y de ahi al caracter que represente pero no creo que sea asi de facil.. Si de una forma los codificaste, usando la forma reversa deberia poder descifrarse, o sea implica un 'sistema de cifrado' o algun otro algoritmo.
Cita:
Iniciado por Nivel7
No creo que se trate de una cadena inversa, al menos ya intente eso, ya intente intercalar, operaciones de bit's, aritmeticas y no logro conseguir nada.

ahora si que esta dificil, esto.
Na ;)

Os estáis centrando en descifrar la cadena, y no hace falta hacerlo. De hecho, el problema trata de otra cosa. ;)
  #82 (permalink)  
Antiguo 02/10/2006, 17:06
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por Instru Ver Mensaje
Ufff, yo he intenado de todo, desde apuntar con un puntero de funcion a esos arrays para ver si ejecutaban algo, aritmetica de punteros, hasta funciones de string.

nada me da resultado.

Vere que se me ocurre en el pasod el tiempo.
Mira, tú has acertado un poco más... Sigue por esas ideas.
  #83 (permalink)  
Antiguo 02/10/2006, 17:51
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
Como dijeron que hagan preguntas... yo hago una

Que significa:

0x1B,0x2E,0x3D,0x3B,0x21,0x2D,0x3E,0x21,0x45,0x3A, 0x68,0x67,0x7E,0x52,
0x5F,0x5B,0x5B,0x50,0x56,0x52,0x50,0x07,0x3B,0x69, 0x61,0x6B,0x75,0x2F,
0x19,0x0D,0x22,0x10,0x02,0x07,0x04,0x19,0x1C,0x6F, 0x03,0x45,0xFC,0x0F,
0xB6,0x00,0x32,0x02,0x88,0x01,0x8D,0x45,0xFC,0xFF, 0x00,0xEB,0xD6,0x8B,
0x45,0x08,0x03,0x45,0xFC,0xC6,0x00,0x00,0xC9,0xC3

  #84 (permalink)  
Antiguo 02/10/2006, 18:06
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por Developer9 Ver Mensaje
Como dijeron que hagan preguntas... yo hago una

Que significa:

0x1B,0x2E,0x3D,0x3B,0x21,0x2D,0x3E,0x21,0x45,0x3A, 0x68,0x67,0x7E,0x52,
0x5F,0x5B,0x5B,0x50,0x56,0x52,0x50,0x07,0x3B,0x69, 0x61,0x6B,0x75,0x2F,
0x19,0x0D,0x22,0x10,0x02,0x07,0x04,0x19,0x1C,0x6F, 0x03,0x45,0xFC,0x0F,
0xB6,0x00,0x32,0x02,0x88,0x01,0x8D,0x45,0xFC,0xFF, 0x00,0xEB,0xD6,0x8B,
0x45,0x08,0x03,0x45,0xFC,0xC6,0x00,0x00,0xC9,0xC3

:D Eso es una cadena, "p", que contiene basura a los ojos tuyos, hasta que logres que contenga una cadena legible :D
  #85 (permalink)  
Antiguo 02/10/2006, 18:11
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
Y que significa 0x1B? un caracter? igual que cada uno de esos simbolos separados por comas...
  #86 (permalink)  
Antiguo 02/10/2006, 19:53
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 8 meses
Puntos: 2
p, q y r, son arrays de caracteres, solo que los caracteres estan escritos en exadecimal, sin embargo, aparentemente solo contiene basura, o caracteres en desorden.

bien podria ser:

p = { '!', '*', '>', '¨', '&', '2'...etc.
esto seria si estiviesen en representacion de caracter.
  #87 (permalink)  
Antiguo 02/10/2006, 20:02
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
Lo sospeché desde un principio... alguna vez los ví en la uni, las referencias a memoria están escritas en hexadecimal. Entonces hay que saber a que letra representa y convertirla en esa letra
  #88 (permalink)  
Antiguo 02/10/2006, 20:20
 
Fecha de Ingreso: abril-2006
Ubicación: Acapulco Gro. México
Mensajes: 483
Antigüedad: 18 años, 8 meses
Puntos: 2
No.

para el compilador da igual este en caracter, en exadecimal, u octal.

el problema aqui es que:

la funcion puts(), escribe una cadena en la consola, pero asi como esta, solo escribe basura.

tenemos que hacer de alguna forma que se escriba un mensaje en pantalla.

supongo, que se tienen que hacer sin alterar, los 3 arrays o la funcion puts(p);
  #89 (permalink)  
Antiguo 02/10/2006, 20:29
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años, 9 meses
Puntos: 47
Y puedo decir libremente lo que se me ocurre conservando los derechos de autor, es decir, sin que me plagien la respuesta en el caso de que sea buena...



no importa...

Se me ocurre crear un puntero y direccionarlo a la dirección de memoria indicada y sacar lo que se encuentre allí

haber si pasamos por algún sitio interesante de la ram
  #90 (permalink)  
Antiguo 03/10/2006, 06:36
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años, 9 meses
Puntos: 17
Cita:
Iniciado por Developer9 Ver Mensaje
Lo sospeché desde un principio... alguna vez los ví en la uni, las referencias a memoria están escritas en hexadecimal. Entonces hay que saber a que letra representa y convertirla en esa letra
!!

A ver Developer, "0xabcdefgh" es un número expresado en hexadecimal, en C, C++, y mil lenguajes más.

La notación hexadecimal se usa porque con dos cifras tienes exactamente 1 byte, es decir, cada "0xXY" es un byte (letra, o no).

0x00 - Byte (8 bits)
0x0000 - Word (16 bits)
0x00000000 - Double Word (32 bits)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.