Somma di elementi casuali
PROBLEMA
Caricare un array numerico di N elementi in modo casuale. Visualizzare a video gli elementi e la loro somma.
CODICE SORGENTE
//Codificare il seguente esercizio: Caricare un array numerico di N elementi in modo casuale. Visualizzare a video gli elementi e la loro somma.
//Author: Masone Alessandro
//Date: 2021/02/18
#include <stdio.h>
#include <stdlib.h>
//dichiarazione funzioni
void banner_traccia();
void banner();
//funzione ringraziamento
void banner (void) {
printf("Grazie di aver utilizzato il programma\n");
}
//funzione traccia
void banner_traccia(void) {
int i=0;
for (i=5;i>0;i--){
system("cls");
printf("Codificare il seguente esercizio: Caricare un array numerico di N elementi in modo casuale.\nVisualizzare a video gli elementi e la loro somma.");
printf("\n[!] Attendere %i secondi", i);
sleep(1);
}
system("cls");
}
int main(int argc, char *argv[]) {
//sezione dichiarativo
int a=0, i=0, somma=0;
srand(time(NULL));
//funzione traccia
banner_traccia();
//sezione di input del numero di elementi
do {
system("cls");
printf("Inserire numero di Elementi:");
scanf("%i", &a);
if (a<1) {
for (i=5;i>0;i--){
system("cls");
printf("[!] Il valore immesso non e' valido potrai reinserire il valore tra %i secondi", i);
sleep(1);
}
}
} while(a<1); //deve essere maggiore di 0
//dichiarazione vettore
int array[a];
//assegnazione numero casuale
for (i=0;i<a;i++) {
array[i]=rand()%50+1;
}
//somma di tutti gli elementi
for (i=0;i<a;i++) {
somma=somma+array[i];
}
//sezione di visualizzazione dei dati
system("cls");
printf("----------------------------------------------\nCaratteristiche del vettore di %i elementi:\n----------------------------------------------", a);
printf("\nElemento\tContenuto");
for (i=0;i<a;i++) {
printf("\n %i\t\t %i", i+1, array[i]);
}
printf("\n----------------------------------------------\n");
printf("Somma: %i", somma);
printf("\n----------------------------------------------\n");
printf("Premi un tasto per continuare...");
//sezione chiusura programma
getch();
system("cls");
for (i=0;i<10;i++) {
banner();
sleep(1);
}
return 0;
}