Documente Academic
Documente Profesional
Documente Cultură
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
while(!feof(f))
{
fscanf(f,"%d",&x);
if (x>maxim)
maxim=x;
else
if (x<minim)
minim=x;
}
fclose(f);
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;
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);
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)
FILE* f;
while(!feof(f))
{
fgets(a,255,f);
while (p)
2
{
if (strspn(p,cifre)==strlen(p))
s+=atof(p);
p=strtok(NULL,separator);
}
}
cout<<"Suma este: "<<s<<endl;
}