Download - fisiere

Transcript
  • 1) S se scrie programul care creeaz un fiier text n care memoreaz dou matrice, astfel:- pe prima linie numrul de linii i numrul de coloane ale primei matrice, separate printr-un

    spaiu;- pe fiecare din liniile urmtoare, n ordine, elementele unei linii din matrice, separate prin cte un

    spaiu; n continuare a doua matrice, n aceeai form.

    #include

    void main()

    {FILE *f;

    int m,n,i,j;

    float x;

    char s[20];

    printf("Nume fisier: ");gets(s);

    f=fopen(s,"w");

    printf("nr. linii a: ");scanf("%d",&m);

    printf("nr. col a: ");scanf("%d",&n);

    fprintf(f,"%d %d\n",m,n);

    for(i=0;i

  • {printf("b(%d,%d)=",i,j);

    scanf("%f",&x);

    fprintf(f,"%5.2f ",x);}

    fprintf(f,"\n");}

    fclose(f);}

    2) S se scrie programul care nmulete matricele aflate n fiierul creat laproblema anterioar,dac e posibil. Rezultatul se va memora n acelai fiier, n continuare, n aceeai form. Dacnmulirea nu e posibil, se va scrie ca rezultat un mesaj de eroare. Matricele snt suficient demici pentru a putea fi ncrcate n memorie.

    #include

    void main()

    {FILE *f;

    int m,n,p,q,i,j,k;

    float x,a[20][20],b[20][20];

    char s[20];

    printf("Nume fisier: ");gets(s);

    if(!(f=fopen(s,"r"))) printf("\nFisierul nu poate fi deschis.");

    else{fscanf(f,"%d %d",&m,&n);

    for(i=0;i

  • else{f=fopen(s,"a");

    fprintf(f,"%d %d\n", m,p);

    for(i=0;i

  • n=0;

    if(fread(&x,sizeof(float),1,f)!=sizeof(float))

    {max=min=x;

    fread(&x,sizeof(float),1,f);

    while(!feof(f))

    {if(xmax)max=x;

    m+=x;n++;

    fread(&x,sizeof(float),1,f);}

    printf("Amplitudine: %7.2f, media: %7.2f",max-min,m/n);}

    else printf("\nFisier gol");

    fclose(f);}

    getch();}

    4) S se scrie programul care calculeaz produsul vectorial dintre doi vectori memorai n fiierebinare. Rezultatul va fi memorat n alt fiier.

    #includeint nrart(FILE *f, int l){long p;int n;p=ftell(f);fseek(f,0,2);n=ftell(f)/l;fseek(f,0,p);return n;}

    void main()

    {FILE *f,*g,*h;

    float x,y,z;

    char s1[20],s2[20];

    printf("\nPrimul fisier: ");gets(s1);

    printf("Al doilea fis: ");gets(s2);

  • if(!(f=fopen(s1,"rb")))printf("Fisierul %s nu poate fi deschis.",s1);

    else if(!(g=fopen(s2,"rb")))printf("Fisierul %s nu poate fi deschis",s2);

    else {if(nrart(f,sizeof(float))!=nrart(g,sizeof(float)))

    printf("Numar diferit de articole.");

    else {printf("Fisier rezultat: ");

    gets(s1);

    h=fopen(s1,"wb");

    fread(&x,sizeof(float),1,f);

    fread(&y,sizeof(float),1,g);

    while(!feof(f))

    {z=x*y;

    fwrite(&z,sizeof(float),1,h);

    fread(&x,sizeof(float),1,f);

    fread(&y,sizeof(float),1,g);}

    fclose(h);}

    fclose(f);

    fclose(g);}

    }