マクロの機能を示す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