Código C++:
Ver original
#include <iostream> using namespace std; int main () { int **M; int vertices, caminos; int cam1, cam2; float prob; int principio, final; cin >> vertices; cin >> caminos; for (int i = 0; i < caminos ; i++) { cin >> cam1; cin >> cam2; cin >> prob; } cin >> principio; cin >> final; bool *enArbol; int *distancia; int *padre; //for(cada vecino u de vertice) { enArbol [vertices] = false; distancia [vertices] = infinito; padre [vertices] = -1; } distancia[i]=0; vertices = i; while(enArbol [vertices] = false ) { enArbol[vertices]=true; //for(cada vecino u de vertice && !enArbol[u]) { int costo = M[vertices][u]; if(distancia[u] > distancia [vertices] + costo) { distancia [u] = distancia [vertices] + costo; padre [u] = vertices; } } vertices = 0; int dist= infinito; //for(cada vertice u en V) { if(enArbol[u]=false && dist > distancia [u]) { dist = distancia [u]; vertices = distancia[u]; } } } cout <<""<< <<endl; return 0 }
Entrada
---------------
4
5
0 1 0.2
0 2 0.4
1 2 0.1
1 3 0.5
2 3 0.1
0 3
4 es la cantidad de nodos N
5 cantidad de caminos M
0 1 0.2 (desde el 0 al 1 distancia 0.2) asi con el resto hasta que sea < M
y al final leo desde donde hasta donde quiero llegar parto en 0 hasta llegar a 3
ERRORES:
ubuntu@ubuntu:~/daa$ make t
g++ t.cpp -o t
t.cpp: In function ‘int main()’:
t.cpp:31: error: ‘infinito’ was not declared in this scope
t.cpp:34: error: name lookup of ‘i’ changed for ISO ‘for’ scoping
t.cpp:34: note: (if you use ‘-fpermissive’ G++ will accept your code)
t.cpp:41: error: ‘u’ was not declared in this scope
t.cpp:49: error: ‘infinito’ was not declared in this scope
t.cpp:52: error: ‘u’ was not declared in this scope
t.cpp:60: error: expected primary-expression before ‘<<’ token
t.cpp:62: error: expected ‘;’ before ‘}’ token
make: *** [t] Error 1
es lo mas reducido en errores que pude llegar a tener cualquier ayuda es bienvenida.