Bienvenido a Tecnohackers

Tecnohackers » General del foro » Area de Programacion » Programacion a Bajo Nivel. APIs, Hooking, ASM, C/C++, etc. (Moderador: Doddy)
 » 

[C/C++]Programas y Clases [By kaiser][Completa]



Autor Tema: [C/C++]Programas y Clases [By kaiser][Completa]  (Leído 806 veces)

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
[C/C++]Programas y Clases [By kaiser][Completa]
« en: Enero 21, 2009, 09:19:08 am »
Bueno este espacio estara hecho para proveer aplicaciones (programas) y clases hechas en mis tiempos de estudio... Espero les sean de ayuda...
« última modificación: Marzo 01, 2011, 06:31:24 pm por Hamlet »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #1 en: Enero 21, 2009, 09:19:39 am »
Ecuación de 2do grado

PROG0026 - Visual C++, (Solo Programa, no codigo fuente)

Programa que calcula las raíces reales o imaginarias de una ecuacíón de 2do grado

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:34:27 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #2 en: Enero 21, 2009, 09:20:11 am »
Interpolación de funciones por el método de Gregory-Newton

PROG0025 - C/C++ (Codigo)

Implementación del método de Gregory-Newton para interpolación de funciones no lineales.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:34:46 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #3 en: Enero 21, 2009, 09:20:45 am »
Resolución numérica de integrales por el método de Simpson

PROG0024 - C/C++ (Codigo mas programa)

Implementación del método de Simpson (combinación de Simpson 1/3 y 3/8) para resolución numérica de integrales.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:35:00 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #4 en: Enero 21, 2009, 09:21:15 am »
Evaluador de funciones

PROG0023 - C/C++ (Codigo + Header)

Implementación de un evaluador de expresiones matemáticas que admite operadores aritméticos, de potenciación y algunas funciones matemáticas. El funcionamiento está basado en dos pasos; el primero consiste en convertir la expresión a notación polaca inversa para luego proceder a la evaluación de esta última.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:43:49 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #5 en: Enero 21, 2009, 09:21:46 am »
Ordenamiento de arreglos por el método de la burbuja

PROG0022 - C/C++ (Codigo)

El método de la burbuja es un algoritmo para ordenamiento de arreglos muy sencillo, aunque poco eficiente. Opera realizando una serie de rastreos sucesivos del arreglo, intercambiando elementos adyacentes hasta conseguir que todos ellos se encuentren en el orden adecuado.

Informacion:

Citar
El método de la burbuja es un algoritmo para ordenamiento de arreglos muy sencillo, aunque poco eficiente. Opera realizando una serie de rastreos sucesivos del arreglo, intercambiando elementos adyacentes hasta conseguir que todos ellos se encuentren en el orden adecuado.

void SortArray (int array[],int length)
{
* *// Declaración de variables
* *int i,j,t;            
* * * for (i=length-1;i>0;i--)      // lazo principal
* * * * *for (j=0;j<i;j++)      // lazo secundario
* * * * * * if (array[j]>array[j+1])   // comparación de elementos
   * * {            
   * * * *t= array[j];      // intercambio de elementos si la
   * * * *array[j]= array[j+1];   // comparación es positiva
   * * * *array[j+1]= t;      
   * * }
}


No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:44:04 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #6 en: Enero 21, 2009, 09:22:27 am »
Ordenamiento de arreglos por el método rápido (quicksort)

PROG0021 - C/C++ (Codigo)

El método rápido o quicksort, es el algoritmo para ordenamiento de arreglos más rápido que existe. Además, es matemáticamente demostrable, que no puede existir un método mejor. Se basa en el principio "divide y vencerás". Su implementación sin embargo, reviste complejidad, ya que se trata de un algoritmo recursivo por naturaleza.

Citar
El método rápido o quicksort, es el algoritmo para ordenamiento de arreglos más rápido que existe. Además, es matemáticamente demostrable, que no puede existir un método mejor. Se basa en el principio "divide y vencerás". Su implementación sin embargo, reviste complejidad, ya que se trata de un algoritmo recursivo por naturaleza.

void SortArray (int array[],int first,int last)
{
* *int i,j,p,t;

* *// i se hace igual al índice del primer elemento*
* *i= first;*
* *// y j igual al índice del último elemento
* *j= last;*
* *// p se hace igual al elemento pivote del arreglo
* *p= array[(first+last)/2];*

* *do {
* * * // se hace la partición del arreglo
* * * while (array<p) i++;
* * * while (p<array[j]) j--;
* * * * *if (i<=j)
* * * * *{
* * * * * * // se intercambian los elementos i-esimo y j-esimo del arreglo
* * * * * * t= array;
* * * * * * array= array[j];
* * * * * * array[j]= t;
* * * * * * i++;
* * * * * * j--;
* * * * *}
* *} while (i<=j);
* *if (first<j) SortArray(array,first,j);
* *if (i<last) SortArray(array,i,last);
}


No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:44:20 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #7 en: Enero 21, 2009, 09:23:05 am »
Clase para manejo de números complejos

