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

マクロの機能を示すC++プログラム


いくつかの整数値を含む整数配列が与えられたと仮定します。配列内の最小値と最大値の違いを見つける必要があります。この問題を解決するには、マクロを使用する必要があります。入力はstdinから取得され、結果はstdoutに出力されます。

したがって、入力がarray ={120、589、324、221、234}のような場合、出力は次のようになります。答えは:469

最大値589と最小値120の差は469です。

これを解決するには、次の手順に従います-

  • ミニ:=無限大
  • maxi:=負の無限大
  • vの各iについて、
    • mini> v [i]の場合、
      • mini:=v [i]
    • maxi
    • maxi:=v [i]
  • ans:=maxi --mini
  • print(ans)
  • 理解を深めるために、次の実装を見てみましょう-

    #define minmac(a, b) a = min(a, b)
    #define maxmac(a, b) a = max(a, b)
    #define INF ((1 << 31)-2)
    
    #define input(a) cin >> a
    #define toStr(a) string("The answer is :")
    
    #define FOO(a, b)
    #define foreach(a, b) for (int i = 0; i < a.size(); ++i)
    
    #include <iostream>
    #include <vector>
    using namespace std;
    
    FOO(minmac, <)
    FOO(maxmac, >)
    
    int main(){
       int n; cin >> n;
       vector<int> v(n);
       foreach(v, i) {
          input(v)[i];
       }
       int mini = INF;
       int maxi = -INF;
       foreach(v, i) {
          minmac(mini, v[i]);
          maxmac(maxi, v[i]);
       }
       int ans = maxi - mini;
       cout << toStr(The answer is :) <<' '<< ans;
       return 0;
    }

    入力

    5
    120 589 324 221 234

    出力

    The answer is : 469

    1. C ++のswap()関数

      swap()関数は、2つの数値を交換するために使用されます。この関数を使用すると、2つの数値を交換するために3番目の変数は必要ありません。 C ++言語でのswap()の構文は次のとおりです。 void swap(int variable_name1, int variable_name2); 変数に値を割り当てるか、ユーザー定義の値を渡すと、変数の値が交換されますが、変数の値は実際の場所では同じままです。 これがC++言語でのswap()の例です 例 #include <bits/stdc++.h> using namespace std; int main() { &nb

    2. 関数を作成して素数をチェックするC++プログラム

      素数は1より大きい整数であり、素数の唯一の要素は1とそれ自体でなければなりません。 最初の素数のいくつかは-です 2, 3, 5, 7, 11, 13 ,17 数が素数であるか、関数を使用していないかを確認するプログラムは次のとおりです。 例 #include <iostream> using namespace std; void isPrime(int n) {    int i, flag = 0;    for(i=2; i<=n/2; ++i) {       if(n%i==0) { &nb