Funzione che inizializza un vettore

di il
11 risposte

Funzione che inizializza un vettore

Salve devo creare una funzione che inizializza un vettore

ho provato in questo modo ma con insuccesso
#include <cstdlib>
#include <iostream>

using namespace std;
void inizializza_vettore(&int vett[],&int n){

cout<<"inserisci lunghezza vettore "<<endl;
cin>>n;
for (int i=0;i<n;i++){
    cout<<"inserisci elemento"<<i<< ": "<<endl;
    cin>>vett[i];}
    ]
int main(int argc, char *argv[])
{int vett[],n
inizializza_vettore(vett[],n)



    system("PAUSE");
    return EXIT_SUCCESS;
}

11 Risposte

  • Re: Funzione che inizializza un vettore

    Ma quando lo allochi il vettore?
  • Re: Funzione che inizializza un vettore

    oregon ha scritto:


    Ma quando lo allochi il vettore?
    ora l'ho abbellito un po',ma comunque mi da errori :
    ecco il codice
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    const int maxdim = 50;
    int dim;
    //funzione per la richiesta di un vettore//
    int dimensione_vettore()
    {
        do
        {
        cout<<"inserire lunghezza vettore(max = madx dim)...: ";
        cin>>dim;}
        while((dim <1) || (dim > maxdim));
        return dim;}
        //funzione per il caricamento di un vettore//
        void carica_vettore(int v[],int dimvet){
             for (int i=0;i<dimvet;++i)
             cout<<"inserisci elemento"<<i<< ": "<<endl;
        cin>>v[i];}
         //funzione per la visualizzazione di un vettore//
        void visualizza_vettore(int v[],int dimvet){
             cout<<"\n----------visualizza vettore----------"<<endl;
             for (int i=0;i<demvet;++i)
             {cout<<"elemento di posto"<<i+1<<"...."<<v[i]<<endl;}
             }
        
    int main(int argc, char *argv[])
    {int array[maxdim] = {0}; //inizializzazione vettore//
    {dimensione_vettore();
          carica_vettore(array,dim);
           visualizza_vettore(array,dim);
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
  • Re: Funzione che inizializza un vettore

    Quali errori?

    Se li esamini uno per uno e li affronti puoi risolverli ... no ?
  • Re: Funzione che inizializza un vettore

    oregon ha scritto:


    Quali errori?

    Se li esamini uno per uno e li affronti puoi risolverli ... no ?
    gli errori si trovano :
    qui
    for (int i=0;i<dimvet;++i)
    qui
       cin>>v[i];} 
    e qui :
    for (int i=0;i<demvet;++i)
    e sono collegati probabilmente alla variabile "i"
    ma non riesco a risolverli
  • Re: Funzione che inizializza un vettore

    Per rimediare agli errori devi leggere il messaggio del compilatore.

    Cosa dice il primo?
  • Re: Funzione che inizializza un vettore

    oregon ha scritto:


    Per rimediare agli errori devi leggere il messaggio del compilatore.

    Cosa dice il primo?
    per
    cin>>v[i];}
    dice questo che non so cosa significa :
    name lookup of `i' changed for new ISO `for' scoping
     for (int i=0;i<dimvet;++i)
    per questo dice:
    using obsolete binding at `i'

    per quell altro for ho risolto,avevo commesso un errore di battitura
  • Re: Funzione che inizializza un vettore

    Nelle linee
    
    for (int i=0;i<dimvet;++i)
             cout<<"inserisci elemento"<<i<< ": "<<endl;
             cin>>v[i];
    
    pensi che la cout e la cin stiano all'interno del ciclo?
  • Re: Funzione che inizializza un vettore

    oregon ha scritto:


    Nelle linee
    
    for (int i=0;i<dimvet;++i)
             cout<<"inserisci elemento"<<i<< ": "<<endl;
             cin>>v[i];
    
    pensi che la cout e la cin stiano all'interno del ciclo?
    si,avevo dimenticato la parentesi graffa e nei cili for non mi dà più problemi,ora però sono apparsi due nuovi errori
    qui
     void visualizza_vettore(int v[],int dimvet){
    errori per questa parte
    a function-definition is not allowed here before '{' token
    expected `,' or `;' before '{' token
    e qui
    {int array[maxdim] = {0}; //inizializzazione vettore//
    gli stessi errori per quest'ultima
    a function-definition is not allowed here before '{' token
    expected `,' or `;' before '{' token
  • Re: Funzione che inizializza un vettore

    Controlla attentamente tutte le parentesi { e }

    Fai attenzione che non ne manchi qualcuna ...

    Scrivi il codice in maniera più ordinata, separa meglio le varie funzioni e troverai il problema.
  • Re: Funzione che inizializza un vettore

    oregon ha scritto:


    Controlla attentamente tutte le parentesi { e }

    Fai attenzione che non ne manchi qualcuna ...

    Scrivi il codice in maniera più ordinata, separa meglio le varie funzioni e troverai il problema.
    ho risolto,per chi serve inserisco il codice corretto
    #include <cstdlib>
    #include <iostream>
    
    using namespace std;
    const int maxdim = 50;
    int dim;
    //funzione per la richiesta di un vettore//
    int dimensione_vettore()
    {
        do
        {
        cout<<"inserire lunghezza vettore(max = maxdim)...: ";
        cin>>dim;}
        while((dim <1) || (dim > maxdim));
        return dim;}
        //funzione per il caricamento di un vettore//
        void carica_vettore(int v[],int dimvet){
             for (int i=0;i<dimvet;++i){
             cout<<"inserisci elemento"<<i<< ": "<<endl;
        cin>>v[i];}}
         //funzione per la visualizzazione di un vettore//
        void visualizza_vettore(int v[],int dimvet){
             cout<<"\n----------visualizza vettore----------"<<endl;
             for (int i=0;i<dimvet;++i)
             {cout<<"elemento di posto"<<i+1<<"...."<<v[i]<<endl;}
             }
        
    int main(int argc, char *argv[])
    {int array[maxdim] = {0}; //inizializzazione vettore//
    dimensione_vettore();
          carica_vettore(array,dim);
           visualizza_vettore(array,dim);
    
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    
    
    mi scuso per il tempo che ho fatto perdere,credevo che ci fossero errori logici perciò mi ero allarmato
  • Re: Funzione che inizializza un vettore

    Invece la cosa è servita a risolvere da solo il problema ... come vedi, facendo un po' d'ordine nel codice e impegnandosi a valutare i messaggi d'errore, si può risolvere in autonomia ...
Devi accedere o registrarti per scrivere nel forum
11 risposte