マクロの機能を示す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]
- mini> v [i]の場合、
例
理解を深めるために、次の実装を見てみましょう-
#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
-
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
-
関数を作成して素数をチェックする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