Sunteți pe pagina 1din 3

Aplicaţia 1.

Se citeşte un fişier text ce conţine numere întregi despărţite prin spaţiu sau ENTER. Să se afişeze
minimul si maximul dintre valorile existente în acel fişier.
#include<stdio.h>
#include<values.h>
#include<stdio.h>

void main()
{
FILE* f; //descriptor de fisier

//deschidem fisierul spre citire


if( ( f=fopen("intrare.txt","r")) == NULL )
{
printf("Nu se poate deschide fisierul!\n");
return;
}

int x; //variabila in care retinem numerele citite


int maxim=-MAXINT; //consideram maximul cel mai mic numar intreg
int minim=MAXINT; //consideram minimul cel mai mare numar intreg

while(!feof(f))
{
fscanf(f,"%d",&x);
if (x>maxim)
maxim=x;
else
if (x<minim)
minim=x;
}

fclose(f);

printf(“Maximul din fisier este: %d\n”,maxim);


printf(“Minimul din fisier este: %d\n”,minim);
}

Aplicaţia 2.
Se presupune un fişier text ("vocale.txt") ce conţine o inşiruire de caractere. Să se contorizeze
apariţia fiecărei vocale în fişier.

#include<iostream.h>
#include<stdio.h>

void main()
{
char c;
int a=0,e=0,i=0,o=0,u=0; //a=nr. de aparitii a vocalei "a", s.a.m.d.
FILE* f;

//deschidem fisierul spre scriere


if( ( f=fopen("vocale.txt","r")) == NULL )
{
printf("Nu se poate deschide fisierul!\n");
return;
}

1
while(!feof(f))
{
fscanf(f,"%c",&c); //sau c=getc(f); sau c=fgetc(f);

switch(c)
{
case 'a': a++; break;
case 'e': e++; break;
case 'i': i++; break;
case 'o': o++; break;
case 'u': u++;
};
}

fclose(f);

printf("Vocala \"a\" aparare de %d ori.\n”,a);


printf("Vocala \"e\" aparare de %d ori.\n”,e);
printf("Vocala \"i\" aparare de %d ori.\n”,i);
printf("Vocala \"o\" aparare de %d ori.\n”,o);
printf("Vocala \"u\" aparare de %d ori.\n”,u);
}

Aplicaţia 3.
Se citeşte un fişier text ce conţine elemente textuale şi/sau numerice. Să se sumeze valorile
numerice din acel fişier.

#include<iostream.h>
#include<string.h>
#include<stdlib.h>
#include<stdio.h>

void main()
{
char a[255]; //aici introducem sirul reprezentand o linie din fisier
char separator[] =" ,;"; /*sirul separator de cuvinte format din " " "," si
";"*/
char cifre[]="0123456789.+-"; /*sirul format din elemente matematice (cifre
si semne)*/
char* p; //il folosim pentru separarea sirului in entitati (cuvinte)

double s=0; //suma valorilor numerice, initial 0

FILE* f;

//deschidem fisierul spre scriere


if( ( f=fopen("fisier.txt","r")) == NULL )
{
printf("Nu se poate deschide fisierul!\n");
return;
}

while(!feof(f))
{
fgets(a,255,f);

p=strtok(a,separator); /*se separa sirul folosind ca separator spatiul sau


virgula*/

while (p)

2
{
if (strspn(p,cifre)==strlen(p))
s+=atof(p);
p=strtok(NULL,separator);
}
}
cout<<"Suma este: "<<s<<endl;
}

S-ar putea să vă placă și