PROBLEMA C++ ORDINAMENTO DI 4 NUMERI

di il
4 risposte

PROBLEMA C++ ORDINAMENTO DI 4 NUMERI

Buon pomeriggio, ho riscontrato numerosi problemi nell'esecuzione di un algoritmo in grado di ordinare, in modo crescente, 4 numeri inseriti dall'utente.
La consegna
Realizzare la codifica di un algoritmo che contenga una procedura
Ordina(x,y,z,w) per ordinare 4 numeri interi a,b,c,d in maniera crescente.

L'algoritmo in questione è:
//Quattronumeri.cpp: ordinamento crescente di quattro numeri
#include <iostream>
using namespace std;
void Ordina (int x, int& y)
{
int temp;
if(x>y){
	temp=x;
	x=y;
	y=temp;
}
}
//funzione principale
int main()
{
	int a,b,c,d; //dati di input
	cout<<"Inserisci primo numero: ";
	cin>>a;
	cout<<"Inserisci secondo numero: ";
	cin>>b;
	cout<<"Inserisci terzo numero: ";
	cin>>c;
	cout<<"Inserisci quarto numero: ",
	cin>>d;
	
	Ordina(a,b);
	Ordina(a,c);
	Ordina(a,d);
    Ordina(b,c);
    Ordina(b,d);
    Ordina(c,d);
	
	cout<<"Numeri ordinati:"<<endl;
	cout<<a<<endl;
	cout<<b<<endl;	
	cout<<c<<endl;
	cout<<d<<endl;	
	return 0;			
}
Sapreste dirmi cosa cambiare al fine di renderlo perfettamente funzionante??? Grazie mille in anticipo

4 Risposte

  • Re: PROBLEMA C++ ORDINAMENTO DI 4 NUMERI

    Veramente la consegna parla di

    Ordina(x,y,z,w)

    ovvero una funzione con 4 argomenti e non 2 come hai fatto tu. È tutto da rifare.
  • Re: PROBLEMA C++ ORDINAMENTO DI 4 NUMERI

    oregon ha scritto:


    Veramente la consegna parla di

    Ordina(x,y,z,w)

    ovvero una funzione con 4 argomenti e non 2 come hai fatto tu. È tutto da rifare.
    Come diventa la funzione Ordina inserendo questi 4 argomenti (x,y,z,w)? Perché nel programma precedente "Ordinamento crescente di 3 numeri", la funzione Ordina contiene solamente i parametri: int x e int& y.
  • Re: PROBLEMA C++ ORDINAMENTO DI 4 NUMERI

    Non so nulla del programma precedente. Quello che ti è stato chiesto adesso è chiaro. La funzione deve accettare tutte e quattro le variabili e le deve ordinare.
  • Re: PROBLEMA C++ ORDINAMENTO DI 4 NUMERI

    oregon ha scritto:


    Non so nulla del programma precedente. Quello che ti è stato chiesto adesso è chiaro. La funzione deve accettare tutte e quattro le variabili e le deve ordinare.
    va bene così?
    //Quattronumeri.cpp: ordinamento crescente di quattro numeri
    #include <iostream>
    using namespace std;
    //funzione ordina
    void Ordina (int& x, int& y, int& z, int& w ) //parametri formali
    { 
    int temp;
    
    if (x>y) {
     temp = x;
     x=y;
     y=temp;
     }
     if (x>z) {
    
     temp = x;
     x=z;
     z=temp;
     }
    
     if (x>w) {
     
     temp = x;
     x=w;
     w=temp;
     }
    
    if(y>z){
    temp = y;
     y=z;
     z=temp;
    }
    if(y>w){
    temp =y;
     y=w;
     w=temp;
    	
    }
    if(z>w){
    temp = z;
     z=w;
     w=temp;
    	
    }
    }
    
    //funzione principale
    int main()
    {
    	int a,b,c,d; //dati di input-parametri attuali
    	cout<<"Inserisci primo numero: ";
    	cin>>a;
    	cout<<"Inserisci secondo numero: ";
    	cin>>b;
    	cout<<"Inserisci terzo numero: ";
    	cin>>c;
    	cout<<"Inserisci quarto numero: ",
    	cin>>d;
    	
    	Ordina(a,b,c,d);
    	
    	cout<<"Numeri ordinati:"<<endl;
    	cout<<a<<endl;
    	cout<<b<<endl;	
    	cout<<c<<endl;
    	cout<<d<<endl;	
    	return 0;			
    }
Devi accedere o registrarti per scrivere nel forum
4 risposte