No such file or directory como resolver

Iniciado por Arnold Herrera, 26 Mayo 2016, 03:19 AM

0 Miembros y 1 Visitante están viendo este tema.

Arnold Herrera


tengo este código como header el problemma es que al momento de compilarlo no me funciona me aparece "iostream no such file or directory" me gustaria e colaboraran para resolver este problema
Código (c++) [Seleccionar]

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<conio.h>
#include<windows.h>
#include"arista1.h"
#include"cola.h"
#include"pila.h"

using namespace std;

class vertice{
public:
vertice *sig;
arista *ady;
bool marc;
char dato;
char leer();
vertice *insertar(vertice *cab);
vertice *crear();
bool verificar(vertice *cab);
int counternodes(vertice *cab);
void print(vertice *cab,arista *cab2);
void *creararistaa(vertice *Cab);
vertice *searchpositondata(vertice *Cab);
vertice *searchpositondata4(vertice *Cab);
vertice *searchpositondata2(vertice *cab,char id);
vertice *searchpositondata3(vertice *cab);
void grado(vertice *cab);
bool recorrido(vertice *cab,arista *nuevo);
void encolar(vertice *cab);
};

bool vertice::verificar(vertice *cab){ //verifica que exista el grafo o en su defecto que la cabecera sa dferente de NULL
bool v;
if(cab==NULL){
v=false;
return v;
}else{
if(cab!=NULL){
v=true;
return true;
}
}
}
char vertice::leer(){ //lee el dato de un archivo
char dato;
gotoxy(9,23);
cout<<"Por favor ingrese el dato(LETRA):";
cout<<"\x10 ";
cin>>dato;
return dato;
}


vertice *vertice::crear(){ //crea el vertice o nodo del grafo
vertice *nuevo;
nuevo =new vertice;
nuevo->dato=nuevo->leer();
nuevo->ady=NULL;
nuevo->sig=NULL;
nuevo->marc=false;
return nuevo;
}

vertice *vertice::insertar(vertice *cab){// se comienza a dar forma a el grafo
vertice *nuevo;
nuevo=nuevo->crear();
if(cab==NULL){
cab=nuevo;
gotoxy(9,24);
cout<<" HA INGRESADO EXITOSAMENTE EL PRIMER NODO DEL GRAFO\n";
return nuevo;
}else{
vertice *aux;
aux=cab;
while(aux->sig!=NULL){
aux=aux->sig;
}
aux->sig=nuevo;
}
}

int vertice::counternodes(vertice *cab){   //contador de nodos existentes en el grafo
vertice *aux;
aux=cab;
int c=0;
while(aux!=NULL){
aux=aux->sig;
c++;
}
return c;
}

void vertice::print(vertice *cab,arista *cab2){  //mostrar en pantalla del grafo en general
vertice *aux;
aux=cab;
int c=1;
arista *aux2;
aux2=cab->ady;
cout<<"\n GRAFO \n\n";
cout<<"[Lista principal(\31)]   sublista(\32)}\n\n\n";
while(aux!=NULL){
cout<<c<<"["<<aux->dato<<"]\32";
while(aux2!=NULL){
cout<<"{"<<aux2->dato<<"|"<<aux2->peso<<"}\32";
aux2=aux2->sig;

}
if(aux2==NULL){
cout<<"\xB0\xB1\xB2\xDB";
}
cout<<endl;
cout<<"   \31  \n";
aux=aux->sig;
if(aux!=NULL){
aux2=aux->ady;
}
if(aux==NULL){
cout<<"  \xCD\xCB\xCD";
}
c++;
}
cout<<"\n\n";
}

vertice *vertice::searchpositondata3(vertice *cab){
vertice *aux;
char id;
aux=cab;
cout<<"Ingrese la letra del nodo del cual desa saber el grado\n\n";
gotoxy(9,26);
cout<<"\x10 ";
cin>>id;
while(aux->sig!=NULL&&aux->dato!=id){
aux=aux->sig;
if(aux->dato==id){
return aux;
}
}
while(aux->dato!=id&&aux->sig==NULL){
cout<<"Esta letra no existe, por favor ingrese una letra valido\n\n";
gotoxy(9,29);
cout<<"\x10 ";
cin>>id;
}
return aux;
}

vertice *vertice::searchpositondata(vertice *cab){
vertice *aux;
char id;
aux=cab;
cout<<"Ingrese la letra donde desea ingresar la arista\n\n";
gotoxy(9,26);
cout<<"\x10 ";
cin>>id;
while(aux->sig!=NULL&&aux->dato!=id){
aux=aux->sig;
if(aux->dato==id){
return aux;
}
}
while(aux->dato!=id&&aux->sig==NULL){
cout<<"Esta letra no existe, por favor ingrese una letra valido\n\n";
gotoxy(9,29);
cout<<"\x10 ";
cin>>id;
}
return aux;
}

