Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Algoritmo para trasponer una matriz utilizando puntero */
- #include<iostream>
- #include<ctime>
- using namespace std;
- int num_aleatorio(int, int);
- void cargar_matriz(int *, int, int);
- void imprimir_matriz(int *, int, int);
- void trasponer_matriz(int *,int*, int, int);
- int main()
- {
- int m,n;
- cout<<"Numero de Filas: ";cin>>m;
- cout<<"Numero de Colunas: ";cin>>n;
- int matriz[m][n];
- int matriz_traspuesta[n][m];
- int *puntero_matriz = &matriz[0][0];
- int *puntero_matriz_traspuesta = &matriz_traspuesta[0][0];
- cargar_matriz(puntero_matriz, m, n);
- // Imprimir Matriz Original
- imprimir_matriz(puntero_matriz, m, n);
- trasponer_matriz(puntero_matriz, puntero_matriz_traspuesta, m, n);
- // Imprimir Matriz Traspuesta
- imprimir_matriz(puntero_matriz_traspuesta, n, m);
- }
- int num_aleatorio(int min, int max)
- {
- return (min + rand()%(max-min+1));
- }
- void cargar_matriz(int *puntero_matriz, int m, int n)
- {
- srand(time(NULL));
- for(int i=0 ; i<m ; i++){
- for(int j=0 ; j<n ; j++){
- *(puntero_matriz + i*n + j) = num_aleatorio(1,20);
- }
- }
- }
- void imprimir_matriz(int *puntero_matriz, int m, int n)
- {
- cout<<"========================\n";
- for(int i=0 ; i<m ; i++){
- for(int j=0 ; j<n ; j++)
- {
- cout<<*(puntero_matriz+i*n+j)<<"\t";
- }
- cout<<"\n";
- }
- }
- void trasponer_matriz(int *puntero_matriz_A,int *puntero_matriz_B, int m, int n)
- {
- for(int i=0 ; i<m ; i++){
- for(int j=0 ; j<n ; j++){
- *(puntero_matriz_B+j*m+i)=*(puntero_matriz_A+i*n+j);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement