Accedi

Vettore con contenuto casuale

PROBLEMA

Dato un vettore di N interi, inizializzati casualmente, si determini il valore massimo tra quelli memorizzati nel vettore e lo si stampi a video.


CODICE SORGENTE

#include <stdio.h>
#include <stdlib.h>
#include <time.h>


int main(int argc, char *argv[]) {
 
 //sezione dichiarativa
 int i, a, max, min, posizione_max=0, posizione_min=0;
 srand(time(NULL));
 
 //sezione spiegazione programma
 printf("Dato un vettore di N interi, inizializzati casualmente.\nSi determini il valore massimo tra quelli memorizzati nel vettore e lo si stampi a video.");
 sleep(5);
 
 //sezione di input
 do {
  system("cls");
  printf("Inserire il numero di Vettori da creare:");
  scanf("%i", &i);
  if (i==0 || i==1) { //valore inserito minore di 2
   for (a=5;a>0;a--){
    system("cls");
    printf("[!] Il valore immesso non e' valido potrai reinserire il valore tra %i secondi", a);
    sleep(1);
   }
  }
 } while (i==0 || i==1);
 
 //sezione dichiarativa 
 int array[i];
 
 //assegnazione numero casuale a ogni singolo elemento
 for (a=0; a<i; a++) {
  array[a]=rand();
 }
 
 //assegnazione punto di riferimento minimo e maggiore
 max=array[0];
 min=array[0];
 
 //ricerca del minore e del maggiore
 for (a=0; a<i; a++) {
  if (array[a]>max) { //se è maggiore del massimo lo stistuisce
   max=array[a];
   posizione_max=a;
  }
  else if (array[a]<min) { //se è minore del minimo lo stostituisce
   min=array[a];
   posizione_min=a;
  }
 }
 
 //risulati a video
 system("cls");
 printf("----------------------------------------------\nCaratteristiche del vettore di %i posizioni:\n----------------------------------------------", i);
 printf("\nIl numero maggiore e' presente nel vettore %i con un valore di: %i", posizione_max, max);
 printf("\nIl numero minore e' presente nel vettore %i con un valore di: %i", posizione_min, min);
 printf("\n----------------------------------------------");
 printf("\nVettore\tContenuto");
 for (a=0;a<i;a++) {
  printf("\n  %i\t  %i", a+1, array[a]);
 }
 printf("\n----------------------------------------------");
 printf("\n\nPremi un tasto per continuare...");

 system("PAUSE");
 return 0;
}