Advertisement
Stefan1999

1G3Z

Jun 13th, 2017
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.37 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /*
  5.  Zadatak 3 (4)
  6. Matricom A dimenzija n vrsta i m kolona (2<=n<=40, 2<=m<=40) date su zaključne ocene n učenika jednog odeljenja iz m predmeta.
  7. Ocena u poslednjoj koloni je ocena iz vladanja. Ako učenik ima jedino nedovoljnu ocenu iz vladanja, onda ta ocena ulazi u prosek učenika.
  8. Za neocenjene učenike umesto ocene stoji nulta vrednost i onda su oni neocenjeni i uspeh im se ne računa. U ulaznoj datoteci ULAZ.TXT
  9. u prvom redu je upisan broj učenika i broj predmeta. U svakom narednom redu date su ocene za jednog učenika. Kao rezultat se u izlaznu
  10. datoteku IZLAZ.TXT ispisuje uspeh učenika – prosečna ocena (dve decimalne cifre), a u poslednjem redu ispisuje se broj odličnih,
  11. vrlo dobrih, dobrih, dovoljnih, nedovoljnih i neocenjenih učenika.
  12.  
  13. Primer:
  14. ULAZ.TXT                IZLAZ.TXT
  15. 3 3                     3.66
  16. 2 4 5                   4.25
  17. 4 4 5                   2.33
  18. 3 2 2                   0 2 0 1 0 0
  19.  
  20. */
  21.  
  22. int main()
  23. {
  24.     FILE *fp,*fp1;
  25.     int i,j,n,m,b=0;
  26.     float B[50],s=0;
  27.     int od=0,vd=0,d=0,dov=0,ned=0,neo=0;
  28.  
  29.     fp=fopen("ulaz.txt","r");
  30.  
  31.     fscanf(fp,"%d %d",&n,&m);
  32.     printf("n=%d m=%d",n,m);
  33.     printf("\n\n");
  34.  
  35.     int X[n][m];
  36.  
  37.       for(i=0;i<n;i++){
  38.         for(j=0;j<m;j++)
  39.             fscanf(fp,"%d",&X[i][j]);
  40.       }
  41.       for(i=0;i<n;i++){
  42.         for(j=0;j<m;j++)
  43.             printf(" %d",X[i][j]);
  44.             printf("\n");
  45.           }
  46.     fclose(fp);
  47.  
  48.      for(i=0;i<n;i++){
  49.         for(j=0;j<m;j++){
  50.             if(X[i][j]==1){
  51.                 s=-1;
  52.                 break;
  53.             }
  54.             s+=X[i][j];
  55.           }
  56.           if(s==-1){
  57.             B[b++]=0;
  58.           }
  59.           else{
  60.           B[b++]=s;
  61.           s=0;
  62.           }
  63.      }
  64.  
  65.      for(j=0;j<m;j++){
  66.             B[j]/=m;
  67.             if(B[j]==0)ned++;
  68.           }
  69.  
  70.      fp1=fopen("izlaz.txt","w");
  71.  
  72.      for(j=0;j<m;j++){
  73.             fprintf(fp1,"%.2f\n",B[j]);
  74.             printf("\nB[%d]=%.2f",j,B[j]);
  75.             if(B[j]>4.50 && B[j]<5.00)od++;
  76.             else if(B[j]>3.50 && B[j]<4.50)vd++;
  77.             else if(B[j]>2.50 && B[j]<3.50)d++;
  78.             else if(B[j]>1.50 && B[j]<2.50)dov++;
  79.             else if(B[j]>0 && B[j]<1.50)ned++;
  80.           }
  81.      printf("\n\n%d %d %d %d %d %d",od,vd,d,dov,ned,neo);
  82.      fprintf(fp1,"\n\n%d %d %d %d %d %d",od,vd,d,dov,ned,neo);
  83.  
  84.  
  85.  
  86.     getchar();
  87.     getchar();
  88.  
  89.     return 0;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement