Problemi Linguaggio C
#1
Inviato il 03 aprile 2013 - 17:05
1) Scrivi un programma che legga da tastiera N numeri reali ( N richiesto da tastiera ) ed effettui i seguenti calcoli visualizzandone il risultato:
- Minimo
- Massimo
- Media Valori
2) Dato un numero intero inferiore a mille, determina il numero di centinaia, decine e unità. Per esempio 123 è composto da un centinaio, due decine e tre unità.
Sono dalle 5 provandoci ma non riesco...
[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
#2
Inviato il 03 aprile 2013 - 17:14
While K (variabile contatore) < N do:
if min < N1
then min = N1;
if max > N1
then max = N1;
J +=1
end while.
Pseudocodifica ovviamente, ma questo è il trucco. Devi dirmi se usi un array o tante variabili.
58
#3
Inviato il 03 aprile 2013 - 17:16
[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
#4
Inviato il 03 aprile 2013 - 17:26
Ti ho detto l'algoritmo in pratica.
Oppure altra tecnica:
Assegni a Min e Max 0
Quanti numeri vuoi? E assegni a N i numeri che vuole l'utente.
Ciclo While: Mentre la variabile K (contatore) è minore o uguale a N (numeri inseriti) fai:
Inserisci il primo numero nella variabile X
Se X è minore di Minimo,
allora assegna a minimo il valore di X.
Se X è maggiore di Massimo,
allora assegna a massimo il valore di X.
Media assegna Media + X
Aumenta la variabile K di 1.
Fine While.
Media = Media / N.
E il primo punto è andato.
Il secondo si basa su una regola se non sbaglio, ovvero fai 230 diviso 100, esce 2,30
levi il 2, ti rimane 30.
Fai 30 diviso 10. E' 3, con resto 0
Ci sono 2 centinaia e 30 decine, ma andiamo con calma e risolviamo il punto 1.
58
#5
Inviato il 03 aprile 2013 - 17:29
Per la media basta che calcoli la somma aggiungendo ogni volta il numero corrente e poi dividi per N
2) Usa il modulo e la divisione
#6
Inviato il 03 aprile 2013 - 17:30
#9
Inviato il 03 aprile 2013 - 17:53
Il primo l'ho capito, il secondo proprio no..
[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
#10
Inviato il 03 aprile 2013 - 18:12
una volta inserito il numero e controllato se è minore di 1000, lo dividi per 100, ed hai il numero delle centinaia, il resto della divisione lo metti in una variabile, dividi quella variabile per 10, il numero prima della virgola è il numero di decine, quello dopo, ovvero il resto della divisione della variabile per 10, è il numero di unità.
#13
Inviato il 03 aprile 2013 - 18:44
Liko, il 03 aprile 2013 - 19:12 ha detto:
Qui mi sono un pò perso...come faccio a mettere il resto della divisione in una variabile?
[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
#15
Inviato il 03 aprile 2013 - 18:52
int main () { int n; // Numero che verrà inserito float c; // Centinaia float d; // Decine float u; //Unità printf("Inserisci un numero: "); scanf ("%d", &n); if ( n >= 1000 ) // Controllo se il numero è maggiore o uguale a 1000 printf("Errore: il numero è 1000 o superiore \n"); else { c = n/100; // Acquisisco le centinaia v = n%100; d = v/10; // Acquisisco le decine printf("Centinaia %d, Decine %d, Unità %d", c, d, u); // Printa il risultato return 0; } }
Manca l'ultima parte, ovvero quella delle unità e penso ci sia un errore nel print finale..
EDIT: E un altro che ho notato ora.
Messaggio modificato da Federico Ronaldo il 03 aprile 2013 - 18:55
[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
#18
Inviato il 03 aprile 2013 - 19:01
v = d%10;
u = v/10
?
Messaggio modificato da Federico Ronaldo il 03 aprile 2013 - 19:02
[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]