Advertisement
Mihajlo_K

9.2 Збир на редици на матрица

Mar 19th, 2019
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.90 KB | None | 0 0
  1. /* Да се напише програма која ќе ги прочита елементите на една матрица сместени во текстуална датотека „matrica.txt“. Во првиот ред на датотеката се запишани бројот на редици и колони на матрицата, а потоа се запишани елементите на матрицата. Потребно е за секоја редица да го пресметате збирот на елементите и во текстуалната датотека „izlez.txt“ да се испечатат само оние збирови по редици коишто се поголеми од 10.
  2.  
  3. Забелешка: Да не се менуваат дадените функции writeToFile() printFile(). Тие служат за креирање и проверка на потребните датотеки. */
  4.  
  5. #include <stdio.h>
  6. #define MAX 100
  7. void writeToFile()
  8. {
  9.     FILE *f=fopen("matrica.txt", "w");
  10.     char c;
  11.     while((c=getchar())!='#')
  12.     {
  13.         fputc(c, f);
  14.     }
  15.     fclose(f);
  16. }
  17. void printFile()
  18. {
  19.     FILE *f=fopen("izlez.txt", "r");
  20.     char line[100];
  21.     while(!feof(f))
  22.     {
  23.         fgets(line, 100, f);
  24.         if(feof(f))
  25.             break;
  26.         printf("%s", line);
  27.     }
  28.     fclose(f);
  29. }
  30. int main()
  31. {
  32.     writeToFile();
  33.     FILE *f1, *f2;
  34.     int a[MAX][MAX];
  35.     int m, n, i, j, sum=0;
  36.     if((f1 = fopen("matrica.txt", "r")) == NULL)
  37.     {
  38.         printf("GRESKA");
  39.         return -1;
  40.     }
  41.    
  42.     fscanf(f1, "%d %d", &m, &n);
  43.    
  44.     for(i=0; i < m&&!feof(f1); i++)
  45.     {
  46.         for(j = 0; j < n&&!feof(f1); j++)
  47.         {
  48.             fscanf(f1, "%d", &a[i][j]);
  49.         }
  50.     }
  51.    
  52.     fclose(f1);
  53.     f2=fopen("izlez.txt", "w");
  54.    
  55.     for(i=0; i < m; i++)
  56.     {
  57.         for(j = 0; j < n; j++)
  58.         {
  59.             sum += a[i][j];
  60.         }
  61.         if(sum > 10)
  62.             printf("%d\n", sum);
  63.         sum = 0;
  64.     }
  65.    
  66.     fclose(f2);
  67.     printFile();
  68.     return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement