Código fuente C y C++

En esta sección iremos incluyendo ficheros fuente, de algunos problemas que nos hemos ido encontrando. Rebuscaremos en nuestras bibliotecas, e intentaremos incluir todo aquello que pueda ser de utilidad o que tenga alguna característica didáctica.

También incluímos aquí algunos programas que los colaboradores han ido enviándonos.

Intentaremos que los programas o funciones estén lo mejor documentadas posible, y explicaremos la necesidad que hizo surgir cada programa y la utilidad que pueda tener, así como sus limitaciones y fallos.

Temas:

Los programas y enlaces están clasificados por temas, elige el tema que prefieras de la lista siguiente:

Tema actual: Estructuras

Grafo a partir de la matriz de Adyacencia (2003-12-03)

Autor: CarlosClavel (SHAK)

Este es un programa que genera el grafo a partir de la matriz de Adyacencia

Está en modo gráfico, y sólo corre en Borland C++.

Si no se recuerdan, una matriz de adyacencia es aquella que muestra de la forma mas rustica cómo está compuesto un grafo, esto es que dónde se coloque un uno se representa como una arista que una los dos nodos y con cero donde no hay union.

Ejemplo:

A ->B,C-->B (Grafo Dirigido)

Investigar diferencia grafo dirigido y no dirigido se utilizara para enteneder aún más el programa.

Matriz Adyacencia grafo de esa matriz
 A B C
 0 1 2 (A) - - - - - - >(B)
 A 0 0 1 |
 B 1 0 0 |
 C 2 0 1 (C)

El programa pide introducir la dimensión de la matriz la cual se llenará luego utilizando el ambiente gráfico. Con la ayuda del mouse se llena dicha matriz, también antes pide los vértices que no son más que los valores asignados a los nodos ejemplo A, B, C.

Luego pasa al ambiente gráfico y todo lo demás es iterativo y fácil de entender.

Dentro del codigo fuente hay mucha más ayuda que puse para entederme cuando lo hize y para documentarlo. Espero les sirva. Problemas o comentarios escribir a Carlosclavel@hotmail.com.

Que la infromacion Fluya libremente(SHAK)

Detalles:

  • GrafocMatrixAdyacencia.CPP 12/04/2004 (50.037 bytes)

Fichero: grafomatriz.zip
Tamaño: 9413 bytes

Número de descargas: 26283

Código sobre Pilas usando plantillas (2003-10-29)

Autor: Angel Rengifo Cancino (Lima, Perú)

Operaciones básicas de una pila implementada con plantillas

Este código nos enseña las operaciones básicas de una pila de cualquier tipo de datos para lo cual me he basado en las plantillas (templates).

He procurado que este código se ajuste lo mayor posible al estándar ANSI C/C++ para que pueda ser fácilmente transportable a cualquier compilador sobre cualquier plataforma. Compilé sin problemas este código sobre el GCC y el DJGPP de GNU. No habría problema alguno con cualquier otro compilador.

Este código puede ser libremente copiado y distribuido siempre y cuando se mantenga intacta esta nota. Úsese para aprender de él y compartamos el conocimiento con todos para hacer cada día un mejor software.

Detalles:

  • pila.h 27/10/2003 (909 bytes)
  • main.cpp 28/10/2003 (2515 bytes)
  • pila.cpp 27/10/2003 (1406 bytes)
  • leeme.txt 28/10/2003 (974 bytes)

Fichero: pila.zip
Tamaño: 3107 bytes

Número de descargas: 21559

Listas doblemente enlazadas (2003-07-01)

Autor: Raul Calle

Proyecto de los alumnos de la Universidad Salesiana de Bolivia del paralelo 3-A2.

Listas doblemente enlazadas en entorno gráfico para Turbo C++.

Detalles:

  • Proy.cpp 07/04/2003 (41594 bytes)

Fichero: proy.zip
Tamaño: 9183 bytes

Número de descargas: 21955

Listas, pilas y colas (2003-06-23)

Autor: Diego

Otra implementación dinamica de colas, listas y pilas.

Detalles:

  • COLAD.cpp 07/04/2004 (2274 bytes)
  • LISTAD.cpp 07/04/2004 (2546 bytes)
  • PILAD.cpp 07/04/2004 (2413 bytes)

Fichero: dhb.zip
Tamaño: 2704 bytes

Número de descargas: 51260

Ejemplo de listas y TADs (2003-06-23)

Autor: José Torres

Se trata de un ejercicio de los de clase (1º de ingeniería técnica) que me ha parecido completito. La definición y la explicación están dentro de los módulos :)

Hay varios modulos:

  • Listacab.h y .c : contienen la definición e implementación de la lista mediante nodos enlazados con punteros y nodo cabecera.
  • Conjuntos.h y .c : contienen la definición e implementación del TAD Conjunto, creado a partir del TAD Lista.

conj_fich_main : módulo principal del ejercicio, contiene a la función main.

Detalles:

  • conjuntos.h 23/06/2003 (950 bytes)
  • listacab.c 23/06/2003 (2575 bytes)
  • listacab.h 23/06/2003 (1710 bytes)
  • projecto.dev 07/04/2004 (1486 bytes)
  • conj_fich_main.c 23/06/2003 (2450 bytes)
  • conjuntos.c 23/06/2003 (1646 bytes)

Fichero: ejercicio_listas.zip
Tamaño: 4518 bytes

Número de descargas: 18653

