20/12/2014, 00:51
|
| | | Fecha de Ingreso: mayo-2014
Mensajes: 29
Antigüedad: 10 años, 7 meses Puntos: 0 | |
Entrada de parámetro (int **) Hola buenas a todos,necesito un poco de ayuda por que no me aclaro con esta función.
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:
#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;
}
Haber que opináis y gracias de ante mano.
Última edición por jscmanuel; 20/12/2014 a las 05:50
Razón: Señalar duda y error
|