Make a Table of Any number
Problem :
Write a C++ program which takes a positive integer N from the user, and prints the multiplication table of size N by N. For example, if the user enters 10, the following table should be displayed by your program.
1 2 3 4 5 6 7 8 9 10
+----------------------------------------
1 | 1 2 3 4 5 6 7 8 9 10
2 | 2 4 6 8 10 12 14 16 18 20
3 | 3 6 9 12 15 18 21 24 27 30
4 | 4 8 12 16 20 24 28 32 36 40
5 | 5 10 15 20 25 30 35 40 45 50
6 | 6 12 18 24 30 36 42 48 54 60
7 | 7 14 21 28 35 42 49 56 63 70
8 | 8 16 24 32 40 48 56 64 72 80
9 | 9 18 27 36 45 54 63 72 81 90
10|10 20 30 40 50 60 70 80 90 100
Note: The output of your program should follow the above output format exactly. You will have to use appropriate format manipulator(s) to achieve this.
Solution:
# include <iostream>
# include <iomanip>
using namespace std;
int main()
{
int n; //n represents positive integer
int x; //x is used to print - in the table
cout<<"Please enter a positive Integer"<<endl;
cin>>n; //integer n declared with input value
while(n<1) //check for either the integer in non-zero and non-negative.
{
cout<<"Integer must be positive"<<endl;
cout<<"Please enter a positive Integer again"<<endl;
cin>>n; //input integer again in case of non-zero and non-negative integer
}
cout<<endl;
cout<<" "<<" "<<" "<<" "; //Displaying 3 spaces before first word of display
for(int i=1; i<=n;i++) //control the display of integers on upper side of table
{
cout<<setw(4)<<i; //setw() used to control the spacing
}
cout<<endl;
cout<<" "<<" "<<" "<<"+"; //display of first spaces and + sign in 2nd row
x=n*4; //x represents the number of time "-" is displayed in 2nd row
for(int j=0;j<x;j++) //control of "-" sign in 2nd row
cout<<"-";
cout<<endl;
for(int k=1;k<=n;k++) //control the display of integer on the left most side of each row and also the table elements to be shown
{
cout<<setw(2)<<k<<" "<<"|"; //display integer from 1-n and a "|" sign with it
for(int l=1;l<=n;l++) //to display the table elements after multilplication in their respective position using set width
{
cout<<setw(4)<<k*l;
}
cout<<endl;
}
return 0;
}
Write a C++ program which takes a positive integer N from the user, and prints the multiplication table of size N by N. For example, if the user enters 10, the following table should be displayed by your program.
1 2 3 4 5 6 7 8 9 10
+----------------------------------------
1 | 1 2 3 4 5 6 7 8 9 10
2 | 2 4 6 8 10 12 14 16 18 20
3 | 3 6 9 12 15 18 21 24 27 30
4 | 4 8 12 16 20 24 28 32 36 40
5 | 5 10 15 20 25 30 35 40 45 50
6 | 6 12 18 24 30 36 42 48 54 60
7 | 7 14 21 28 35 42 49 56 63 70
8 | 8 16 24 32 40 48 56 64 72 80
9 | 9 18 27 36 45 54 63 72 81 90
10|10 20 30 40 50 60 70 80 90 100
Note: The output of your program should follow the above output format exactly. You will have to use appropriate format manipulator(s) to achieve this.
Solution:
# include <iostream>
# include <iomanip>
using namespace std;
int main()
{
int n; //n represents positive integer
int x; //x is used to print - in the table
cout<<"Please enter a positive Integer"<<endl;
cin>>n; //integer n declared with input value
while(n<1) //check for either the integer in non-zero and non-negative.
{
cout<<"Integer must be positive"<<endl;
cout<<"Please enter a positive Integer again"<<endl;
cin>>n; //input integer again in case of non-zero and non-negative integer
}
cout<<endl;
cout<<" "<<" "<<" "<<" "; //Displaying 3 spaces before first word of display
for(int i=1; i<=n;i++) //control the display of integers on upper side of table
{
cout<<setw(4)<<i; //setw() used to control the spacing
}
cout<<endl;
cout<<" "<<" "<<" "<<"+"; //display of first spaces and + sign in 2nd row
x=n*4; //x represents the number of time "-" is displayed in 2nd row
for(int j=0;j<x;j++) //control of "-" sign in 2nd row
cout<<"-";
cout<<endl;
for(int k=1;k<=n;k++) //control the display of integer on the left most side of each row and also the table elements to be shown
{
cout<<setw(2)<<k<<" "<<"|"; //display integer from 1-n and a "|" sign with it
for(int l=1;l<=n;l++) //to display the table elements after multilplication in their respective position using set width
{
cout<<setw(4)<<k*l;
}
cout<<endl;
}
return 0;
}