void AsignarDistancia(int **,int,int,int);No tengo muy claro el primer parámetro que tengo que darle.
Esto es lo que tengo, estoy modificando el código de ejemplo del problema.
Código:
Haber que opináis y gracias de ante mano. #include <iostream> using namespace std; char CiudadR; char Ciudad; int Valor; int n1,n2; // Variable global para tabla de distancias: //int **tabla; #define NCIUDADES 5 #define CIUDAD_A 0 #define CIUDAD_B 1 #define CIUDAD_C 2 #define CIUDAD_D 3 #define CIUDAD_E 4 void AsignarDistancia(int **,int,int,int); void Inmtercambio(int &A,int &B); void PDatos( ); // Prototipo para calcular la distancia entre dos ciudades: int Distancia(int A, int B); int main() { int i; int **tabla; // Primer subíndice de A a D tabla = new int*[NCIUDADES-1]; // Segundo subíndice de B a E, // define 4 arrays de 4, 3, 2 y 1 elemento: for(i = 0; i < NCIUDADES-1; i++) tabla[i] = new int[NCIUDADES-1-i]; // 4, 3, 2, 1 for(int i = 0;i<2;i++){ PDatos(); } /* // Ejemplos: cout << "Distancia A-D: " << Distancia(CIUDAD_A, CIUDAD_D) << endl; cout << "Distancia B-E: " << Distancia(CIUDAD_B, CIUDAD_E) << endl; cout << "Distancia D-A: " << Distancia(CIUDAD_D, CIUDAD_A) << endl; cout << "Distancia B-B: " << Distancia(CIUDAD_B, CIUDAD_B) << endl; cout << "Distancia E-D: " << Distancia(CIUDAD_E, CIUDAD_D) << endl; */ // Liberar memoria dinámica: for(i = 0; i < NCIUDADES-1; i++) delete[] tabla[i]; delete[] tabla; system("pause"); return 0; } void PDatos(){ //Asignacicon de datos selecionando ciudades. //cout<<"[A,B,C,D,E]"<<endl; cout<<"Dijame la cuidad de referencia "<<"[A,B,C,D,E]: "; cin>>CiudadR; n1 = (int)(CiudadR - 65); //Casting a Int. cout<<"Dijame la Segunda ciudad "<<"[A,B,C,D,E]: "; cin>>Ciudad; n2 = (int)(Ciudad - 65); //Casting a Int. cout<<"A que Distancia estan: "; cin>>Valor; AsignarDistancia(n1,n2,Valor); //aki e donde tengo el error. } void AsignarDistancia(int **,int,int,int){ if(n1 == n2){ Valor = 0; tabla[n1][n2]= Valor; } tabla[n1][n2] = Valor; }