Esercizio:
Scrivere un algoritmo e un programma in C++, che definisca un array di N interi, determini quali sono i valori maggiori e minori.
La tabella dati del nostro problema è:
Uso | Nome | Tipo | Descrizione |
Input | vet | vettore di interi | vettore di 100 numeri interi |
input | n | intero | numero elementi dell’array |
lavoro | k | intero | indice del vettore e contatore del ciclo |
output | nmax, nmin | interi | massimo e minimo dell’array |
Il flowchart della possibile soluzione è:
In questo esercizio la notazione MININT e MAXINT indicano il minimo intero e il massimo intero degli interi. Nei linguaggi di programmazione gli insiemi numerici hanno un’estensione grande ma finita e in modo simbolico si indicano il minimo valore intero e il massimo valore intero con la notazione sopra menzionata.
La codifica in C++ è:
#include <iostream>
#include <climits>
using namespace std;
int main()
{
int n;
int vet[100];
cout << "\nquanti elmenti nell'array ?";
cin >> n;
int k,nmax,nmin;
for (k=0;k<n;k++)
{
cout << "\nInserisci elementi:-->"<<k+1<<endl;
cin >> vet[k];
}
nmin=INT_MAX;
nmax=INT_MIN;
for (k=0;k<n;k++)
{
if (nmax<vet[k])
nmax=vet[k];
if (nmin>vet[k])
nmin=vet[k];
}
cout << "\nMassimo dell'array:"<< nmax <<endl;
cout << "\nMinimo dell'array:"<< nmin << endl;
return 0;
}
Il programma si suddivide in tre blocchi logici: il primo è la richiesta del numero di elementi dell’array, il secondo il caricamento dell’array, il terzo il calcolo del massimo e del minimo dell’array con la stampa dei dati in output.
E’ stata utilizzata la libreria climits che definisce in C++ il MAXINT e il MININT definiti in INT_MIN e INT_MAX.
In questa pagina sono presenti link di affiliazione che garantiscono a questo sito una piccola quota di ricavi, senza variazione del prezzo per l’acquirente.