• Sábado 18 de Mayo de 2024, 19:33

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - marfil

Páginas: [1]
1
C/C++ / lista doblemente enlazada
« en: Jueves 19 de Junio de 2003, 21:18 »
creo que ya esta
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

typedef struct nodolista{
int num;
struct nodolista *siguiente;
struct nodolista *anterior;
}tiponodo;
/*
void ordenar(tiponodo *lista)
{
int i=1;
tiponodo *nodo,*anterior=NULL,*siguiente=NULL;

while(i)

{
nodo=lista;
i=0;
while(nodo)
{
siguiente=nodo->siguiente;
anterior=nodo->anterior;
if(siguiente!=NULL && nodo->num > siguiente->num)
{

if(anterior!=NULL)
{
anterior->siguiente=siguiente;
}
siguiente->anterior=anterior;

if(siguiente->siguiente!=NULL)
{
siguiente->siguiente->anterior=nodo;
}
nodo->siguiente=siguiente->siguiente;

nodo->anterior=siguiente;
siguiente->siguiente=nodo;
i=1;
}
else
{
nodo=nodo->siguiente;
}
}

}
}
  */
int insertar(tiponodo **);
void ordenar(tiponodo *);
void mostrar(tiponodo *);
tiponodo *crearnodo(void);

void main(void )
{
tiponodo *lista=NULL;
int cont;
cont=insertar(&lista);
clrscr();
printf("%d",cont);
printf("Antes de ordenar:nn");
mostrar(lista);
ordenar(lista);
printf("nDespues de ordenar;nn");
mostrar(lista);
getch();
}

int insertar(tiponodo **lista)
{
tiponodo *nodo,*anterior,temp;
int sw=1,cont=0;
printf("nIntroduce una letra para salirn");
while(sw==1)
{
printf("nIntroduce un numero: ");

sw=scanf("%d",&temp.num);
if(sw)
{
nodo=crearnodo();
nodo->num=temp.num;
if(*lista==NULL)
{

*lista=nodo;
nodo->anterior=nodo->siguiente=NULL;
}
else
{
anterior->siguiente=nodo;
nodo->anterior=anterior;
nodo->siguiente=NULL;
cont++;
}

anterior=nodo;
}
}
return(cont);
}

void ordenar(tiponodo *lista){
int i=1;
tiponodo *nodo,*anterior=NULL,*siguiente=NULL;

while(i){
nodo=lista;
i=0;
while(nodo!=NULL){
siguiente=nodo->siguiente;
anterior=nodo->anterior;
if(siguiente!=NULL && nodo->num > siguiente->num){
if(anterior!=NULL){
anterior->siguiente=siguiente;
}
siguiente->anterior=anterior;
if(siguiente->siguiente!=NULL){
siguiente->siguiente->anterior=nodo;
}
nodo->siguiente=siguiente->siguiente;

nodo->anterior=siguiente;
siguiente->siguiente=nodo;
i=1;
}
else
{
nodo=nodo->siguiente;
}
}

}
}

void mostrar(tiponodo *lista)
{
tiponodo *nodo;
nodo=lista;
while(nodo!=NULL)
{
printf("El numero %dn",nodo->num);
nodo=nodo->siguiente;
}
}



tiponodo *crearnodo(void)
{
tiponodo *nodo;
nodo=(tiponodo *)malloc(sizeof(tiponodo));
if(nodo==NULL)
{ printf(" no hay suficiente memeoria");}

return(nodo);
}
:)

2
C/C++ / Re: Modo Grafico C++
« en: Jueves 19 de Junio de 2003, 20:58 »
Hola, hace poco encontre buenos programas en (elmundodelcaos) o algo asi. Espero te sea util.

3
C/C++ / Re: ayuda con system();...porfas
« en: Lunes 2 de Diciembre de 2002, 23:51 »
Soy principiante y estoy haciendo algunos programitas en C++, mi problema es con la funcion system(); estoy seguro que uso la libreria correcta, de hecho no me marca errores compilandolo ni corriendolo; quiero usarlo con: system("dir"); o con system("cls"); y nada de nada.
Tengo Windows Me.

De antemano gracias por la informacion que me puedan mandar...

4
C/C++ / ¿como checar si estan conectados los dispositivos desde c++?
« en: Sábado 30 de Noviembre de 2002, 01:33 »
Necesito hacer un programa que identifique si esta conectada la impresora, monitor, si hay disquet, cd-ROM,etc...(y si se pudiera, saber el modelo  y caracteristicas de cada componente) Agradeseria muchisimo su ayuda...gracias:D

Páginas: [1]