MSList (2003-06-20)

Autor: Manasés Jesús Galindo Bello

Este es el método de ordenamiento MergeSort pero aplicado a listas, utilizando memoria dinámica, lo que permite ordenar una gran cantidad de números (siempre y cuando tengas espacio en tu HD).

Detalles:

  • MSList.cpp 20/06/2006 (3.634 bytes)

Fichero: mslist.zip
Tamaño: 1544 bytes

Número de descargas: 11461

SumaList (2003-05-28)

Autor: Luis Felipe Londoño

Programa que permite sumar listas dinámicas en C.

Detalles:

  • sumalist.cpp 23/03/2004 (4.360 bytes)

Fichero: sumalist.zip
Tamaño: 1661 bytes

Número de descargas: 11314

Gu2Anliej1 (2002-09-14)

Autor: Carlos P. Clavel (Shk)

Programa de colas en el cual este lee un archivo de texto(txt) previamente creado. Se lee el contenido de dicho archivo y sólo almacenan en la cola los números, para posteriormente sacar los datos de la pila y almacenarlos en un archivo de texto. Más detalles ver el prorama Cpp.

Detalles:

  • Gu2Anliej1.cpp 14/09/2002 (3.700 bytes)

Fichero: Gu2Anliej1.zip
Tamaño: 1473 bytes

Número de descargas: 11155

Guia4ejer4 (2002-09-14)

Autor: Carlos P. Clavel (Shk)

Programa de utilización de listas en el cual se pide digitar unos datos, estos se almacenan en la lista, y posteriormente se puede recorrer dicha información. Más detalles dentro del programa cpp.

Detalles:

  • Guia4ejer4.cpp 14/09/2002 (3.716 bytes)

Fichero: Guia4ejer4.zip
Tamaño: 1579 bytes

Número de descargas: 14369

Pilas en C (Básico) (2002-08-11)

Autor: J.A.

Se trata de un programa para manejar pilas (gestión dinámica de memoria) y puedes elegir usando los cursores como si fuera modo gráfico. Está hecho con turbo C. Espero que sirva de ayuda.

Detalles:

  • Avpila.cpp: 01/07/2002 (4.074 bytes)

Fichero: avpila.zip
Tamaño: 1168 bytes

Número de descargas: 26518

Operaciones con vectores y matrices (2002-03-02)

Autor: Hugo Enrique Jarillo Guemez de Mexico

Este es un programa que despliega un menu de operaciones con vectores y matrices basico pero funcional.

Detalles:

  • vectores.c: 14/02/2002 (15.552 bytes)

Fichero: vectores.zip
Tamaño: 4152 bytes

Número de descargas: 29936

Sistema de Administración de Colas de Mensajes (2002-02-26)

Autor: Oscar C. Oliva Gonzalez

Este programa establece una diferenciación en la urgencia de los mensajes enviados a través de Internet, a traves de un sistema de clasificación de los mismos.

La generación de la categoría de urgencias de un mensaje es responsabilidad del emisor e involucra un costo dependiente de la diferenciación.

Un mensaje consiste de un texto, cuya longitud máxima es de 256 caracteres, y un código de urgencia de 3 colores (Blanco < Azul < Rojo).

El servidor encargado de la emisión de mensajes lo hace en estricto orden de urgencias y para clasificarlos utiliza una cola de Mensajes y 3 colas de color. Blanca, Azul y Rojas.

Cola con prioridad
Cola con prioridad
Operación:

Todos los Mensajes se ponen en la cola de Mensajes y se efectúan 3 pasadas, sacando de ellas los mensajes e ingresándolos a las colas de color según el color del código de urgencia. En la primera pasada se usa el tercer color (derecho) del código; en la segunda pasada, el segundo color (Medio); Y en la tercera pasada el Primer color (Izquierdo).

Después de cada pasada, se devuelve a la cola de Mensajes ingresando, primero todos los de la cola Roja, luego los de la cola Azul y, finalmente, los de la cola Blanca.

Con este programa se podra entender el trabajo con colas en estructura de datos, además la utilización de clases.

Detalles:

  • emulador.cpp 14/02/2002 (3.308 bytes)

Fichero: emulador.zip
Tamaño: 1493 bytes

Número de descargas: 13088

Estacionamiento (2002-01-04)

Autor: Sergio de Leon López

Simulación de un estacionamiento de vehículos mediante una pila.

Detalles:

  • Estacionamiento.cpp 04-01-2002 (6.804 bytes)

Fichero: estacionamiento.zip
Tamaño: 1979 bytes

Número de descargas: 18795

Árbol binario (ABB) (2002-01-04)

Autor: Sergio de Leon López

Programa que genera números aleatorios y los inserta en un árbol binario. Además de obtener los niveles máximos y mínimo saca la diferencia de estos mismos y nos dice cuántas veces de las 50 se repitieron cifras de la diferencia.

Detalles:

  • BINARIO.cpp 4/1/2002 (2.532 bytes)

Fichero: abb.zip
Tamaño: 1198 bytes

Número de descargas: 24137

Comprobador de ortografía (2001-01-04)

Autor: Sergio de León López

Programa de verificación de ortografía mediante un árbol binario de búsqueda (ABB).

Detalles:

  • EXTRA.cpp

Fichero: extra.zip
Tamaño: 4030 bytes

Número de descargas: 14365



suministrado por FreeFind
Valid HTML 4.0! Valid CSS!