{"id":12692,"date":"2025-05-20T09:02:18","date_gmt":"2025-05-20T07:02:18","guid":{"rendered":"https:\/\/www.giusseppe.net\/blog\/?p=12692"},"modified":"2025-06-05T13:43:47","modified_gmt":"2025-06-05T11:43:47","slug":"poema-cirfrado","status":"publish","type":"post","link":"https:\/\/www.giusseppe.net\/blog\/archivo\/2025\/05\/20\/poema-cirfrado\/","title":{"rendered":"Poema Cifrado"},"content":{"rendered":"<p>Programa para \u00abcifrar\u00bb con un b\u00e1sico \u00abCifrado C\u00e9sar\u00bb, modificando letras por otras letras.<\/p>\n<p>No acab\u00e9 de darle entidad, as\u00ed que no lo incluyo en el apartado de <a href=\"\/poemas\/prog\/\">Poes\u00eda Programable<\/a> que tanto me divierte en ocasiones.<\/p>\n<p>Hace m\u00e1s de un a\u00f1o realic\u00e9 este peque\u00f1o proyectito para un podcast po\u00e9tico que coordinaba Ernesto Pent\u00f3n:<\/p>\n<p><strong>Proyecto para escribir un poema (sin tildes) desajustado una cantidad variable que se llamar\u00e1 desajuste<\/strong>.<\/p>\n<p style=\"padding-left: 40px;\">Escribir un <strong>programa en C que modifique un texto dado cambiando cada letra por la letra siguiente<\/strong> en el alfabeto a partir de ah\u00ed llegar hasta la letra z y continuar con las primeras letras del mismo como si el alfabeto fuese un vector circular infinito.<\/p>\n<p style=\"padding-left: 40px;\">Utilizar el operador m\u00f3dulo dividiendo la suma del \u00edndice m\u00e1s su desajuste entre 27 para hacer las consecuentes sustituciones (de la letra i por la letra (i+desajuste)%27) por las letras siguientes teniendo en cuenta que no puede pasar del n\u00famero 26 (de 0-A a 26-Z).<\/p>\n<p style=\"padding-left: 40px;\">Utilizar un array de letras para que sea el \u00edndice del array quien me diga qu\u00e9 letra sustituye a qu\u00e9 letra.<\/p>\n<p>Pero el hecho de que no pudiese hacerlo con tildes sin una complicaci\u00f3n enorme (es muy rollo programar en <a href=\"https:\/\/www.gnu.org\/software\/c-intro-and-ref\/manual\/html_node\/Wide-String-Constants.html\" target=\"_blank\">C con Wide Strings<\/a>), decid\u00ed no generalizarlo a m\u00e1s de una frase y lo dej\u00e9 por demasiado absurdo. S\u00ed, s\u00ed, demasiado absurdo.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\">\/********************************************************\r\n    Poema Desajuste (escrito en C)\r\n    realizado por Giusseppe Dom\u00ednguez\r\n    el d\u00eda 11 de marzo de 2024 en Madrid\r\n    bajo el sol del invierno.\r\n********************************************************\/\r\n#include &lt;stdio.h&gt;\r\n#include &lt;string.h&gt;\r\n#include &lt;time.h&gt;\r\n\r\nint desajuste(char *verso, char *verso_desajustado, int desajuste);\r\nint firma();\r\n\r\nint main(int argc, char *argv[])\r\n{\r\n    char verso[]= \"primavera es ezo\";\r\n    char verso_desajustado[255];\r\n\r\n  desajuste(verso, verso_desajustado, 2);\r\n\r\n    return(firma());\r\n}\r\n\r\nint desajuste(char *verso, char *verso_desajustado, int desajuste)\r\n{\r\n    int  i, letra;\r\n    int  long_verso=strlen(verso);\r\n  char alfabeto[] = \"abcdefghijklmnNopqrstuvwxyz\";\r\n  int  long_alfabeto = strlen(alfabeto);\r\n  strcpy (verso_desajustado, verso);\r\n\r\n    printf(\"Verso antes   de bucle es: #%s#\\n\", verso_desajustado);\r\n\r\n    for (i=0; i&lt;long_verso; i++) {\r\n        if (verso[i] == ' ') verso_desajustado[i] = ' ';\r\n        else\r\n     for (letra=0; letra&lt;long_alfabeto; letra++) {\r\n       if (verso[i] == alfabeto[letra]) verso_desajustado[i] = alfabeto[(letra+desajuste)%long_alfabeto];\r\n     }\r\n    }\r\n\r\n    printf(\"Verso despu\u00e9s de bucle es: #%s#\\n\", verso_desajustado);\r\n    return long_verso;\r\n}\r\n\r\n\/* Funci\u00f3n para aumentar mi ego cada vez que se ejecuta. *\/\r\nint firma()\r\n{\r\n  time_t tiempo = time(0);\r\n  struct tm *tiempolocal = localtime(&amp;tiempo);\r\n  char txt_firma[128];\r\n  strftime(txt_firma,128,\"\\nGiusseppe Dom\u00ednguez, a las %H:%M. M-%Y%m%d\",tiempolocal);\r\n  printf(\"%s\\n\",txt_firma);\r\n    return 0;\r\n}\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Programa para \u00abcifrar\u00bb con un b\u00e1sico \u00abCifrado C\u00e9sar\u00bb, modificando letras por otras letras. No acab\u00e9 de darle entidad, as\u00ed que no lo incluyo en el apartado de Poes\u00eda Programable que tanto me divierte en ocasiones. Hace m\u00e1s de un a\u00f1o realic\u00e9 este peque\u00f1o proyectito para un podcast po\u00e9tico que coordinaba Ernesto Pent\u00f3n: Proyecto para escribir &#8230; <a title=\"Poema Cifrado\" class=\"read-more\" href=\"https:\/\/www.giusseppe.net\/blog\/archivo\/2025\/05\/20\/poema-cirfrado\/\">Read more<span class=\"screen-reader-text\">Poema Cifrado<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,232,128],"tags":[67,112,76,87,323,91,287,105,137],"class_list":["post-12692","post","type-post","status-publish","format-standard","hentry","category-poemas","category-programable","category-proyectos","tag-creatividad","tag-giusseppe","tag-informatica","tag-modo-de-vida","tag-podcast","tag-poesia","tag-programable","tag-tecnologia","tag-tonterias"],"_links":{"self":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts\/12692","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/comments?post=12692"}],"version-history":[{"count":2,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts\/12692\/revisions"}],"predecessor-version":[{"id":12727,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/posts\/12692\/revisions\/12727"}],"wp:attachment":[{"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/media?parent=12692"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/categories?post=12692"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.giusseppe.net\/blog\/wp-json\/wp\/v2\/tags?post=12692"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}