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

Cでの比較の最小数を使用した配列の最大値と最小値


整数の配列が与えられます。タスクは、最小数の比較で配列の最小要素と最大要素を見つけることです。

入力

Arr[] = { 1,2,4,5,-3,91 }

出力

Maximum element : 91 Minimum Element : -3

説明 −ここでは、比較の数を最小限に抑えるために、最大要素と最小要素をArr[0]で初期化します。そして、2番目の要素から始めて、各値を最小値と最大値と比較し、それに応じて更新します。

入力

Arr[] = { 10,20,21,31,18,11 }

出力

Maximum element : 31 Minimum Element : 10

説明 −ここでも、比較の数を最小限に抑えるために、最大要素と最小要素をArr[0]で初期化します。そして、2番目の要素から始めて、各値を最小値と最大値と比較し、それに応じて更新します。

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

  • Arr []

    として数値を持つ整数配列を取ります
  • 関数getresult(int arr []、int n)は、配列に存在する最大要素と最小要素を最小数で検索します。比較の。

  • 要素が1つしかない場合は、変数maxとminをarr[0]で初期化します。

  • 複数の要素については、maxをarr [1]で初期化し、minをarr[0]で初期化します。

  • 内部forループは、3番目の要素(i =2)から最後までトラバースを開始します。

  • 次に、各値(arr [i])を最小値および最大値と比較します。 min未満の場合は、minをarr[i]で更新します。 maxより大きい場合は、arr[i]でmaxを更新します。

  • 最後に、最大変数と最小変数に格納されている結果を出力します。

#include <stdio.h>
#include <math.h>
int getresult(int arr[], int n){
   int min=0,max=0;
   /*If there is only one element then return it as min and max both*/
   if (n == 1)
      { min=max=arr[0]; }
   /* If there are more than one elements, then initialize min and max*/
   if (arr[0] > arr[1]){
      max = arr[0];
      min = arr[1];
   }
   else{
      max = arr[1];
      min = arr[0];
   }
   for (int i = 2; i<n; i++){
      if (arr[i] > max)
         max = arr[i];
      else if (arr[i] < min)
         min = arr[i];
   }
   printf(" Minimum element: %d", min);
   printf(" Maximum element: %d", max);
}
/* Driver program to test above function */
int main(){
   int arr[] = {200, 191, 112, -11, 330, 60};
   int n = 6;
   getresult (arr, n);
}

出力

上記のコードを実行すると、次の出力が生成されます-

Minimum element: -11 Maximum element: 330

  1. C言語を使用して文字列を数値に変換し、数値を文字列に変換する

    問題 Cプログラミング言語での文字列から数値への変換および数値から文字列への変換とはどういう意味ですか? 解決策 変換に使用できる関数は2つあります。彼らは- sscanf()-文字列を数値に変換します sprintf()-数値を文字列に変換するために使用されます 文字列から数値への変換 sscanf()関数を使用して文字列を数値に変換できます- 構文 sscanf (string name, “control string”,variable list) 例 #include<stdio.h> main (){    

  2. C++で指定された数kで割り切れるリンクリストの最大要素と最小要素

    リンクリストは、要素がポインタを介してリンクされている線形データ構造です。リンクリストの各要素またはノードには、データ部分とリンクがあります。または、次の要素へのポインタを順番に言うことができます。要素は、メモリ内で連続していない場所を取ることができます。 データ部分と次の要素へのリンクがある単一リンクリストが与えられます。もう1つの入力は数値Kです。タスクは、数値Kで割り切れるリンクリストの最大要素と最小要素を見つけることです。線形リンクリストは、一方向にのみ移動できます。各ノードで、データ部分の分割可能性をKで確認します。その数がこれまでに見つかった最大値または最小値である場合は、