Valori compresi in un vettore
PROBLEMA
Dato un array di N elementi inizializzato casualmente, e due numeri forniti da tastiera restituire a video quanti valori e quali nell'array sono compresi tra questi due numeri. restituire anche a video la stampa dell'array capovolte.
CODICE SORGENTE
#include <stdio.h>
#include <stdlib.h>
#define VALORE_MASSIMO 15
//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) {
printf("Dato un array di N elementi inizializzato casualmente e due numeri forniti da tastiera\nrestituisce a video quanti valori e quali nell'array sono compresi tra questi due numeri.\nRestituisce anche a video la stampa dell'array capovolte");
sleep(5);
system("cls");
}
int main(int argc, char *argv[]) {
//sezione dichiarativa
int range_minimo, range_massimo, i, a=0, c=0, quantita_elementi_compresi=0;
srand(time(NULL));
//richiamo funzione per visualizzare la traccia
banner_traccia();
//sezione di input del numero di elementi maggiore di 2
do {
system("cls");
printf("Inserire numero di Elementi:");
scanf("%i", &a);
} while(a<2);
//sezione di input del numero minimo
system("cls");
printf("Inserire il valore minimo compreso:");
scanf("%i", &range_minimo);
//sezione di input del numero massimo
do {
system("cls");
printf("Inserire il valore massimo compreso:");
scanf("%i", &range_massimo);
if (range_massimo<range_minimo) {
for (c=5;c>0;c--){
system("cls");
printf("[!] Il valore immesso non e' valido potrai reinserire il valore tra %i secondi", a);
sleep(1);
}
}
} while(range_massimo<range_minimo);
//dichiarazione array
int array[a];
//assegnazione numero casuale a ogni elemento dell'array
for (i=0;i<a;i++) {
array[i]=rand()%VALORE_MASSIMO+1;
}
//sezione visualizzazione dati
system("cls");
printf("----------------------------------------------\nCaratteristiche del vettore di %i elementi:\n----------------------------------------------", a);
//conteggio elementi compresi nel range indicato
for (i=0;i<a;i++) {
if ((array[i]>range_minimo) && (array[i]<range_massimo)) {
quantita_elementi_compresi++;
}
}
printf("\nElementi compresi tra %i e %i: %i",range_minimo, range_massimo, quantita_elementi_compresi);
//visualizzazione elementi compresi con posizione e contenuto
printf("\nElemento\tContenuto");
for (i=0;i<a;i++) {
if ((array[i]>range_minimo) && (array[i]<range_massimo)) {
printf("\n %i\t\t %i", i, array[i]);
}
}
//visualizzazione vettore capovolto
printf("\n----------------------------------------------\nVettore capovolto:\nElemento\tContenuto");
for (i=a;i>0;i--) {
printf("\n %i\t\t %i", i, array[i-1]);
}
printf("\n----------------------------------------------\n");
printf("Premi un tasto per continuare...");
//sezione chiusura programma
getch();
system("cls");
for (i=0;i<10;i++) {
banner();
sleep(1);
}
system("PAUSE");
return 0;
}