Advertisement
Mazamin

Esercizio 2 Matrice Sostituzione

Dec 18th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.25 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define MAX_LEN 32
  4.  
  5. void get_matrix(FILE *, int (*)[MAX_LEN]);
  6. void put_matrix(FILE *, int (*)[MAX_LEN]);
  7.  
  8. main(){
  9.     FILE * fi, * fo;
  10.     int matrix[MAX_LEN][MAX_LEN]; /* at 0,0 there's number of actual rows, at 0,1 there's number of actual columns, at 0,2 there's predominant value */
  11.     ((fi=fopen("file.txt", "r"))!=NULL)?:(exit(1)); /* 0,3 0,4 0,5 are used as temporary variables */
  12.     ((fo=fopen("output.txt", "w"))!=NULL)?:(exit(1));
  13.     get_matrix(fi, matrix);
  14.     put_matrix(fo, matrix);
  15.     return 0;
  16. }
  17.  
  18. void get_matrix(FILE * fp, int (*matrixPtr)[MAX_LEN]){
  19.     int i, j;
  20.     fscanf(fp, "%d %d %d", &matrixPtr[0][0], &matrixPtr[0][1], &matrixPtr[0][2]);
  21.     for(i=0;i<matrixPtr[0][0];i++)
  22.         for(j=0;j<matrixPtr[0][1];j++)
  23.             matrixPtr[i+1][j]=matrixPtr[0][2];
  24.     while(feof(fp)==0){
  25.         fscanf(fp, "%d %d %d", &matrixPtr[0][3], &matrixPtr[0][4], &matrixPtr[0][5]);
  26.         matrixPtr[matrixPtr[0][3]+1][matrixPtr[0][4]]=matrixPtr[0][5];
  27.     }
  28. }
  29.  
  30. void put_matrix(FILE * fp, int (*matrixPtr)[MAX_LEN]){
  31.     int i, j;
  32.     for(i=0;i<matrixPtr[0][0];i++){
  33.         for(j=0;j<matrixPtr[0][1];j++)
  34.             fprintf(fp, "%d ", matrixPtr[i+1][j]);
  35.         fprintf(fp, "\n");
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement