viernes, 27 de enero de 2012

Grafos No Dirigidos

Se muestran las soluciones al grafo no dirigido



Grafos dirigidos

Se muestran las soluciones al grafo no dirigido


jueves, 26 de enero de 2012

Código Árbol Binario

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>

struct arbol{
int info;
struct arbol *izq;
struct arbol *der;
};

typedef struct arbol nodo;
typedef nodo *aPTR;
void insertar(aPTR*LOPTR, int n);
void imprimir(aPTR LOPTR);
void menu();

main()
{
aPTR LOPTR=NULL;
int i, opc;
menu(),
printf(" \n");
scanf("%d",&opc);
while(opc!=3){
    switch(opc)
{
    case 1:{
            printf("\n Insertar elemento: ");
            scanf("%d",&i);
            insertar(&LOPTR,i);
               system("cls");
            menu();
            break;    }
           
    case 2: {
            printf("\n");
            imprimir(LOPTR);
            getch();
            system("cls");
            menu();
            break; }
           
    case 3: {
            printf("¡ADIOS!");
            getch();
            break; }
default:
printf("\nERROR EN LA SELECCION\n");
getch();
system("cls");
menu();
break;
}
printf("\n Selecciona una Opcion: ");
scanf("%d",&opc);
}
}
void menu()
{
printf("\n*********** ARBOLES BINARIOS ***********");
printf(" \nSeleccione una opcion:\n");
printf("\n 1 Insertar elemento");
printf("\n 2 Imprimir elementos");
printf("\n 3 Salir\n\n");
}
void insertar(aPTR*r,int x)
{
aPTR nuevo,ant,actual;
nuevo=(arbol*)malloc(sizeof(arbol));
if(nuevo!=NULL)
{
nuevo->info=x;
nuevo->der=NULL;
nuevo->izq=NULL;
ant=NULL;
actual=*r;
printf("%d",nuevo->info);
while(actual!=NULL && x>actual->info)
{
ant=actual;
actual=actual->izq;
}
if(ant==NULL)
{
nuevo->izq=*r;
*r=nuevo;
}
else
{
ant->izq=nuevo;
nuevo->izq=actual;
}
}
}
void imprimir(aPTR actual)
{
if(actual==NULL)
printf("\n Arbol vacio, inserta un valor ... \n\n");
else
{
printf("\n Contenido del arbol: ");
while(actual!=NULL)
{
printf("\n\n| Izquierda: %d | ",actual->info);
actual=actual->izq;
printf("Centro: %d |",actual->info);
actual=actual->izq;
printf(" Derecha: %d |",actual->info);
actual=actual->izq;

}
}
}

Correos electronicos

Los integrantes de este blog son:

º Cabrera Romero Jesús Iván
correo: COLORES_TOXICOS@rocketmail.com

º Garcia Romero Maribel
correo: maribelgr.1190@hotmail.com

º Reyes Torres Yesenia
correo: yeslasix@gmail.com

º Véjar Rivera Gustavo
correo: gustavo-vejar@hotmail.com

martes, 24 de enero de 2012

Ejercicio Factorial



//UNIVERSIDAD NACIONAL AUTÒNOMA DE MÉXICO.
//FAC. CONTADURÍA Y ADMINISTRACIÓN.
#include <stdio.h>
#include <conio.h>

//PROGRAMA QUE CALCULA EL FACTORIAL DE UN NUMERO.
unsigned long factorial(int);

main(){
int numero;
unsigned long fac;
do{
printf("Ingrese el nùmero que desea: ");
scanf("%d", &numero);
}

while (numero <0 numero >25);
fac = factorial (numero);
printf("\nEl factorial de %d es : %ld \n", numero, fac);
getch ();
}

unsigned long factorial(int numero)
{
if (numero == 0 )
return 1;
else
return numero*factorial(numero-1);
}

Ejercicio Factorial








#include





#include






int factorial(int n);






main()










{





int numero;





printf("\n Introduce un número entero: ");





scanf("%d", &numero);





printf("\n El factorial de %d es: %d", numero, factorial(numero));






getch();





}






int factorial (int numero)





{





if (numero == 1)





return 1;





else





return numero * factorial (numero - 1);





}










lunes, 23 de enero de 2012

Segundo examen | código lista ordenada

//BIBLIOTECAS ENCABEZADOS
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>

//VARIABLES GLOBALES
//***************************************************************************
struct lista_ordenada
{
char nombre [90];
struct lista_ordenada *sig;

};

typedef struct lista_ordenada LO;

