Ciao, per quanto riguarda il primo esercizio ho fatto semplicemente così: // Fare la media degli N voti inseriti dall'utente. int main() { int N, o = 0, N2; float media = 0, somma = 0; printf("Inserisci quanti voti inserire: "); scanf("%d", &N); while (o < N) { printf(" Inserisci voto: "); scanf("%d", &N2); somma = somma + N2; o++; } media = somma/ o; printf(" La media dei voti vale: %.2f", media); return 0; } Andrebbe bene lo stesso?
Ciao, per quanto riguarda l'ultimo esercizio mi è tutto chiaro tranne una cosa. Come fai a dedurre nella condizione dell'if che va messo altezza - 1? Sto cercando di capire da dove è possibile capire perché mettere questo -1 ma credo mi sfugga qualcosa, grazie in anticipo.
Per capire meglio questa intuizione è comodo il disegno che ho fatto durante il ragionamento e sostituire il valori volta per volta. Ovvio che si tratta solo di indici di posizione, io partendo da 0 non posso arrivare fino ad altezza, altrimenti farei un conto in più per nulla. Se tu fossi partito con i=1 allora avresti dovuto recuperare quel valore aggiunto: In sostanza fare da i = 1 fino a 5 equivale a fare da 0 fino a 5-1.
@@ProgrammazioneTimeOfficial ti ringrazio, era quello che avevo ipotizzato. Avrei un'altra domanda se non ti disturba, hai per caso fatto anche video in merito alla ricorsione ? So che si tratta di un argomento molto importante in quanto risulta utile per scrivere programmi di maggior efficienza.
riferendomi al primo esercizio del video, se io dichiarassi N (numero voti) come un unsigned int dovrei cambiare qualcosa al livello di codice?
Sostanzialmente non cambia la logica che usi nel tuo algoritmo
Ciao, per quanto riguarda il primo esercizio ho fatto semplicemente così:
// Fare la media degli N voti inseriti dall'utente.
int main() {
int N, o = 0, N2;
float media = 0, somma = 0;
printf("Inserisci quanti voti inserire: ");
scanf("%d", &N);
while (o < N) {
printf("
Inserisci voto: ");
scanf("%d", &N2);
somma = somma + N2;
o++;
}
media = somma/ o;
printf("
La media dei voti vale: %.2f", media);
return 0;
}
Andrebbe bene lo stesso?
Certo
Si ma così non copri i valori negativi e non li racchiudi tra 0 e 10
Ciao, per quanto riguarda l'ultimo esercizio mi è tutto chiaro tranne una cosa. Come fai a dedurre nella condizione dell'if che va messo altezza - 1? Sto cercando di capire da dove è possibile capire perché mettere questo -1 ma credo mi sfugga qualcosa, grazie in anticipo.
Per capire meglio questa intuizione è comodo il disegno che ho fatto durante il ragionamento e sostituire il valori volta per volta. Ovvio che si tratta solo di indici di posizione, io partendo da 0 non posso arrivare fino ad altezza, altrimenti farei un conto in più per nulla. Se tu fossi partito con i=1 allora avresti dovuto recuperare quel valore aggiunto:
In sostanza fare da i = 1 fino a 5 equivale a fare da 0 fino a 5-1.
@@ProgrammazioneTimeOfficial ti ringrazio, era quello che avevo ipotizzato. Avrei un'altra domanda se non ti disturba, hai per caso fatto anche video in merito alla ricorsione ? So che si tratta di un argomento molto importante in quanto risulta utile per scrivere programmi di maggior efficienza.
Ma tutto questo devo scriverlo sul prompt dei comandi
Definisci "tutto questo"
@@ProgrammazioneTimeOfficial ?
cosa significa che "tutto questo devo scriverlo sul prompt dei comandi". Intendi il codice sorgente? Intendi quando avvii un programma?
devi scaricare code:blocks installarlo e immettere il codice in quel programma
m