Ciao a tutti, mi affido alla vostra esperienza sicuramente maggiore della mia per completare un programma in c: ho sviluppato ( a fatica) su linux in c un programma che mi analizza dei dati, la traccia e' questa:
# include <stdio.h>
main()
{
int K,i,n;
float distance_mono[M];
float distance_homo[M];
float distance_etero[M];
char predizione[M][2];
int n_mono,n_homo,n_hete;
do++K; while (getchar()!='\n');
n=-1;
for(i=0; getchar()!=EOF ; ++i) {
++n;
do++K; while (getchar()!='=');
scanf("%f",&distance_mono[n]);
do++K; while (getchar()!='\n');
do++K; while (getchar()!='=');
scanf("%f",&distance_homo[n]);
do++K; while (getchar()!='\n');
do++K; while (getchar()!='=');
scanf("%f",&distance_etero[n]);
do++K; while (getchar()!='\n');
for(K=0;K<=23;++K){
getchar();
}
for(K=0;K<=1;++K){
predizione[n][K]=getchar();
}
do++K; while (getchar()!='\n');
}
/*
for(i=0;i<=n;++i){
printf("%10d%20.3f%20.3f%20.3f %c%c\n",
i,
distance_mono,
distance_homo,
distance_etero,
predizione[0],predizione[1]);
}
*/
n_mono=0;
n_homo=0;
n_hete=0;
for(i=0;i<=n;++i){
if(predizione[0]=='m'&&predizione[1]=='o')++n_mono;
if(predizione[0]=='h'&&predizione[1]=='o')++n_homo;
if(predizione[0]=='h'&&predizione[i][1]=='e')++n_hete;
}
printf("tot = %10d\n",(n_mono+n_homo+n_hete));
printf("mono = %10d\nhomo = %10d\nhete = %10d\n",n_mono,n_homo,n_hete);
}
alla fine ottengo risultati tipo:
tot = 6221
mono = 1417
homo = 2296
hete = 2508
solo che adesso vorrei averli in %
calcolando la % ottengo ( circa e' 1 esempio)
mono (1417/6621) x 100 =21.42
homo (2296/6621) x100 =34.67
hete (2508/6621) x100=38.89
alla fine il risultato ottenuto con printf dovrebbe essere :
tot = 6221
mono = 21.42
homo = 34.67
hete = 38.89
ho usato un programma tipo
#include <stdio.h>
double Tot;
double Mono, xMono;
double Homo, xHomo;
double Hete, xHete;
void Main()
{
printf("inserisci il valore del totale");
scanf("%lf",Tot);
printf("inserisci il valore del Mono");
scanf("%lf",Mono);
printf("inserisci il valore del Homo");
scanf("%lf",Homo);
printf("inserisci il valore del Hete");
scanf("%lf",Hete);
xHomo = Homo / Tot * 100;
xMono = Mono / Tot * 100;
xHete = Hete / Tot * 100;
printf("La percentuale del Mono è %lf", xMono);
printf("La percentuale del Homo è %lf", xHomo);
printf("La percentuale del Hete è %lf", xHete);
}
solo che vorrei integrarlo con quello sopra cosi' da fare tutto in unico passaggio, ma c'e' un problema qui i dati li metto io, nel programma che vorrei fare li dovrebbe leggere in automatico, si puo' fare? scusatemi se ho scritto tantissimo e grazie per l'aiuto