This C++ program sorts the elements of a 2D matrix row by row using pointer. The row and column values of the matrix are read into the variables m and n. Then the program uses nested for loop to read the elements to the matrix a[][] using pointers, also each elements are stored into the pointer array p[]. The elements in the pointer array is sorted and the new array is written to the original 2D array a[][] overwriting the existing elements. Then the sorted 2D array is displayed to the output screen.
Program
#include<iostream.h>
#include<conio.h>
void main()
{
int a[20][20],i,j,m,n,*p[10],temp,b[20],s,*p1;
p1=b;
clrscr();
cout<<"\n\nEnter the order of the matrix: ";
cin>>m>>n;
s=0;
cout<<"\nEnter the elements:";
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
cin>>*(*(a+i)+j);
p[i]=(*(a+i)+j);
p1[s]=*(*(a+i)+j);
s++;
}
}
for(i=0;i<s;i++)
{
for(j=i+1;j<s;j++)
{
if(p1[i]>p1[j])
{
temp=p1[i];
p1[i]=p1[j];
p1[j]=temp;
}
}
}
s=0;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
*(*(a+i)+j)=p1[s];
s++;
}
}
cout<<"\nMatrics after sorting:";
for(i=0;i<m;i++)
{
cout<<"\n\n";
for(j=0;j<n;j++)
{
cout<<*(*(a+i)+j)<<"\t";
}
}
getch();
}
1 comment:
Check out other awesome sorting programs on CodeTonics
Insertion Sort in C
Selection Sort in C
Quick Sort in C
Bubble Sort in C
Heap Sort in C
Merge Sort in C
Radix Sort in C
Post a Comment