目次
質問
解決策
プログラム
Output
ホームページ バックエンド開発 C++ 行列のすべての列と行をソートする C プログラム

行列のすべての列と行をソートする C プログラム

Sep 14, 2023 am 09:17 AM
Cプログラム 行列ソート

行列のすべての列と行をソートする C プログラム

質問

行列のすべての行を昇順で並べ替え、すべての列を降順で並べ替えるコードを作成します。行列のサイズと要素は実行時にユーザーによって指定されます。

解決策

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 </p><p>");
   scanf ("%d %d", &m,&n);
   printf ("Enter co-efficients of the matrix </p><p>");
   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 </p><p>");
   for (i=0;i<m;++i){
      for (j=0;j<n;++j){
         printf (" %d",ma[i][j]);
      }
      printf ("</p><p>");
   }
   printf ("After arranging rows in ascending order</p><p>");
   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 ("</p><p>");
   }
   printf ("After arranging the columns in descending order </p><p>");
   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 ("</p><p>");
   }
}
ログイン後にコピー

Output

When上記のプログラムが実行されると、次の結果が生成されます-

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
ログイン後にコピー

以上が行列のすべての列と行をソートする C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム 以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム Sep 05, 2023 pm 09:53 PM

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム

2 つの文字列の辞書編集上の順序を比較する C++ プログラム 2 つの文字列の辞書編集上の順序を比較する C++ プログラム Sep 04, 2023 pm 05:13 PM

2 つの文字列の辞書編集上の順序を比較する C++ プログラム

リンクリストの長さを求めるCプログラム リンクリストの長さを求めるCプログラム Sep 07, 2023 pm 07:33 PM

リンクリストの長さを求めるCプログラム

指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム 指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム Sep 17, 2023 am 10:49 AM

指定された値を引数として受け取る逆双曲線正弦関数の値を見つける C++ プログラム

辞書を印刷する C++ プログラム 辞書を印刷する C++ プログラム Sep 11, 2023 am 10:33 AM

辞書を印刷する C++ プログラム

ユークリッドアルゴリズムを実装するCプログラム ユークリッドアルゴリズムを実装するCプログラム Sep 17, 2023 pm 12:41 PM

ユークリッドアルゴリズムを実装するCプログラム

C プログラムは rename() 関数を使用してファイル名を変更します C プログラムは rename() 関数を使用してファイル名を変更します Sep 21, 2023 pm 10:01 PM

C プログラムは rename() 関数を使用してファイル名を変更します

指定された複素数の虚数部を取得する C++ プログラム 指定された複素数の虚数部を取得する C++ プログラム Sep 06, 2023 pm 06:05 PM

指定された複素数の虚数部を取得する C++ プログラム

See all articles