vertice *vertice::searchpositondata4(vertice *cab){
vertice *aux;
char id;
aux=cab;
cout<<"Ingrese la letra donde desea ingresar la arista\n\n";
gotoxy(9,26);
cout<<"\x10 ";
cin>>id;
while(aux->sig!=NULL&&aux->dato!=id){
aux=aux->sig;
if(aux->dato==id){
return aux;
}
}
while(aux->dato!=id&&aux->sig==NULL){
cout<<"Esta letra no existe, por favor ingrese una letra valido\n\n";
gotoxy(9,29);
cout<<"\x10 ";
cin>>id;
}
return aux;
}

vertice *vertice::searchpositondata2(vertice *cab,char id){
vertice *aux;
aux=cab;
while(aux->sig!=NULL&&aux->dato!=id){
aux=aux->sig;
if(aux->dato==id){
return aux;
}
}
int i=26,c=0;
while(aux->dato!=id&&aux->sig==NULL){
c++;
cout<<"Esta letra no existe, por favor ingrese una letra valido\n\n";
gotoxy(9,i);
if(c>0){
i=i+2;
}
cout<<"\x10 ";
cin>>id;
}
return aux;
}

void *vertice::creararistaa(vertice *Cab){  //inserta nodos al inicio de una sublista
int position,c;
bool v;
vertice *aux,*aux3;
arista  *b,*aux2,*aux4,*s;
bool verifyb;
gotoxy(9,25);
aux=aux->searchpositondata(Cab);
aux2=b->creararista(aux->ady);
v=aux->recorrido(Cab,aux2);
while(v==false){
delete aux2;
cout<<"\nESTE DATO NO EXISTE EN EL GRAFO POR FAVOR INGRESE UN DATO VALIDO\n";
aux2=b->creararista(aux->ady);
v=aux->recorrido(Cab,aux2);
}
/*aux3=aux3->searchpositondata2(Cab,aux2->dato);
aux4=b->creararista2(aux->ady,aux->dato);
s=aux3->ady;
aux3->ady=aux4;*/
aux->ady=aux2;

}

bool vertice::recorrido(vertice *cab,arista *nuevo){
vertice *aux;
arista *aux2;
bool v=false;
aux=cab;
aux2=nuevo;
while(aux!=NULL){
if(aux->dato==aux2->dato){
v=true;
return v;
}
aux=aux->sig;
}
if(aux==NULL){
v=false;
return v;
}
}

void vertice:: grado(vertice *cab){
vertice *aux1, *aux;
arista *aux2;
aux1=cab;
aux=cab;
char letra;
int pos=0,suma=0, con=0, suma2=0, con2=0;
if (cab==NULL){
cout<<"--> No hay elementos por mostrar \n\n";
}
else{
cout<<"Digite la letra del nodo a la que quiere saber su grado de entrada y de salida: \n";
gotoxy(9,26);
cin>>letra;   
while (aux!=NULL){
if(aux->dato==letra){
pos=1;
aux1=aux; //aux1 es el nodo de la letra       
}
aux=aux->sig;
}
if(pos==0){
gotoxy(9,27);
cout<<"\32NO SE ENCUENTRA EL NODO  \n";
}
else{
gotoxy(9,27);
cout<<"Nodo: "<<aux1->dato<<"\n";
aux2=aux1->ady;
while(aux2!=NULL){
suma=suma+aux2->peso;
con++;
aux2=aux2->sig;
}
gotoxy(9,28);
cout<<"Grado de salida: "<<con<<endl;
gotoxy(9,29);
cout<<"Suma de arcos de salida: "<<suma<<endl;

aux1=cab;
while (aux1!=NULL){
aux2=aux1->ady;
while (aux2!=NULL){
if(aux2->dato==letra){
suma2=suma2+aux2->peso;
con2++;
}
aux2=aux2->sig;
}
aux1=aux1->sig;
}
gotoxy(9,32);
cout<<"Grado de entrada: "<<con2<<endl;
gotoxy(9,33);
cout<<"Suma de arcos de entrada: "<<suma2<<endl;
}
}
}
void vertice::encolar(vertice *cab){
Nodo *cola=NULL;
/* vertice *aux;
int c=0;
while(aux!=NULL){
c++;
aux=aux->sig;
}
char cola[2][c];
for(int i = 0;i<=c;i++){
cola[0][i]='N';
}
aux=cab;
int i=0;
while(aux!=NULL&&i<=c){
cola[1][i]=aux->dato;
i++;
}
for(int i = 0;i<=1;i++){
for(int a = 0;a<=c;a++){
cout<<cola[i][a]<<" ";
}
}*/
vertice *aux,*aux2;
arista *aux3,*aux4;
aux=cab;
aux4=cab->ady;
aux2=aux2->searchpositondata4(cab);
aux3=aux2->ady;
cola=cola->encolar(cola,aux2->dato);
while(aux!=NULL){
while(aux4!=NULL){
if(aux4->dato=aux2->dato){
aux4->marc=true;
}
}
aux=aux->sig;
if(aux!=NULL){
aux4=aux->ady;
}
}
cola->eliminar(cola);

}

AlbertoBSD

¿Que compilador estas usando?

Y si le agregas el .h?

Saludos
Donaciones
1Coffee1jV4gB5gaXfHgSHDz9xx9QSECVW

Arnold Herrera