January 29, 2013

Arrays in C++ (OOPs)


chess array banner with king and queen in C++ (OOPs)

Array is an arrangement of same type of data at adjacent memory locations. Array is useful whenever large volume of data is to be processed and stored in the memory.

Suppose an average marks are to be calculated from all the students in the school. This is difficult to find the sum of marks of all students. In this situation an array is the best alternative. Its divided in two categories:

1. Single / 1-D Array
2. Multi-dimension Array


SINGLE / 1-D ARRAY

In this array data / values is stored under one name at adjacent memory location but with the array name position of element or number is attached in square brackets [], the variable which is attached to the array name is [] is called Subscript or an index 1-D array. It stores numbers in a single row or column. 

It means to represent an array having 10 elements the dimension will be ar[10] and to declare the array format is:

Data type    array name [dimension]
int ar[100];
float ar[100];
double ar[100];
char ar[100];

One for loop is required to store number in the array and to name them.
Second for loop is required to print or process the numbers.
If an array has already initialised the only one for loop is required to print the series.

int ar[5]= {2,4,6,8,10}
float ar[5]= {1.1,2.2,3.3,4.4,5.5}
char ar[10]= Aman


/* Program to enter any array and find a desired number from it*/


#include<iostream.h>
#include<conio.h>
main()
{
      int ar[10],i,n,pos,ct=0;
      cout<<"\n Enter any 10 interger values";
      for(i=1;i<=10;i++)
      {
                       cin>>ar[i];
                       }
      cout<<"\n Enter the number you want to find";
      cin>>n;
      for(i=1;i<=10;i++)
      {
              if(ar[i]==n)
              {
                   ct++;
                   cout<<"\n "<<n<<" is present at "<<i<<" position";
                           }
                           }
      if(ct==0)
      {
               cout<<"\n "<<n<<" is Not Present";
               }
      getch();
      }
output of program to enter an array and find any of the number with its position using array in C++ (OOPs)

/* Program to enter desired array and its biggest and smallest element*/

#include<iostream.h>
#include<conio.h>
main()
{
      int a[100],n,big,small,i,pos,pos1;
      cout<<"\n How many numbers you want to enter?";
      cin>>n;
      cout<<"\n Enter the elements";
      for(i=0;i<n;i++)
      {
                      cin>>a[i];
                      }
      big=a[0];
      for(i=0;i<n;i++)
      {
                      if(big<a[i])
                      {
                                  big=a[i];
                                  pos=i+1;
                                  }
                                  }
      cout<<"\n Biggest number is "<<big<<" at "<<pos<<" position";
      small=a[0];
      for(i=0;i<n;i++)
      {
                      if(small>a[i])
                      {
                                    small=a[i];
                                    pos1=i+1;
                                    }
                                    }
      cout<<"\n Smallest number is "<<small<<" at "<<pos1<<" position";
      getch();
      }
output of program to enter values in array and find its biggest and smallest number in C++ (OOPs)
   


MULTI-DIMENSION  ARRAY

In this array numbers are arranged in rows and columns. It means in multi-dimension array row and column dimension should be specified with the array name while declaring in the array.
int ar[row dimension][column dimension];
int ar[30][30];

It means while storing an array every element in the array has its name based on its row position and column position in the array.

It means two subscripts are required with array name and here 1st subscript stand for row and 2nd subscript for column. While storing array of order 2*2
Row subscript varies from 0 to 1
Column subscript varies from 0 to 1.
Such an array can be defined as:


multi dimension array general outlook



One set of nested for loop is required to store numbers in the array and another set of nested for loop is required to print numbers in the array.

/* Program to enter any order of matrix and display it elements*/

#include<iostream.h>
#include<conio.h>
main()
{
      int a[20][20],i,j,m,n;
      cout<<"\n How many rows and column you want to enter";
      cin>>m>>n;
      cout<<"\n Enter elements of Matrix";
      for(i=0;i<m;i++)
      {
                      for(j=0;j<n;j++)
                      {
                            cin>>a[i][j];
                                      }
                                      }
      cout<<"\n A:";
      for(i=0;i<m;i++)
      {
                      for(j=0;j<n;j++)
                      {
                             cout<<a[i][j]<<" ";
                                      }
                      cout<<"\n   ";
                                      }
      getch();
      }
output of program to enter any order and display the matrix or array in C++ (OOPs)

/* Program to enter any matrix and display its transpose*/

