-
ソートされた配列の絶対的な個別のカウント?
このセクションでは、絶対値が異なる要素の数を数える方法を説明します。配列に{5、5、6、-5、8、2、-2、1}のような要素がほとんどないため、8つの要素があるとします。しかし、異なる5つの要素{5、6、8、2、1}があります。 -5と5は異なるとは見なされず、絶対値が同じであるため同じです。 この問題を解決するために、Setデータ構造を使用します。セット内で重複する要素は許可されていません。また、セットにアイテムを挿入するときは、絶対値のみをプッシュします。 アルゴリズム abstractDistinctCount(arr) begin define set s
-
放物線の頂点、焦点、および直接線を見つけるためのC / C ++プログラム?
ここでは、CまたはC ++プログラムを使用して、放物線の頂点、フォーカスdirectrixを見つける方法を説明します。これらのパラメータを取得するには、放物線の一般方程式が必要です。一般式は-です。 𝑦 = 𝑎𝑥2 + 𝑏𝑥 + 𝑐 a、b、cの値が示されています。 頂点の式- フォーカスの式- Directrixの式--y− 例 #include <bits/stdc++.h> using namespace std; void getParabolaDetails(float a, float b, float c) {
-
奇偶転置(ブリックソート)のためのC / C ++プログラム?
ここでは、レンガの並べ替えがどのように機能するかを見ていきます。ブリックソートは、バブルソートの1つの変更です。このアルゴリズムは2つの部分に分かれています。これらの部分は奇数部分と偶数部分です。奇数の部分では、奇数のインデックス付きアイテムにバブルソートを使用し、偶数の部分では、偶数のインデックス付き要素にバブルソートを使用します。アイデアを得るためのアルゴリズムを見てみましょう。 アルゴリズム brickSort(arr、n) begin flag := false while the flag is not true, do &nbs
-
数の一意の素因数の積を見つけるためのC/C ++プログラム?
このセクションでは、数値の一意の素因数の積を効率的な方法で取得する方法を説明します。 n =1092と言う数があり、これの一意の素因数の積を取得する必要があります。 1092の素因数は2、2、3、7、13です。したがって、一意の素因数は{2、3、7、13}であり、積は546です。この問題を解決するには、この規則に従う必要があります- 数値が2で割り切れる場合は、2に積を掛け、数値を2で繰り返し除算すると、次の2は無視されます。 今、数は奇数でなければなりません。ここで、数値の3から平方根まで、数値が現在の値で割り切れる場合は、係数を積に乗算し、数値を現在の数値で除算して変更し、続行
-
nで割った配列乗算のリマインダーを見つけるC/C ++プログラム?
ここでは、結果をnで除算した後、配列乗算の余りを計算する方法を説明します。配列とnの値は、ユーザーが指定します。配列が{12、35、69、74、165、54}のようなものであるとすると、乗算は(12 * 35 * 69 * 74 * 165 * 54)=19107673200になります。 47までに14になります。 ご覧のとおり、この問題は非常に単純です。要素を簡単に乗算し、モジュラス演算子を使用して結果を得ることができます。しかし、主な問題は、乗算を計算するときに、整数の範囲を超えたり、長い場合もあることです。そのため、無効な結果が返される場合があります。この問題を克服するために、このプロ
-
キャリーを伝播せずに2つの数字を加算しますか?
ここでは、2つのn桁の数値を追加するが、キャリーが伝搬されないという1つの問題が発生します。この概念は例を通して理解できます- したがって、ここでは数字のみが追加され、回答が配置されていることがわかります。ここに1つのトリックがあります。数字を右から左にスキャンする必要があります。したがって、3 + 2 =6の合計が最初に計算されますが、最後に配置されます。したがって、スタックを使用して中間結果を保存します。 アルゴリズム noPropagateCarry(a、b) begin size = max of length of a and length of
-
sizeofとalignofの違いは何ですか?
ここでは、C++でのsizeof演算子とalignof演算子の違いを確認します。 alognof()演算子はC++11で導入されました。 alignof()演算子は、バイト単位の配置を取得するために使用されます。タイプのインスタンスが必要です。タイプは完全タイプまたは参照タイプのいずれかです。 sizeof()演算子と呼ばれる別の演算子があり、1つの型のサイズを返します。通常のデータ型の場合、sizeofとalignofは同じ値を返します。一部のユーザー定義データ型の場合、alignofはいくつかの異なる値を返します。アイデアを得るために例を見てみましょう。 例 #include<io
-
反復を使用した文字列のすべての順列?
このセクションでは、文字列のすべての順列を取得する方法を説明します。再帰的アプローチは非常に単純です。バックトラッキング手順を使用します。ただし、ここでは反復アプローチを使用します。 文字列ABCのすべての順列は、{ABC、ACB、BAC、BCA、CAB、CBA}のようなものです。より良いアイデアを得るためのアルゴリズムを見てみましょう。 アルゴリズム getAllPerm(str) begin sort the characters of the string while true, do pr
-
座標軸と与えられた直線によって形成される三角形の面積?
ここでは、x軸とy軸と別の直線によって形成される三角形の面積を取得する方法を説明します。図は次のようになります。直線の方程式は-です。 𝑎𝑥+𝑏𝑦+𝑐=0 線は点Bでx軸を切断し、点Aでy軸を切断しています。切片の形は次のようになります- したがって、x切片は-𝑐∕𝑎であり、y切片は-𝑐∕𝑏です。つまり、三角形の面積は 例 #include<iostream> #include<cmath> using namespace std; double areaTriangle(double a, double b, double c)
-
C / C ++での引数の強制?
ここでは、CまたはC++での引数の強制について説明します。引数強制は、コンパイラーが引数をあるタイプから別のタイプに暗黙的に変換できる1つの手法です。引数プロモーションルールに従います。 1つの引数が下位データ型の場合、上位データ型に変換できますが、その逆は当てはまりません。その理由は、1つの上位データ型が下位データ型に変換されると、一部のデータが失われる可能性があるためです。 暗黙の変換がどのように行われるかを表現できるピラミッドを1つ見てみましょう。 例 #include<iostream> using namespace std; double myAdd(doubl
-
最大の数を形成するために与えられた数を配置しますか?
ここでは、与えられた数を再配置することによって最大の数を生成する方法を見ていきます。 {45、74、23}が指定されているとすると、プログラムは最大数である744523を検出します。したがって、各桁は配置されません。ただし、整数が最大数になるように配置されます。 この問題を解決するために、文字列の並べ替えを使用します。ただし、比較ロジックは異なります。比較関数は、2つの数値aとbを取り、それらを連結してabとbaを形成します。それらの中でどちらが大きいか、それが考慮されます。 アルゴリズム compareStrings(a、b) begin ab := conca
-
ASCII NUL、ASCII 0( ‘0’)および数値リテラル0?
ここでは、ASCII NUL、ASCII 0、およびNumeric Literal 0が表示されます。ASCIInullは0x00として表され、0は0x30として表されます。 ASCII NUL文字は、CまたはC++で文字列の終わりを示すために使用されます。プログラマーが「0」(文字0)を使用した場合、0x30として扱われます。これは16進数です。 10進数に相当するのは48です。ASCIINULを入力するには、「0」ではなく「\0」を指定する必要があります。 char asciiNul = ‘\0’; int zero = 0; char zeroChar = &ls
-
最初のn個の奇数の自然数の平均?
ここでは、n個の奇数の自然数の平均を取得する方法を説明します。 nはユーザーによって指定されます。 i番目の奇数を取得するには、この式2 * i+1を使用できます。ここでもこの式を使用しています。明確なアイデアを得るためのアルゴリズムを見てみましょう。 アルゴリズム avgOddNaturalNumber(n) Begin sum := 0 for i in range 0 to n-1, do sum := sum + (2i + 1) done  
-
特定の文字列の文字のASCII値の平均?
ここでは、特定の文字列の各文字のASCII値の平均をカウントする方法を説明します。文字列が「ABC」であるとします。子嚢の値は65、66、67です。したがって、これら3つの平均は66です。 アルゴリズム asciiAverage(String) Begin sum := 0 for each character c in String, do sum := sum + ASCII of c done return sum/length of Str
-
番号が回文であるかどうかを確認するためのBashプログラム?
数が回文であるかどうかを確認するには、数を逆にする必要があります。実際の数と逆の数が同じである場合、これは回文です。 Bashでは、逆の操作を実行するのは非常に簡単です。これを行うには、「rev」コマンドを使用する必要があります。明確に理解するためにプログラムを見てみましょう。 例 #!/bin/bash # GNU bash Script n=12321 rev=$(echo $n | rev) if [ $n -eq $rev ]; then echo "Number is palindrome" else echo
-
AをBの累乗で見つけるためのBashプログラム?
ここでは、bashスクリプトを使用してAの累乗をBの累乗にする方法を説明します。ロジックは非常に単純です。これを行うには、「**」演算子または電源演算子を使用する必要があります。概念を明確に理解するために、次のプログラムを見てみましょう。 例 #!/bin/bash # GNU bash Script a=5 b=6 echo "$(($a ** $b))" 出力 15625
-
同じサイズの2つのソートされた配列の中央値のC/C ++プログラム?
ここでは、同じサイズの2つのソートされた配列の中央値を取得する方法を説明します。配列要素を格納するためにC++STLを使用します。 2つの配列を取得したら、それらを1つにマージします。同じサイズの2つの配列がマージされると、最終的な配列は常に偶数の要素を保持します。 2つの中間要素を取り、それらの平均を中央値として取得する必要があります。 アルゴリズム 中央値(arr1、arr2) Begin arr3 := array after merging arr1 and arr2 sort arr3 len := len
-
C複利のためのプログラム?
ここでは、1つのCプログラムを作成して複利を取得する方法を説明します。ロジックはとても簡単です。ここでいくつかのパラメータが必要です- P-主な金額 R-利率 T −期間 複利計算式は次のようになります 例 #include<stdio.h> #include<math.h> float compoundInterest(float P, float T, float R) { return P*(pow(1+(R/100), T)); } int main() { float p, t, r; &nbs
-
C最初のn個の自然数の立方和のプログラム?
この問題では、最初のn個の自然数の立方体の合計を取得する方法を確認します。ここでは、1からnまで実行されるforループを使用しています。各ステップで、項の3乗を計算し、それを合計に追加します。このプログラムは、完了するまでにO(n)時間かかります。しかし、これをO(1)または一定時間で解きたい場合は、この級数式-を使用できます。 アルゴリズム cubeNNatural(n) begin sum := 0 for i in range 1 to n, do sum := sum + i^3 &n
-
C奇数桁と偶数桁の合計の差のプログラム?
1つの長整数があるとします。奇数桁の合計と偶数桁の合計の差が0であるかどうかを確認する必要があります。位置は0(左端)から始まります。 たとえば、数値が156486であるとします。奇数の位置の合計は(5 + 4 + 6)=15であり、偶数の位置の合計は(1 + 6 + 8)=15であるため、同じです。 この問題を解決するには、2つの異なる方法を使用できます。最初の方法は、フォームを最初から最後までトラバースし、位置を交互に変えて合計を取得し、次に差を取得することです。次の方法は、より簡単で効率的です。数値が11で割り切れる場合、差は0でなければなりません。つまり、奇数の位置の数値の合計と偶