PROG0020 - C++ (Codigo)

Esta clase* proporciona un método simple y eficiente para el manejo de números complejos. La implementación incorpora las operaciones aritméticas básicas, así como condicionales y manejo de "streams".

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:44:37 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #8 en: Enero 21, 2009, 09:23:34 am »
Clase para manejo de arreglos persistentes


PROG0019 - C++ (Codigo)

La clase FARRAY permite manipular archivos en disco, como si fueran arreglos unidimensionales.

No puedes ver links Registrate o Login

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #9 en: Enero 21, 2009, 09:24:01 am »
Clase para manejo de números racionales

PROG0018 - C++ (Codigo)

Esta clase, permite la manipulación sencilla de números racionales (fracciones). Incluye una interesante rutina para simplificación de fracciones. Admite todos los operadores aritméticos y condicionales y así como manejo de "streams". Permite hacer "casting" a punto flotante en doble precisión.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:44:54 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #10 en: Enero 21, 2009, 09:24:28 am »
Clase para manejo de pilas

PROG0017 - C++ (Codigo)

La clase que se muestra a continuación, proporciona un método simple y eficiente para el manejo de pilas utilizando plantillas (templates). Se incluyen métodos para inicialización, ingreso de datos, extracción de datos y para vaciado de la pila.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:45:11 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #11 en: Enero 21, 2009, 09:25:02 am »
Clase para manejo de cadenas de caracteres

PROG0016 - C++ (Codigo)

Esta clase, permite la manipulación sencilla de cadenas de caracteres en C++ e ilustra la construcción de operadores de asignación, concatenación y condición para este tipo de datos. Incluye funciones 'amigas' para implementar los operadores inserción y extracción y la posibilidad de 'casting' a entero.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:45:26 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #12 en: Enero 21, 2009, 09:25:42 am »
Programa que ejemplifica el uso de polimorfismo

PROG0015 - C++ (Codigo)

Programa que muestra el uso de polimorfismo en C++. Se crea una clase base a partir de la cual se derivan tres clases hijas, que al compartir el mismo ancestro, pueden utilizar métodos con nombre común.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:45:39 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #13 en: Enero 21, 2009, 09:26:07 am »
Cálculo de raíces de un polinomio hasta de 5to grado

PROG0014 - C/C++ (Codigo y Aplicacion)

Rutina capaz de determinar las raíces tanto reales como imaginarias de un polinomio hasta de quinto grado.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:45:52 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #14 en: Enero 21, 2009, 09:26:30 am »
Evaluador de expresiones matemáticas

PROG0013 - C/C++ (Codigo)

Implementación de un evaluador de expresiones matemáticas. Admite sólo operadores aritméticos y de potenciación. El funcionamiento está basado en dos pasos; el primero consiste en convertir la expresión a notación polaca inversa para luego proceder a la evaluación de esta última.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:46:06 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #15 en: Enero 21, 2009, 09:26:41 am »
Manejo de archivos de texto


PROG0012 - C/C++ (Codigo)

Conjunto de rutinas sencillas para manejo de archivos de texto.

No puedes ver links Registrate o Login

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #16 en: Enero 21, 2009, 09:27:13 am »
Cronómetro

PROG0011 - C/C++ (Codigo)

El ejemplo utilizado muestra la utilización de la función clock(), para implementar un sencillo cronómetro, que puede resultar útil para medir el rendimiento de una rutina. Se hace uso de la clase de almacenamiento estática, para proveer de memoria a la función desarrollada.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:46:25 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #17 en: Enero 21, 2009, 09:27:34 am »
Solución al problema de las 8 reinas

PROG00010 - C/C++ (Codigo)

Programa que resuelve el clásico problema de las 8 reinas, que consiste en ubicar ocho reinas en un tablero de ajedrez, sin que ninguna pueda atacar a cualquiera de las otras siete. Se utiliza un algoritmo de "fuerza bruta" implementado en forma recursiva.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:46:37 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #18 en: Enero 21, 2009, 09:27:54 am »
Cómo prevenir la ejecución de múltiples instancias de un programa

PROG0009 - BCC++ (Codigo)

En este ejemplo se muestra, cómo escribir un programa en C++ Builder que evite que puedan ser ejecutadas varias instancias (simultáneamente) de si mismo. La técnica es muy sencilla, y consiste en agregar unas cuantas líneas al módulo principal del programa. En este módulo es posible identificar la función WinMain, que va a ser la primera en ejecutarse cuando el programa sea iniciado.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:46:51 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #19 en: Enero 21, 2009, 09:28:15 am »
Cómo determinar el directorio desde donde se ejecuta la aplicación actual

PROG0008 - BCC++ (Codigo)

En muchas ocasiones es necesario determinar el directorio desde donde se ejecuta la aplicación actual. En Borland C++ Builder basta con acceder a la propiedad ExeName del objeto Application. Esta propiedad contiene el directorio y el nombre de la aplicación actual. Utilizando la función ExtractFilePath, se recupera la porción correspondiente al directorio.

