estou com problemas nesse programa na função eliminar que deve procurar um determinado no na lista,estou tentando fazer a procura por comparar a informação do determinado no com o restante da lista mas não ta muito certo o q eu fiz !!! me ajudem!!!
#include <iostream.h>
struct lat_long{
float lat;
float lon;
};
typedef lat_long elemento_lista;
struct no{
lat_long info;
no *link;
};
no* criarotavazia()
{
return NULL;
}
void ler(elemento_lista *v)
{
cout<<"lat?";cin>>v->lat;
cout<<"lon?";cin>>v->lon;
}
void inserir_inicio_lista (no ** p, elemento_lista v )
Pergunta
nara
estou com problemas nesse programa na função eliminar que deve procurar um determinado no na lista,estou tentando fazer a procura por comparar a informação do determinado no com o restante da lista mas não ta muito certo o q eu fiz !!! me ajudem!!!
#include <iostream.h>
struct lat_long{
float lat;
float lon;
};
typedef lat_long elemento_lista;
struct no{
lat_long info;
no *link;
};
no* criarotavazia()
{
return NULL;
}
void ler(elemento_lista *v)
{
cout<<"lat?";cin>>v->lat;
cout<<"lon?";cin>>v->lon;
}
void inserir_inicio_lista (no ** p, elemento_lista v )
{
no * novo;
novo = new no;
novo->info = v;
novo->link = *p;
*p = novo;
}
void eliminar(no ** pri, elemento_lista * v)
{
no * s, *ant;
s = *pri;
while( s->link!=NULL && s->info !=*v)
{
ant = s;
s = s->link;
}
if(s == *pri)
*pri = s->link;
else
ant->link = s->link;
delete s;
}
void imprimir_lista(no* pri)
{
no*p;
p=pri;
while(p!= NULL)
{
cout<<p->info.lat;
cout<<p->info.lon;
p=p->link;
}
}
void main()
{
no*pri,p;
pri=criarotavazia();
elemento_lista v;
int pos;
int opc;
do{
cout<<"\n MENU\n";
cout<<"\n1- Inserir no inicio \n";
cout<<"\n2 - Listar \n";
cout<<"\n3- eliminar \n";
cout<<"\n0 - Sair \n";
cin>>opc;
switch(opc)
{
case 1:ler(&v);
inserir_inicio_lista(&pri,v);
break;
case 2:imprimir_lista(pri);
break;
case 3:ler(&v);
eliminar(&pri,&v);
break;
case 0:break;
default:cout<<" Numero invalido";
}
}while(opc!=0);
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.