C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++で降順でソートされているマトリックス内のすべての列をカウントします


このチュートリアルでは、降順で並べ替えられた行列内の列の数を見つけるプログラムについて説明します。

このために、マトリックスが提供されます。私たちのタスクは、要素が降順でソートされているマトリックス内の列の数をカウントすることです。

#include <bits/stdc++.h>
#define MAX 100
using namespace std;
//counting columns sorted in descending order
int count_dcolumns(int mat[][MAX], int r, int c){
   int result = 0;
   for (int i=0; i<c; i++){
      int j;
      for (j=r-1; j>0; j--)
         if (mat[i][j-1] >= mat[i][j])
            break;
      if (c > 1 && j == 0)
         result++;
   }
   return result;
}
int main(){
   int m = 2, n = 2;
   int mat[][MAX] = {{1, 3}, {0, 2,}};
   cout << count_dcolumns(mat, m, n);
   return 0;
}

出力

2

  1. Cプログラムの指定された行列のゼロの数でソートされた列のインデックスを出力します。

    サイズNxMの配列が与えられ、N行数とM列数であり、タスクは、任意の列に存在するゼロの数に基づいてソート操作を実行した後、対応する行列のすべての列のゼロの数を出力することです。 たとえば、1番目の st 列には1つのゼロと2つのndが含まれます 列にゼロと3番目のrdが含まれていません 列に2つのゼロが含まれている場合、結果は− 312になります。 例 Input:    0 0 0    1 1 1    1 0 1 Output: 1 3 2 説明 注 −マトリックスはインデックス1から開始したと見なされます。 例

  2. C++のRotatedSorted配列でRotationCountを検索します

    回転してソートされた配列である配列があるとします。配列をソートするために必要な回転数を見つける必要があります。 (右から左への回転を検討します。) 配列が{15、17、1、2、6、11}のようであるとすると、配列を2回回転させて並べ替える必要があります。最終的な注文は{1、2、6、11、15、17}になります。ここでの出力は2です。 ロジックは単純です。気づいたら、回転数が最小要素のインデックスの値と同じであることがわかります。したがって、最小の要素を取得すると、そのインデックスが結果になります。 例 #include <iostream> using namespace st