プログラミング

C/C++/C#

C++でprevを使ってみる

nextを使えばイテレータitをn個だけ戻すことができる。 it = std::prev(it, n); 実行結果 5 2 4 1 3 ソースコード。 #include <iostream> #include <iterator> #inc...
C/C++/C#

C++でnextを使ってみる

nextを使えばイテレータitをn個進めることができる。 it = std::next(it, n); 実行結果 3 1 4 2 5 ソースコード。 #include <iostream> #include <iterator> #incl...
C/C++/C#

C++で1線地絡時の起誘導電流の大きさを求める

1線地絡時の起誘導電圧は \begin{align}\dot{V}_{m}=j \omega \left ( M D \right ) \dot{I}_{0}=j 2 \pi f \left ( M D \right ) \dot{I}_{...
C/C++/C#

C++でadvanceを使ってみる

advanceを使うとイテレータをn回進めることができる。 実行結果。 3 1 4 2 5 ソースコード。 #include <iostream> #include <iterator> #include <vector> int main...
C/C++/C#

C++でaddressofを使ってみる

addressofを使うと変数のアドレスを取得できる。 実行結果。アドレスが取得出来てる。 00000028E20FFCD4 ソースコード。 #include <iostream> int main() { int x = 1; int* ...
C/C++/C#

C++のabortを使ってみる

abortはプログラムを異常終了させる。 実行結果 ソースコード。 #include <iostream> int main() { std::abort(); return 0; }
C/C++/C#

C++で内積を計算する

内積についてはここ。 cinで数値を入力した後、各ベクトルの数値を配列に入れて内積を計算する。 結果 データ数を入力 ->3 x0->2 x1->4 x2->3 w0->1 w1->3 w2->5 2×1=2 4×3=12 3×5=15 結...
C/C++/C#

C++で作ったモータ用のクラスをきれいに書き換えてみた

タイトルの通り。 カレントディレクトリに以下のIM.hを作成 #define _USE_MATH_DEFINES #include <math.h> class IM { public: IM(std::string name, doubl...
C/C++/C#

C++で誘導電動機の同期速度を求める

同期速度は極数を\(p\)、電源周波数を\(f\)とすると \begin{align}N_s=\frac{120f}{p}\end{align} で与えられる。 実行結果 Ns -> 1500 ソースコード #define _USE_MAT...
C/C++/C#

C++のクラスを使って誘導電動機のトルクを計算する

これの続き。結果は過去記事と同じ。 ソースコード。 #include <iostream> #define pi 3.14 class IM { public: std::string name = ""; double r1 = 0.0;...
C/C++/C#

C++で二次電流の一次変換値を求める

C++で二次電流の一次変換値を求める。二次電流の一次変換値は \begin{align}I=\dfrac{\dfrac{V_1}{\sqrt{3}}}{\sqrt{\left ( r_1+\dfrac{r_2}{s} \right )^2 ...
C/C++/C#

C++で列挙型を使う

C++で列挙型を使う。簡単に言えば要素に0から順に名前を付ける方法。 実行結果 c1 ->1 ソースコード #include <iostream> enum color { Red, Blue, Green, }; int main(int...
C/C++/C#

C++で数当てゲームを作る

C++で数当てゲームを作る。プログラムが用意した1~99の乱数を当てるゲーム。 ヒントの出し方を工夫するともっと面白いかも。 実行結果 数当てゲーム 1~99の数を入力 24 それより大きいです 85 それより小さいです 65 それより大き...
C/C++/C#

C++でパスカルの三角形を計算する

詳しくはここ。 C++で二項定理を実装する。階乗を計算する関係で入力は20までとしている。 uint64_tを使用しているので効率は悪い 実行結果 計算する段数を入力(20まで) num = 20 1, 1,1, 1,2,1, 1,3,3,...
C/C++/C#

C++で誘導電動機のトルクを計算する

C++でかご型誘導電動機のトルクを計算する。トルクは \begin{align}T=\frac{P}{\omega}=\dfrac{60 P}{2 \pi N}\end{align} これをC++で実行する。実行結果 T=99.5223 ソ...
C/C++/C#

C++で九九の表を作る

for文で回すだけ。 std::setw(3) を使えば表示桁数を指定できる。 実行結果 1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 4, 6, 8, 10, 12, 14, 16, 18, 3, 6, 9, 12, 15,...
C/C++/C#

C++でキーボード入力を受け付けて絶対値を計算する

C++でキーボード入力を受け付けるには std::cin >> a; とすればいい。絶対値を計算するので #include <cmath> を読み込んで abs(a - b) とすれば絶対値を計算できる。 実行結果 a ->3 b ->7 ...
C/C++/C#

C++でFizzBuzz

これの続き。 #include <iostream> int main() { int i, N = 36; for (i = 1; i <= N; i++) { if ((i % 3 == 0) && (i % 5 == 0)) { st...
C/C++/C#

C++で自作ヘッダを作って数値を定義する

自作ヘッダを作る。まず定数を定義して読み込む。自作ヘッダを次のように作る。ファイル名はval.hとしてカレントディレクトリに置く。 #define A 10 あとはmain.cppから #include "./val.h" と読み込めば使え...
C/C++/C#

C++で関数にクラスを渡す

前回の記事(C++でクラスを作る)を例に、C++で関数にクラスを渡す方法を考える。 今、fruitsクラスがあるとすると、fruitsはintやdoubleと同様に扱えるので void hoge(fruits, float, float, ...