Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define MAX 100
- /*
- Дадена е текстуална датотека (livce.txt) која претставува ливче во спортска обложувалница.
- На почетокот во датотеката, во посебен ред е запишана сумата на уплата (цел број).
- Потоа во секој ред од датотеката е запишан по еден тип во следниот формат:
- ab12 1 1.25
- Првиот број е шифрата на типот (низа од знаци која не е подолга од 9 знаци), вториот број е типот (може да биде 1, 0 или 2) додека третиот број е коефициентот (реален број).
- Ваша задача е да се испечати типот со најголем коефициент како и можната добивка на ливчето. Доколку има повеќе типови со ист максимален коефициент, да се испечати првиот.
- Можната добивка се пресметува како производ на сите коефициенти со сумата на уплата.
- For example:
- Input
- 100
- ab12 1 1.2
- c234 2 2.0
- #
- Result
- c234 2 2.00
- 240.00
- */
- // ne menuvaj ovde
- void wf() {
- FILE *f = fopen("livce.txt", "w");
- char c;
- while((c = getchar()) != '#') {
- fputc(c, f);
- }
- fclose(f);
- }
- int main() {
- wf();
- // vasiot kod pocnuva od ovde
- FILE *dat;
- if ((dat = fopen("livce.txt", "r")) == NULL){
- fprintf(stderr,"ERROR");
- return -1;
- }
- int uplata;
- int i;
- double sumCoef=1;
- char code[MAX][MAX];
- int type[MAX]={0,};
- double coeff[MAX]={0.0,};
- int red=0;
- float maxcoef;
- int maxcoefred;
- fscanf(dat,"%d",&uplata);
- while (!feof(dat)){
- fscanf(dat,"%s %d %lf",&code[red][0],&type[red],&coeff[red]);
- if (coeff[red] > maxcoef){
- maxcoef = coeff[red];
- maxcoefred=red;
- }
- red++;
- }
- for (i=0;i<red-1;i++){
- sumCoef*=coeff[i];
- }
- printf("%s %d %.2lf\n",code[maxcoefred],type[maxcoefred],coeff[maxcoefred]);
- sumCoef = uplata * sumCoef;
- printf("%.2lf",sumCoef);
- fclose(dat);
- return 0;
- }
Add Comment
Please, Sign In to add comment