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

カウント番号C++で昇順でソートされていない列の数


それぞれ同じ長さの文字列の配列が与えられます。目標は、昇順でソートされていない列(文字列のマトリックス)を見つけることです。たとえば、文字列の最初の各文字は、次の文字列の最初の文字と比較され、最後の文字列まで続きます。順番が増えていない場合は、カウントを増やします。これをすべての2番目の文字に対して行い、次にすべての文字列の3番目の文字に対して、以下同様に最後の文字まで行います。

入力

Arr[]= { “abc”, “bcd”, “def” }

出力

Count of columns: 0

説明 −各列について

列1:インデックス0の文字:a

列2:インデックス1の文字:b

列3:インデックス2の文字:c

列内の対応するすべての文字は昇順で並べ替えられます。

入力

Arr[]= { “dbd”, “faf”, “eeg” }

出力

Count of columns: 2

説明 −各列について

列1-インデックス0の文字:d g

列2-インデックス1の文字:b> a

列3-インデックス2の文字:d

列1と2には、昇順ではない文字が含まれています。カウント=2

以下のプログラムで使用されているアプローチは次のとおりです

  • 文字配列arr[][]は、同じ長さの文字列を格納するために使用されます。

  • 関数countCols(char str [3] [4]、int n、int len)は、文字列配列を取ります。その中の文字列の数と各文字列の長さを入力として返し、昇順ではない列の数を返します。

  • カウントを0で初期化します。

  • Colは、現在の列を表すために使用されます。 (すべての文字列に共通のインデックス)。

  • forループを使用して、最初のインデックスから文字列の長さ(すべて同じ長さ)まで、各文字列を同時にトラバースします。

  • ここでは、各文字列は3文字であるため、str [col] [j]> str [col + 1] [j-1] || str [col + 1] [j]> str [col + 2] [j- 1]。いずれかの条件が当てはまる場合は、カウントを増やします。

  • forループの終了後、countに存在する結果を返します。

#include <bits/stdc++.h>
using namespace std;
int countCols(char str[3][4],int n,int len){
    int i,j;
   int count=0;
   int col=0;
   for(j=0;j<len;j++){
      if(str[col][j]>str[col+1][j-1] || str[col+1][j]>str[col+2][j-1] )
         count++;
   }
   return count;
}
int main(){
   char arr[3][4]={"abc", "daf", "ghi"};
   cout<<"\nColumns that are not sorted:"<<countCols(arr,3,3);
   return 0;
}

出力

Columns that are not sorted:2

  1. C ++のソートされた配列の絶対的な個別のカウント?

    配列は、同じデータ型の要素のコレクションです。 ソートされた配列 は、昇順または降順の順序で要素が格納されている配列です。 明確な数は、同じではない要素の数です。 絶対個別カウントは、要素の絶対値、つまり符号のない要素(符号なしの値)の個別カウントです。 このプログラムでは、ソートされた配列で絶対的な個別のカウントを見つけます。つまり、配列の各要素の絶対値を考慮した場合、個別の値の数をカウントします。 たとえば、 Input : [-3 , 0 , 3 , 6 ] Output : 3 配列には3つの異なる絶対値があり、要素は0、3、および6です。 これを解決するために、さまざまな

  2. C ++文字定数とは何ですか?

    文字定数は、プログラムが記述されている文字セットである「ソース文字セット」の1つ以上のメンバーであり、一重引用符()で囲まれています。これらは、プログラムが実行されるマシン上の文字セットである「実行文字セット」内の文字を表すために使用されます。これらは、文字リテラルとも呼ばれます。 C ++では、文字リテラルは定数文字で構成されます。これは、一重引用符で囲まれた文字で表されます。文字リテラルには2種類あります- 「a」などのchar型の小文字リテラル タイプwchar_tのワイド文字リテラル(Laなど) 文字リテラルに使用される文字は、改行(\ n)、円記号(\)、一重引用符()、二重