PDA

Visualizza la versione completa : [C] Aiuto scrittura programma....


andrea_NET-_DSL
01-12-2003, 15:28
Vorre scrivere in linguaggio C un programma che data una sequenza di numeri(nn prefissata ,quindi prima ti chiede quanti numeri vuoi inserire e poi ti stampa a video "Inserisci numero" x le volte scritte)conta quelli positivi e quelli
negativi,ne stampa il numero ,dei positivi e dei negativi,e infine stampa la %
dei positivi e dei negativi rispetto al totale dei numeri.

Sono alla prime armi in C...vi prego aiutatemi :fagiano: :confused:

grazie mille

Andrea :ciauz: :ciauz:

$$$
01-12-2003, 15:56
/* ... */

int positivi = 0, negativi = 0, totali = 0, tmp, tmp2;

printf ("Numeri da elaborare: ");
scanf ("%d", &tmp);

if ( tmp > 0 )
{
totali = tmp;

while ( tmp-- > 0 )
{
printf ("Inserisci numero: ");
scanf ("%d", &tmp2);

if (tmp2 >= 0) positivi++;
else negativi++;
}

printf ("Percentuale POSITIVI: %d\n", positivi/totali*100);
printf ("Percentuale NEGATIVI: %d\n", negativi/totali*100);

} else
printf ("Errore!");

/* ... */

dovrebbe andare...

andrea_NET-_DSL
01-12-2003, 18:00
Originariamente inviato da $$$

/* ... */

int positivi = 0, negativi = 0, totali = 0, tmp, tmp2;

printf ("Numeri da elaborare: ");
scanf ("%d", &tmp);

if ( tmp > 0 )
{
totali = tmp;

while ( tmp-- > 0 )
{
printf ("Inserisci numero: ");
scanf ("%d", &tmp2);

if (tmp2 >= 0) positivi++;
else negativi++;
}

printf ("Percentuale POSITIVI: %d\n", positivi/totali*100);
printf ("Percentuale NEGATIVI: %d\n", negativi/totali*100);

} else
printf ("Errore!");

/* ... */

dovrebbe andare...

grazie appena posso lo provero' e ti-vi faro' sapere ;)

grazie mille:ciauz:

virusbye
01-12-2003, 18:19
/* ... */
// dichiarazione variabili
int positivi = 0;
int negativi = 0;
int totali = 0;
int i = 0;
int input_temp;

// inserisce il numero di elementi
printf ("Numeri da elaborare: ");
scanf ("%d", &totali);

if ( totali > 0 )
{ // IF - open

for (i=0; i<totali; i++)
{ // FOR - open

// inserisce il valore
printf ("Inserisci numero: ");
scanf ("%d", &input_temp);

if (input_temp >= 0) {
// numero di positivi
positivi++;
} else {
// numero di negativi
negativi++;
}

} // FOR - close

// Stampa a video i risultati
printf ("Percentuale POSITIVI: %d\n", positivi/totali*100);
printf ("Percentuale NEGATIVI: %d\n", negativi/totali*100);

} else {
printf ("Errore!");
} // IF - close

/* ... */



Un po' corretto e commentato ;)

andrea_NET-_DSL
01-12-2003, 18:42
si entrambi partono e quando scrivo il numero dei valori me li chiedono per il numero corretto di volte ma la percentuale nn va...o mi da 100 o 0.... :(
provateli pure voi cosi' vedrete...
aiutatemi :confused:

grazie :ciauz:
ps ho notato che quando i numeri sono tutti positivi o tutti negativi la percentuale v...cio da 100% o per i positivi nel primo caso o 100% per i negativi nel secondo caso...ma quando sono sia positivi che negativi da entrambe 0 :bh:

$$$
01-12-2003, 18:51
hai ragione si perde precisione :)

fai cosi

printf ("Percentuale POSITIVI: %d\n", positivi*100/totali);
printf ("Percentuale NEGATIVI: %d\n", negativi*100/totali);


prima moltiplichiamo x 100 cosi nn si lavora
con la virgola :)

andrea_NET-_DSL
01-12-2003, 19:01
Originariamente inviato da $$$
hai ragione si perde precisione :)

fai cosi

printf ("Percentuale POSITIVI: %d\n", positivi*100/totali);
printf ("Percentuale NEGATIVI: %d\n", negativi*100/totali);


prima moltiplichiamo x 100 cosi nn si lavora
con la virgola :)
sisi ottimo ora v perfettamente
sempre gentili alla prossima :)
vado a studirami sto programma ;)
:ciauz:

Loading