Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.01 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3.  
  4. int i,j;
  5. const int dim=3;
  6.  
  7.  
  8.  
  9. int main(void){
  10. int A[dim][dim];
  11. int B[dim][dim];
  12. int R[dim][dim];
  13. int Ra[dim-1];
  14. //Fichero donde pillo las matrices.
  15. FILE *Matriz;
  16. do{
  17. Matriz=fopen("Matriz.txt","r");
  18. }while(Matriz==NULL);
  19. if(Matriz!=NULL)
  20. printf("Fichero abierto \n");
  21. //Fichero donde Guardo los resultados.
  22. FILE *Resultados;
  23. do{
  24. Resultados=fopen("Resultados.txt","w");
  25. }while(Resultados==NULL);
  26. if(Resultados!=NULL)
  27. printf("Fichero abierto \n");
  28.  
  29. //Entro al archivo a coger los datos.
  30. while(!feof(Matriz)){
  31. //Guardo en la Variable A los primeros 9 numeros.
  32. for(i=0;i<dim;i++)
  33. for(j=0;j<dim;j++)
  34. fscanf(Matriz,"%i",&A[i][j]);
  35. //Guardo en la Variable B los siguientes 9 numeros.
  36. for(i=0;i<dim;i++)
  37. for(j=0;j<dim;j++)
  38. fscanf(Matriz,"%i",&B[i][j]);
  39. }
  40. fclose(Matriz);
  41.  
  42. //Imprimir A
  43. for(i=0;i<dim;i++){
  44. for(j=0;j<dim;j++)
  45. printf("%i ",A[i][j]);
  46. printf("\n");
  47. }
  48. //Imprimir B
  49. for(i=0;i<dim;i++){
  50. for(j=0;j<dim;j++)
  51. printf("%i ",B[i][j]);
  52. printf("\n");
  53. }
  54. //R = A + B
  55. for(i=0;i<dim;i++){
  56. for(j=0;j<dim;j++)
  57. R[i][j] = A[i][j] + B[i][j];
  58. }
  59. //Sumar cada fila de A
  60. int k = 0;
  61. int sumaFila = 0;
  62. for(i=0;i<dim;i++){
  63. for(j=0;j<dim;j++){
  64. sumaFila=sumaFila+A[i][j];
  65. }
  66. Ra[k] = sumaFila;
  67. k++;
  68. sumaFila = 0;
  69. }
  70. //Valor minimo de la diagonal de B
  71. int valorMinimo = 0;
  72. for(i=0;i<dim;i++){
  73. for(j=0;j<dim;j++)
  74. if((B[i] == B[j]) && (B[i][j] < 0))
  75. valorMinimo = B[i][j];
  76. }
  77. //Escribir todo en el fichero.
  78. //R = A + B
  79. for(i=0;i<dim;i++){
  80. for(j=0;j<dim;j++)
  81. fprintf(Resultados,"%i ",R[i][j]);
  82. fprintf(Resultados,"%i \n");
  83. }
  84. //Sumar cada fila de A
  85. for(k=0;k<dim;k++)
  86. fprintf(Resultados,"%i ",Ra[k]);
  87. //Valor minimo de la diagonal de B
  88. fprintf(Resultados,"%i ",valorMinimo);
  89.  
  90. fclose(Resultados);
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement