Códigos Fuente de C/Visual C
Mostrando del 1 al 10 de 812 registros
Resuelve problemas de mate de ajedrez.
Funciona con el teclado.

Juego de Tres en raya en pantalla de texto.

Solucion al problema por el metodo de paso atras.

Juego de tetris en pantalla grafica (modo 13), se maneja con las teclas de dirección y escape, para cambiar nivel + y -.
Juego de tetris en pantalla de texto, se maneja con las teclas de dirección y escape.
Para subir o bajar de nivel + y -.

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
****************************************************************
Aequam memento rebus in arduis servare mentem
------------------------------------------------------
Hilario Iglesias Martínez
***********************************************************************
neurona.c
*****************************************************************
Este es un ejemplo de lo más básico, hecho en lenguaje C que simula una sencillisima red neuronal, y permite introducir parámetros por el teclado a través de consola linux.
Ten en cuenta que este es solo un ejemplo simple y puede requerir modificaciones o mejoras dependiendo de tus conocimientos del tema y necesidades específicas, por lo que el programa está hecho para interactuar con el, modificando parametros del mismo, como la estructura de la red neuronal,la inicialización de la red neuronal, la propagación de la misma, y el cálculo final de los valores de salida.
******************************************************************************
En principio hemos ido a un esquema sencillo, con el fin de no complicar y no hacer inentendible el programa. El esquemá básico que se propone es como sigue:
Esquemáticamente la red neuronal tiene 2 neuronas de entrada, 3 neuronas ocultas y 1 neurona de salida. Los pesos de conexión se inicializan aleatoriamente entre -1 y 1. Luego, se solicitan los valores de entrada al usuario, y se propagan hacia adelante a través de la red neuronal. Finalmente, se muestran los valores de salida calculados.
Es importante explicar un poco lo que es el peso de conexión:
-------------------------------------------------------------
Los pesos de conexión de una neurona son los valores numéricos que determinan la fuerza y la influencia de las entradas en la salida de la neurona. Cada conexión entre una entrada y una neurona está asociada a un peso.
En una red neuronal artificial, los pesos de conexión son parámetros ajustables que se utilizan durante el proceso de entrenamiento para encontrar la configuración óptima de la red neuronal. Estos pesos se actualizan iterativamente en función de la diferencia entre las salidas deseadas y las salidas producidas por la red neuronal.
Cuando se realiza una propagación hacia adelante en la red neuronal, cada neurona recibe las entradas de las neuronas previas ponderadas por los pesos de conexión. Luego, se aplica una función de activación a la suma ponderada para producir la salida de la neurona.
Los pesos de conexión se inicializan típicamente de forma aleatoria al comienzo del entrenamiento, y luego se ajustan durante el proceso de aprendizaje. El objetivo del entrenamiento es encontrar los valores de los pesos que minimizan la diferencia entre las salidas deseadas y las salidas producidas por la red neuronal.
En resumen, los pesos de conexión son parámetros ajustables que determinan la influencia de las entradas en la salida de una neurona. Estos pesos se actualizan durante el entrenamiento para optimizar el rendimiento de la red neuronal en la tarea específica que se está abordando.
--------------------------------------------------------------------------------------
El programa te pedirá que introduzcas los valores de entrada. Después de ingresar los valores, mostrará los valores de salida calculados por la red neuronal.
---------------------------------------------------------------------
Este programa fue realizado y ejecutado en una plataforma linux.
En mi caso
Ubuntu 20.04.6 LTS.
Bajo consola.
Se ha utilizado el IDE:
Sublime Text.
*************************************************************
COMPILACIÓN:
gcc neurona.c -o neurona -lm
Como ves debes agregar la opción -lm al compilar el programa.
Esta opción indica al compilador que enlace la biblioteca
matemática durante la compilación.
EJECUCION:
./neurona
**************************************
//////////////////////////////////////////////////////////////////////////////////////
Ad praesens ova cras pullis sunt meliora.
***********************************************
HILARIO IGLESIAS MARTÍNEZ
*******************************************************************
traceroute.c
********************************************************************
Pretendemos en este ejemplo plantear la programación en ansi C, de un TRACEROUTE, lo más sencillo posible. Explicaremos concisamente, en que consiste un traceroute, utilidad habitual en las distros de linux, que se puede instalar con este comando, en mi caso utilizo UBUNTU, y utilizo este comando
sudo apt-get install traceroute
Por ejemplo, en Fedora se podría utilizar este, entre otros.
sudo yum install traceroute
********************************************************************
Un traceroute, también conocido como rastreo de ruta, es una herramienta de red que se utiliza para determinar la ruta que sigue un paquete de datos desde el origen hasta su destino en una red de computadoras. El traceroute muestra la secuencia de saltos o enrutadores a través de los cuales pasa el paquete para llegar a su destino.
Cuando se ejecuta un traceroute, se envían una serie de paquetes ICMP (Internet Control Message Protocol) con incrementos de TTL (Time-to-Live) sucesivos. El TTL especifica el número máximo de saltos que un paquete puede realizar antes de ser descartado. En cada salto, el paquete llega a un enrutador y, si el TTL no ha expirado, el enrutador lo reenvía al siguiente salto en la ruta hacia el destino. Si el TTL llega a cero, el enrutador descarta el paquete y envía un mensaje de error al origen.
Cuando un enrutador recibe un paquete con TTL cero, envía un mensaje de "Tiempo Excedido" (Time Exceeded) al origen. El mensaje de "Tiempo Excedido" incluye la dirección IP del enrutador que lo envió. Utilizando esta información, el traceroute puede construir una lista de direcciones IP de los enrutadores en la ruta hacia el destino.
Además de mostrar las direcciones IP de los enrutadores, el traceroute también proporciona información sobre el tiempo de ida y vuelta (round trip time) entre el origen y cada enrutador en la ruta. Esto permite detectar posibles problemas de latencia en la red.
El traceroute es una herramienta útil para diagnosticar problemas de conectividad en una red y comprender la ruta que sigue el tráfico de red. También se utiliza con fines de seguridad para detectar posibles puntos débiles en la ruta de red y para identificar posibles bloqueos o restricciones en los enrutadores o firewalls.
****************************************************************************
El programa ha sido realizado en
Ubuntu 20.04.6 LTS
IDE Sublime text.
************************************************************
CONPILACIÓN DEL PROGRAMA
gcc -Werror -o traceroute traceroute.c
EJECUCIÓN.
Uso: sudo./traceroute <dirección IP>
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
INIMICUM QUAMVIS HUMLEM DOCTI EST METUERE.
***********************************************
Hilario Iglesias Martínez.
**************************************************
Realizado en una plataforma linux 20.04.6 LTS.
Con ANSI C.
Ejecutado en Consola Linux.
Editado.
IDE sublime txt.
Este ejercicio, programa en C, implementa una consulta WHOIS enviando una solicitud al servidor WHOIS de IANA (Internet Assigned Numbers Authority). El usuario debe ingresar el dominio que desea consultar, y el programa se conectará al servidor WHOIS y enviará la consulta correspondiente. Luego, mostrará la respuesta recibida del servidor WHOIS a través de la consola.
Es importante tener en cuenta que algunos servidores WHOIS pueden bloquear o limitar las solicitudes, por lo que es posible que no siempre se obtenga una respuesta para todos los dominios.
El ejercicio está hecho para poder probar con el en todas las opciones o cambios que se le quieran realizar.
En las diferentes distros de linux se puede ejecutar directamente el comando whois. En mi caso utilizo una plataforma Ubuntu 20.04.6 LTS, y una de las formas de instalarlo sería con los siguientes comandos según su orden.
sudo apt-get update
sudo apt-get install whois
Durante la instalación, se te solicitará ingresar tu contraseña de administrador (root). Escribe tu contraseña y presiona Enter. Ten en cuenta que al escribir la contraseña, no se mostrarán caracteres ni asteriscos en la terminal, pero sigue escribiendo y presiona Enter.
Después de ingresar la contraseña, el sistema descargará e instalará el paquete whois y sus dependencias.
**********************************************************************************************
COMPILAR Y EJECUTAR EL PROGRAMA.
-----------------------------------------------------------------------------------
Compilar.
gcc -Werror whois.c -o whois
Ejecutar.
./whois
************************************************************************************
Salida del programa con el comando Ctrl C
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Amare et sapere vix deo conceditur.
**********************************************************
Hilario Iglesias Martínez.
*********************************************************
Este programa realizado en lenguaje ANSI C, bajo consola en plataforma LINUX Ubuntu 20.04.6 LTS.
******************************************************************************************
Realiza el esnifado de paquetes de la red wifi, detectando previamente el dispositivo de red
y los datos básicos del paquete.
-También puedes saber tus dispositivos de red utilizando el comando bajo consola ifconfig-.
Detecta las características básicas del paquete, y reproduce por consola, la disposición
en exadecimal y en código ASCII.
----------------------------------------------------------------------------------------------------------------------------
Este programa utiliza la biblioteca libpcap para capturar paquetes de red en tiempo real.
Por lo tanto deberás tenerla instalada en el sistema.
Instala libpcap ejecutando el siguiente comando:
sudo apt install libpcap-dev
Una vez que la instalación se haya completado, puedes verificar que libpcap esté instalado correctamente ejecutando el siguiente comando:
pcap-config --version
--------------------------------------------------------
Conpilar el programa con este comando.
gcc -Werror programa.c -o programa -lpcap
Ejecutar el programa con este comando.
sudo ./programa
Como se ve hay que utilizar sudo para su ejecución
ya que es necesario tener privilegios de root
**********************************************INITIUM SAPIENTIAE TIMOR DOMINI.
**********************************************************
Hilario Iglesias Martínez.
*********************************************************
Este programa realizado en lenguaje C, bajo consola en plataforma Ubuntu 20.04.6 LTS.
Lo realizamos utilizando la función fgets para leer el texto introducido por el usuario desde la consola y almacenarlo en la variable input_text. Luego, simplemente imprimimos el texto introducido en la pantalla utilizando printf.
El tamaño máximo del texto a introducir se establece en 300 caracteres en este ejemplo, pero puedes ajustarlo según tus necesidades.
Base64 es un algoritmo de codificación que permite transformar cualquier carácter de cualquier idioma en un alfabeto que consta de letras, dígitos y signos latinos. Con esto podemos convertir caracteres especiales como logogramas chinos, emojis e incluso imágenes en una secuencia "legible" (para cualquier ordenador), que se puede guardar y/o transferir en cualquier otro lugar. A menudo se utiliza para transmitir datos binarios por medio de transmisiones que tratan sólo con texto, como para enviar imágenes y archivos adjuntos por correo electrónico, en HTML etc.
***************************************************************************************
La compilación se realiza utilizando el siguiente
comando:
gcc -Werror encripta.c -o encripta
Se puede ejcutar el programa bajo consola de
linux con este comando:
./encripta
**********************************************************************************