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

    [c++] selezione totale elementi

    se ad esempio avessi un array di questa dimensione.

    array[100]

    e volessi selezionare tutti i valori che precentemente sono stati assegnati da input_tastiera, come posso fare?

    se faccio cout << array[0-100]

    mi restituisce un valore insensato, grazie.

  2. #2
    Utente di HTML.it L'avatar di Metflar
    Registrato dal
    Apr 2007
    Messaggi
    790

    Re: [c++] selezione totale elementi

    Originariamente inviato da cleaner
    se ad esempio avessi un array di questa dimensione.

    array[100]

    e volessi selezionare tutti i valori che precentemente sono stati assegnati da input_tastiera, come posso fare?

    se faccio cout << array[0-100]

    mi restituisce un valore insensato, grazie.
    codice:
    for(int i=0;i<100;i++){
        cout<<array[i];
    }
    conoscenze: C/C++, Java, PHP, Python
    [No PM tecnici o di qualsiasi genere]

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    mmm, facendo così funziona solo in parte, in quanto mi stampa i numeri precedentemente dichiarati da tastiera e assegnati alla variabile n e successivamente inseriti nell'array..MA anche un'altra serie di numeri insensati, vi posto il code che forse è meglio..
    codice:
    #include <cstdlib>
    #include <iostream>
    using namespace std;
    int main(int argc, char *argv[])
    {
        
        int array[100];
        int i;
        int n;
        cout << "\n QUANTI SONO I NUMERI CHE INTENDI UTILIZZARE?";
        cin >> n;
        
        for (i=0; i < n; i++)
        {
            cout << "definisci il numero";
            cin >> array[i];
            
        }
        for (i=0; i<100; i++)
        {
        
            cout<<array[i];
    
        }
        
        system("PAUSE");
        return 0;
    }
    io nel secondo ciclo mi servirebbe selezionarli tutti appunto per effettuarci poi una operazione nel cout..
    :berto: grazie

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    La condizione nei due cicli for dev'essere identica, altrimenti tutto ciò non ha senso ( e non ha senso nemmeno dichiarare un array di 100 elementi in quel modo e consentire all'utente di chiedere quanti ne vuole. Se inserisci 3000 come input, cosa succede?)

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    mm, prima di tutto ti ringrazio della risposta, in secondo luogo:

    1) il fatto di un array di dimensione 100, è insensato, ma essendo un esercizio semplice semplice, mi interessava sopratutto la parte dl selezione_array, in ogni caso è possibile gestire l'eventuale errore con un condizionale if.

    2)apportando la tua modifica avviene lo stesso errore di prima, compilando con g++ da linux, l'output del programma è:
    241134513633-12113898601345131601-1208705036-1208702944 ecc ecc
    stampando giustamente i primi 3 numeri, li altri non capisco cosa siano..O_o

  6. #6
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Immaginavo fosse un esercizio per quello ho postato l'osservazione tra parentesi. Un approccio corretto e di chiedere la dimensione dell'array e dimensionarlo di conseguenza, tuttavia essendo un puro esercizio, dubito che qualcuno abbia la voglia di inserire troppi elementi.

    Per il secondo punto: se l'indice in cui inserisci i valori acquisiti va da 0 a n-1, l'unico output significativo è quello che parte da 0 a n-1. Oltre (pur essendoci spazio valido) ci saranno solo valori casuali dal momento che un array locale (come qualsiasi altra variabile locale) non viene azzerato come avviene invece per una variabile globale.

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    ah, ok, ora ho capito il perchè dei numeri successivi..però mi rimangono dei dubbi in riferimento alla prima domanda del post; come faccio selezionare lo spazio di numeri che va 0 a n-1??
    ho provato così:
    cout<<array[0,n-1]; // non va..


    Ed inoltre, riesciresti a spiegarmi con parole perchè propio l' "n-1" e non n?
    grazie

  8. #8
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    L'unico modo è usare un ciclo for indicando come indice cosa vuoi vedere.
    Per esempio supponendo che ti interessi il range da 10 a 20:
    codice:
    for (int i=10; i<20;i++) {
        cout << array[i];
    }
    Per il secondo punto.
    In C e C++ un array di dimensione N contiene N elementi nel range da 0 a N-1 in quanto il conteggio delle varie locazioni parte da 0 non da 1.

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2006
    Messaggi
    703
    grazie mille direi che ti sei spiegato perfettamente, adesso uso questo come esercizio,

    codice:
    for (int i=0; i<n ; i++)
        {
        
            cout<<array[i];
    
        }
    il range così è determinato e non ho problemi di numeri casuali..

    poi vedo di seguire un'altra strada, magari più immediata logicamente, per raggiungere lo scopo.
    grazie ancora.

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.