Accedi

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;
}