#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
main()
{
      int a[2][3],b[3][2],i,j;
      cout<<"\n Enter any 6 elements of Matrix A";
      for(i=0;i<2;i++)
      {
                      for(j=0;j<3;j++)
                      {
                           cin>>a[i][j];
                                      }
                                      }
      cout<<"\n A:";
      for(i=0;i<2;i++)
      {
                      for(j=0;j<3;j++)
                      {
                            cout<<a[i][j]<<" ";
                                      }
                      cout<<"\n   ";
                                      }
      cout<<"\n Transpose of A: ";
      for(j=0;j<3;j++)
      {
                      for(i=0;i<2;i++)
                      {
                             b[j][i]=a[i][j];
                             cout<<b[j][i]<<" ";
                                      }
                      cout<<"\n "<<setw(17);
                                      }
      getch();
      }
output of program to enter any matrix and print its transpose in C++ (OOPs)

/* Program to enter any sequence and sort it in ascending order*/

#include<iostream.h>
#include<conio.h>
main()
{
      int a[5],n,i,temp,j;
      cout<<"\n How many numbers you want to enter";
      cin>>n;
      cout<<"\n Enter its elements";
      for(i=0;i<n;i++)
      {
              cin>>a[i];
                      }
      cout<<"\n Ascending series:"<<"\n ";
      for(i=1;i<n;i++)
      {
                   for(j=0;j<n-i;j++)
                   {
                              if(a[j]>a[j+1])
                              {
                                       temp=a[j];
                                       a[j]=a[j+1];
                                       a[j+1]=temp;
                                                       }
                                                       }
                                                       }
      for(i=0;i<n;i++)
      {
                      cout<<a[i]<<"\n ";
                      }
      getch();
      }
output of program to enter any sequence and arrange them in ascending order in C++ (OOPs)
       

/* Program to enter any 2 matrices and find sum of it*/

#include<iostream.h>  
#include<conio.h>
#include<iomanip.h>
main()
{
      int a[3][3],b[3][3],c[3][3],i,j;
      cout<<"\n Enter 9 elements of Matrix A";
      for(i=0;i<3;i++)
      {
                  for(j=0;j<3;j++)
                  {
                        cin>>a[i][j];
                       }
          }
      cout<<"\n Enter 9 elements of matrix B";
      for(i=0;i<3;i++)
      {
                  for(j=0;j<3;j++)
                  {
                           cin>>b[i][j];
                   }
            }
      cout<<"\n A:";
      for(i=0;i<3;i++)
      {
                   for(j=0;j<3;j++)
                   {
                            cout<<a[i][j]<<" ";
                              }
                      cout<<"\n   ";
                                      }
      cout<<"\n B:";
      for(i=0;i<3;i++)
      {
                   for(j=0;j<3;j++)
                   {
                             cout<<b[i][j]<<" ";
                                      }
                      cout<<"\n   ";
                                      }
      cout<<"\n So A+B is: ";
      for(i=0;i<3;i++)
      {
                   for(j=0;j<3;j++)
                   {
                             c[i][j]=a[i][j]+b[i][j];
                             cout<<c[i][j]<<" ";
                                      }
                      cout<<"\n "<<setw(12);
                                      }
      getch();
      }
output of program ro enter any two matrix and print its sum matrix in C++ (OOPs)

/* Program to enter any two matrices and find the multiplication*/

#include<iostream.h>  
#include<conio.h>
#include<iomanip.h>
main()
{
      int a[3][3],b[3][3],c[3][3],i,j,k;
      cout<<"\n Enter 9 elements of Matrix A";
      for(i=0;i<3;i++)
      {
                      for(j=0;j<3;j++)
                      {
                                      cin>>a[i][j];
                                      }
                                      }
      cout<<"\n Enter 9 elements of matrix B";
      for(i=0;i<3;i++)
      {
                      for(j=0;j<3;j++)
                      {
                                      cin>>b[i][j];
                                      }
                                      }
      cout<<"\n A:";
      for(i=0;i<3;i++)
      {
                      for(j=0;j<3;j++)
                      {
                                      cout<<a[i][j]<<" ";
                                      }
                      cout<<"\n   ";
                                      }
      cout<<"\n B:";
      for(i=0;i<3;i++)
      {
                      for(j=0;j<3;j++)
                      {
                                      cout<<b[i][j]<<" ";
                                      }
                      cout<<"\n   ";
                                      }
      cout<<"\n So A*B is: ";
      for(i=0;i<3;i++)
      {
                      for(j=0;j<3;j++)
                      {
                           c[i][j]=0;
                           for(k=0;k<3;k++)
                           {
                                c[i][j]=c[i][j]+a[i][k]*b[k][j];
                                      }
                            cout<<c[i][j]<<" ";
                                      }
                      cout<<"\n "<<setw(12);
                                      }
      getch();
      }
output of program to enter any 2 matrices and prints its multiplication matrix in C++ (OOPs)


No comments:

Post a Comment