AIUTO:uso delle funzioni c++

di il
7 risposte

AIUTO:uso delle funzioni c++

Salve a tutti, devo fare un programma in c++ che ordini i numeri in ordine crescente con l'utilizzo delle funzioni. Il problema è che non funziona perchè a quanto ho capito non faccio lavorare le funzioni a "indirizzo", ho letto che devo aggiungere una E commerciale(&) ma non ho capito dove
grazie mille per l'aiuto



#include <iostream>
using namespace std;
void ordina(int x,int y);

int main()
{
    int a,b,c;

    cout<<"Inserisci il primo numero"<<endl;
    cin>>a;
    cout<<"Inserisci il secondo numero"<<endl;
    cin>>b;
    cout<<"Inserisci il terzo numero"<<endl;
    cin>>c;

    ordina(a,b);
    ordina(a,c);
    ordina(b,c);

    cout<< a << b << c <<endl;

}
void ordina(int x,int y)
{
    int z;
    if(x>y){
        z=x;
        x=y;
        y=z;
    }
}

7 Risposte

  • Re: AIUTO:uso delle funzioni c++

    Al di là del programma, sai cos'è un passaggio per valore e un passaggio per riferimento?

    Dire "ho letto che devo aggiungere una E commerciale(&) ma non ho capito dove" non mi sembra il modo corretto di approcciarsi alla programmazione e allo studio in generale.
  • Re: AIUTO:uso delle funzioni c++

    Alol ha scritto:


    ho letto che devo aggiungere una E commerciale(&) ma non ho capito dove
    Puoi provare aggiungendola a caso qui e lì ... quando funziona sei a posto...
  • Re: AIUTO:uso delle funzioni c++

    Nippolo ha scritto:


    Al di là del programma, sai cos'è un passaggio per valore e un passaggio per riferimento?

    Dire "ho letto che devo aggiungere una E commerciale(&) ma non ho capito dove" non mi sembra il modo corretto di approcciarsi alla programmazione e allo studio in generale.
    si lo so, mi hanno spiegato il significato. ma non come applicarlo al programma.
  • Re: AIUTO:uso delle funzioni c++

    oregon ha scritto:


    Alol ha scritto:


    ho letto che devo aggiungere una E commerciale(&) ma non ho capito dove
    Puoi provare aggiungendola a caso qui e lì ... quando funziona sei a posto...
    molto spiritoso
  • Re: AIUTO:uso delle funzioni c++

    http://www.bo.cnr.it/corsi-di-informatica/corsoCstandard/Lezioni/13Riferimenti.html

    Se hai qualche dubbio chiedi pure.
  • Re: AIUTO:uso delle funzioni c++

    si lo so, mi hanno spiegato il significato. ma non come applicarlo al programma.
    Il problema è questo.
    Devi leggerti cosa sono i puntatori non si fa solo uso della & ma anche di *
    Si chiamano puntatori per riferimento.
    In queste occasioni hai a che fare proprio con gli indirizzi di memoria
    Concettualmente è semplice.
    Il main e la funzione ordina sono scritte in due aree di memoria differenti
    Proprio per questo motivo hai bisogno di un "riferimento" per poter modificare le variabili abc nel main, mediante x ed y che si trovano in ordina.
    x ed y cosi come le hai scritte tu, sono variabi locali della funzione ordina. Non modificano le variabili del main, che si trovano in un altra area di memoria.
    Per ovviare al problema devi fare uso dei puntatori.
  • Re: AIUTO:uso delle funzioni c++

    Alol ha scritto:


    oregon ha scritto:


    Alol ha scritto:


    ho letto che devo aggiungere una E commerciale(&) ma non ho capito dove
    Puoi provare aggiungendola a caso qui e lì ... quando funziona sei a posto...
    molto spiritoso
    I forum non si sistituiscono alla scuola. Studia sui libri queste nozioni di base.
Devi accedere o registrarti per scrivere nel forum
7 risposte