Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703

    [c++]elemento minore -code non capito a fondo

    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.


    codice:
    #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;
    }

  2. #2
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    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.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    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.

  4. #4
    Utente di HTML.it L'avatar di Pacio88
    Registrato dal
    Sep 2007
    Messaggi
    447
    Vabbè, l'importante è che tu abbia capito.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.