• Miércoles 15 de Abril de 2026, 04:23

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - yopicuo

Páginas: [1]
1
C/C++ / Consulta c++: arrays como parámetros y retornos en funciones
« en: Domingo 15 de Noviembre de 2009, 19:33 »
Hola, necesito ayuda sobre trabajo con funciones... les comento...

Bueno, estoy intentado hacer un programita (para muchos, seguro que es algo muy simple) donde se combinen diferentes llamamientos a funciones... básicamente el programa debe hacer lo siguiente:
1º Crear una matriz de rango [r][r+1] y un vector de rango.
2º Una función debe mostrar por pantalla el contenido del array matriz en función del orden de vector creado.
3º Otra Función debe permitir modificar el vector y devolverlo modificado.
4º Y otra función que devuelva una matriz, de entrada como parámetro, con sus valores modificados.
 
La estructura del mismo queda algo talque así..
Código: C++
  1.  
  2.  
  3. int muestra_matriz(int r, double **matriz, int *V)
  4. {
  5.    int i,j;
  6.    for (p = 0; p < r; p++)
  7.    {
  8.       for (l=0; l<r+1;l++)
  9.        {
  10.            cout << matriz[V[i]][j] << " | " ;   /** MUESTRA EL VECTOR SEGÚN EL ORDEN DE FILAS EXISTENTE EN ARRAY "V"*/
  11.        }  
  12.        cout <<endl;
  13.    }
  14. }
  15. ########### 
  16. int modifica_vector (int *V,int r)
  17. {
  18. ...algoritmo simple...
  19. return [b]¿¿¿ cómo hago para que devuelve el vector modificado??[/b]
  20. }
  21. ###########
  22. int modifica_matriz(double **M, int r)
  23. {
  24. ...algoritmo simple...
  25. return [b]¿¿¿ cómo hago para que devuelve la matriz modificada??[/b]
  26. }
  27. /**************************************************************************************/
  28. int main()
  29. {
  30. int r;
  31.  
  32. cout << "determinar rango de matriz";
  33. cin >> r;
  34. double matriz[r][r+1];    
  35. int Vec_filas [r];
  36.  
  37. ... algoritmo para rellenar array matriz ...
  38. ... algoritmo para rellenar array vector...
  39.  
  40. muestra_matriz(r,matriz,Vec_filas);      /* El complilador me dá error en esta línea: "cannot convert `double (*)[(((unsigned int)((int)r)) + 1u)]' to `double**' for argument `2' to `int muestra_matriz(int, double**, int*)' "*/
  41. modifica_vector (Vec_filas,r);  /* obtengo error similar al anterior*/
  42. modifica_matriz(matriz,r); /* obtengo error similar al anterior*/
  43.  
  44. return 0;
  45. } 
  46.  
  47.  

Mis pregunta es: ¿cual es la forma correcta de emplear un arrary[][] y otro tipo vector como parámetros de una función? y ¿Cómo hacer para que una función devuelva un array del tipo que sea?


Un saludo y gracias....

2
C/C++ / Consulta trabajos con ficheros: Lectura de líneas
« en: Lunes 26 de Octubre de 2009, 21:42 »
Hola, estoy iniciandome en esto de programar con c++, y necesito una ayudita.

Tengo un fichero de texto con la siguiente información:

14.4,24,14,34,    (Separador por "comas" : " , ")
15.5#25#15#35#                         (Separador por "almohadilla" : " # ")
16.6/26/16/36/                          (Separador por "barra" : " / ")

Bueno, el objetivo de la aplicación es leer esos valores e ir rellenando un array [3] [4]. Para ello debo ir leyendo línea por línea, sacando valores y volcándolos sobre la matriz.

Lo que he hecho hasta el momento es emplear la función getline() para leer toda la linea y asignarla a una variable string, y después emplear una pequeño algoritmo para ir leyendo la cadena y cogiendo fragmentos( leo hasta que encuentro un separador ) para convertirla a valor entero y finalmente asignarlo a una posición del array. PERO ESTO ES MUCHA LÍNEA DE CÓDIGO.

Quisiera saber como puedo hacer el proceso directamente, es decir, por ejemplo que vaya leyendo directamente la línea del fichero, y hasta un separador y ese valor lo asigne directamente a la posición en la matriz ya de tipo entero, sin necesidad de conversión. Y que finalizada esta operación lea el siguiente valor (de la misma línea) y repita el proceso.

Bueno, si alguien sabría indicarme como podría hacer esto, le agradecería que me lo comentara.
Un saludo y gracias.

Páginas: [1]