[C con Clase] Problema capitulo 17

Steven Davidson steven en conclase.net
Vie Mar 9 01:52:39 CET 2007


Hola Alejandro,

El pasado 2007-03-08 21:30:26, Alejandro escribió:

A> Hola, tengo un problema con los ejercicios del capítulo 17:
A>  
A> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
A> Usando como base el ejemplo anterior, separar dos nuevas funciones:
A>     void PonerDistancia(int, int);, asignar valores a distancias entre dos 
A>         ciudades.
A>     void Intercambio(int &, int &);, intercambiar los contenidos de dos
A>         variables enteras.
A> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
A>  
A> En la primera parte (la de PonerDistancia), tengo dos dudas. No veo qué hacer con los "int" que tengo que pasar cómo parámetros y, la segunda, no sé si hay que poner todas las distancias entre ciudades o simplemente las que el que use el programa quiera.
A>  

Me temo que estás leyendo el enunciado antiguo del problema. En general, si tienes alguna duda del curso, deberías consultar la página, que es la versión oficial y principal, por si acaso. El enlace es: http://c.conclase.net/curso/index.php?cap=017#PUNT_Problemas  En este caso, el enunciado dícese así:

* Modificar el código para que "tabla" sea una variable local de "main".
* Definir una función con el prototipo void AsignarDistancia(int**, int, int, int);, para asignar valores a distancias entre dos ciudades. El primer parámetro será la tabla de distancias, los dos siguientes parámetros serán identificadores de dos ciudades y el cuarto la distancia entre dichas ciudades.
Por ejemplo AsignarDistancia(tabla, CIUDAD_E, CIUDAD_B, 123);.

A> En la segunda parte, simplemente no qué hay que hacer. Pienso que hay que intercambiar los valores si el primero es mayor para que el índice del array triangular funcione correctamente, pero no estoy seguro. ¿Alguien me puede ayudar?
A>  

La función 'Intercambio()' debe realizar la tarea de intercambiar los valores guardados en ambas variables. Por ejemplo,

int num1 = 120, num2 = 58;
cout << "num1 = " << num1 << "\tnum2 = " << num2 << endl;

Intercambio( num1, num2 );
cout << "num1 = " << num1 << "\tnum2 = " << num2 << endl;

Aparecerá en pantalla:

num1 = 120     num2 = 58
num1 = 58      num2 = 120

La función no tiene nada que ver con el resto del programa, aunque la usaremos en ello. En otras palabras, no personalices o diseñes esta función basándote en el resto del programa. La función intercambia los valores enteros contenidos en dos variables; y ya está.


Espero haber aclarado el asunto.

Steven


Más información sobre la lista de distribución Cconclase