Listas simples ligadas con encabezado
Listas Simples ligadas con encabezado"
-Estoy tratando de hacer un programa que ma hacepte como entrada los dias de la semana y su temperatura, y mostrar cual fue el dia mas caluroso y mas frio.
-Te mando mi programa para que si tienes tiempo lo revises y me puedas ayudar para corregirlo, tambien si me pudieras mandar algun ejemplo de este tema te lo agradeceria mucho, bueno eso es todo espero me puedas ayudar con esto y gracias por todo.
#include"conio.h"
#include"stdio.h"
#include"alloc.h"
#define OK 0
#define ERROR -1
#define true 1
#define false 0
typedef char tipoElemento;
typedef int boolean;
typedef struct nodo{
tipoElemento dato;
struct nodo *sig;
}*tipoNodo;
int Inicializa(tipoNodo *lista){
*lista=(tipoNodo)malloc(sizeof(struct nodo));
(*lista)->dato=0;
(*lista)->sig=NULL;
return OK;
}
boolean Vacia(tipoNodo lista){
if(lista->sig==NULL)
return true;
return false;
}
int Imprime(tipoNodo lista){
tipoNodo aux;
if(Vacia(lista))
return ERROR;
aux=lista;
while(aux->sig!=NULL){
aux=aux->sig;
printf("%i",aux->dato);
}
return OK;
}
int Anula(tipoNodo lista){
tipoNodo aux1,aux2;
if(Vacia(lista))
return ERROR;
while(!Vacia(lista)){
aux1=lista;
aux2=aux1->sig;
while(aux2->sig!=NULL){
aux1=aux2;
aux2=aux2->sig;
}
free(aux2);
aux1->sig=NULL;
}
return OK;
}
int Suprime(tipoNodo p,tipoNodo lista){
tipoNodo aux;
if(Vacia(lista))
return ERROR;
aux=lista;
while(aux->sig!=p)
aux=aux->sig;
aux=aux->sig=p->sig;
free(p);
return OK;
}
int Inserta(tipoElemento x,tipoNodo p,tipoNodo lista){
tipoNodo aux;
if(p==NULL)
return ERROR;
aux=(tipoNodo)malloc(sizeof(struct nodo));
if(aux==NULL)
return ERROR;
aux->dato=x;
aux->sig=p->sig;
p->sig=aux;
return OK;
}
tipoNodo Primero(tipoNodo lista){
if(Vacia(lista))
return NULL;
return lista->sig;
}
tipoNodo Ultimo(tipoNodo lista){
tipoNodo aux=lista;
if(Vacia(lista))
return NULL;
while(aux->sig!=NULL)
aux=aux->sig;
return aux;
}
void main(){
int opc,sprmr;
float temp;
char dia[15];
clrscr();
printf("\nQue deseas hacer:\n\t1-Insertar\n\t2-Suprimir\n\t3-Imprimir");
scanf("%i",&opc);
switch(opc){
case 1:
printf("\nIntroduce el dia\n_");
scanf("%s",&dia);
printf("\nIntroduce la temperatura en grados Centigrados\n_");
scanf("%f ",&temp);
Inserta();
break;
case 2:
printf("\n¿Que elemento deseas Eliminar?\n");
scanf("%i",&sprmr);
Suprime();
break;
case 3:
Imprime();
break;
default
printf("Opcion Incorrecta\n");
}
}
-Estoy tratando de hacer un programa que ma hacepte como entrada los dias de la semana y su temperatura, y mostrar cual fue el dia mas caluroso y mas frio.
-Te mando mi programa para que si tienes tiempo lo revises y me puedas ayudar para corregirlo, tambien si me pudieras mandar algun ejemplo de este tema te lo agradeceria mucho, bueno eso es todo espero me puedas ayudar con esto y gracias por todo.
#include"conio.h"
#include"stdio.h"
#include"alloc.h"
#define OK 0
#define ERROR -1
#define true 1
#define false 0
typedef char tipoElemento;
typedef int boolean;
typedef struct nodo{
tipoElemento dato;
struct nodo *sig;
}*tipoNodo;
int Inicializa(tipoNodo *lista){
*lista=(tipoNodo)malloc(sizeof(struct nodo));
(*lista)->dato=0;
(*lista)->sig=NULL;
return OK;
}
boolean Vacia(tipoNodo lista){
if(lista->sig==NULL)
return true;
return false;
}
int Imprime(tipoNodo lista){
tipoNodo aux;
if(Vacia(lista))
return ERROR;
aux=lista;
while(aux->sig!=NULL){
aux=aux->sig;
printf("%i",aux->dato);
}
return OK;
}
int Anula(tipoNodo lista){
tipoNodo aux1,aux2;
if(Vacia(lista))
return ERROR;
while(!Vacia(lista)){
aux1=lista;
aux2=aux1->sig;
while(aux2->sig!=NULL){
aux1=aux2;
aux2=aux2->sig;
}
free(aux2);
aux1->sig=NULL;
}
return OK;
}
int Suprime(tipoNodo p,tipoNodo lista){
tipoNodo aux;
if(Vacia(lista))
return ERROR;
aux=lista;
while(aux->sig!=p)
aux=aux->sig;
aux=aux->sig=p->sig;
free(p);
return OK;
}
int Inserta(tipoElemento x,tipoNodo p,tipoNodo lista){
tipoNodo aux;
if(p==NULL)
return ERROR;
aux=(tipoNodo)malloc(sizeof(struct nodo));
if(aux==NULL)
return ERROR;
aux->dato=x;
aux->sig=p->sig;
p->sig=aux;
return OK;
}
tipoNodo Primero(tipoNodo lista){
if(Vacia(lista))
return NULL;
return lista->sig;
}
tipoNodo Ultimo(tipoNodo lista){
tipoNodo aux=lista;
if(Vacia(lista))
return NULL;
while(aux->sig!=NULL)
aux=aux->sig;
return aux;
}
void main(){
int opc,sprmr;
float temp;
char dia[15];
clrscr();
printf("\nQue deseas hacer:\n\t1-Insertar\n\t2-Suprimir\n\t3-Imprimir");
scanf("%i",&opc);
switch(opc){
case 1:
printf("\nIntroduce el dia\n_");
scanf("%s",&dia);
printf("\nIntroduce la temperatura en grados Centigrados\n_");
scanf("%f ",&temp);
Inserta();
break;
case 2:
printf("\n¿Que elemento deseas Eliminar?\n");
scanf("%i",&sprmr);
Suprime();
break;
case 3:
Imprime();
break;
default
printf("Opcion Incorrecta\n");
}
}
2 Respuestas
Respuesta de victor46
1
Respuesta de pedroyo
1