সমস্যা
ম্যাট্রিক্সের সমস্ত সারি ক্রমবর্ধমান ক্রমে এবং সমস্ত কলামকে অবতরণ ক্রমে সাজানোর জন্য একটি কোড লিখুন। ম্যাট্রিক্সের আকার এবং ম্যাট্রিক্সের উপাদান রানটাইমে ব্যবহারকারী দ্বারা দেওয়া হয়।
সমাধান
C প্রোগ্রামিং ভাষায় ম্যাট্রিক্সের সমস্ত সারি এবং সমস্ত কলামকে আরোহী ক্রমে সাজানোর সমাধান নীচে ব্যাখ্যা করা হয়েছে −
সারিগুলিকে আরোহী ক্রমে সাজানোর জন্য যে যুক্তিটি ব্যবহার করা হয় তা হল নিম্নরূপ −
for (i=0;i<m;++i){
for (j=0;j<n;++j){
for (k=(j+1);k<n;++k){
if (ma[i][j] > ma[i][k]){
a = ma[i][j];
ma[i][j] = ma[i][k];
ma[i][k] = a;
}
}
}
} কলামগুলিকে নিচের ক্রমে সাজাতে যুক্তি ব্যবহার করা হয় নিম্নরূপ -
for (j=0;j<n;++j){
for (i=0;i<m;++i){
for (k=i+1;k<m;++k){
if (mb[i][j] < mb[k][j]){
a = mb[i][j];
mb[i][j] = mb[k][j];
mb[k][j] = a;
}
}
}
} প্রোগ্রাম
নিচের C প্রোগ্রাম ম্যাট্রিক্সের সব সারি ক্রমবর্ধমান ক্রমে এবং সমস্ত কলামকে অবরোহী ক্রমে সাজাতে −
#include <stdio.h>
void main(){
int i,j,k,a,m,n;
static int ma[10][10],mb[10][10];
printf ("Enter the order of the matrix \n");
scanf ("%d %d", &m,&n);
printf ("Enter co-efficients of the matrix \n");
for (i=0;i<m;++i){
for (j=0;j<n;++j){
scanf ("%d",&ma[i][j]);
mb[i][j] = ma[i][j];
}
}
printf ("The given matrix is \n");
for (i=0;i<m;++i){
for (j=0;j<n;++j){
printf (" %d",ma[i][j]);
}
printf ("\n");
}
printf ("After arranging rows in ascending order\n");
for (i=0;i<m;++i){
for (j=0;j<n;++j){
for (k=(j+1);k<n;++k){
if (ma[i][j] > ma[i][k]){
a = ma[i][j];
ma[i][j] = ma[i][k];
ma[i][k] = a;
}
}
}
}
for (i=0;i<m;++i){
for (j=0;j<n;++j){
printf (" %d",ma[i][j]);
}
printf ("\n");
}
printf ("After arranging the columns in descending order \n");
for (j=0;j<n;++j){
for (i=0;i<m;++i){
for (k=i+1;k<m;++k){
if (mb[i][j] < mb[k][j]){
a = mb[i][j];
mb[i][j] = mb[k][j];
mb[k][j] = a;
}
}
}
}
for (i=0;i<m;++i){
for (j=0;j<n;++j){
printf (" %d",mb[i][j]);
}
printf ("\n");
}
} আউটপুট
যখন উপরের প্রোগ্রামটি কার্যকর করা হয়, তখন এটি নিম্নলিখিত ফলাফল তৈরি করে -
Enter the order of the matrix 3 4 Enter co-efficient of the matrix 1 2 3 4 1 2 3 4 5 1 2 3 The given matrix is 1 2 3 4 1 2 3 4 5 1 2 3 After arranging rows in ascending order 1 2 3 4 1 2 3 4 1 2 3 5 After arranging the columns in descending order 5 2 3 4 1 2 3 4 1 1 2 3