Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di xrwnis
    Registrato dal
    Apr 2008
    Messaggi
    42

    [C++] Variabili dinamiche (array)

    ciao!! ho provato a fare questo esercizio ma non funziona,il compilatore non mi da errore ma poi non parte...ringrazio chiunque abbia voglia di dargli un'occhiata...

    codice:
    /*Scrivere una funzione che ricevuto un array in ingresso,
    restituisca un array allocato dinamicamente e la sua
    capacitaÌ. Il nuovo array dovra contenere solo i numeri
    positivi dell’array passato in ingresso.*/
    
    #include<iostream>
    #include<cstdlib>
    using namespace std;
    
    int contapos (int[]);
    void riempi_array(int[],int[]);
    void stampa_array(int[],int);
    
    int main()
    {
        int a[6]={1,-2,4,-7,6,-5};  
        int *posi;
        int pos=contapos(a);
        posi=new int[pos];
        riempi_array(posi,a);
        stampa_array(posi,pos);  
        delete [] posi;
         
       system("pause");   
    
    }
    
    
    int contapos(int a[])
    {
        int numpos=0;
        for(int i=0; i<6; i++)
        {
            if(a[i]>0)
              numpos++;    
        }
        return numpos;
    }
    
    void riempi_array (int posi[], int a[])
    {
         int j=0;
         for (int i=0; i<6; i++)
         {
             if(a[i]>0)
                posi[j]=a[i];
                j++;
         } 
    }
    
    void stampa_array(int posi[],int pos)
    {
         for(int i=0; i<pos; i++)
             cout<<posi[i]<<"  ";
             cout<<endl;
    }

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Che significa non parte?

  3. #3
    Utente di HTML.it L'avatar di xrwnis
    Registrato dal
    Apr 2008
    Messaggi
    42
    esce la schermata nera ma subito scompare...

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Togli il system e metti un cin.get();

  5. #5

    Re: [C++] Variabili dinamiche (array)

    Originariamente inviato da xrwnis

    codice:
    void riempi_array (int posi[], int a[])
    {
         int j=0;
         for (int i=0; i<6; i++)
         {
             if(a[i]>0)
                posi[j]=a[i];
                j++;
         } 
    }
    
    void stampa_array(int posi[],int pos)
    {
         for(int i=0; i<pos; i++)
             cout<<posi[i]<<"  ";
             cout<<endl;
    }
    Consiglio: metti SEMPRE le graffe nei blocchi di istruzione anche se non strettamente necessari:
    Ad esempio in riempi_array non si capisce se j++; sia fuori dall'if per sbaglio oppure no. Con le graffe non ci sarebbe alcun dubbio anche se lo indentassi male.

    E meno dubbi ci sono, meglio si programma ;-)

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.