not good but great

プログラミング、アート、映画・本の感想について書きます。

C/C++

MacでC++からOpenCV4を使う

$brew install opencv これでopencvが入る。 $brew list --versions | grep opencv opencv 2.4.13.2 バージョンが古かった $brew upgrade opencv upgradeするがいろいろエラーが起こる。 $brew rm opencv && brew install opencv Error: suite-sparse is alr…

イテレータを使ってvector配列の要素をeraseする

eraseを使う ベクタ配列の要素を削除するにはeraseを使います。eraseの引数にはイテレータというものを渡します。僕の理解ではイテレータは配列の要素を指すポインタのようなものです。 ・参考 Programming Place Plus

cppで他のクラスで宣言したインスタンスを別のクラスで使う

アドレスを渡して解決 同じインスタンス名で宣言し直しても使えないので、アドレスを渡して解決します。

ポインタ配列を使って擬似的な二次元配列を生成する

ポインタのポインタがわからなかった http://openframeworks.cc/tutorials/first%20steps/003_ooops_object_oriented_programming.html チュートリアルをやっていて、ポインタのポインタが出てきました。 ofBall** myBall; なんじゃこれは・・・と思い、ポイ…

C++で連想配列のキーの有無をチェックする

学校の研究でcppを扱うので、そのときに知ったことをメモしておく。連想配列を生成して、キーがあるかどうかチェックするコードを書いてみた。 コード #include <iostream> #include <map> using namespace std; /* * Keyの有無をチェックする */ bool checkKey(map<string,string> &m,stri</string,string></map></iostream>…

0003: Is it a Right Triangle?

最初に思いついたコードがアホすぎた。三角形の辺を昇順にならべて、三平方の定理でチェックしようとしていた。そんなのことしなくても、3通りだけ確かめればよかった。 加えてscanf読み込みのエラーに苦しんだ。なぜか最初に入れたNの値が、ソート後N=num[2…

intからcharへの変換

AOJ問題0002 http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0002&lang=jp わからないので調べてみると、stdlib.hを読み込み、itoa関数を使えばよいらしい。 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ int a,b; char buff[10]; //入力終了まで</string.h></stdlib.h></stdio.h>…