Advertisement
Chris2o2

Задача 3

Dec 5th, 2022
416
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.98 KB | None | 0 0
  1. /*
  2. Дадена е текстуална датотека (livce.txt) која претставува ливче во спортска обложувалница.
  3. На почетокот во датотеката, во посебен ред е запишана сумата на уплата (цел број).
  4. Потоа во секој ред од датотеката е запишан по еден тип во следниот формат:
  5. ab12 1 1.25
  6.  
  7. Првиот број е шифрата на типот (низа од знаци која не е подолга од 9 знаци), вториот број е типот (може да биде 1, 0 или 2) додека третиот број е коефициентот (реален број).
  8. Ваша задача е да се испечати типот со најголем коефициент како и можната добивка на ливчето. Доколку има повеќе типови со ист максимален коефициент, да се испечати првиот.
  9. Можната добивка се пресметува како производ на сите коефициенти со сумата на уплата.
  10. */
  11.  
  12. #include <stdio.h>
  13. #include <string.h>
  14. // ne menuvaj ovde
  15. void wf() {
  16.     FILE *f = fopen("livce.txt", "w");
  17.     char c;
  18.     while((c = getchar()) != '#') {
  19.         fputc(c, f);
  20.     }
  21.     fclose(f);
  22. }
  23.  
  24. int main() {
  25.     wf();
  26.    
  27.     int suma;
  28.     FILE *f=fopen("livce.txt","r");
  29.    
  30.     fscanf(f,"%d",&suma);
  31.    
  32.     char sifra[9],maxsifra[9];
  33.     int tip,maxtip=0;
  34.     float koef,max=0;
  35.     float a=(float)suma;
  36.     while(fscanf(f ,"%s %d %f",sifra,&tip,&koef)!= EOF){
  37.         if(max<koef){
  38.             max = koef;
  39.             maxtip = tip;
  40.             strcpy(maxsifra,sifra);
  41.         }
  42.         a*=koef;
  43.     }
  44.    
  45.     printf("%s %d %.2f\n" , maxsifra,maxtip,max);
  46.     printf("%.2f", a);
  47.    
  48.     fclose(f);
  49.  
  50.    
  51.    
  52.     return 0;    
  53.  
  54. }
  55.  
  56.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement