約 874,933 件
https://w.atwiki.jp/nkym_memo/pages/197.html
マクロを用いたデバッグ デバッグのときには#DEBUGを宣言することで、printfするようにする。 gcc のオプションで -DDEBUG とすると、DEBUG というマクロ変数が定義されるので、これを使っても良い。 例として、以下のマクロを書く。 #ifdef DEBUG #define DPRINT(s...) fprintf(stderr, s) #else #define DPRINT(s...) #endif 表示させる場所では次のように書けばよい DPRINT("debug message %d\n", i); enum型とswitch文 enum型を次のように、case(値)の値として使用することができる。 typedef enum { BCC, FCC, HCP } CrystalStructure; CrystalStructure eCrystalStructure = xx; switch (eCrystalStructure) { case BCC GenerateBCC(); break; case FCC GenerateFCC(); break; case HCP GenerateHCP(); break; default exit(1); } エラーラップ関数の例 [[ファイルの例 ewrap.h ./erwap.h]] 使用ヘッダファイル #include stdarg.h #include string.h #include errno.h void eprintf(char *fmt, ...) エラーメッセージを出力する関数 //eprintf エラーメッセージを出力する関数 void eprintf(char *fmt, ...) { va_list args; fflush(stdout); if(progname() != NULL){ fprintf(stderr,"%s ",progname()); } va_start(args,fmt); vfprintf(stderr,fmt,args); va_end(args); if(fmt[0] != '\0' fmt[strlen(fmt)-1] == ' '){ fprintf(stderr,"%s",strerror(errno)); } fprintf(stderr,"\n"); exit(2); } char *estrdup(char *s) 文字列のコピー.エラー時にはそれを知らせる //estrdup 文字列のコピー.エラー時にはそれを知らせる char *estrdup(char *s) { char *t; t = (char *)malloc(strlen(s) + 1); if(t == NULL){ eprintf("estrdup(\"%.20s\")failed ",s); } strcpy(t,s); return t; } void *emalloc(size_t n) mallocし、エラー時にはそれを知らせる //emalloc mallocで、エラー時にはそれを知らせる void *emalloc(size_t n) { void *p; p = malloc(n); if(p == NULL){ eprintf("malloc of %u bytes failed ",n); } return p; } void setprogname(char *str) char *progname(void) プログラム名の設定と、返す関数 static char *name = NULL;//プログラム名 //setprogname プログラム名を設定 void setprogname(char *str) { name = estrdup(str); } //progname プログラム名を返す char *progname(void) { return name; }
https://w.atwiki.jp/nkym_memo/pages/201.html
http //devcafe09.blogspot.jp/search/label/CUTE インストール時の注意点 リンカに -static オプションをつけること テスト条件チェック http //devcafe09.blogspot.jp/2013/01/windows-eclipsecute-part2.html
https://w.atwiki.jp/nkym_memo/pages/8.html
動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_209_ja.html また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
https://w.atwiki.jp/nkym_memo/pages/148.html
インストール(Ubuntu 10.10) apt-get install octave3.2 octave3.2-headers コンパイル test.cpp の場合 g++ -c -I/usr/include/octave-3.2.4/octave test.cpp -o test.o mkoctfile --link-stand-alone test.o -o test OpenMPと併用 リンカに -lgomp を追加 g++ -c -I/usr/include/octave-3.2.4/octave -fopenmp test.cpp -o test.o mkoctfile --link-stand-alone -lgomp test.o -o test 固有値・固有ベクトル・固有値分解に用いる関数・型 複素数, Complex number = Complex (0.7, 0.3) 複素数から実数部を取り出す double real( const Complex z ) 複素数から虚数部を取り出す double imag( const Complex z ) サンプル( C++ ) // Eigen value // // Last Updated 2011/06/08 Wed 23 02 56 // #include iostream #include octave/config.h #include octave/Matrix.h using namespace std; int main(int argc, char *argv[]) { Matrix m( 2, 2 ); m( 0, 0 ) = -1; m( 0, 1 ) = -3; m( 1, 0 ) = 0; m( 1, 1 ) = 2; cout "Original Matrix" endl m endl; EIG eig( m ); cout "Eigen Vectors" endl eig.eigenvectors() endl; cout "Eigen Values" endl eig.eigenvalues() endl; cout "Recomposed Matrix" endl eig.eigenvectors() * ComplexMatrix( ComplexDiagMatrix( eig.eigenvalues() ) ) * eig.eigenvectors().inverse() endl; return 0; } 実行結果 Original Matrix -1 -3 0 2 Eigen Vectors (1,0) (-0.707107,0) (0,0) (0.707107,0) Eigen Values (-1,0) (2,0) Recomposed Matrix (-1,0) (-3,0) (0,0) (2,0) 固有値aを実数部r、虚数部iへ取り出す場合、 ComplexColumnVector a = eig.eigenvalues(); double r = real( a( 0 ) ); double i = imag( a( 0 ) ); Makefile OPT= -O3 LFLAGS = -lm OCTFLAGS= -I/usr/include/octave-3.2.4/octave OCTLINK= --link-stand-alone GFLAGS = -Wall -g CC = g++ MKOCT= mkoctfile PROGRAM = main OBJS= main.o .c.o $(CC) $(OPT) $(GFLAGS) $(OCTFLAGS) -c $ all $(PROGRAM) $(PROGRAM) $(OBJS) $(MKOCT) $(OCTLINK) $(OBJS) -o $@ clean rm -f $(OBJS) $(PROGRAM) 参考URL Howto Use Octave Functions in C/C++ Programs
https://w.atwiki.jp/kkkym1204/pages/8.html
@wikiにはいくつかの便利なプラグインがあります。 アーカイブ コメント ニュース 動画(Youtube) 編集履歴 関連ブログ これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
https://w.atwiki.jp/kkkym1204/pages/9.html
関連ブログ @wikiのwikiモードでは #bf(興味のある単語) と入力することで、あるキーワードに関連するブログ一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_161_ja.html たとえば、#bf(ゲーム)と入力すると以下のように表示されます。 #bf
https://w.atwiki.jp/nkym_memo/pages/125.html
二分探索木 任意の節xについて、左部分木に含まれる要素は節xよりも小さく、右部分木に含まれる要素は節xよりも大きい attachref 二分探索木の節 typedef struct node{ int data; struct node *left; struct node *right; }NODE; NODE *root = NULL; 二分探索木の探索 NODE *search(int key) 二分探索木を探索する 節へのポインタを返す 見つからない場合、NULLを返す 再帰呼び出しの場合 NODE *search(int key,NODE *p) { if(p == NULL){ return NULL; }else if(key == p- key){ return p; }else if(key p- key){ return (search(key,p- left)); }else{ return (search(key,p- right)); } } ループの場合 NODE *search(int key,NODE *p) { p = root; while(p != NULL){ if(key == p- data)){ return p; }else if(key p- data)){ p = p- left; }else{ p = p- right; } return NULL; } } 二分探索木への挿入 NODE *insert(int key) 二分探索木に要素を挿入する すでに要素が登録されているのなら、何もしないでNULLを返す NODE *insert(int key) { NODE **p,*new; while(*p != NULL){ if(key == (*p)- data){ return NULL; }else if(key (*p)- data)){ p = (*p)- left; }else{ p = (*p)- right; } } if((new = malloc(sizeof(NODE))) == NULL){ fprintf(stderr,"out of memory!\n"); } new- left = NULL; new- right = NULL; new- data = key; *p = new; return new; } サンプルプログラム [[二分探索木サンプルプログラム ./二分探索木サンプルプログラム]] 参考文献 定本 Cプログラマのためのアルゴリズムとデータ構造(近藤 嘉雪,ソフトバンククリエイティブ,1998) Cをさらに理解しながら学ぶデータ構造とアルゴリズム(森本 逞,共立出版,2007) コメント
https://w.atwiki.jp/kkkym1204/pages/10.html
コメントプラグイン @wikiのwikiモードでは #comment() と入力することでコメントフォームを簡単に作成することができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/17_60_ja.html たとえば、#comment() と入力すると以下のように表示されます。 名前 コメント
https://w.atwiki.jp/nkym_memo/pages/2.html
メニュー トップページ プラグイン紹介 まとめサイト作成支援ツール メニュー メニュー2? リンク @wiki @wikiご利用ガイド 他のサービス 無料ホームページ作成 無料ブログ作成 2ch型掲示板レンタル 無料掲示板レンタル お絵かきレンタル 無料ソーシャルプロフ ここを編集
https://w.atwiki.jp/nkym_memo/pages/65.html
PowerPoint ショートカットキー Tips 箇条書きの改行 箇条書き機能において、Shift + Enter で改行、Enterで次項になる 例) Shift + Enter の場合 ・ほげほげ がうがう もすもす Enter の場合 ・ほげほげ ・がうがう ・もすもす オートコレクトをOFFにする 「Officeボタン(左上)」→ 「PowerPoingのオプション」→「文章校正」→「オートコレクトのオプション」 すべてのチェックをOFFにする 参考文献 エンジニアのためのPowerPoint再入門講座 伝えたいことが確実に届く"硬派な資料"の作り方(石川智久,植田昌司,2009,翔泳社)