typedef LO *LOPTR;

//PROTOTIPOS
//***************************************************************************
void insertar (LOPTR *, LOPTR *, char [] );
void menu ();
void eliminar (LOPTR, LOPTR*,LOPTR *, char[]);
void imprimir(LOPTR);

//FUNCIÓN PRINCIPAL //***************************************************************************
main()
{
LOPTR principio = NULL;
LOPTR final = NULL;

int opcion;
char item [30];
do{

menu ();
printf("Elige una opción: \n ");
scanf("%d", &opcion);

switch (opcion)
{
case 1: printf("Escribe un elemento : \n");
scanf("%s", item);
insertar(&principio, &final, item);
break;

case 2: printf("Elemento a eliminar:\n");
scanf("%s", &item);
eliminar(principio,&principio, &final,item);
break;

case 3: printf("\n ");
imprimir(principio);
break;

default: printf("¡HASTA LUEGO!");
getch();
}
}while(opcion !=4);

}

void menu()
{
system("cls");
printf("*********************************************************");
printf("\n OPERACIONES DISPONIBLES CON LA LISTA ORDENADA\n");
printf("*********************************************************");
printf("\n\n 1 AGREGAR UN NOMBRE A LA LISTA ORDENADA \n");
printf("\n\n 2 ELIMINAR UN NOMBRE DE LA LISTA ORDENADA\n");
printf("\n\n 3 IMPRIME LOS ELEMENTOS DE LA LISTA ORDENADA \n");
printf("\n\n 4 SALIR DEL PROGRAMA \n");
printf("*********************************************************\n\n");
}

//FUNCION INSERTAR*******************************************************
void insertar (LOPTR *primero, LOPTR *ultimo, char apellido [30])
{
LOPTR aux= (LOPTR) malloc (sizeof (LO));
LOPTR actual, adelante;
int comp;

strcpy (aux -> nombre, apellido);
aux ->sig = NULL;

if (*primero == NULL)
{
*primero = aux;
*ultimo = aux;
goto salida;
}

comp= strcmp (apellido, (*primero)->nombre);

if (comp <0 )
{
aux->sig= *primero;
*primero =aux;
goto salida;
}


comp =strcmp (apellido, (*ultimo)->nombre);

if (comp >0)
{
(*ultimo)->sig = aux;
*ultimo =aux;
goto salida;
}
adelante = actual->sig;
actual= *primero;


comp = strcmp(adelante->nombre, apellido);

if(comp <1)
{
aux->sig = adelante;
actual->sig = aux;
goto salida;

}
/*
actual= actual->sig;
adelante = actual->sig;

*/
salida: ;
}
//FUNCION ELIMINAR*********************************************************
void eliminar (LOPTR aux, LOPTR *primero, LOPTR *ultimo, char apellido [30]){
int comp;
LOPTR borrar;

if(aux==NULL)
{
printf("No se puede eliminar, lista esta vacia\n");
printf("Seleccione otra opcion...");
getch();
}
else {
borrar=aux;
comp= strcmp (apellido, (*primero)->nombre);
if (aux==*primero)
{
*primero = (*primero)->sig;
getch();
}
comp =strcmp (apellido, (*ultimo)->nombre);

if (aux= =*ultimo)
{
*ultimo = (*ultimo)->sig;
getch();

}
}
}
//FUNCION IMPRIMIR******************************************************
void imprimir(LOPTR aux){
if (aux ==NULL)
{ printf("La lista esta vacia...");
printf(" Enter para continuar...");
getch ();
}
else{
printf(" \n La lista contiene los siguientes elementos... \n \t");
while( aux !=NULL)
{
printf(" \n %s \n \t", aux->nombre);
aux = aux->sig;
}
printf(" \n \t Enter para continuar... \n \t");
getch ();
}
}

sábado, 21 de enero de 2012

Ejercicio Factorial

/* Objetivo: Mostrar el Factorial de cierto número capturado
Fecha: Enero 2012
Autor: Maribel García
*/

#include <stdio.h>
#include <conio.h>

/* Objetivo: Mostrar el Factorial de cierto número capturado
Fecha: Enero 2012
Autor: Maribel García
*/

#include <stdio.h>
#include <conio.h>

int main()
{

int N,i=1,factorial=1,resultado;

printf("Ingresa el numero para sacar su factorial\n");
scanf("%d",&N);

for(i=1;i<=N;i++)
{

factorial=factorial*i;

resultado=N;

if(resultado==i)
{
printf("El factorial de %d es %d\n",N,factorial);
getch();
}
}

}