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();
- FILE *dat;
- if ((dat = fopen("livce.txt", "r"))== NULL){
- fprintf(stderr,"ERROR");
- return -1;
- }
- char sif[MAX][MAX];
- int tip[MAX];
- double koef[MAX],max=0;
- int kol=0,mkol;
- double dobiv=1;
- int uplata,i;
- fscanf(dat,"%d",&uplata);
- while (!feof(dat)){
- fscanf(dat,"%s",&sif[kol][0]);
- fscanf(dat,"%d",&tip[kol]);
- fscanf(dat,"%lf",&koef[kol]);
- if (koef[kol] > max){
- max = koef[kol];
- mkol = kol;
- }
- kol++;
- }
- kol--;
- for (i=0;sif[mkol][i] != '\0';i++){
- printf("%c",sif[mkol][i]);
- }
- printf(" %d %0.2lf\n",tip[mkol],koef[mkol]);
- for (i=0;i<kol;i++){
- dobiv *= koef[i];
- }
- dobiv *= uplata;
- printf("%.2lf",dobiv);
- fclose(dat);
- return 0;
- }
Add Comment
Please, Sign In to add comment