Código: No puedes ver links Registrate o Login
AnsiString& ApplicationDirectory (void)
{
* *return ExtractFilePath(Application->ExeName);
}

Como macro, la solución es así:

#define ApplicationDirectory() ExtractFilePath(Application->ExeName)
« última modificación: Abril 29, 2010, 09:47:06 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #20 en: Enero 21, 2009, 09:28:55 am »
Archivos de acceso directo


PROG0007 - C/C++ (Codigo)

Programa que ejemplifica el uso de archivos de acceso directo.

No puedes ver links Registrate o Login

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #21 en: Enero 21, 2009, 09:29:24 am »
Programa graficador de funciones

PROG00006 - C/C++ (Codigo)

Programa que dada una función, produce una gráfica en el plano cartesiano-

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:47:22 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #22 en: Enero 21, 2009, 09:29:51 am »
Presa y predador


PROG0005 - C/C++ (Codigo)

Programa que ilustra algoritmos simples de "inteligencia artificial".

No puedes ver links Registrate o Login

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #23 en: Enero 21, 2009, 09:30:23 am »
Chat a través del puerto serial

PROG0004 - C/C++ (Codigo)

Programa sencillo que ilustra como emplear el puerto serial para transferir información entre dos computadores.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:47:37 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #24 en: Enero 21, 2009, 09:30:44 am »
Manejo del puerto paralelo

PROG0003 - BCC++ (Codigo y Aplicacion)

Programa que ilustra cómo manipular el puerto paralelo utilizando funciones modificadas del API de Windows.

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:47:51 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #25 en: Enero 21, 2009, 09:31:04 am »
Clase para manejo de matrices

PROG0002 - C++ (Codigo)

Clase que implementa matrices bdimensionales como un nuevo tipo de datos. Incluye operaciones básicas y manejo de "streams".

No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:48:05 pm por alma_triste »

Desconectado kaiser

  • Veterano
  • ***
  • Mensajes: 256
    • http://foro.latinohack.com
Respuesta: Programas y Clases [By kaiser1313][Completa]
« Respuesta #26 en: Enero 21, 2009, 09:31:53 am »
Recolectores

PROG0001 - BCC++ (Codigo y Aplicacion)

Programa que ilustra el empleo de algoritmos de "inteligencia artificial" sencillos que al ser aplicados a múltiples agentes libres consigue resultados complejos.

Citar
El programa muestra una grilla donde se ubican aleatoriamente partículas. También se colocan recolectores que en cada ciclo de ejecución del programa cambian de posición de manera aleatoria. Cada vez que actualizan posición pueden ocurrir varios casos:

--El recolector no contiene ninguna partícula y se mueve a una posición vacía. En este caso, simplemente se actualiza la posición del recolector.

--El recolector no contiene ninguna partícula y se mueve a una posición con otro recolector. En este caso, no se actualiza la posición del recolector

--El recolector no contiene ninguna partícula y se mueve a una posición con una partícula. Determina la probabilidad de cargar la partícula utilizando la fórmula PC= (K1/(K1+F))^2 donde K1 es una constante prestablecida y F es el número de partículas que se ha encontrado el recolector en los últimos 50 movimientos. Si la probabilidad de carga resulta mayor que un número entre 0 y 1 generado aleatoriamente, la posición del recolector es actualizada y la partícula es cargada. Si no es mayor, la posición del recolector permanece inalterada.

--El recolector contiene una partícula y se mueve a una posición vacía. En este caso, se determina la probabilidad de descarga utilizando la fórmula PD= (F/(K2+F))^2 donde K2 es una constante prestablecida y F es el número de partículas que se ha encontrado el recolector en los últimos 50 movimientos. Utilizando un criterio similar al caso anterior, se decide si el recolector descargará o no la partícula. Si se decide no descargarlo, la posición del recolector es actualizada. Si se decide descargarlo, la particula es dejada en la posición actual del recolector, y este es "movido" a la nueva localidad.

--El recolector contiene una particula y se mueve a una posición con otro recolector. En este caso no se actualiza la posición del recolector.

--El recolector contiene una partícula y se mueve a una posición con otra partícula. La posición del recolector no es actualizada.


No puedes ver links Registrate o Login
« última modificación: Abril 29, 2010, 09:48:22 pm por alma_triste »

Tags:

 

Related Topics

  Asunto / Iniciado por Respuestas Último mensaje
0 Respuestas
401 Vistas
Último mensaje Agosto 21, 2009, 11:55:37 am
por alma_triste
4 Respuestas
225 Vistas
Último mensaje Mayo 28, 2011, 01:11:24 am
por adriana
1 Respuestas
289 Vistas
Último mensaje Junio 20, 2010, 10:23:41 am
por Necrófero
0 Respuestas
166 Vistas
Último mensaje Octubre 29, 2010, 08:29:49 pm
por salem3001


SMF 2.0.2 | SMF © 2011, Simple Machines
Paginas Afiliadas
InfraBios - i-hacker - Twitter - FaceBook - Troyanosyvirus - LaWebDeGoku - daraxblog
Designed by Smf Personal