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