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

C ++プログラムで配列の最初、2番目、3番目の最小要素を検索します


n個の要素の配列があるとします。配列内の1番目、2番目、3番目の最小要素を見つける必要があります。最初の最小値はアレイの最小値であり、2番目の最小値は最小ですが最初の最小値よりも大きく、同様に3番目の最小値は最小ですが2番目の最小値よりも大きくなります。

各要素をスキャンしてから要素を確認し、この問題を解決するために1番目、2番目、3番目の最小要素の条件を関連付けます。

#include<iostream>
using namespace std;
int getThreeMins(int arr[], int n) {
   int first = INT_MAX, sec = INT_MAX, third = INT_MAX;
   for (int i = 0; i < n; i++) {
      if (arr[i] < first) {
         third = sec;
         sec = first;
         first = arr[i];
      } else if (arr[i] < sec) {
         third = sec;
         sec = arr[i];
      } else if (arr[i] < third)
      third = arr[i];
   }
   cout << "First min = " << first << endl;
   cout << "Second min = " << sec << endl;
   cout << "Third min = " << third << endl;
}
int main() {
   int array[] = {4, 9, 18, 32, 12};
   int n = sizeof(array) / sizeof(array[0]);
   getThreeMins(array, n);
}

出力

First min = 4
Second min = 9
Third min = 12

  1. 配列を分割して最初の部分を最後に追加するC++プログラム?

    ここでは、配列を分割する方法と、最後の位置で分割した後に最初の部分を追加する方法を説明します。配列の内容が{0、1、2、3、4、5、6、7、8、9}であるとします。このイントロを2つの部分にカットしたいと思います。最初の部分はインデックス0から3(分割サイズ4)で、2番目の部分は残りです。最後に最初の部分を追加すると、配列要素は次のようになります{4、5、6、7、8、9、0、1、2、3}。この問題を解決するために、このアルゴリズムに従います。 アルゴリズム splitArray(arr、n、k) begin    for i := 0 to k, do   &n

  2. 行列の基底と次元を見つけるためのC++プログラム

    これは、行列の基底と次元を見つけるためのC++プログラムです。 アルゴリズム Begin    Function determinant() :    It calculates determinant of the matrix.    /*       Arguments:       n = number of elements.       matrix[10][10] = input matrix.    */ &n