Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- ============================================================================
- Name : p1.c
- Author :
- Version :
- Copyright : Your copyright notice
- Description : Hello World in C, Ansi-style
- ============================================================================
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "fct.h"
- int main(void) {
- char buff[100],*numeFirma;
- int *numere, n;;
- double*reale;
- FILE *f,*g;
- f=fopen("fis.txt","r");
- g=fopen("iesire.txt","w");
- if(!f)
- {
- fprintf(stderr,"EROARE LA DESCHIDERE");
- exit(EXIT_FAILURE);
- }
- fgets(buff,99,f);
- buff[strlen(buff)-1]='\0';
- numeFirma=(char*)malloc((strlen(buff)+1)*sizeof(char));//+1 este de la \0
- if(!numeFirma)
- {
- fprintf(stderr,"EROARE");
- exit(EXIT_FAILURE);
- }
- fscanf(f,"%d",&n);
- numere=(int*)malloc(n*sizeof(int));
- if(!numere)
- {
- fprintf(stderr,"EROARE");
- exit(EXIT_FAILURE);
- }
- reale=(double*)malloc(n*sizeof(double));
- if(!reale)
- {
- fprintf(stderr,"EROARE");
- exit(EXIT_FAILURE);
- }
- citire(n,numere,f);
- citirer(n,reale,f);
- //strcpy dar daca da warning folosim strcpy_s
- strcpy(numeFirma,buff);
- fprintf(f,"Firma \"");
- fputs(numeFirma,g);
- fprintf(f,"\" are....");
- afisare(n,numere,g);
- afisarer(n,reale,g);
- schema(n,numere,reale,g);
- free(numeFirma);
- free(numere);
- free(reale);
- numeFirma=0; numere=0; reale=0;
- fclose(f);
- fclose(g);
- return EXIT_SUCCESS;
- }
- ___________________
- /*
- * fct.c
- *
- * Created on: May 12, 2016
- * Author: student
- */
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include "fct.h"
- void citire(int n,int v[50], FILE *f)
- {
- int i;
- for(i=0;i<n;i++)
- fscanf(f,"%d",&v[i]);
- }
- void citirer(int n,double v[50], FILE *f)
- {
- int i;
- for(i=0;i<n;i++)
- fscanf(f,"%lf",&v[i]);
- }
- void afisare(int n,int v[50], FILE *f )
- {
- int i;
- fprintf(f,"\n%d\n",n);
- for(i=0;i<n;i++)
- fprintf(f,"%d ",v[i]);
- }
- void afisarer(int n,double v[50], FILE *f )
- {
- int i;
- fprintf(f,"\n");
- for(i=0;i<n;i++)
- fprintf(f,"%.2lf ",v[i]);
- }
- void schema(int n,int v[50], double g[50], FILE *f)
- {
- int i;
- info s;
- s.cost=v[0]*g[0];
- for(i=1;i<n;i++)
- {
- if(s.cost<v[i]*g[i])
- s.idx_max=i;
- s.cost+=v[i]*g[i];
- }
- fprintf(f,"\n%.2lf %d",s.cost,s.idx_max);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement