PDA

Visualizza la versione completa : [c++]elemento minore -code non capito a fondo


cleaner
27-12-2008, 12:15
Quello sottostante è il codice per la ricerca dell'elemento minore in un array di interi..ora..
l'unico punto che non ho capito è questo:
min=a[0];
perchè l'indice 0 dell'array viene inzializzato alla variabile min??
In questo modo non eliminerei un elemento dell'array(precisamente quello che sta nell'indice 0) appena preso ad input??
Vorrei capire a fondo, in quanto il code che ho prodotto funziona, ma di fatto non l'ho capito completamente.
grazie.





#include <iostream>

using namespace std;

int main()
{
int a[10];
int min=0;
cout << "Inserire sequenza di dieci numeri interi"<<endl;

for(int i=0;i<10;i++) //ciclo inserimento in array dei numeri
{
cin >> a[i];
}


cout << "Array omposto dagli elementi: ";
for(int i=0;i<10;i++) //ciclo lettura e stampa a video degli elementi dell'array
{
cout <<"["<<a[i]<<"]";

}
cout << endl;


min=a[0]; // se volessi fare il numero massimo posso togliere questo assegnamento
for(int k=0;k<10;k++) //ciclo calcolo elemento minore
{
if(a[k]<min)
{
min=a[k];
}
}
cout << endl;
cout << "Elemento minore: " << min << endl;
return 0;
}

Pacio88
27-12-2008, 12:23
Perchè devi prendere almeno un valore della lista(conviene prendere il primo perchè poi si confrontano spostandoci nell'array con un ciclo for), che verrà poi confrontato con tutti gli altri. Altrimenti se ci ragioni capisci che non potrebbe funzionare, infatti confronteresti ad ogni elemento dell'array il valore 0 che sarà sempre più piccolo. Una variante potrebbe essere definire la variabile max come double e inizializzare il suo valore con 2^32 + 1, in questo modo non ci sarebbe "mai" nessun intero maggiore.

P.S. Come fai a non capire una cosa che hai sviluppato te stesso? Se parli così sembra che non l'hai sviluppato ma copiato quel codice.

cleaner
27-12-2008, 12:36
ciao, no il fatto è che lo devevamo fare come esercizio e di fatto l'ho scritto io quel codice, niente di che ovviamente, il punto che non avevo compreso mi è stato risolto molto velocemente dal professore che però non è stato chiaro,per questo ho chiesto qui.
grazie.

Pacio88
27-12-2008, 12:38
Vabbè, l'importante è che tu abbia capito. :)

Loading