- Leggere un file testo di numeri, e:
a) Scrivere i medesimi numeri su di un altro file
b) Scrivere su di un file i numeri compresi in un intervallo (a,b) dove a e b sono numeri digitati da tastiera
c) scrivere su di un altro file la somma, la media il minimo, il massimo dei precedenti numeri
d) scrivere su di un altro file i numeri in ordine inverso
---------------------------------------------------------------------
#include <stdio.h>
FILE *f1;
FILE *f2;
FILE *f3;
FILE *f4;
FILE *f5;
int numeri[100];
int a;
int b;
int n;
int u=0;
int s=0;
int min;
int media;
int i=1;
int max;
void leggiScrivi(){
f1=fopen("esercizio1.txt","r");
f2=fopen("copia1.txt","w");
fscanf(f1,"%d",&n);
while(n!=999){
fprintf(f2,"%d\n",n);
fscanf(f1,"%d\n",&n);
}
fclose(f1);
fclose(f2);
}
void compresi(){
f3=fopen("compres.txt","w");
f1=fopen("esercizio1.txt","r");
printf("inserisci due numeri interi:");
scanf("%d %d",&a,&b);
fscanf(f1,"%d",&n);
while(n!=999){
if((n>a) && (n<b)){
fprintf(f3,"%d\n",n);
}
fscanf(f1,"%d",&n);
}
fclose(f3);
fclose(f1);
}
void somma(){
f1=fopen("esercizio1.txt","r");
f4=fopen("somma.txt","w");
fscanf(f1,"%d",&n);
n=min;
n=max;
while(n!=999){
if(n<min){
min=n;
}
if(n>max){
max=n;
}
s=s+n;
i++;
fscanf(f1,"%d",&n);
}
fprintf(f4,"la somma e:%d\n",s);
media=s/i;
fprintf(f4,"la media e:%d\n",media);
fprintf(f4,"il minimo e: %d\n",min);
fprintf(f4,"il massimo e:%d\n",max);
fclose(f1);
fclose(f4);
}
void inverso(){
f1=fopen("esercizio1.txt","r");
f5=fopen("inverso.txt","w");
i=0;
n=0;
while(n!=999){
fscanf(f1,"%d",&n);
numeri[i]=n;
i++;
}
u=i;
for(i==u;i!=-1;i--){
fprintf(f5,"%d\n",numeri[i]);
}
fclose(f1);
fclose(f5);
}
int main()
{
leggiScrivi();
compresi();
somma();
inverso();
}
---------------------------------------------------------------------
Numeri di partenza
---------------------------------------------------------------------
Esecuzione
---------------------------------------------------------------------
Copia
---------------------------------------------------------------------
Numeri compresi nell’intervallo
---------------------------------------------------------------------
Somma, media, minimo e massimo
Commenti
Posta un commento