Ultima modifica:
Buongiorno ragazzi, sono alle prese con questo esercizio che ho provato a risolvere. Qualcuno potrebbe indicarmi gli errori? Io l'ho 'risolto' in questo modo:
C:
/*
Un file contiene su ogni riga 3 valori reali float corrispondono a base magg,
base minore, e altezza di un trapezio, A (somma basi, per altezza, diviso due)
vogliamo cercare in tutton il file i trapezi di area maggiore, minore e indicare
in quale riga si trovano, e il valore dell'area.
*/
#include <stdio.h>
#include <stdlib.h>
#include <float.h>
int main() {
float baseMin,baseMax,altezza,max,trapezio;
FILE* fp;
if((fp=fopen("trapezio.txt","r"))==NULL){
printf("Impossibile aprire il file!\n");
return EXIT_FAILURE;
}
int pos=0,posmax;
while(fscanf(fp,"%f%f%f\n", &baseMin,&baseMax,&altezza)!=EOF){
trapezio=((baseMin+baseMax)*altezza)/2;
max=trapezio;
pos++;
if(trapezio>max){
max=trapezio;
posmax=pos;
}
}
fclose(fp);
printf("L'area del trapezio max vale %f in riga %d", trapezio,posmax);
return EXIT_SUCCESS;
}