Domanda Esercizio funzione in c++

Marilungo33

Utente Iron
7 Febbraio 2022
7
2
0
5
Dati 3 numeri interi, scrivere una funzione che restituisca la differenza tra il valore
maggiore e quello minore, proporre quindi un adeguato main di prova che richiami la funzione N volte.
Le funzioni non le ho ben capite e non riesco proprio a capire da dove partire in questo esercizio
 
Inizia a risolverlo senza funzioni e poi ti facciamo vedere come estrarre le funzioni dal main. Definisci tre variabili, con printf/scanf chiedi all'utente di assegnargli dei valori e poi (senza scrivere una funzione) scrivi il codice per calcolare la differenza tra il massimo e il minimo. Le parti che non sai fare te le possiamo anche spiegare o fare noi, però farti tutto l'esercizio quando hai 1 solo post sul forum... cioè... okay, ma ti possiamo coinvolgere un po' di più nella community.
 
  • Mi piace
Reazioni: Marilungo33
Inizia a risolverlo senza funzioni e poi ti facciamo vedere come estrarre le funzioni dal main. Definisci tre variabili, con printf/scanf chiedi all'utente di assegnargli dei valori e poi (senza scrivere una funzione) scrivi il codice per calcolare la differenza tra il massimo e il minimo. Le parti che non sai fare te le possiamo anche spiegare o fare noi, però farti tutto l'esercizio quando hai 1 solo post sul forum... cioè... okay, ma ti possiamo coinvolgere un po' di più nella community.
Messaggio unito automaticamente:

Inizia a risolverlo senza funzioni e poi ti facciamo vedere come estrarre le funzioni dal main. Definisci tre variabili, con printf/scanf chiedi all'utente di assegnargli dei valori e poi (senza scrivere una funzione) scrivi il codice per calcolare la differenza tra il massimo e il minimo. Le parti che non sai fare te le possiamo anche spiegare o fare noi, però farti tutto l'esercizio quando hai 1 solo post sul forum... cioè... okay, ma ti possiamo coinvolgere un po' di più nella community.
Proverò a farlo senza funzione in questi giorni
 
Inizia a risolverlo senza funzioni e poi ti facciamo vedere come estrarre le funzioni dal main. Definisci tre variabili, con printf/scanf chiedi all'utente di assegnargli dei valori e poi (senza scrivere una funzione) scrivi il codice per calcolare la differenza tra il massimo e il minimo. Le parti che non sai fare te le possiamo anche spiegare o fare noi, però farti tutto l'esercizio quando hai 1 solo post sul forum... cioè... okay, ma ti possiamo coinvolgere un po' di più nella community.
Piccola correzione @St3ve , dato che si tratta di C++ e non di C è opportuno utilizzare le funzioni del linguaggio cout/cin per stampare e acquisire valori tramite standard output e standard input ;)
Messaggio unito automaticamente:

Messaggio unito automaticamente:


Proverò a farlo senza funzione in questi giorni
Prova a farlo prima senza funzioni, è più semplice, considera che se vuoi utilizzare le funzioni devi scriverti almeno una funzione per trovare il minimo e una per trovare il massimo e gestire il tutto tramite una lista oppure un array.
 
Piccola correzione @St3ve , dato che si tratta di C++ e non di C è opportuno utilizzare le funzioni del linguaggio cout/cin per stampare e acquisire valori tramite standard output e standard input ;)
Messaggio unito automaticamente:


Prova a farlo prima senza funzioni, è più semplice, considera che se vuoi utilizzare le funzioni devi scriverti almeno una funzione per trovare il minimo e una per trovare il massimo e gestire il tutto tramite una lista oppure un array.
#include <iostream>
using namespace std;
void differenza(int a, int b, int c){
int d;
if(a>b){
if(b>c){
d=a-c;
cout<<"La differenza di "<<a<<" e "<<c<<" e' "<<d;
}
else{
d=a-b;
cout<<"La differenza di "<<a<<" e "<<b<<" e' "<<d;
}
}
else{
if(a>c){
d=b-c;
cout<<"La differenza di "<<b<<" e "<<c<<" e' "<<d;
}
else{
d=b-a;
cout<<"La differenza di "<<b<<" e "<<a<<" e' "<<d;
}
}
}
int main(){
int a,b,c;
cout<<"Inserire il primo valore: ";
cin>>a;
cout<<"Inserire il secondo valore: ";
cin>>b;
cout<<"Inserire il terzo valore: ";
cin>>c;
differenza(a,b,c);
}
PUÒ ANDAR BENE QUESTA FUNZIONE?
Messaggio unito automaticamente:

