目次
質問
解決策
ホームページ バックエンド開発 C++ 指定された行列の対角要素を交換する C プログラム

指定された行列の対角要素を交換する C プログラム

Aug 25, 2023 pm 06:02 PM
Cプログラム マトリックス 対角線を交換する

指定された行列の対角要素を交換する C プログラム

質問

主な対角要素と副対角要素を交換するコードを記述する必要があります。マトリックスのサイズは実行時に与えられます。

行列の m 値と n 値のサイズが等しくない場合は、指定された行列が正方ではないことを出力します。

主対角要素または副対角要素を交換できるのは正方行列のみです。

解決策

特定の行列の対角要素を交換する C プログラムを作成する解決策は次のとおりです-

対角要素を交換するロジック については以下で説明します -

for (i=0;i<m;++i){
   a = ma[i][i];
   ma[i][i] = ma[i][m-i-1];
   ma[i][m-i-1] = a;
}
ログイン後にコピー

以下は、指定された行列の対角要素 を交換するための C プログラムです -

Real-時間デモ

#include<stdio.h>
main (){
   int i,j,m,n,a;
   static int ma[10][10];
   printf ("Enter the order of the matrix m and n</p><p>");
   scanf ("%dx%d",&m,&n);
   if (m==n){
      printf ("Enter the co-efficients of the matrix</p><p>");
      for (i=0;i<m;++i){
         for (j=0;j<n;++j){
            scanf ("%d",&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>");
      }
      for (i=0;i<m;++i){
         a = ma[i][i];
         ma[i][i] = ma[i][m-i-1];
         ma[i][m-i-1] = a;
      }
      printf ("Matrix after changing the </p><p>");
      printf ("Main & secondary diagonal</p><p>");
      for (i=0;i<m;++i){
         for (j=0;j<n;++j){
            printf (" %d",ma[i][j]);
         }
         printf ("</p><p>");
      }
   }
   else
      printf ("The given order is not square matrix</p><p>");
}
ログイン後にコピー

出力

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

Run 1:
Enter the order of the matrix m and n
3x3
Enter the co-efficient of the matrix
1
2
3
4
5
6
7
8
9
The given matrix is
1 2 3
4 5 6
7 8 9
Matrix after changing the
Main & secondary diagonal
3 2 1
4 5 6
9 8 7

Run 2:
Enter the order of the matrix m and n
4x3
The given order is not square matrix
ログイン後にコピー

以上が指定された行列の対角要素を交換する C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++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 言語アルゴリズムを示します。 アルゴリズム ステップ 1 - 開始 ステップ 2 - 実行時にローマ数字を読み取る ステップ 3 - 長さ: = strlen(roman) ステップ 4 - i=0 から長さ-1 の場合 ステップ4.1-switch(roman[i]) ステップ 4.1.1-case'm': &nbs

人工知能の歴史とマトリックスを探る: 人工知能チュートリアル (2) 人工知能の歴史とマトリックスを探る: 人工知能チュートリアル (2) Nov 20, 2023 pm 05:25 PM

このシリーズの最初の記事では、人工知能、機械学習、深層学習、データ サイエンスなどのつながりと違いについて説明しました。また、シリーズ全体で使用するプログラミング言語やツールなどについても、いくつかの難しい選択をしました。最後に、行列の知識も少し紹介しました。この記事では、人工知能の中核であるマトリックスについて詳しく説明します。その前に、まず人工知能の歴史を理解しましょう。なぜ人工知能の歴史を理解する必要があるのでしょうか?歴史上何度もAIブームはありましたが、多くの場合、AIの可能性に対する大きな期待は実現しませんでした。人工知能の歴史を理解すると、この人工知能の波が奇跡を起こすのか、それともはじけようとしている単なるバブルなのかを知ることができます。私たち

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

リンク リストは動的なメモリ割り当てを使用します。つまり、リンク リストはそれに応じて拡大および縮小します。これらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクという 2 つの部分があります。データ、リンク、リンクリストの表現は以下のとおりです。 ・リンクリストの種類 リンクリストには以下の4種類があります。 ・シングルリンクリスト/シングルリンクリスト ダブル/ダブルリンクリスト 循環シングルリンクリスト 循環ダブルリンクリスト再帰的メソッドを使用してリンク リストの長さを確認します。ロジックは -intlength(node *temp){ if(temp==NULL) returnl; else{&n

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

名前変更機能は、ファイルまたはディレクトリを古い名前から新しい名前に変更します。この操作は移動操作と似ています。したがって、この名前変更機能を使用してファイルを移動することもできます。この関数は、stdio.h ライブラリ ヘッダー ファイルに存在します。 rename 関数の構文は次のとおりです: intrename(constchar*oldname,constchar*newname); rename() 関数は 2 つのパラメータを受け取ります。 1 つは古い名前、もう 1 つは新しい名前です。どちらのパラメータも、ファイルの古い名前と新しい名前を定義する定数文字へのポインタです。ファイルの名前が正常に変更された場合はゼロを返し、それ以外の場合はゼロ以外の整数を返します。名前変更操作中

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

双曲線関数は、円の代わりに双曲線を使用して定義され、通常の三角関数と同等です。ラジアン単位で指定された角度から双曲線正弦関数の比率パラメーターを返します。しかし、その逆、つまり別の言い方をすればいいのです。双曲線正弦から角度を計算したい場合は、双曲線逆正弦演算のような逆双曲線三角関数演算が必要です。このコースでは、C++ で双曲線逆サイン (asinh) 関数を使用し、ラジアン単位の双曲線サイン値を使用して角度を計算する方法を説明します。双曲線逆正弦演算は次の式に従います -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}ここで\:In\:is\:自然対数\:(log_e\:k)

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

マップは C++ の特別なタイプのコンテナで、各要素は 2 つの値、つまりキー値とマップ値のペアです。キー値は各項目のインデックス付けに使用され、マップされた値はキーに関連付けられた値です。マップされた値が一意であるかどうかに関係なく、キーは常に一意です。 C++ でマップ要素を出力するには、反復子を使用する必要があります。項目のセット内の要素は、反復子オブジェクトによって示されます。イテレータは主に配列や他のタイプのコンテナ (ベクトルなど) で使用され、特定の範囲内の特定の要素を識別するために使用できる特定の操作セットを備えています。イテレータをインクリメントまたはデクリメントして、範囲またはコンテナ内に存在するさまざまな要素を参照できます。イテレータは、範囲内の特定の要素のメモリ位置を指します。イテレータを使用して C++ でマップを出力する まず、定義方法を見てみましょう。

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

現代科学は、複数の数の概念に大きく依存しています。この概念は、17 世紀初頭にジローラモ カルダーノによって初めて確立され、16 世紀に導入されました。複素数の公式は a+ib です。ここで、a は HTML コードを保持し、b は実数です。複素数には、実数部 <a> と虚数部 (<ib>) の 2 つの部分があると言われます。 i または iota の値は √-1 です。 C++ の複数形クラスは、複素数を表すために使用されるクラスです。 C++ の複合クラスは、いくつかの複素数演算を表現および制御できます。複数の数値を表現し、表示を制御する方法を見てみましょう。 imag() メンバー関数 上で述べたように、複素数は実数部と虚数部で構成されます。実数部を表示するには、real() を使用します。

文字がアルファベットか非アルファベットかをチェックする C++ プログラム 文字がアルファベットか非アルファベットかをチェックする C++ プログラム Sep 14, 2023 pm 03:37 PM

論理プログラミングの問題を解決する場合、文字列または文字の使用が非常に役立つ場合があります。文字列は文字の集合であり、ASCII 値の記号を保持するために使用される 1 バイトのデータ型です。記号には、英文字、数字、または特殊文字を使用できます。この記事では、C++ を使用して文字が英語文字かアルファベット文字かを確認する方法を学びます。 isalpha() 関数のチェック 数値が文字であるかどうかをチェックするには、ctype.h ヘッダー ファイルの isalpha() 関数を使用できます。これは文字を入力として受け取り、それがアルファベットの場合は true を返し、そうでない場合は false を返します。この関数の使用法を理解するために、次の C++ 実装を見てみましょう。 Example の中国語訳は次のとおりです。

See all articles