Advertisement
Guest User

Untitled

a guest
May 26th, 2019
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.18 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement