Marko91
16-03-2008, 17:33
Ciao, mi servirebbe un aiutino con il codice qui sotto. :D
Non so per quale motivo ho dei problemi con scanf, non mi acquisisce correttamente le coppie di caratteri... sono su Vista. Poi non sono sicuro che sia totalmente corretto dal punto di vista logico, e che giri bene anche senza quel problema.
Le richieste dell'esercizio sono:
Acquisiti n coppie di caratteri calcolare la percentuale di coppie con valori uguali a un rif numerico, calcolare il valore minimo e quante volte compare.
#include <stdio.h>
#include <conio.h>
int main()
{
int contmin,n,cont,contp;
char a,b,min,rif;
contp=0;
cont=0;
do
{
printf("fornisci rif\n");
scanf("%c",&rif);
}
while(!(rif>'0' && rif<'9'));
do
{
printf("fornisci numero coppie di carattere\n");
scanf("%d",&n);
}
while(n<=0);
for(cont=0;cont<n;cont=cont+1)
{
printf("fornisci coppie\n");
scanf("%c%c",&a,&b);
if(cont==0)
{
if(a<b)
{
min=a;
contmin=1;
}
else
min=b;
}
else
{
if(a<min)
{
min=a;
contmin=1;
}
else
{
if(a==min)
contmin=contmin+1;
}
if(b<min)
{
min=b;
contmin=1;
}
else
{
if(b==min)
contmin=contmin+1;
}
}
if(a==rif && b==rif)
contp++;
}
if(cont==0)
printf("non c'è min\n");
else
{
printf("Il minimo è %c \n", min);
printf("Il minimo compare %d volte\n", contmin);
printf("La percentuale dei valori uguali a rif è %d ", (contp*50)/cont);
}
getch();
}
Non so per quale motivo ho dei problemi con scanf, non mi acquisisce correttamente le coppie di caratteri... sono su Vista. Poi non sono sicuro che sia totalmente corretto dal punto di vista logico, e che giri bene anche senza quel problema.
Le richieste dell'esercizio sono:
Acquisiti n coppie di caratteri calcolare la percentuale di coppie con valori uguali a un rif numerico, calcolare il valore minimo e quante volte compare.
#include <stdio.h>
#include <conio.h>
int main()
{
int contmin,n,cont,contp;
char a,b,min,rif;
contp=0;
cont=0;
do
{
printf("fornisci rif\n");
scanf("%c",&rif);
}
while(!(rif>'0' && rif<'9'));
do
{
printf("fornisci numero coppie di carattere\n");
scanf("%d",&n);
}
while(n<=0);
for(cont=0;cont<n;cont=cont+1)
{
printf("fornisci coppie\n");
scanf("%c%c",&a,&b);
if(cont==0)
{
if(a<b)
{
min=a;
contmin=1;
}
else
min=b;
}
else
{
if(a<min)
{
min=a;
contmin=1;
}
else
{
if(a==min)
contmin=contmin+1;
}
if(b<min)
{
min=b;
contmin=1;
}
else
{
if(b==min)
contmin=contmin+1;
}
}
if(a==rif && b==rif)
contp++;
}
if(cont==0)
printf("non c'è min\n");
else
{
printf("Il minimo è %c \n", min);
printf("Il minimo compare %d volte\n", contmin);
printf("La percentuale dei valori uguali a rif è %d ", (contp*50)/cont);
}
getch();
}