SHARE
TWEET

Untitled

a guest May 26th, 2019 83 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int** aloca_matriz(int l,int c){
  5.     int i;
  6.     int** matriz;
  7.     matriz = malloc(l*sizeof(int*));
  8.     for(i=0;i<l;i++){
  9.         matriz[i] = malloc(c*sizeof(int));
  10.     }
  11.     return matriz;
  12. }
  13.  
  14. void desaloca_matriz(int** matriz,int l){
  15.     int i;
  16.     for(i=0;i<l;i++){
  17.         free(matriz[i]);
  18.     }
  19.     free(matriz);
  20. }
  21.  
  22. void preenche_matriz(int** matriz,int l,int c){
  23.     int i,j;
  24.     for(i=0;i<l;i++){
  25.         for(j=0;j<c;j++){
  26.             matriz[i][j] = rand()%100;
  27.         }
  28.     }
  29. }
  30.  
  31. void calcula_transposta(int** matriz,
  32.     int** matriz_transposta,
  33.     int l,
  34.     int c){
  35.     int i,j;
  36.     for(i=0;i<l;i++){
  37.         for(j=0;j<c;j++){
  38.             matriz_transposta[j][i] = matriz[i][j];
  39.         }
  40.     }
  41. }
  42.  
  43.  
  44. void imprime_matriz(int** matriz,int l,int c){
  45.     int i,j;
  46.     for(i=0;i<l;i++){
  47.         for(j=0;j<c;j++){
  48.             printf("%3d",matriz[i][j]);
  49.         }
  50.         printf("\n");
  51.     }
  52.     printf("\n");
  53. }
  54.  
  55. int main(void){
  56.     int n,m;
  57.     printf("Digite as dimensões da matriz: ");
  58.     scanf("%d %d",&n,&m);
  59.     int** matriz  = aloca_matriz(n,m);
  60.     int** matriz_transposta = aloca_matriz(m,n);
  61.     preenche_matriz(matriz,n,m);
  62.     calcula_transposta(matriz,matriz_transposta,n,m);
  63.     imprime_matriz(matriz,n,m);
  64.     imprime_matriz(matriz_transposta,m,n);
  65.     desaloca_matriz(matriz,n);
  66.     desaloca_matriz(matriz_transposta,m);
  67.     return 0;
  68. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top