Inizia a risolverlo senza funzioni e poi ti facciamo vedere come estrarre le funzioni dal main. Definisci tre variabili, con printf/scanf chiedi all'utente di assegnargli dei valori e poi (senza scrivere una funzione) scrivi il codice per calcolare la differenza tra il massimo e il minimo. Le parti che non sai fare te le possiamo anche spiegare o fare noi, però farti tutto l'esercizio quando hai 1 solo post sul forum... cioè... okay, ma ti possiamo coinvolgere un po' di più nella community.
#include <iostream>
using namespace std;
void differenza(int a, int b, int c){
int d;
if(a>b){
if(b>c){
d=a-c;
cout<<"La differenza di "<<a<<" e "<<c<<" e' "<<d;
}
else{
d=a-b;
cout<<"La differenza di "<<a<<" e "<<b<<" e' "<<d;
}
}
else{
if(a>c){
d=b-c;
cout<<"La differenza di "<<b<<" e "<<c<<" e' "<<d;
}
else{
d=b-a;
cout<<"La differenza di "<<b<<" e "<<a<<" e' "<<d;
}
}
}
int main(){
int a,b,c;
cout<<"Inserire il primo valore: ";
cin>>a;
cout<<"Inserire il secondo valore: ";
cin>>b;
cout<<"Inserire il terzo valore: ";
cin>>c;
differenza(a,b,c);
}
PUÒ ANDAR BENE QUESTA FUNZIONE?
 
#include <iostream>
using namespace std;
void differenza(int a, int b, int c){
int d;
if(a>b){
if(b>c){
d=a-c;
cout<<"La differenza di "<<a<<" e "<<c<<" e' "<<d;
}
else{
d=a-b;
cout<<"La differenza di "<<a<<" e "<<b<<" e' "<<d;
}
}
else{
if(a>c){
d=b-c;
cout<<"La differenza di "<<b<<" e "<<c<<" e' "<<d;
}
else{
d=b-a;
cout<<"La differenza di "<<b<<" e "<<a<<" e' "<<d;
}
}
}
int main(){
int a,b,c;
cout<<"Inserire il primo valore: ";
cin>>a;
cout<<"Inserire il secondo valore: ";
cin>>b;
cout<<"Inserire il terzo valore: ";
cin>>c;
differenza(a,b,c);
}
PUÒ ANDAR BENE QUESTA FUNZIONE?
Messaggio unito automaticamente:


#include <iostream>
using namespace std;
void differenza(int a, int b, int c){
int d;
if(a>b){
if(b>c){
d=a-c;
cout<<"La differenza di "<<a<<" e "<<c<<" e' "<<d;
}
else{
d=a-b;
cout<<"La differenza di "<<a<<" e "<<b<<" e' "<<d;
}
}
else{
if(a>c){
d=b-c;
cout<<"La differenza di "<<b<<" e "<<c<<" e' "<<d;
}
else{
d=b-a;
cout<<"La differenza di "<<b<<" e "<<a<<" e' "<<d;
}
}
}
int main(){
int a,b,c;
cout<<"Inserire il primo valore: ";
cin>>a;
cout<<"Inserire il secondo valore: ";
cin>>b;
cout<<"Inserire il terzo valore: ";
cin>>c;
differenza(a,b,c);
}
PUÒ ANDAR BENE QUESTA FUNZIONE?
Il codice non l'ho provato, ma leggendolo mi sembra corretto. Esistono sicuramente strategie più veloci per trovare massimi e minimi, però la tua funziona, anche se può andar bene solo per gestire pochi numeri eh (altrimenti diventa impossibile da gestire come algoritmo). La prossima volta però indenta il codice, altrimenti diventa difficile capire quello che hai scritto: c'è una funzione apposita sulla barra degli strumenti della casella di testo in cui scriviamo i messaggi (è un bottone con le parentesi angolari). ;)