C++ | Function Overloading

Function Overloading with different number of arguments

Question:1
C++ program to calculate and print sum of 2 ,3, and 4 numbers?
Sol:

#include <iostream>

using namespace std;
int sum(int n1,int n2)
{
    return(n1+n2);
}
int sum(int n1,int n2,int n3)
{
    return(n1+n2+n3);
}
int sum(int n1,int n2,int n3,int n4)
{
    return(n1+n2+n3+n4);
}
int main()
{
    int a1,a2,a3,a4,a5;
    cout<<"Enter 4 nos ";
    cin>>a1>>a2>>a3>>a4;
    a5=sum(a1,a2);
    cout<<"Sum of 2 nos "<<a5<<endl;
    a5=sum(a1,a2,a3);
    cout<<"Sum of 3 nos "<<a5<<endl;
    a5=sum(a1,a2,a3,a4);
    cout<<"Sum of 4 nos "<<a5<<endl;
    return 0;
}

Output:

Enter 4 nos 10
20
30
40
Sum of 2 nos 30
Sum of 3 nos 60
Sum of 4 nos 100

Question:2

Write a C++ program to calculate and print product of 2 ,3, and 4 numbers?

Sol:

#include <iostream>

using namespace std;
int prod(int n1,int n2)
{
    return(n1*n2);
}
int prod(int n1,int n2,int n3)
{
    return(n1*n2*n3);
}
int prod(int n1,int n2,int n3,int n4)
{
    return(n1*n2*n3*n4);
}
int main()
{
    int a1,a2,a3,a4,a5;
    cout<<"Enter 4 nos ";
    cin>>a1>>a2>>a3>>a4;
    a5=prod(a1,a2);
    cout<<"Prod of 2 nos "<<a5<<endl;
    a5=prod(a1,a2,a3);
    cout<<"Prod of 3 nos "<<a5<<endl;
    a5=prod(a1,a2,a3,a4);
    cout<<"Prod of 4 nos "<<a5<<endl;
    return 0;
}

Output:

Enter 4 nos 2
3
4
5
Prod of 2 nos 6
Prod of 3 nos 24
Prod of 4 nos 120

Question:3

Write a C++ program to calculate and print average of 2 ,3, and 4 numbers?

Sol:

#include <iostream>

using namespace std;
float avg(float n1,float n2)
{
    return((n1+n2)/2);
}
float avg(float n1,float n2,float n3)
{
    return((n1+n2+n3)/3);
}
float avg(float n1,float n2,float n3,float n4)
{
    return((n1+n2+n3+n4)/4);
}
int main()
{
    float a1,a2,a3,a4,a5;
    cout<<"Enter 4 nos ";
    cin>>a1>>a2>>a3>>a4;
    a5=avg(a1,a2);
    cout<<"Average of 2 nos "<<a5<<endl;
    a5=avg(a1,a2,a3);
    cout<<"Average of 3 nos "<<a5<<endl;
    a5=avg(a1,a2,a3,a4);
    cout<<"Average of 4 nos "<<a5<<endl;
    return 0;
}

Question:4

Write a C++ program to check and print maximum of 2 ,3 numbers and minimum of 2 and 3 numbers?

Sol:

#include <iostream>

using namespace std;
int max(int n1,int n2)
{
    if(n1>n2)
        return(n1);
    else
        return(n2);
}
int max(int n1,int n2,int n3)
{
    if(n1>n2 && n1>n3)
        return(n1);
    else
        if(n2>n3)
           return(n2);
    else
          return(n3);
}
int min(int n1,int n2)
{
    if(n1<n2)
        return(n1);
    else
        return(n2);
}
int min(int n1,int n2,int n3)
{
    if(n1<n2 && n1<n3)
        return(n1);
    else
        if(n2<n3)
          return(n2);
    else
          return(n3);
}
int main()
{
   int a1,a2,a3,a4;
   cout<<"Enter 3 nos ";
   cin>>a1>>a2>>a3;
   a4=max(a1,a2);
   cout<<"max of 2 nos "<<a4<<endl;
   a4=max(a1,a2,a3);
   cout<<"max of 3 nos "<<a4<<endl;
   a4=min(a1,a2);
   cout<<"min of 2 nos "<<a4<<endl;
   a4=min(a1,a2,a3);
   cout<<"min of 3 nos "<<a4<<endl;
    return 0;
}

Output:

Enter 3 nos 25
6
34
max of 2 nos 25
max of 3 nos 34
min of 2 nos 6
min of 3 nos 6