Advertisement
Abelsor

Imprimir_Matriz_por_Filas_Punteros

May 29th, 2023
870
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.21 KB | None | 0 0
  1.  
  2. /*
  3.     Algoritmo que permite pasar como parametro filas de una matriz, utilizando punteros
  4. */
  5. #include<iostream>
  6. #include<ctime>
  7.  
  8. using namespace std;
  9.  
  10. //Prototipos
  11. int num_aleatorio(int, int);
  12. void imprimir_matriz(int *, int, int);
  13. void imprimir_fila(int *,int, int); // Prueba
  14.  
  15.  
  16.  
  17. int main()
  18. {
  19.     int m,n;
  20.     cout<<"Numero de filas: "; cin>>m;
  21.     cout<<"Numero de columnas: "; cin>>n;
  22.    
  23.     int matriz[m][n];
  24.  
  25.     int *puntero_matriz = &matriz[0][0];
  26.    
  27.     // Cargar Matriz
  28.     srand(time(NULL));
  29.     for(int i=0 ; i<m ; i++)
  30.     {
  31.         for(int j=0 ; j<n ; j++){
  32.             *(puntero_matriz + i*n +j) = num_aleatorio(1,10);
  33.         }  
  34.     }
  35.    
  36.     imprimir_matriz(puntero_matriz,m,n);
  37.    
  38.     // Pasar filas de la matriz
  39.     for(int i=0 ; i<m ; i++){
  40.         imprimir_fila(puntero_matriz,i,n);
  41.     }
  42.        
  43. }
  44.  
  45. int num_aleatorio(int min, int max)
  46. {
  47.     return (min + rand()%(max-min+1));
  48. }
  49.  
  50. void imprimir_matriz(int *puntero_matriz, int m, int n)
  51. {
  52.     cout<<"=====================================\n";
  53.     for(int i=0 ; i<m ; i++){
  54.         for(int j=0 ; j<n ; j++){
  55.             cout<<*(puntero_matriz+i*n+j)<<"\t";
  56.         }
  57.         cout<<"\n";
  58.     }
  59. }
  60.  
  61.  
  62. void imprimir_fila(int *puntero,int k, int n)
  63. {
  64.     cout<<"\n";
  65.     for(int i=0 ; i<n ; i++)
  66.     {
  67.         cout<<*(puntero+k*n+i)<<" ";
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement