ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 こんなことやって意味あるのかどうか正直言って迷いました。プログラマはたいてい知っているような内容だし見る人もいないんじゃないかと思いましたが、これからプログラミングを始めてみようという方にとっては参考になるかもしれないし、何よりも自分にとって頭の中を整理できたりするので、これから定期的にやっていこうかと考えてます。 ところで、紹介する内容はほとんど過去に出版された書物関係から抜粋しています。一応下の方に参考文献として挙げておきますので興味を持たれた方は書店などで探してみてはいかがでしょうか? ということで、まずはライン・ルーチン(画面に直線を描画する)についての紹介です。
ソフトウェア設計とは何か? (原文: What Is Software Design?) by Jack W. Reeves (c)C++ Journal - 1992 訳者まえがき この文書は,Jack W. Reeves 氏が1992年に C++ Journal に寄稿した記事の邦訳です。 本記事では,オブジェクト指向プログラミング言語の代表として C++ を挙げていますが,これは本記事が執筆された当時,一般的に利用可能なオブジェクト指向言語は C++ だけであったという事情があるためです。 今では C++ に加えて Java,Delphi,C# といったオブジェクト指向言語が利用可能となっていますが,そんな今でさえこの記事は古さを感じないものとなっており,ソフトウェア開発の本質,現状を鋭くえぐるものとなっています。 邦訳の公開を許諾していただいた Jack W.
超初心者対象の、C/C++/C#プログラム教室です。 「Windows95/98/2000/XP使うだけには飽きた」「以前Cをやったことがあるが、ポインターでつまずいた」 「プログラムは、全く経験がない」「DOSのプログラムは、作れるがWindowsのプログラムは ちょっと・・・」という方のためのホーム・ページです。中級者以上の方、セミプロの方、 プロの方ご遠慮ください。Macユーザーの方も私の力不足のためお役に立てません。 Webmaster Yasutaka Kumei [How To Walk][画像が表示されない時は] [VC++6.0でうまくビルドできない時は] [リソースがうまく表示されない時は(VC++6.0)] [リソースがうまく表示されない時は(VC++.net)] [メッセージ・ループ] [WinXP+VC++.netでコンパイルできない時は] [.netでパラメータ・
配列操作の比較表: Ruby, Python, JavaScript, Perl, C++ プログラムを書いていると、他のプログラミング言語の記憶とごっちゃになって、「配列の後ろに要素を追加するのは push だっけ、 append だっけ」などと混乱することがあります。特に Ruby, Python, JavaScript はコードの書き方が似ているので、この問題が起きがちです。 そこで、備忘録として、 Ruby, Python, JavaScript, Perl, C++ の配列操作の比較表を作りました。一番慣れている Ruby を基準にしています。間違いなどがあったらご指摘いただけると助かります。他の言語のもあるといいなあ。 Ruby (Array) Python (list) JavaScript (Array) Perl (@) C++ (std::vector)
世田谷の某所から原宿まで自転車通勤しているのですが、そろそろ寒くなってきたので電車に切り替えようかと悩み中のmikioです。今回はTokyo Cabinetのスクリプト言語バインディングについて述べます。 スクリプト言語バインディングとは TCはC言語で実装されたライブラリで、C言語(C89、C99)およびC++言語のプログラムから利用することができます。CやC++は各種の計算処理やシステムコールの呼び出しを直接的に記述できるので高速に動作するプログラムを作ることができる反面、ポインタ演算やメモリ管理などで致命的なバグを潜ませやすいので非常に注意深くコーディングを進めなければいけません。つまり、プログラムの実行速度は速いが、開発速度は遅いということです。 それに対して、PerlやRubyをはじめとするいわゆるスクリプト言語は、実行速度はCやC++に劣るものの、高水準かつ直感的な文法と強力な
目指せプログラマー!にようこそ。 当サイトはこちらに引っ越しました。 お手数をおかけしますが、上記サイトへご移動くださいませ。
Python at Google.notes (2006/02/12) python Python at Google.notes Google で Python が使われているとよく言われているが、どういうところで使われているのだろうか。これは、Python at Google で検索すると分かる。Python at Google.notes を見てみよう。Google で使われている言語は、C++, Python, Java が主なもの。これ以外の言語は、特別に許可を取らないと使えないようだ(Perl なども一部で使われているがやはり許可が必要)。一番多用されているのは C++ で、Python がそれに次ぐ。それゆえ Python は SWIG を多用していようだ。Python のバージョンは、2005年5月の時点では、2.2 が使われている。あれだけのサービスで使われていると、さす
みなさま こんにちは。ここには、C++やJavaなど、プログラミングの入門記事を書いていこうと思っています。 一応、製品版がありますが、ここはもちろん無料です。更新はとてもゆっくりになると思いますが、よろしければ、気長につきあってください。一緒に楽しくプログラミングしていきましょう。 入門記事の読み方 細部にこだわるより、全体の流れを見てください。最初に解説をざっと読んだら、サンプルをコンパイル・実行し、うまくいったら、少しだけ書き換えてまた実行してみてください。書き換えがうまくいったら、わかっていることになるのです。それから、少しゆっくり解説を読んでみてください。 そういう勉強方法を嫌う人がいることも知っています。しかし、「すべてをひとつひとつ理解してから進もう」として身動きが取れなくなってしまう人もたくさんいるのです。20歳頃の私がそうでした。それが、「わかってきたな」、「おもしろいな
The Open Source Computer Vision Library has >2500 algorithms, extensive documentation and sample code for real-time computer vision. It works on Windows, Linux, Mac OS X, Android, iOS in your browser through JavaScript. Languages: C++, Python, Julia, Javascript Homepage: https://opencv.org Q&A forum: https://forum.opencv.org/ Documentation: https://docs.opencv.org Source code: https://github.com/o
超初心者対象の、C/C++/C#プログラム教室です。 「Windows95/98/2000/XP使うだけには飽きた」「以前Cをやったことがあるが、ポインターでつまずいた」 「プログラムは、全く経験がない」「DOSのプログラムは、作れるがWindowsのプログラムは ちょっと・・・」という方のためのホーム・ページです。中級者以上の方、セミプロの方、 プロの方ご遠慮ください。Macユーザーの方も私の力不足のためお役に立てません。 Webmaster Yasutaka Kumei [How To Walk][画像が表示されない時は] [VC++6.0でうまくビルドできない時は] [リソースがうまく表示されない時は(VC++6.0)] [リソースがうまく表示されない時は(VC++.net)] [メッセージ・ループ] [WinXP+VC++.netでコンパイルできない時は] [.netでパラメータ・
■ ページが見つかりません 以下の項目についてもう一度お確かめください。 ・ URLは間違っていないか (大文字小文字などの入力ミス、参照ページの記載ミスなど) ・ リンクが切れていないか (引っ越しした、削除されたなど)
プログラマの方、もしくは趣味でプログラミングをしている方に質問です。 あなたが読んでためになった、またはプログラマなら読んでおくべきだと思うソースコードはなんですか?教えてください。 ネットでダウンロード可能なものでお願いします。
このページは、C言語の中級テクニックを中心に解説する。長らくプログラマをしていると、C言語の面白い使い方例が蓄積している。これらを一挙公開するために、このページを作ったのである。しかし、単にCに留まらず、他の言語の面白い特徴なども紹介していく。 内容的にはかなりヘヴィである。当然のことながら、「ポインタ虎の巻」程度の内容はちゃんと使いこなせることを前提とする。意外な技、落し穴、派手なテクニックなど、内容満載だが、ちゃんとデータ構造とアルゴリズムなども説明できれば良いと思う。(まあ、ぼちぼちやってきいます...) 以下の目次には手引きのために、評価がつけてある。凡例として示す。 レベル その解説で記載されている内容のレベル 有用度 その内容が実際に役に立つものかどうか 邪悪度 その内容が薦める方法が、一般的なコーディング規約の中で「邪悪」とされがちなものであるか否か。関数ポインタの活用(濫用
再入不可能な関数を C で実装する 一度実行したら二度と中身を実行できなくなる再入不可能な関数を C で実装してみます。通常、このような関数はシングルトンなどの静的なデータの初期化に使いますが、ここではデータについては考えないことにします。 static 変数をフラグに使う まずは最も単純な方法から見ていきます。次の関数は static 変数をフラグに使って再入を防いでいます。厳密に言えば関数そのものには入ってしまっていますが、ここで気にしないことにします。 void once(void) { static int entered; // 最初は 0 if (entered == 1) { // すでに入ったことがある場合は return; // すぐ出る } entered = 1; // 初回の場合のみ、何かを実行する } この方法はシングルスレッドのプログラムではうまく動きますが、マ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く