C++勉強しようと思うんだけど・・・
■ このスレッドは過去ログ倉庫に格納されています
0001初心者
NGNGお勧めなのでしょうか?
初心者の自分ですが、皆様のお知恵をお借りしたいと
思いますので、よろしくお願い致します。<(_ _)>
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNGでも1は挫折すること確実。
頼むからJavaで収まっていてくれ
0005初心者
NGNGマックですか・・・自分のはWINなので・・・
0006デフォルトの名無しさん
NGNGUNIXですか?
00075=初心者
NGNG>>4さん
UNIXですか?
0008デフォルトの名無しさん
NGNG無難なスペックのマシン(新しすぎず、古すぎず。)
に雑誌の付録のディストリ入れてhello.cppでもコンパイルすれ。
0009デフォルトの名無しさん
NGNG>どこのOSが一番お勧めなのでしょうか?
と言ったじゃないか。
まあいい。とりあえずこの Wiki を嫁
http://paming.s7.xrea.com/ykwk166_kai/yukiwiki.cgi?mycmd=read&mypage=%5B%5B%96%C0%82%A6%82%E9%8F%89%90S%8E%D2%82%C9%93K%90%D8%82%C8%8C%BE%8C%EA%82%F0%8F%D0%89%EE%82%B5%82%E6%82%A4%5D%5D
参照資料はこのスレから探せ
お勉強ページ 勝手にリンク 第2版
http://pc.2ch.net/test/read.cgi/tech/967778156/
推薦図書/必読書のためのスレッド PART2
http://pc.2ch.net/test/read.cgi/tech/1010312992/
言語に関する質問はここだ
タダで使えるBorland C++!
http://pc.2ch.net/test/read.cgi/tech/1002377328/
C++ 相談室 part5
http://pc.2ch.net/test/read.cgi/tech/1014217496/
VisualC++相談室 6
http://pc.2ch.net/test/read.cgi/tech/1011615035/
C Builder相談室 Part3
http://pc.2ch.net/test/read.cgi/tech/1016065855/
0010デフォルトの名無しさん
NGNG金を投資するのは勿体無いだろうから
Borland C++ Compiler を使うことをお勧めする。
http://www.borland.co.jp/cppbuilder/freecompiler/
チュートリアルとしてはやる気なく猫を薦めるか。
http://www.kumei.ne.jp/c_lang/
0011初心者
NGNGちなみに相場はいくらくらいなのでしょうか?
0012デフォルトの名無しさん
NGNGそれこそピンカラ兄弟
でも、ある意味相場は「ただ、無料」といった所でしょうか
0013初心者
NGNGとリンクさせて制御系のシステム構築が出来るようになるのが
目的なのですが・・・
0014初心者
NGNG物によっては無料なんですか??
0015デフォルトの名無しさん
NGNGborland c++ = free
LSI-C Sishoku =free
0016デフォルトの名無しさん
NGNGそれはDLで無料ということですか?
0017デフォルトの名無しさん
NGNG0018デフォルトの名無しさん
NGNG組み込み系のスレ
●●●くみこの組み込み相談室●●●
http://pc.2ch.net/test/read.cgi/tech/988084737/
>>15
LSI-C は C++ 使えるっけ?
1 の目的に C++ が必要かどうかはともかく。
0019デフォルトの名無しさん
NGNG俺にはその目的を聞いても
わからないのでせめてターゲットOS名だけでも教えてください
ちなみに>>15さんのはDLもできるし
雑誌に載ってるのもある。全部無料です
0020初心者
NGNGまたはその他の方法で使用することは,
ライセンス契約のすべての規定に従うことに同意したことになります。
このライセンス契約の規定に同意しない場合,
本ソフトウェアを使用せずに購入元へ速やかに返送して,
返金を受けてください。」
と書いてあるのですが、本当に無償なのですよね??
0021デフォルトの名無しさん
NGNGで、なにインストールしようとしてますか?
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGとりあえず「ボーランド」です。
0024デフォルトの名無しさん
NGNGとにかく無償なんだから無償。
合法で落とせるものは落としてしまえ。
0025初心者
NGNGに書いてありました。
>>22さん
002621
NGNGC++の道は険しいががんばってくれ
(プログラム経験あればインストールまで聞くことないと思うんだが・・・)
0027デフォルトの名無しさん
NGNG0028デフォルトの名無しさん
NGNGまあ、いきなりC++からやってもいいけど
その調子だと「ファイル名に拡張子も表示する」
のチェックボックスもOFFになってると思われ
0029デフォルトの名無しさん
NGNG経験あるならCから。
という意見を言ってみる。
003030!
NGNG| ̄ ̄( ゚Д゚) ̄ ̄| < 納豆食って寝る!
|\⌒⌒⌒⌒⌒⌒\ \
| \ \  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ |⌒⌒⌒⌒⌒⌒|
\ |_______|
0031デフォルトの名無しさん
NGNG根気強く取り組みます!!
また、相談に乗ってもらえたらうれしいです。
0032デフォルトの名無しさん
NGNG| |
| (`Д´ ) イヤ!!
/⌒⌒⌒⌒⌒/ |
/ / /
|  ̄ ̄ ̄ ̄ ̄| /
|______|/
0033初心者
NGNG0034デフォルトの名無しさん
NGNG今日のオカズは33だ〜わーい
0035初心者
NGNG003627
NGNGってのを知りたくてjavaから入ってるんですが、CやC++のほうが良いでしょうか?
003734
NGNGネタだよね・・・・
0038初心者(本物)
NGNG偽初心者は辞めてください。<(_ _)>
0039デフォルトの名無しさん
NGNG話はそれからです。
0040初心者
NGNG言葉だけなら覚えてるんですが・・
004127
NGNG0042デフォルトの名無しさん
NGNG| |
| (`Д´ ) ソンナコトハナイ!!
/⌒⌒⌒⌒⌒/ |
/ / /
|  ̄ ̄ ̄ ̄ ̄| /
|______|/
0043デフォルトの名無しさん
NGNGプログラミング
http://pc.2ch.net/test/read.cgi/tech/1014370940/
0044デフォルトの名無しさん
NGNG♪___♪_
| ヽ( ゚д゚)ノ |
| (へ ) |
/⌒⌒⌒ >⌒/ .|
/ / /
|  ̄ ̄ ̄ ̄ ̄| /
|______|/
0045デフォルトの名無しさん
NGNG| |
| (`Д´ ) ソンナコトハナイ!!
/⌒⌒⌒⌒⌒/ |
/ / /
|  ̄ ̄ ̄ ̄ ̄| /
|______|/
0046初心者
NGNG0047カヲル
NGNG0048初心者
NGNG0049初心者
NGNG0050デフォルトの名無しさん
NGNG悪い事言わないから.NET FrameWork落としなよ。
今ならC#も付いてくるよ?
0051カヲル
NGNGでも僕たちにはDOSという素晴らしき(shell>dos)ものがあるだろう?
学習にはコマンドラインでコンパイル!で十分だよ。
0052デフォルトの名無しさん
NGNGここはメモ帳や日記帳じゃないのだから
要領を得ない独り言はやめてくれ。
http://www.borland.co.jp/cppbuilder/freecompiler/
にある Borland C++ Compiler 5.5 は無償の製品だ。
この辺でも読んでくれ。
Borland C++ Compiler 5.5 FAQ
http://www.neco.nu/gohodoji/bccfaq.html
Borland C++ Compiler 5.5をインストールして「ちょっと」使ってみる
http://homepage1.nifty.com/tyuuki/old/cc/bcc_install.html
0053デフォルトの名無しさん
NGNG0054初心者
NGNG電験の勉強もしてるので毎日やれるとまではいかないと思います。
0055デフォルトの名無しさん
NGNGC++ができればJAVAやC#なんかもできるようになるから。
但し、オブジェクト指向でやらなきゃ意味ないよ?
0056デフォルトの名無しさん
NGNGいそがしくても、30分でも1時間でもいいから
毎日やったほうがいいよ。
0057初心者
NGNG早速新たな質問なのですが、C++で
極端な話「○」「△」「■」とかの絵は書けるのでしょうか?
0058デフォルトの名無しさん
NGNG出来ない事はないが・・・何の為に?
0059デフォルトの名無しさん
NGNG0060デフォルトの名無しさん
NGNG窓はWIN上じゃないと出来ないんですよね?
DOSでもいいのですが・・・
絵の中に表示窓とかを作ってみたいなと思ったので。
0061デフォルトの名無しさん
NGNGとにかくコイツすごいよ
この調子で、1000までいったときには
>>1は俺たちのレベルを超えてるだろうね
そして、「2chだけでC++を学ぶ方法」なんていう本を
出すんだろうな
0062デフォルトの名無しさん
NGNGただし、DOSでやると面倒くさいぞ?
まずhello worldからやってみ。
printfとcoutそれぞれで。
0063デフォルトの名無しさん
NGNGこんな感じのやつですか?
#include <stdio.h>
void main(void) /* ansi c の仕様 */
{
int a,i;
printf("一回目の回数を入力して下さい-->");
scanf("%d",&a);
if (a>=0)
printf("一回目は %d 回繰り返します \n",a);
else
printf("入力ミスです。もう一回「test」から立ち上げて下さい。\n");
for (i=1;i<=a;i++)
printf("あ\n");
for (i=1;i<=a;i++)
printf("い\n");
for (i=1;i<=a;i++)
printf("う!!\n");
}
0065デフォルトの名無しさん
NGNGそうだな、一人ぐらいこのスレで育ててもいいな
0066デフォルトの名無しさん
NGNG親切な人がいたもんだ。
0067デフォルトの名無しさん
NGNGその調子で頑張れ〜〜。
関数、構造体、ポインタが出来れば問題なしだな。
0068デフォルトの名無しさん
NGNGコンソールでシコシコやれよ糞ってことだと思います。
0069デフォルトの名無しさん
NGNGになつかしさを感じつつ
0070デフォルトの名無しさん
NGNG0071初心者
NGNG0072デフォルトの名無しさん
NGNG0073デフォルトの名無しさん
NGNGint main()
{
printf("■");
}
0074デフォルトの名無しさん
NGNG面倒くさい、と言うよりは余り意味がないだけ。
(C++でやる意味が無いともいえる)
0075デフォルトの名無しさん
NGNGエスケープシーケンス??
0076デフォルトの名無しさん
NGNGないだろうな、まさか…
0077デフォルトの名無しさん
NGNGだから面倒くさいのだよ。
そして意味が無い。
その機能が無くなったって事は、必要でなくなったと言う事だ。
0078初心者
NGNG0079デフォルトの名無しさん
NGNGエスケープシーケンスならココみりゃわかる。
ttp://www.kumei.ne.jp/c_lang/intro/no_27.htm
0080初心者
NGNG0081デフォルトの名無しさん
NGNG基本を覚えろ
0082デフォルトの名無しさん
NGNGCUIで監視画面?GUIじゃなくて?
WINに行きなさい。理由は、楽だから。
0083デフォルトの名無しさん
NGNG禿道!!
0084デフォルトの名無しさん
NGNGテキストグラフィックの描画は、
curses や newt といったライブラリを使えば比較的楽にできる。
UNIX だけど。
0085デフォルトの名無しさん
NGNG基本あるのみですよね。
>>84さん
curses や newtとは??<(_ _)> 「質問ばかりですみません・・・」
0086デフォルトの名無しさん
NGNG仲良く殺し合って生き残った奴は自殺して下さい。
00871
NGNG・ .| | ノ ̄7
‐┴┴‐ _ノ C
・ --‐;=‐ わ +
i'´ ̄`ヽ i´ ヽ ,ノ ま か +
) ク ) ・ `‐ ノ た ら も
( ク ( -/一 立 ね
) ク ) '" ̄ヽ  ̄,フ て え
( : ( ‐--'´ ノ\. ち の
) : ) ┼|-、 ゃ に
!、__ ( ! '´ │ , っ
 ̄ ,.‐ -─ 、. |_,.ノ た
,.‐'´ -‐'´ ヽ、 :
,.‐-' 十 __ i. :
|/|| l. | ´ l、 :
l l'∧._ ! `‐- i、
i'´ ̄`ヽ l iラ i:) i、
) ク ( ム_,イl i、
( ク > ヘ. |_,,. ‐i i、.ヽ、i:、
) ク ( ,. ‐''" _| |i |i. | i. i i l、i_
( : ) /_,,. ‐''" ̄ l. | i | l | .l l | | `‐.、
) : ( / .l !. || l. ! .l.l |.!
!、__,ノ / il ! l| l! |!
0088デフォルトの名無しさん
NGNGこんな感じだ。
http://www-6.ibm.com/jp/developerworks/linux/010126/j_l-python6.html
まあ Windows だったら普通に GUI プログラム作ったほうがいい。
0089初心者
NGNGありがとうございます。<(_ _)>
しばらく大人しくしてます。
0090デフォルト名有さん
NGNGこの調子で1000までやってくれクルミ
0091デフォルトの名無しさん
NGNGへばったかね?
0092初心者
NGNG悪戦苦闘しながらやってます。
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNGこのスレにもっと即した言語としてC++Builderを挙げてみる。
0095初心者
NGNGGUIってなんですか?
0096デフォルトの名無しさん
NGNG君のカキコを読んで空気中なのに溺れた・・・。
0097デフォルトの名無しさん
NGNG0098初心者
NGNGすみません・・・
本当に初心者なので。
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG只今からこのスレは
「>>1を1000までに中級者に育てるスレ」
となりました。
0101初心者
NGNGグラフィカルユーザインタフェースていうのは、
半分完成されたOSみたいなものですか??FIXみたいな
ものに近いとか??
0102デフォルトの名無しさん
NGNG1がいまやってんのはコンソール。
0103デフォルトの名無しさん
NGNGいいか、スタートメニューから「コマンドプロンプト」か「DOSプロンプト」を
起動しろ。でそこに「ping pc.2ch.net」と打ち込み[Enter]を押す。
そうすると、なにやらつらつらと文字が出てくるだろ?
それが「GUIではない」アプリケーションなんだよ。
0104デフォルトの名無しさん
NGNGGUIではないと言うかCUI
0105デフォルトの名無しさん
NGNG直感操作できるような(どんなアフォでもわかるような)
人間とコンピュータとの接点、裏では土方がとても苦労している。
Character User Interface(CUI)
文字を基本として操作するタイプ。
慣れた人だと特定の操作はこっちのほうが早い、と言う。
なんつうかこういうアプリのほうが作るの簡単(場合にもよるけど)
0106デフォルトの名無しさん
NGNGCUI(と言うかDOSとUNIX)の標準入出力はとても強力だね。
0107デフォルトの名無しさん
NGNGここはしったかスレではありません
0108デフォルトの名無しさん
NGNG0109デフォルトの名無しさん
NGNGリダイレクト(入力、出力、追記)、パイプ。
ここまではDOSもUNIXも共通。
UNIXの標準入出力ってもっと強力?・・・だな、デバイスとかも制御出来るし。スマソ。
0110デフォルトの名無しさん
NGNGプロセス間通信の有無が重要。
0111デフォルトの名無しさん
NGNG0112デフォルトの名無しさん
NGNG> デバイスとかも制御出来るし。
意味不明。
0113デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNGここで、こんなに親切なのは珍しいな。
感謝しろよ<<1。
0115デフォルトの名無しさん
NGNGみたいな(上は概念ね。)
0116デフォルトの名無しさん
NGNGないわきゃねーだろ
0117初心者
NGNGこの先どうなるのか?という不安を抱えながら取り組んでいます。
そこでちょっと勝手なわがままなのですが・・・
何か簡単な宿題を出していただけませんでしょうか?
場合によっては、宿題を頂いてからお返事できるまで異様に
時間がかかるかも分かりません。(悩みに悩んで組めないかもしれません)
その時はお許し下さい・・・。
0118デフォルトの名無しさん
NGNGなるべく速い速度で100個のランダムな数字を小さい順に表示しなさい。
(STL禁止。)
0119初心者
NGNGなるべく早い速度??ですか?
0120デフォルトの名無しさん
NGNG速度のことはまだ気にしなくていいよ。まずは、
「100個のランダムな数字を小さい順に表示しなさい」
の部分を作って。
0121デフォルトの名無しさん
NGNGキーボードから"0"以外の整数を何個か打ち込んでいく。(何個でもいい)
で、気が済んだところで"0"を打ち込む。
そうすると、今まで打ち込んだ数字を逆順に出力して終了するプログラム。
それが完成したら、こんどは打ち込んだ順に出力するのも作る。
それも出来たら、打ち込んだ数字を大きい順(または小さい順)に並べ替えて
出力するものをつくる。
0123デフォルトの名無しさん
NGNGwhile(dat != 0)
{
dat = 0;
for(i = 0;i < 99;i++)
{
if(data[i] > data[i + 1)
{
temp = data[i];
data[i] = data[i + 1];
data[i + 1] = temp;
dat++;
}
}
}
これより速く。C++関係ないな・・・。
0124121
NGNGたとえば100個以内とかね。
それで「並べ替えて…」まで出来たら、次に個数制限をなくした物を
作るといいかもしれない。
それを作れれば、>>120のエッセンスも含まれるから、いいかなーー
0125デフォルトの名無しさん
NGNGしまった。do whileの方が良かったかも・・・。
とにかく、バブルソート(だよね?)にうち勝つソートプログラムを。w
0126初心者
NGNG最初はこれでもいいですか?
#include <stdio.h>
void main(void)
{
int a;
a=0;
while (a<100) {
a=a+1;
printf("%d \n",a);
}
}
0127デフォルトの名無しさん
NGNGごめん。
int data[100]と言う配列にランダムに数字が入ってると考えて、それを並び替えて小さな数から表示。
0128初心者
NGNGう〜む・・・
0129デフォルトの名無しさん
NGNGそれより>>124やれば?あと計算に慣れる、ということで1000以下の素数を出力、
とかもいいかも?
0130120
NGNGもともとは>>127の意味で>>120と書いてたんだけど、>>126を
見る限り、「ランダム」も「配列」も扱うには早すぎるみたい。
なんか参考書を持ってて、それを見ながら考えたんだろうけど…。
その本を見て、「インクリメント演算子」っていう項目を索引で
調べて、理解して。
もひとつ、「ループ」か「繰り返し」か「for」って項目を、
同じく索引で調べて理解。
両方理解したら、>>126のプログラムを書き直して提出ね。
0131デフォルトの名無しさん
NGNGじゃあ、九九の表をコンソールに書きましょう
1 2 3 4 5 6 7 8 9
1 1 2 3 4 5 6 7 8 9
2 2 4 6 81012141618
3
4
5
6
7
8
9
なかんじで
0132デフォルトの名無しさん
NGNG�A何個か(但し100個以下)0以外の整数を打ち込み、0を入力したら、今までの
入力値を逆順に出力しなさい。
�Bこんどは�Aを入力順にしなさい。ついでに平均も求めよう。
�C1000以下の素数を全て表示するプログラムを作りなさい。
出来たら結果をテキストファイル"prime.txt"に保存するように改良する。
�D100個の配列に乱数を格納し、それをバブルソートで整列して出力する。
できたらクイックソートに挑戦。
�E線形リストを用いて、�Aの「100個以下」の制限を無くしなさい。
ま、ここまでをこのスレが1000逝くまでに達成すること。丸付き数字すまん。
0133デフォルトの名無しさん
NGNG>100個の配列に乱数を格納し、それをバブルソートで整列して出力する。
できたらクイックソートに挑戦。
あら、問題の意図バレバレね。まぁ、あたりまえか(^^;
0134初心者
NGNG0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG0137デフォルト& ◆tizwA9L.
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGはいはい、覚えたての知識自慢したい方は別のスレ行ってね。
0140デフォルトの名無しさん
NGNGここを読むべし。ためになるかも、いろんな意味で。
0141デフォルトの名無しさん
NGNG基本的な方針はいいけど…5のクイックソートと、6の線形リストは
自作しろっていうの?
Cプログラマを育成しているんならその教育は不可避だろうけど、
>>1の初心者はC++をやりたいって言ってんだから、それは不要だと
思うけど。
とっととstd::sortとstd::vectorの使い方を覚えさせた方がいいよ。
0142デフォルトの名無しさん
NGNG何でも構造と簡単な実装を知ってる方がいいという配慮。
じゃないとSTLのありがたみなんてわからないっしょ。
話を聞く限りではC++と言うかC初心者みたいだからね。
0143141
NGNGその「構造と簡単な実装」ってのは、「配列」と「バブルソート」で
達成されるんじゃない?
配列で「範囲外アクセス」、バブルソートで「大量データソート」を
経験させれば、十分にSTLのありがたみはわかると思われ。
Accelerated C++序文:
自動車を運転するのに、自動車エンジニアになる必要はない。
C++プログラマを目指すんなら、「実装の詳細を理解しようとする」
よりも「すでにある便利なものを使いこなす」癖をつけさせるほうが
いいと思う。
0144デフォルトの名無しさん
NGNGまぁ、それも手。生産性抜群だ。
そして低レベルな部分を作ることが出来るプログラマが減る。
0145デフォルトの名無しさん
NGNGソートだったらソートごとの特質もわかってて、
どういうときにどれを選べばいいかわかってなきゃいかんのだけどね、
全員が全員運転手だと、やっぱり、だめなのよ。
タクシー会社にも、必ず整備できる人がいるの。
いなければ、整備する会社に業務委託してるの。
業務委託すると金がかかるし、いつでも整備万全って訳にはいかないの。
あなたのいるプロジェクトをね、いつでも整備万全のまま動かしたいなら、
自分が整備士になるか、部下を整備士にするか、どっちかしかないの。
Accelerated C++の序文はね、これから運転手になろうって人に向ける言葉
だからね、あなたや、あなたの周りの人がそれを鵜呑みにして、
そのまま運転手のままじゃ、ダメなの。
0146デフォルトの名無しさん
NGNGチーフ(SE?)と新人プログラマさんみたいな?
0147デフォルトの名無しさん
NGNGアルゴリズムのオーダー、という概念を知らないのは困ると思う。
漏れとしてはベタなフーリエ変換とFFTの実装も自力でやって実感してもらい
たいところ。なんでもライブラリ任せなのは感心しない。
0148デフォルトの名無しさん
NGNGttp://www5c.biglobe.ne.jp/~MOGI/algorithm/sample8_62_1.gif
を描画する、という課題を付け加えたい。
0149デフォルトの名無しさん
NGNGそこまでしなくてもソート2,3種類やれば十分じゃん。
0150147
NGNGま、「漏れとして」だからね・・・
だから>>1への課題としては、バブルソートとクイックソートをやってもらえば
良いんじゃないの?逆にこれすらやらないのは問題でしょ。
0151141
NGNGまあ、この文を読んでも俺には何をやりたいのかは理解
できんかったが、それはおいといて。すくなくとも、>>1の
なかには「これをやりたいからC++を勉強している」ってのが
あるわけだ。
だから、>>145でいう「運転手」方向で育てていけば
いいんじゃないの?
もちろん、>>1が「整備士」相当部分を学びたくなったら、
それはそのとき教えればいい話で。
>>144
>>1は低レベル部分を作ることを望んではいないから、
とりあえず生産性を優先でいいじゃん。
あと、「減る」わけじゃないだろ。「現時点では増えない」だけだ。
>>147
さすがに、アルゴリズムのオーダーの概念は教えてないと
まずいだろうね。>>141では書いてなかった。すまん。
けど、FFTの実装は>>1には関係ないやろ〜。
そういうわけで、
1・バブルソートの実装を自作して経験する。
2・オーダーの概念を教えてもらって、理解する。
3・sortを使って、オーダーのことを実感する。
4・sortの使い方を覚える。
5・>>1の興味次第で、クイックソートの実装を理解(&自作)する。
って感じの流れでいきゃいいんじゃないかと思ったわけよ。どうよ?
長文すまん。sage。
0152デフォルトの名無しさん
NGNG一度はプリミティブなコードを書くことはためになるというか必須だと思う。
なんでもそうだけど覚えることが大事なんじゃなくて考え方を身につけるのが
大事であっていざというときその資料を当たれればよい。
本当に大事なことは結果的に覚えてしまうはず。バブルソートとクイックソートを
書いてみてアルゴリズムによって速度が全く変わってしまうというようなことや
線形リスト、ツリー構造の素朴な実相をわかっていないといきなりvectorとか使いこなせないように思う。
0153デフォルトの名無しさん
NGNG皆さんにご指導いただきたいので参加しても可?
とりあえず、>>132の 1)
#include <iostream.h>
int main( void )
{
cout << "/ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |\n";
cout << "________________________________________________\n";
for ( int i = 1; i < 10; i++ ) {
cout << i << " |";
for ( int j = 1; j < 10; j++ ) {
cout.width( 3 );
cout << i * j << " |";
}
cout << "\n________________________________________________\n";
}
return( 0 );
}
0154153
NGNG#include <iostream.h>
int main( void )
{
int nolist[100];
int no, x;
no = 1;
x = 0;
while ( no && x < 100 ) {
cout << "数字を入力(0で表示)> ";
cin >> no;
nolist[x] = no;
x++;
}
for ( x--; x >= 0; x-- ) {
if ( nolist[x] ) {
cout << x + 1 << "回目の入力 = ";
cout << nolist[x] << "\n";
}
}
return( 0 );
}
0155153
NGNGごめんなさい。
あと>>132 の 3) も書きました。
それと、自作小物の60行弱のソースも
皆さんにご指導いただきたいのですが、
どこぞにUpしたらみていただけますか?
0156デフォルトの名無しさん
NGNGコンパイルして動いたなら正解。
>>154の
for ( x--; x >= 0; x-- )
が少々トリッキー。もう一つ変数置いて、
for ( y = x - 1; y >= 0; y-- )
とかの方がいいかも。
まぁ、赤ペン先生によって意見は分かれるでしょうがw。
0157デフォルトの名無しさん
NGNGC++だったら、単項演算子はなるべく前置の方を使った方がいいかも。
intとかなら別にどっちでも同じなんだけどね、
イテレータとか、そのうちいろんなオブジェクトをいじることになるんだけど、
ただ単に加算するだけ、減算するだけなら、前置の++,--を使う癖をつけとくと
よいよ。
いや、ほんとにたいした差はないんだけどね。
0158デフォルトの名無しさん
NGNGcoutにつっこむ "\n"は、 endl っていうやつを使うといいよ。
たいしたことないんだけどね。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNG1個目のループは後判定にした方がエレガントじゃないかな?
あと個数制限とかの100などは定数にして別に宣言するクセを早いうちに
付けることを強〜くお勧めします。
>>156の言う通り、2個目のループはトリッキーで嫌だなぁ・・・
面倒でも判りやすく見やすいソースを書くクセをつけた方がいいよ
0161デフォルトの名無しさん
NGNG"\n"は改行記号なんだけど、最終的に文字列としてストリームに出力されるときの形態。
でもほんとは"\r\n"が正しい改行かもしれないし"\n\r"が正しいかもしれないし"\n"だけでいいの
かもしれない。
endlは、内部ではどう持ってるかわかんないけどストリームを扱うオブジェクトが
改行だと認識してくれるありがたい符号。
0162デフォルトの名無しさん
NGNG変数noの使い方がよくないね。
この変数は、
1.入力された数字を受け取る
2.入力された数字が正しいかどうかを判定する
という二つの目的で使われているよ。
ひとつの変数の目的は、ひとつに絞ることが大事。
そうしないと、あとで苦労するよ。
というか、もうその「苦労」がすでに出てるね。
>if ( nolist[x] ) {
ちゃんと変数の目的を分担していれば、こんなif文はいらないよ。
>>159
Cっぽいか、C++っぽいか、という程度じゃないかな?
0163153
NGNGやっぱり誰かにみてもらうことって大事ですね。
まわりに聞ける人がいないので大変有り難いです。
ご指導を参考に >>132 の 3) を書き直してみましたが、どうでしょうか?
#include <iostream.h>
#define MAX 100
int main( void )
{
int nolist[ MAX ];
int x = 0;
do {
cout << "数字を入力(0で表示)> ";
cin >> nolist[ x ];
++x;
} while ( nolist[ x - 1 ] && x < MAX );
--x;
double total = 0;
for ( int i = 0; i < x; ++i ) {
cout << i + 1 << "回目の入力 = ";
cout << nolist[ i ] << endl;
total += nolist[ i ];
}
cout << x << "回の平均値 = " << total / x << endl;
return( 0 );
}
0164初心者
NGNGスレが伸びてる!!
このままではあっという間に1000に到達か・・・(汗
その時はPart2を立てさせてください。<(_ _)>
で、�@九九の表をコンソールに書きなさい。 を
今作りましたので判定の程を宜しくお願い致します。
#include <stdio.h>
void main(void)/* 九九の演算 */
{
int i,j;
printf("< 九九の演算 > \n");
printf(" 1 2 3 4 5 6 7 8 9 \n\n");
for (i=1;i<=9;i++){
printf("%d",i);
for (j=1;j<=9;j++){
printf(" %2d ",i*j);
}
printf("\n");
}
}
0165162
NGNGうー、ちがうよ。俺が>>162で言ったのは、入力された数字が
正しいかどうかを判定するための変数を増やせ、ということなんだよ。
変数を減らしちゃいけない。>>163のやり方は、変数nolistに、
1.入力された数字をいったん受け取る
2.入力された数字が正しいかどうかを判定する
3.入力された数字を格納しておく
という三つの仕事をさせてるから、前より余計に悪くなってるよ。
0166デフォルトの名無しさん
NGNG改行せずにフラッシュだけをしたければ flush を使う。
0167デフォルトの名無しさん
NGNG合格。
でも、%3dにしないと桁揃わなく無いか?
まぁ、俺の例題も
101214
って書いてたもんな。忠実でよろしいw。
0168初心者
NGNGでは、次の問題にチャレンジ致します。
((((ノ゜▽゜)ノ がんばるぞ〜!
0169デフォルトの名無しさん
NGNGCygwinを使ってWindows環境下に擬似UNIX環境を構築すると良いのでは?
gnuツール群が使えるし良いですよ(UNIX/コマンド等の勉強にもなる)
純粋にC++を勉強するならGUIは不要というかCUIのほうがシンプルで良いと思います
何か実用的な小物を作りながら勉強するというならば
Borland C++ Builderも良いでしょう
尚、VC++でのC++学習はお奨めできません
Cygwinは
オールラウンドプログラミングVol.3 C/C++300の技(技術評論社 \1,980税別)
のCD-ROMに収録されています(もちろんCygwinサイトから最新版をDLできます)
他のC++参考書にもCygwinが収録されたCD-ROMが付いているものを見かけました
その本は他の本と比べoopについて詳しく解説されていました(購入予定)
C++(better Cではなくoop言語としてのC++)の本は難しいので
とっかかりの良書として
「これならわかるC++ 挫折しないプログラミング入門」(小林健一郎 著 ブルーバックス \1,900税別)
を薦めたいと思います
0170初心者
NGNGもう少し待って下さい。<(_ _)>
0171デフォルトの名無しさん
NGNGふと思ったんですがborland C++ Compilerってご存じですか?
0172初心者
NGNG有難うございます。
0173デフォルトの名無しさん
NGNGいやぁ>>132だけでいいんじゃない?というか132はそれまで出た課題を総合して
るから132をやればいいだろ。
>>148は面白いからやってみて欲しいね。でもBCCでグラフィックは辛いかな?
もし辛かったら�FだけDelphi使ってみるといいかも。一つの言語にこだわり過ぎるのも良くないし。
>>169
cygwinはどうかなぁ・・・どうしてもWindows上でGNU環境を使う必要があれば別だけど、
>>1は必要無さそうだが。それよりも中級くらいになったらLinuxを使った方がいいと思われる。
0174デフォルトの名無しさん
NGNG同じ著者の訳書で「Accelerated C++」がお勧め
高度な本に見える表紙だが実はめちゃくちゃ分かりやすい入門書
しかも、後半部分ではかなり、便利なテクニックをさらりと
説明してくれる。
0175153
NGNGあちゃー、間違ったベクトルに進んでいましたか。
ついつい変数と行数が少ないほど良い気がしちゃうんですよ…反省。
x が入力された回数だから使い回せるな、とか考えて、さらに書き込んだあと
++x; を消して noline[ x - 1 ] を noline[ x++ ] にすれば良かったとかも思ってました。
0176169
NGNGえぇ、知っていますヨ
過去レスを読んでBCCについては、すでに提案されていたもので・・・。
1さんが既にBCCを使われているなら、それでいいと思います。
興味からお尋ねするのですが、BCCのメリットとは何ですか?
0177デフォルトの名無しさん
NGNG俺も工房の時そう言うコード書いてたw(今もたまに)。
昔ならともかく今はメモリなんて腐るほどあるんだからあまり神経質になることはないと思う。
コンパイラがある程度最適化してくれるし。
凝った言葉で作文を書くと後で読んで意味がわからなくなる。そんな感じ。
誰が見てもわかりやすい作文がなんだかんだ言ってよしとされる。
0178デフォルトの名無しさん
NGNGBCCのいいところ・・・無料である・クセが少ない・無難である
>>177
BCCは最適化しない。
しかしケチって醜いソース書いて、実行時間が0.1秒早くなる代わりに
デバッグに1時間かけるよりも、見やすいソース書いて、実行時間が
0.1秒遅くなって、10分でデバッグが終わる方が良かろう。
0179デフォルトの名無しさん
NGNGコマンドプロンプトで動作します。
C++を使いたいだけならcygwinと言う大げさな環境を導入するまでも無いかなと考えたからです。
恐らくフリーと言うことを強調されているのかなと思いこちらもフリーで対抗したと。
0180デフォルトの名無しさん
NGNGそうなの〜。勉強になった。あくまでおためし、学習用って位置づけか。
0181初心者
NGNGちなみに自分はWINです。
0182178
NGNG「この開発環境は初心者勉強用だから…」
と初心者に言ってプログラミングを勉強させると、かなりの確立で
やる気を無くすと思うのだが。。
いや、漏れは実はDelphi使いなんだが、Cのライブラリを使いたい時など、
上手い具合にBCCを使ってる。結してBCCは子供だましではないよ。
0183デフォルトの名無しさん
NGNGまぁ、今はCPU資源も豊富だからね。最適化なんかしなくても(略
Delphiは素晴らしい。
0184デフォルトの名無しさん
NGNGライブラリをDLLでラップする感じ?良いこと聞いた♪
0185デフォルトの名無しさん
NGNG0186169
NGNGそれともプログラミング初心者ですか?
PC経験はどれくらいですか?
WIN環境意外にも興味はありますか?
将来はどっち方面へ(プログラミング全般を極めるとかSEになりたいとか)
答えられる(答えてもいいなと思う)範囲で教えて下さいナ
0187169
NGNG0188デフォルトの名無しさん
NGNG過去ログ読めばわかるらしいぞ。
コード見る限りCとプログラムのリテラシーはあるみたいよ。
0189初心者
NGNG他にどのような環境があるのか分からない状態(知識不足)
なので、なんとも答えられません・・・
0190169
NGNGスマソ、ろくに読んでいなかった(w
今、読んで大体わかったヨ
それでも、もう一度彼から、まとまった形で情報が欲しいな
皆がより的確なアドバイスができるようにネ
0191169
NGNGゴメン、環境についてはWindowsで良いでしょうね(とりあえず、他は視野に入れる必要ナシ)
↓の目的からすれば(Win系が一番充実しているでしょう)
>ちなみにC++を覚えたいという目的は、PC(プログラマブルコントローラー)
>とリンクさせて制御系のシステム構築が出来るようになるのが
>目的なのですが・・・
0192デフォルトの名無しさん
NGNG最終的にはPCをラップするクラス書いたりとか?
0193デフォルトの名無しさん
NGNG好みの問題であるんだけど、
将来、他の言語も勉強するつもりがあるなら、
> while ( no && x < 100 ) {
while ( no != 0 && x < 100 ) {
と書いた方がよいかも。
>>156
おれの場合、
for ( y = 0; y < x; y++ ) {
// nolist[x - y - 1]というように参照
と書いてる。多少難しくなるが。
0195デフォルトの名無しさん
NGNGオプションをつければ最適化するようです(-O1:サイズ,-O2:メモリ)
あと、BCCの良いところは……メッセージが日本語。
(cygwinはいろいろあって便利だけど、gccの為だけに入れるのはどうかと。
unixのツール「群」が要らない人にとっては単なる無用の長物だと思います)
>>163,>>165の問題は、(doの辺りだけ書き換え)
int temp;
do {
cin >> temp;
if (temp == 0)
break;
nolist[x] = temp;
++x;
} while (x < MAX);
こんな感じで良いんでしょうか?
0196162
NGNGおめでとう! 正解だ!
今のところは扱ってるのがintだから実感はないだろうけど、あとあと
クラスオブジェクトを使うようになったらわかるよ。
そのコードが、C++として正しく、安全で、かつ最も効率のいい
ものなんだって。
0197デフォルトの名無しさん
NGNGいかがなもんでしょう。
#include <stdio.h>
#include <stdlib.h>
#define MAX 100
int main(void)
{
int a[ MAX ];
int i, j, tmp;
for (i = 0; i < MAX; i++) {
a[ i ] = rand();
}
printf("ソート前\n");
for (i = 0; i < MAX; i++) {
printf("%d\t", a[ i ]);
}
printf("\n");
for (i = MAX -1; i >= 1; i--) {
for (j = 0; j <= i - 1; j++) {
if (a[ j ] > a[ j + 1 ]) {
tmp = a[ j ];
a[ j ] = a[ j + 1 ];
a[ j + 1 ] = tmp;
}
}
}
printf("ソート後\n");
for (i = 0; i < MAX; i++) {
printf("%d\t", a[ i ]);
}
printf("\n");
return 0;
}
0198デフォルトの名無しさん
NGNGまだまだvectorやistream_iteratorとか、
もっと、その、なんだ、C++っぽくかつスマートな書き方があるだろ、
おい。
0199デフォルトの名無しさん
NGNG変数tempも
> 1.入力された数字を受け取る
> 2.入力された数字が正しいかどうかを判定する
の目的で使われている気がするが違うの?
イマイチ差違がわからん。
0200153
NGNG>>195 は僕じゃないんですが、そっか、break使えばいいんですね。
>>132 の (4を 書きましたが、これも問題多そうで…
採点お願いします。
#include <iostream.h>
#define MAX 1001
int main( void )
{
int all[ MAX ] = { 1, 1 };
int half = MAX / 2;
for ( int x = 2; x < half; ++x ) {
if ( !all[ x ] ) {
for ( int y = 2; x * y < MAX; ++y ) {
all[ x * y ] = 1;
}
}
}
for ( int j = 0; j < MAX; ++j ) {
if ( !all[ j ] ) {
cout.width( 4 );
cout << j;
}
}
return( 0 );
}
0201デフォルトの名無しさん
NGNG0202デフォルトの名無しさん
NGNG俺VBもDelphiも普通に出来るんだけどCは何故か挫折しちゃった。
何が原因なの?
0203デフォルトの名無しさん
NGNG#include <vector>
#include <algorithm>
#include <iterator>
#include <numeric>
using namespace std;
int main( void )
{
vector<int> v;
istream_iterator<int> isit(cin);
copy(isit, istream_iterator<int>(), back_inserter(v));
size_t sz = v.size();
for (size_t i = 0; i < sz; ++i)
{
cout << i + 1 << "回目の入力 = " << v[i] << endl;
}
double avg = accumulate(v.begin(), v.end(), 0) / (double)sz;
cout << sz << "回の平均値 = " << avg << endl;
return 0;
}
0204デフォルトの名無しさん
NGNGまぁそういう主旨のスレではありませんので、大目に見てやってくださいな。
>>200
ナントカの振るい作戦ですね、でも配列は0で初期化しましょう。
>>202
なんでだろうね、漏れもターボパスカルから入ったよ。
0205デフォルトの名無しさん
NGNGはいはい、すごいですねぇ。
>>200
#define MAX 1001
なんか1001ってのがイレギュラーで気持ち悪いな、
0206デフォルトの名無しさん
NGNGCの*優れた*教科書はどれも、計算機科学の基礎知識と、FORTRANやPASCALなどの
高級言語の知識がすでにあるものとして書かれているからです。
計算機科学の素人がいきなり手をつけようとしてCを選ぶのは、たぶん、間違いなのです。
0207デフォルトの名無しさん
NGNG「Cスタイルのキャストを使うなよ」というツッコミを釣りたかったわけか?
0208デフォルトの名無しさん
NGNGとやって、楽しいのだろうか?
本質的な追求は為されないのだろうか<このスレの本質ってナニ
0210204
NGNGそう考えると、"Delphiの良著"もCの轍を踏んでますな。
"Pascalの良著"+Delphi付属の"dcc32.exe"(コンソールコンパイラ)で基礎を
叩き込んで、Delphi→BCB or VC と進むのが現代の王道かもしれない。
0211デフォルトの名無しさん
NGNG0212デフォルトの名無しさん
NGNG208はプログラミング初心者の頃、ソース書いてあーでもない、こーでもない、と
やらなかったのだろうか?
つーか208はプログラム書けないんだろ。
>>210
PASCALの良著の見分け方・・・10年以上前に初版が出版されていて、現在でも
改訂されながら版が重ねられていること。
>>211は男を極めてるので、漏れなく放置致します。
0213デフォルトの名無しさん
NGNG>やらなかったのだろうか?
これが楽しいと思わなければプログラムを趣味に出来ないだろ。
0214208
NGNGそりゃやったさぁ、今だってやるよ
ところで1はこの「betterなソースコードを書こうゼ」コーナーには
参加しているわけ?
1の問いが完結し、その発展形として
「betterなソースコードを書こうゼ」合戦があるのならば良いと思うヨ
0215デフォルトの名無しさん
NGNG0216208
NGNG0217208
NGNG0218デフォルトの名無しさん
NGNG>>1-100読んで彼の今のレベルを認識すればよい。
捨てぜりふ、カコイイ!
0219デフォルトの名無しさん
NGNG使い方が先でしょ。何にしても。
0220デフォルトの名無しさん
NGNG但し、線形リスト全体をクラスメソッド"push"と"pop"を持ったクラスとして
実装し、線形リスト自体は外部から隠蔽すること
という但し書きを加えれば良いと思います。
しかし異色の名スレになりつつあるな・・・
0221デフォルトの名無しさん
NGNGそだね。第一回の締めくくりと第二回の導入が入っていい感じかも。
0222デフォルトの名無しさん
NGNG1はCではなくC++を学びたいと言っている
ということはoop言語に魅力(必要性)を感じたということではないか
ならば始めからclassについて言及されるべきでは
>>219
classの考え方や実装方法を先に知ってもいいのでは
printfじゃ何でダメなのという話になる
0223デフォルトの名無しさん
NGNGピヤノやお琴もそう。
とりあえず、言われたとおりの音をだね、
言われたとおりに、体が覚えるまで、鳴らすの。
徐々に、リズムを買えたり、音階を広げていったり、
和音にしたり、リズムをつけたり、アレンジしたり、
ソロの練習をしたりスンの。
でね、cinとcoutと配列と数字のやりとりはね、
ピアノで言うところのカノンなの。
お琴で言うところのさくらさくらなの。
ちょっと変った教室ではもっとしゃれた曲から教えてくれるけどね、
とりあえず、型からはいるのが、一番なの。
そのうちね、作曲のやり方もやるのよ。もちろん。
0224初心者
NGNGなんか、あっという間に1000までいきそうな
雰囲気にかなり焦ってます・・・
頂いた課題も(((?o?);などと悩みながら、色々
試しながらやってます。
なんか悩んでる間に1000までいきそうな感じですね〜。 (_´Д`)
0225デフォルトの名無しさん
NGNGふと思ったけどC++ってなんでcoutなんですか?
いきなり掟破りな文法なんですが。
0226デフォルトの名無しさん
NGNG0227デフォルトの名無しさん
NGNGごめん。理解が困難。
じゃあprintf()はなぜダメ?可変長引数?
0228デフォルトの名無しさん
NGNGcoutというオブジェクトに文字列を流し込んでいるのよ(<iostream>)
ヤパーリCとC++の考え方の違いを教えないとダメでしょ
0229デフォルトの名無しさん
NGNG・C++の文法
・C++の標準ライブラリの使い方(STL、クラスライブラリ含む)
・OS、作りたいアプリ固有のライブラリ・フレームワークを覚える
(WindowsならMFC, VCL, DirectXなど)
を端からゴリゴリ覚えていけ。
んで暇があったら
・アルゴリズムとデータ構造
・OOP全般
やれ。
突っ込み覚悟で補足しとくと後半の二つはアプリ作成には必須ではないよ。
上と平行して覚えてくのはかまわないけど下からやると飽きて挫折する。
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG煽るだけならよそで。
始めからいたような顔はやめてください♪
0232デフォルトの名無しさん
NGNGOOPなんて構造化プログラミング知らない人間に教えても混乱するだけじゃない?
構造化プログラミングも十分理解してない人間にcoutだprintfだって言ったって
わからんよ。
それよりOOPのことは>>220のように�Eで始めて触れても遅くないと思う。
CとC++って勉強する上でシームレスに繋がってないのが大きな欠陥だよなぁ。
その点、PascalからObjectPascalを設計した人はエライと思うよ。
0233デフォルトの名無しさん
NGNGだってCじゃなくてC++をやりたいんでしょ?
煽りではないよ、目を向けて欲しいだけです
0234デフォルトの名無しさん
NGNGなんでCは
#include <stdio.h>
int main()
{
printf("Hello, World!\n");
return 0;
}
ではじまるのか?
と同じだな。
話すと長い。
printfには型安全がない。
基本型の理解やポインタの理解、スタックの理解、書式の理解、標準出力の理解が必要だし、
誤った入力や書式指定を許してしまう。
coutの方が、理解に必要なハードルが少ない。
cout << なにか;
を覚えれば、画面(標準出力)になにかが表示される、と覚えれば済む。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG例?
char a = 'U';
printf("%d %d",a);
確かに幾度と無く危険な目に遭わされたw。
0237デフォルトの名無しさん
NGNG「<<」ってなんだ、ビットシフトじゃねーの?って聞かれたらまた面倒なんですけど。
cout.operator<<(なにか);
とでも書かせとくか?
0238デフォルトの名無しさん
NGNG頑張れば、
cout += "hello" += "world" += endl;
とか
cout != "hello" != "world" += endl;
0239デフォルトの名無しさん
NGNG「<<は元々整数に対して使う演算子で、そいつのビットを、右や左にn個シフトしたいときに使うんだよ。
で、シフトって言うのはね...」
と説明すればよくて、混乱しそうになったら
「だけど、整数じゃないオブジェクトに << を使うときはね、 xx を流し込むって意味で
使うんだよ。最初に使った cin とか cout の << がそれだよ」
でわかるんじゃないかねえ。
中級になったら、「ostream系のオブジェクトの operator <<は...」って教えればいいだけ。
printf教えるときに、スタックの状態や、可変長引数の片繰上げや細かい書式、
va_argやva_listの説明なんかしないだろ。
そんなもんだよ。
練習用の曲はね、大抵ね、後から振り返ってみるといろいろ示唆すべきものが含まれているもんなの。
あるていどわかるようになってから、「ああ、あれはああいう意味があったんだ」ってわかればいい訳なの。
英語習うときもね、How do you do?みたいにね、よくあるイディオムから始めりゃあいいの。
0240デフォルトの名無しさん
NGNG基本は>>132、>>220の線で行く。クラス云々は�Eまでお預け。
但しC++らしく入出力はcin、coutを使うべし。
0241デフォルトの名無しさん
NGNG賛成++;
0242デフォルトの名無しさん
NGNGかわいそうに
0243デフォルトの名無しさん
NGNG気にせず問題が出来たら持っておいで。みんなでわいわい添削します。w
0244デフォルトの名無しさん
NGNGAlexandrescuマンセー!!!
0245153
NGNG単純に ofstream output( "prime.txt" ); でOKなんですかね。
#include <iostream>
#include <fstream>
#define MAX 1000
using namespace std;
int main( void )
{
int all[ MAX + 1 ] = { 0 };
int half = MAX / 2;
all[0] = 1;
all[1] = 1;
for ( int x = 2; x < half; ++x ) {
if ( !all[ x ] ) {
for ( int y = 2; x * y <= MAX; ++y ) {
all[ x * y ] = 1;
}
}
}
ofstream output;
output.open( "prime.txt", ios::out );
for ( int j = 0; j <= MAX; ++j ) {
if ( !all[ j ] ) {
cout.width( 4 );
cout << j;
output << j << endl;
}
}
output.close();
return( 0 );
}
0246デフォルトの名無しさん
NGNG今こういうの流行ってるの?
確かに0以外は偽だけどさ・・・使い方間違ってる気がする。
0248デフォルトの名無しさん
NGNGいろいろなポリシーの人がいるから何とも言えないけど、個人的には非推奨。
0249デフォルトの名無しさん
NGNG明示的に「0なら」とやりたいなら、if(all[x] == 0)の方が見やすいしわかりやすい。
if ( !all[ x ] ) の方が確かにソースも数バイト短いし、実行ファイルも数命令短く
なるかもしれないけど、それによって得られるメリットよりも、見難いソースの
デメリットの方が多そう・・・。
あと int all[ MAX + 1 ] = { 0 }; じゃ all[0] 以外は初期化できてないんじゃない?
ちゃんとfor文で回そう!
0250デフォルトの名無しさん
NGNGごめん。
>実行ファイルも数命令短くなるかもしれないけど
どっちも結局CMPじゃないの?
0251デフォルトの名無しさん
NGNGif ( !all[ x ] ) だとJZE?を使ってくるかもしれない。
すまん漏れ汗ンブラあまり知らんです。
0252デフォルトの名無しさん
NGNGそういう風に指定したとき、足りない要素は0として初期化される
ことが保証されてなかったっけ?
いや、もちろんコーディングスタイルとしてはやっちゃマズいだろうけどさ。
0253デフォルトの名無しさん
NGNG少なくとも、VCではどっちも同じ。
cmp 変数,0
jne
ってコードだった。
0254249
NGNGそうだったの?知らなかったスマソ。
でもやっぱり初期化したほうが精神的に落ち着くな・・・
0255デフォルトの名無しさん
NGNG9割は、ソースの1割で浪費される、と言われてる(8割2割って言う人もいる)。
ナントカの法則って名前ついてたかも知れないけど忘れた。
つまりソースの大部分は改良してもプログラムの高速化にほとんど貢献しない。
だからあまり細かい実装法( if(!all[x]) とか )にこだわっても、見にくくなる
ばかりでほとんど早くならない。
それよりは多少効率は悪くても、見やすい、美しいソースを書いて、完成してから
ボトルネックとなる1割の部分(再帰呼び出しされる関数や多重ループの一番内側)
だけに小細工をした方がなにかと良い。
ま、そういうことを頭の片隅に置いておくといいと思うよ。
それにソートプログラムを組めばわかるけど、高速化の真髄はアルゴリズムの改良
にあるってことも重要。
初心者のうちは「美しいソース」を書くようにした方がなにかといいです。
0256デフォルトの名無しさん
NGNG普通に9:1の法則でなかったっけ?
確か実行される頻度が高いホットスポットと呼ばれる部分がソース中に1割ある。
後の9割はたいして実行されない。
ホットスポットを最適化することがプログラムの高速化に繋がるって話だった気が。
0257デフォルトの名無しさん
NGNG配列の初期化(と言うより、値の準備)はループを回すべきだ、と。
bool型の変数を評価するときはどうするべきでしょう?
「if (hoge)」「if (hoge == true)」
今は前者を使っていますけど……。
(その割には「if (p == NULL)」と書いてたり)
0258デフォルトの名無しさん
NGNG0259257
NGNGtrueの時も「==」を使いますか。
0260デフォルトの名無しさん
NGNG真偽値はそのまま使おうぜ。
0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNGプログラミングでは80:20の法則で
プログラミング(コンピュータ)以外では
9:1の法則って良く聞くような。
「SFの9割は糞である」みたいに。
0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG0268デフォルトの名無しさん
NGNG0269デフォルトの名無しさん
NGNG受講者がいないんじゃしょうがないよね。
しょうがないから、赤ペン先生たちで
例外について語り合っとく?
0270デフォルトの名無しさん
NGNG上級編までお預け。
0271デフォルトの名無しさん
NGNG0272デフォルトの名無しさん
NGNG0273153
NGNG>>132 の 5) バブルソート。
色気を出して関数にしてみました。
#include <iostream>
#include <time.h>
#define QTY 100
using namespace std;
void output( int array[], int qty, char mess[] )
{
cout << mess << endl;
for ( int i = 0; i < qty; ++i ) {
cout << array[ i ] << endl;
}
}
void bsort( int array[], int qty )
{
int temp, i, n;
for ( i = qty -1; i > 0; --i ) {
for ( n = qty - 1; n > 0; --n ) {
if ( array[ n ] < array[ n - 1 ] ) {
swap( array[ n - 1 ], array[ n ] );
}
}
}
}
int main( void )
{
int list[ QTY ];
srand( (unsigned)time( NULL ) );
for ( int i = 0; i < QTY; ++i ) {
list[ i ] = rand();
}
output( list, QTY, "ソート前" );
bsort( list, QTY );
output( list, QTY, "ソート後" );
return( 0 );
}
0274デフォルトの名無しさん
NGNG個人的に配列の引数はポインタで受け取ってほしい。特にchar型は。
0275153
NGNG添削お願いします。
#include <iostream>
#include <time.h>
#define QTY 100
using namespace std;
void output( int array[], int qty, char mess[] )
{
cout << mess << endl;
for ( int i = 0; i < qty; ++i ) {
cout << array[ i ] << endl;
}
}
void qsort( int array[], int first, int last )
{
int basis, small, big;
basis = array[ ( first + last ) / 2 ];
small = first;
big = last;
while ( small <= big ) {
for ( ; array[ small ] < basis; ++small ) ;
for ( ; array[ big ] > basis; --big ) ;
if ( small <= big ) {
swap( array[ small ], array[ big ] );
++small;
--big;
}
}
if ( small < last ) {
qsort( array, first, small );
}
if ( big > first ) {
qsort( array, big, last );
}
}
int main( void )
{
int list[ QTY ];
srand( (unsigned)time( NULL ) );
for ( int i = 0; i < QTY; ++i ) {
list[ i ] = rand();
}
output( list, QTY, "ソート前" );
qsort( list, 0, QTY );
output( list, QTY, "ソート後" );
return( 0 );
}
0276デフォルトの名無しさん
NGNGバブルソートってこうだっけ?
いや、基本路線は合ってるし、ソートもできるんだけど。
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNG0280153
NGNG皆さん、>>1さんじゃないのに添削していただいて有り難うございます。
どうも僕は、下手に短く書こうとして読み難くする悪癖アリですね。
気をつけます。
>>276
バブルソートを書き直してみました。どうでしょう?
>>273のだと、ソート済み部位も比較したりと無駄なループをしてますか。
使っていないtempとかありますし…駄目だ<自分
>>277でご指摘の >>174 クイックソートの方はよくわかりません。
クイックソート自体よくわかっていないのかも。
void bsort( int *array, int qty )
{
int i, done;
bool flg = true;
--qty;
done = 0;
while ( flg ) {
flg = false;
for ( i = qty; i > done; --i ) {
if ( array[ i ] < array[ i - 1 ] ) {
swap( array[ i - 1 ], array[ i ] );
flg = true;
}
}
++done;
}
}
0281276
NGNGバブルソートはアルゴリズム的にはOK。
あと、前に変数に2つ以上の意味を持たせるなと
言われなかったかい?
クイックソートの方は
int list[QTY + 1];
list[QTY] = 0;
と修正すれば表面に出てくる。
あと、実際に実行してみたんだけど、ソートされているときもあれば
されてないときもあるみたい。こっちの原因はまだ調べてないけど。
>>274 で言われていることについては個人的には反対。
>>279 ありがと。
0282初心者
NGNG最近、電験の勉強に集中している為にc++の勉強が
はかどっていません。
�Eまで行くのにかなりの期間がいると思いますので
温かく見守って頂けませんでしょうか。<(_ _)>
一日30分はc++をやるようにしてるのですが、
パソコンを立ち上げても参考書とにらめっこして
30分過ぎてしまうという状態なので・・・
0283デフォルトの名無しさん
NGNGあるんだが、定数QTYをある程度大きくして、何回か実行して実行時間を
比べてごらん。
たとえばQTY=10000,QTY=20000,QTY=40000とかで。
まぁこのくらいでも一瞬で終了するかも知れないから、適当にプログラム全体を
何回かループさせて、1回当たりの実行時間を計測してごらん。
で、バブルソートとクイックソートでは、それぞれQTYを倍にすると、実行時間が
何倍くらいになるか調べてみるとクイックソートの有り難さがわかるよ〜。
あと時間計測するときは画面へ描画はさせないこと。つまりoutput関数を呼び出さない。
画面描画させちゃうと、ほとんどのCPUパワーを描画に使いかねない。
0284デフォルトの名無しさん
NGNGパソコン起動せずに参考書読んでな。
それで良いよ。
読破したら、初めてパソコンの電源入れなさい。
0285デフォルトの名無しさん
NGNG今でも読むし、これからも読み続けるんだろうけど。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNG0288153
NGNGmainでの呼び出しが最高に間違っていました(鬱
void qsort( int *array, int first, int last )
{
int basis, small, big;
small = first;
big = last;
basis = array[ ( first + last ) / 2 ];
while ( 1 ) {
for ( ; array[ small ] < basis; ++small ) ;
for ( ; array[ big ] > basis; --big ) ;
if ( small >= big ) break;
swap( array[ small ], array[ big ] );
++small;
--big;
}
if ( small - 1 > first ) qsort( array, first, small - 1 );
if ( big + 1 < last ) qsort( array, big + 1, last );
}
でmainでの呼び出しを下のように修正。
qsort( list, 0, QTY - 1 );
以上でたぶんOKだと思うのですが、いかがでしょうか?
ただ、上のwhile文を下のように書くと上手くソートできないのですが
僕には違いがわかりません。どうぞどなたか理由を教えてください。
while ( small < big ) {
for ( ; array[ small ] < basis; ++small ) ;
for ( ; array[ big ] > basis; --big ) ;
if ( small < big ) {
swap( array[ small ], array[ big ] );
++small;
--big;
}
}
0289デフォルトの名無しさん
NGNG0290153
NGNGこういうことですか?
for ( ; array[ small ] < basis; ++small ) ;
↓
while ( array[ small ] < basis ) ++small;
0291153
NGNG>>274さん >配列の引数はポインタで受け取ってほしい。特にchar型は。
>>281(276)さん >>>274 で言われていることについては個人的には反対。
どちらでいけば良いのでしょうか?
0292デフォルトの名無しさん
NGNGCは配列そのものを引数で渡すことができないので、すべて
ポインタ渡しだが、精神的に配列で取る人もいる。
自分の好みでいいのでは。
0293デフォルトの名無しさん
NGNG一瞬でスタックの空きが無くなるね。ちょっぴり再勉強。
0294153
NGNG>>132 6) の >>220版やってみました。長いので別のところにうp。
みていただけて更にアドバイスなんかもいただけるとうれしいです。
http://perlnewbold.hoops.jp/cbasket.cpp
先々日買ってきた「憂鬱なプログラマ〜」を片手にやってみましたが
クラスとか初めて書いたのでカナ-リ行き当たりばったりで、
書き方も間違いだらけだと思います。
deleteとかもよくわかんないし…
0295初心者
NGNG理論・電力と一通りやり、あと少しで機械に突入します。
機械に入ると制御問題も出てくるので、よりいっそうc++の知識が
役に立つと思います。
0296276
NGNG#define QTY 10
list[ i ] = rand() % 100;
というように大きな問題は小さくしてからデバッグした方がよいよ。
うまくソートされなかったときの値を使って、
両方のプログラムの動きを追ってみるといいかと。
紙に書くなり、デバッガを使うなり、coutで途中の状態を表示するなりして。
頭の中だけでやろうとしても無理。
そこまでやっても、違いがわからなかったのなら、説明するよ。
0297276
NGNGvoid foo(int array[]) として、
関数内でarray++と書いてもはコンパイルエラーにはならない。
実際にはarrayは配列ではなくポインタ型の変数が正しい。
そのため、正確に表記しましょうというのが前者の考え方。
後者は、引数でアドレスが渡される場合、
配列の先頭アドレスである場合と変数のアドレスである場合とが
あるので、その違いを表記しましょうという考え方。
変数名やコメントで配列であることを表記したりもできるので、
それほどメリットはないです。
一概にはどちらの書き方がよいとはいえないので
>>292 でいわれているように好みでいいかと。
2通りの考え方があることを知って欲しかっただけです。
0298デフォルトの名無しさん
NGNGコードは見てねえけど、がんばれー。
読んで、試して、なんか変だと思ったら、また本を読む。
そのうち、何が巧くないやり方で、なにが巧いやり方なのかわかる
ようになるよ。
仕事と関係ないところで、ガシガシためしてね、
腕を磨きなさいよ。`
0299153
NGNG>>288の違い、わかった気がします。
交換される回数とその後のカウントばかりに気をとられていて、
その前のループによるカウント回数の違いに気づいていませんでした。
上手くいかない方は、最初の呼び出し時の交換後にsmallとbigが同値になると
再帰される範囲に同値の要素が含まれない為、上手くソートできない場合がある。
上手くいく方は、交換後にsmallとbigが同値でもbreak前のループを通るので
同値の要素が再帰される範囲に含まれ、OK。
これであってますか?
0300276
NGNGあってます。
arrayが 3, 4, 2, 5, 6 の場合を考えると楽です。> 他の方
>>294 については、出題者の意図とあっていないと思う。
たぶん、順次表示はいらなく、クラスには表示機能を持たせないと
考えていると思う。
0301153
NGNGこんな感じでしょうか?
getDataとgetTimeを追加してcon_outをなくしました。
http://perlnewbold.hoops.jp/cbasket2.cpp
実は線形リストというのがよく分からず、
検索をかけてそれっぽいものを参考にしたのですが
とりあえず方向としては間違ってなかったんですね。
一応>>132の6)までいったので、>>148に挑戦したいと思っています。
形になったらageっちゃたりしますので、よろしくお願いします。
0302276
NGNG方向は間違っていないです。
別の意味で方向は逆にした方がいいかもしないけど… ま、いいか。
>>220 より
> 但し、線形リスト全体をクラスメソッド"push"と"pop"を持ったクラスとして
わかっているかもしれないけど、暗に「スタック(stack)」と呼ばれるデータ構造を
実現するクラスを作るように言っています。
「スタック」と「逆順」には深い関係があります。
関連するキーワードは「待ち行列」「キュー(queue)」「FIFO」「LIFO」など
あと「メソッド」じゃなく「クラスメソッド」って書いてあるね。
オレも読み落としてたよ。
0303276
NGNGやっぱりこれなしにしてくれ。
0304153
NGNGスタック!全然気がついていませんでした。
popで最後の要素を返せば良かったんですね。
http://perlnewbold.hoops.jp/cbasket3.cpp
そういえばpopは最終要素の「取り出し」ですもんね。
0305153
NGNG>>148 - 7)できましたヨ!どでしょ?
http://perlnewbold.hoops.jp/koch.cpp
http://perlnewbold.hoops.jp/koch.zip(実行ファイル / 17KB)
ウィンドウ作るのだけでメチャメチャ手間かかりました。
あと、曲線の終端がなかなか合ってくれないんです。
適当にいじってたら合った感じなのでソレでヨシとしてます。
ウィンドウできたら、凄いことやった気になれて楽しかったです(^-^
0307276
NGNGTboxがクラスの外に出ては線形リストが外部から隠蔽されたことにはならない。
普通 popの戻りの型はpushの引数と同じ型にする。
while ( pointer->next != NULL ) {
pointer = pointer->next;
}
これはなくてもいいように思うけど。まずいの?
>>305
これに関しては図はみたことあるけど、あまり知らない。
Windowsのプログラミングも少ししか知らないので、
他の方がみてくれた方がいいかも。
だからといってみない訳ではないですけど。
0308153
NGNG>Tboxがクラスの外に出ては線形リストが外部から隠蔽されたことにはならない。
Σ(゚д゚lll)ガーン
>普通 popの戻りの型はpushの引数と同じ型にする。
入れたものと同じ形で取り出すワケですね。
ってことは、intでtimeとdataの両方は返せないから、
入力回は素直にmain側で管理、ですか。
while ( pointer->next != NULL ) { 〜 は要らないですかね。
getDataとか付けてた時のままにしてました。
0309276
NGNG>> 普通 popの戻りの型はpushの引数と同じ型にする。
STLのstackをみてみたら、
・VC++6.0
value_type& top()
const value_type& top() const
void push(const value_type& _X)
void pop()
・g++(egcs-2.91.66)
reference top()
const_reference top() const
void push(const value_type& x)
void pop()
となっていた。今回作成したpopは
STLのstackのtopとpopを組み合わせたものにあたる。
C++とはずれるけどJavaのAPIは、
Object peek() // top相当
Object pop()
Object push(Object item)
となっていた。
普通というわけではありませんでした。スミマセン。
0310276
NGNG> while ( pointer->next != NULL ) { 〜 は要らないですかね。
> getDataとか付けてた時のままにしてました。
push()で pointer = newbox; としているから、
pointerは「最後にpushされたデータを保持するTboxを指す」といえる。
Tboxのpreは「1つ前にpushされたデータを保持するTBoxを指す」、
Tboxのnextは「1つ後にpushされたデータを保持するTBoxを指す」といえるので、
pointer->next != NULLという条件式は
「最後にpushされたデータの1つ後にpushされたデータを保持するTboxはあるか?」
という意味になる。
「最後の1つ後」は変なので、バグか?要らないのか?など考える。
という感じで、意味や役割をはっきりさせると流れを追わなくても、
おかしい場所がわかることがある。
今回はpointer->nextは必ずNULLにしているので、要らないことがわかる。
意味が変だけど、必要で正しいのなら、どういう処理をしているかを
コメントで入れてあげれば次に読むときに楽になる。
あとこの方法は、名前と意味があっていなかったり、
複数の意味を持っていたりするとやりにくくなる。
0311デフォルトの名無しさん
NGNG0312わからん
NGNGint *i = new int;
RECT *rc = new RECT;
って事はやっていいのですか?
0313デフォルトの名無しさん
NGNG・・・つーか、なんでダメなわけ?
0314デフォルトの名無しさん
NGNGOKですが、何か?
0315276
NGNG形がいびつになる(ならない?)のは、
double→intへ変換されるときに切り捨て代入されるから。
横線では X だけなのに、斜め線では X と Y 両方。
そのため、段段短く…。
03161より初心者
NGNG書いてみました
いnt main (void)
{
int a;
int b;
for(b=1;b<=9;b++)
{
if(b<2)
{
cout << " " ;
}
else
{
cout << b <<" ";
}
for(a=1;a<=9;a++)
{
cout << a*b <<" " ;
if(a*b/10<1)
{
cout << " ";
}
}
cout << '\n';
}
return 0;
}
0317デフォルトの名無しさん
NGNGコンパイルエラーに
0318デフォルトの名無しさん
NGNG"いnt main" とはこれいかに。
0319デフォルトの名無しさん
NGNG0320デフォルトの名無しさん
NGNGC++を目指してる初心者に教えるなら
いきなりcoutで教えるなぁ。
CとC++でかぶってる部分はC++で教えればいいと思う。
(mallocは教えない。newを教える。)
<<がビットシフトじゃないの?なんて初心者はまず聞かない
(って言うか知らない)し。
ソートとかコンテナの構造も、
stlすぐ使ってもらうから自分でコード
書かせたりしないな。ただ、概念だけは後でどっかで
勉強してもらう。
まずは動いて面白いと思ってもらいたいな、と。
新鮮味にかけるレスですまん。
0321デフォルトの名無しさん
NGNGSTLのアルゴリズムをバンバン使って、基本概念を覚えないと、他言語に移った
時に障害になる。だから、まずSTLを使って、次にそれをSTLを使わないで書いた
らどうなるか学習していけばいいと思う。
俺自身はSTLは熟練のプログラマが、何度も同じようなソースを書かずに済ませ
る品書きのようなものだと考えている。
それから、cin、coutから入るのは賛成。printf、scanfがオブジェクト指向をサポー
トしてないから。
スレ違いになるが、この前仕事でJavaを触る機会があったのだが、あまりのレス
ポンスの悪さに閉口した。CPUの性能を1/5まで低下させてしまう。クロスコンパ
イラならぬクロスインタープリタだなと実感した。
0322デフォルトの名無しさん
NGNGそしてJAVAが栄えていく
0323320
NGNGレスありがとう。基本概念を覚えないって言ってるんじゃないんだ。
はじめから基本概念のプログラムをやるより、
とりあえずSTL使って、すっきりしたホイッて動くもの見たほうが
今から覚える初心者がやりやすいんじゃないかと思って。
頭ごたごた使うのに慣れてない子も多いみたいだし。
運転手になるか、整備士になるかってあるけど、まずは簡単な
運転を学んでもらって、調子に乗っていただく(笑)
かなり大雑把な言い方すると、
「コンテナっていう奴にいろんなオブジェクトをまとめられるんだよ」
から入って、後で
「vectorは配列で、ランダムアクセスが速いよ。配列って言うのは…」
「listは双方向リストで、挿入が楽チン。双方向リストって言うのは…」
(俺が覚えた順序とは逆(^_^;STL知らなかったからね)
みたいに、大雑把から詳細へ行くほうがやりやすいんじゃないかと。
他言語をそんなに知らないんだけど(PerlとJavaを触ったくらいで。)
JavaだとそんなにSTLと違和感無く使えそうな感じがしたよ。
(詳細を見ないで、特徴からコンテナを選ぶ感じかな?)
Perlは以前の記憶なんで結構あいまい。
コンテナはハッシュでほとんどすませていた覚えも…。
# Perlのオブジェクト指向…面倒だよ…。
>俺自身はSTLは熟練のプログラマが、何度も同じようなソースを書かずに済ませ
>る品書きのようなものだと考えている。
俺は逆かも。例え詳細をきっちりプログラムできない人でも、
これを利用して、熟練プログラマの恩恵をこうむれるものだと思ってる。
Javaは速度問題が解決されたらすごく延びるのかもね<よく知らんけど…
あと、テンプレート早くくっつけるべし。
0324320
NGNG>だから、まずSTLを使って、次にそれをSTLを使わないで書いた
>らどうなるか学習していけばいいと思う。
あ、おんなじ考えだった。激しく同意。
323は早とちりして余計な事書いた。すまん。
0325153
NGNG>>309-310, >>315 276さん
色々とご指摘有り難うございます。
pushとpopしか付けないなら、言われているとおり不要でした。
あと、練習問題でもコメントは入れる癖をつけておくべき、ってことですね。
>>315 でご指摘の方は、DrawKochでキャストしておかないと斜めになったので
切り捨てがアヤシイかなとは思っていたんですが、回避策が思い浮かばず
一応形にはなったからヨシとシトコか、と。
0326153
NGNGコンマ区切りの文字列を分割するには、どうすればいいのでしょうか?
とりあえず自分で調べた範囲ではこんなに長くなりました。
Perlでの @array = split( /,/, $line ) みたいな単純な方法ありますか?
void main( void )
{
string str, temp;
int left, right;
str = "hoge,moge,hage,giko,mona,fusa,zpnu";
cout << str << endl;
left = str.find_first_not_of( "," );
while ( left != string::npos ) {
right = str.find_first_of( ",", left );
if ( right == string::npos ) {
right = str.length();
}
temp = str.substr( left, right - left );
cout << temp << endl;
left = str.find_first_not_of( ",", right );
}
}
0327デフォルトの名無しさん
NGNG0328デフォルトの名無しさん
NGNG#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;
int main()
{
string str = "hoge,moge,hage,giko,mona,fusa,zpnu";
istringstream is(str);
char buf[128];
cout << str << endl;
while (is.getline(buf, 128, ','))
cout << buf << endl;
}
0329デフォルトの名無しさん
NGNGスマソ。#include <iomanip>は不要デス。
0330デフォルトの名無しさん
NGNG{
for (int i = 1; i <= 9; i++){
for (int j = 1; j <= 9; j++){
cout.width(3);
cout << i * j;
}
cout << endl;
}
return (0);
}
0331デフォルトの名無しさん
NGNG0332153
NGNGついでというとなんですが、意地でcharを使わないには、こんな風にするしかないですか?
string str = "hoge,moge,hage,giko,mona,fusa,zonu";
istringstream is( str );
string buf = str;
//もしくはbufを用意せずstrを使い回す
while ( is.getline( (char*)buf.c_str(), str.size(), ',') )
cout << buf << endl;
0333デフォルトの名無しさん
NGNGgetline(is, buf, ',');
が可能。
(char*)buf.c_str()
はするべきではない。
0334153
NGNGそうか、istringstream isはcinから読み込む時と同じように扱えるんですね
(ストリームだから?)
おかげさまでスッキリ収まりました。
>(char*)buf.c_str()
>はするべきではない。
これは、編集不可にしてあるものを弄るな。という理由ですか?
0335デフォルトの名無しさん
NGNGいやそんなの見たことねえけど、stringの実体にropeとか使ってる
処理系だとそのポインタを使って書き込みしても、オブジェクトが
更新されない可能性あるし。
いろんな意味があって、constになっている。
よく知らずにキャストはするなバカ詞ね。
0336デフォルトの名無しさん
NGNGCopyOnWriteとか使われてたらうまくいけば他のcstringの
c_str()の内容も変わる程度だが...
歴史的経緯もあるが、しっかりしたconstの意味を
把握しないとだめだーね。
0337デフォルトの名無しさん
NGNG「オレは今大変な間違いを犯してるんじゃないか」と唱えろ。
三回唱えて自身がなくなったらキャストやめるかクビ吊れ。
0338153
NGNG( ⌒ ヽ 出来るようにしたらいいのかと思ってました…
∪ ノ
∪∪
0339デフォルトの名無しさん
NGNG>(ストリームだから?)
ここまでで終わらず、同一の基底クラスから(このケースは厳密には違うが)
派生したクラスだという事をキーワードにして
ここでのgetlineの動作の仕組みを理解するべき。
>>(char*)buf.c_str()
>>はするべきではない。
>これは、編集不可にしてあるものを弄るな。という理由ですか?
STLにおいてconstのポインタで返されるもののconstを、キャストではずす
ことはまずありえない。そういう時は他の方法が無いか探すこと。
キャストはほとんど使う必要が無いものだ。
しかも、なんでも変換のCのキャストは危険。
C++のキャスト(static_cast等)を調べて身につけること。
0340デフォルトの名無しさん
NGNG0341tamori
NGNG0342デフォルトの名無しさん
NGNGString, cout を一度もつかったことがない ショボーン (・q・)/
0343デフォルトの名無しさん
NGNGDWORDだったりLPARAMだったり、void*以外も多いんで、
reinterpret_cast連発することになるから、意味無い
0344デフォルトの名無しさん
NGNG継承したクラスを
コピーコンストラクタでクラスを初期化したときのことです。
継承元のクラス・・コピーコンストラクタを自分で作成。
継承したクラス・・・コピーコンストラクタを自分で作成。
この条件だと、
派生元のクラスのデフォルトコンストラクタ
派生したクラスのコピーコンストラクタ
が呼ばれます。
継承元のクラス・・コピーを自分で作成。
継承したクラス・・・作成しない。
この条件だと、
継承元のコピーコンストラクタ
継承したクラスのコンストラクタは、なにが呼ばれたか不明です。
自動生成されたコピーコンストラクタが呼ばれてると思うのですが
それで正しいのでしょうか?
0345デフォルトの名無しさん
NGNG後者は、自動生成された派生クラスのコピーコンストラクタが、親クラスのコピーコンストラクタを呼んでいる。
0346デフォルトの名無しさん
NGNG別にいいんでない?
いつでも使おうと思えば使えるんだろ?
今必要でないだけで。
0347デフォルトの名無しさん
NGNG継承元のコンストラクタは、継承先で明示的に呼び出さないと、デフォルトの
コンストラクタが使われる。
例えば継承元のプライベートメンバをコンストラクタで設定したい場合は次の
通り。
class A {
private:
int a;
public:
A(int i) : a(i) {}
};
class B : public A {
B(int i) : A(i) {}
};
int main()
{
}
0348デフォルトの名無しさん
NGNGスマソ。コピーコンストラクタの話だったね。申し訳ない。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG#include<cstdlib>
#include<time>
using namespace std;
int main()
{
srand((unsigned)time(NULL));
if(rand()%2 == 1){
cout << "age" << endl;
}
else {
cout << "sage" << endl;
}
return 0;
}
0351デフォルトの名無しさん
NGNGもう少しC++流にやるなら
srand(static_cast<unsigned>(time(NULL)));
0352デフォルトの名無しさん
NGNGcout << ((rand()%2) ? "age" : "sage") << endl;
0353デフォルトの名無しさん
NGNGこの後、機能拡張しようと思ってifブロックに入れました(ウソ)
0354デフォルトの名無しさん
NGNGsrand((unsigned)time(NULL));
と
srand(static_cast<unsigned>(time(NULL)));
にはどういう違いが?
0355デフォルトの名無しさん
NGNGC++のキャストは castで検索すればすぐに見つけられるがC形式のキャストは
そうはいかない。
0356機能拡張まで考えた@352
NGNG#include<cstdlib>
#include<time.h>
using namespace std;
namespace MAX{
const int MESSAGE = 2;
}
int main(void)
{
string Message[MAX::MESSAGE] = {"age","sage"};
srand(static_cast<unsigned>(time(NULL)));
int Random = rand() % MAX::MESSAGE;
cout << Message[Random] << endl;
return 0;
}
0357デフォルトの名無しさん
NGNGageは5%、sageは95%の確立で出力されるようにしてください
「お前がやれ」って?・・折れは・・・その・・・初心者なんで(゚д゚)
0358デフォルトの名無しさん
NGNGcout << Message[Random] << endl;
数字直打ちだけど、とりあえずコレで足りるだろ。
0359デフォルトの名無しさん
NGNGリリースバージョンはどうやって作製するのでしょうか?
どういじりまわしても、デバグバージョンしか出てきません。
嫌われているのでしょうか?
御教示、おながいします。
0360デフォルトの名無しさん
NGNGVC++スレで聞けば?
0361デフォルトの名無しさん
NGNG了解しました。有難う御座います。
0362デフォルトの名無しさん
NGNGプロジェクトのオプションも見ずに・・・。
以前にリリースする気???
0363デフォルトの名無しさん
NGNG0364デフォルトの名無しさん
NGNGこれでは一番難しいと言われるポインタで死にますかね?
覚えたものとしてはprintf,変数,if,switch,for,while,関数作るな感じです
0365デフォルトの名無しさん
NGNGだから先人達はアセンブラをやれとあれほど(じゃなくて)
>>364
難しくありません死にません単純なことだからやる気と素質があれば1日でわかります。
0366デフォルトの名無しさん
NGNGマジレスありがとう。
かなり安心できたヨ
0367デフォルトの名無しさん
NGNG0368365
NGNGあとはCの詳細をちょこっと読む、完璧。
なんつーか2,3日でそこまで行けば十分でしょ。
希望あるから頑張りな>>364
0369デフォルトの名無しさん
NGNG激しく感動
いや、ホントありがとう。
0370デフォルトの名無しさん
NGNGポインタは、徐々に理解できるというたぐいのものではなく、ある日突然理解
できると言った性質を持っているようです。
だから、わかる人にはツーツーにわかるが、わからない人にはさっぱりわか
らないという、宗教のようなものだという例えをした人もいます。
何せ、あまり深く悩まないで下さい。必ず理解できますから。
0371デフォルトの名無しさん
NGNGポインタは確かに理解するとすんなり分かるんですが,
コツを掴むのに苦労するかもしれません.
勿論,そんなこともなくすんなりいく人もいるみたいですが….
私の場合は,
C言語ポインタ完全制覇
前橋 和弥 (著)
技術評論社(2001/01/01) ISBN:4-7741-1142-2
http://www.amazon.co.jp/exec/obidos/ASIN/4774111422/uselesspgsnes-22
を読みましたね.
これでかなり頭の中がすっきりしましたよ.
本屋で立ち読みしてみてはいかがでしょうか?
0372デフォルトの名無しさん
NGNGこんな書き方できたんだ、初めて知ったよ
0373デフォルトの名無しさん
NGNGぜひとも参考にさせていただきます
皆様色々ありがとうです
0374デフォルトの名無しさん
NGNG0375デフォルトの名無しさん
NGNG0376デフォルトの名無しさん
NGNG0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG0379デフォルトの名無しさん
NGNG0380デフォルトの名無しさん
NGNGナニイッテヤガル・・・・・
0381ああ
NGNG0382デフォルトの名無しさん
NGNGいいじゃないか、理解するのに時間をかける代わりに深く理解する奴もいるし、
すぐ理解する割には応用が利かない奴もいる。
初心者のみなさまは気にせずに、心ゆくまでジクーリと勉強してくださいね。
0383デフォルトの名無しさん
NGNG>>381は、Cだけ熟知してて、C++の概要をほんの少し知って『C++はまあ、大体こんなもんだろ』と、
斜に構えて見てるだけか?
そういう状況なら、勘違い発言も平気で出来るだろうな。
かつてオレがそうだったヨ。
0384デフォルトの名無しさん
NGNG↓
分厚くてたるい。結局Cとどう違うんだ?
↓
CとC++の言語仕様的な違いを調べる
↓
なんだ最近のCとかわんねー。クラスがあるだけか
↓
例外はよくわからんけどエラーチェックは戻り値で十分だろ ....(A)
↓
テンプレートってエラーばっかりで使い物にならん
↓
クラスの仕様が分かった。簡単じゃん
↓
継承・多態覚えた。(゚д゚)ウマー
↓
C++覚えた。楽勝 ....(B) <= >>381 たぶんこの辺
↓
デザパタ読んだ。すでにCでやってたってばよ。継承・多態が楽になっただけだよ
↓
C++結構遅い(Cと比べて)
↓
多態使いすぎでわけわからん。どうしよー。
↓
テンプレート覚える。(゚д゚)ウマー
↓
コンテナクラス作ってみる。(゚д゚)ウマー
↓
例外使ってみる。メモリリークしてばっかりだめだこりゃ
↓
Efficient C++読んでみる。STLよくわからん。
↓
STL使ってみる。(゚д゚)ウマー
↓
今まで作ってたコンテナ捨て捨て
↓
Exceptional C++読んでみる。例外安全(゚д゚)ウマー
↓
Modern C++読んでみる。上には上がいるがここまでやったらバカだ
↓
プロジェクトで使い物になりそう
↓
同僚が(A)ぐらいのレベルなんで差が有りすぎてだめじゃん
0385デフォルトの名無しさん
NGNG0386デフォルトの名無しさん
NGNGその代わりその3日間は丸々つぶしたけど。
0387デフォルトの名無しさん
NGNG暖かくなると出てくるんですよね、困ったものですヽ(´ー`)ノヤレヤレ
0388デフォルトの名無しさん
NGNG1さんは、どうなったんだよ!?
0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNG0391デフォルトの名無しさん
NGNGっていってるくらいハレンチな言い分だ。
0392デフォルトの名無しさん
NGNGあたりは3日もかかって理解できなかった白雉ですか?
0393デフォルトの名無しさん
NGNG0394デフォルトの名無しさん
NGNG0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNG↓
会社更正法申請、人員削減で失業
初心者の皆様、プログラムは趣味の域に留めておくべきだよ。
0397デフォルトの名無しさん
NGNG0398デフォルトの名無しさん
NGNG>>132をやってみようと思うので、添削お願いしてもよろしいですか?
ちなみにプログラムはC++が始めての挑戦なのでお手柔らかにお願いしたいです…
今のところ1だけですが…
#include <iostream>
using namespace std;
void main (void){
int i = 1;
cout<<"九九の表示をします"<<endl;
cout<<" 1 2 3 4 5 6 7 8 9"<<endl;
cout<<"-------------------"<<endl;
while(i <= 9){
cout<< i <<"|";
for(int j = 1; j <= 9; ++j)
cout<< i * j <<" ";
cout<<endl;
++i;
}
cout<<"-------------------"<<endl;
return;
}
0399デフォルトの名無しさん
NGNGまず int main(void)と書く癖を付けよう。
次に、最後のreturn; は取ろう。C++はノーエラーの時は0を返します。
次に、全部の行にendl;はその都度バッファをフラッシュするので、'\n'にしよう。
endlは最後に一つで十分。
0400デフォルトの名無しさん
NGNGほー、endlってフラッシュするんだ。知らんかった。
環境毎の改行をendlで吸収しているだけかと思っていたが、
言われてみれば、なるほど「\n」というエスケープシーケンス
で既に吸収しているのか。勉強になるなー。
0401デフォルトの名無しさん
NGNGじっそういそんです。
じっそういそんです。
じっそういそんです。
じっそういそんです。
じっそういそんです。
じっそういそんです。
じっそういそんです。
0402デフォルトの名無しさん
NGNGmain関数はint型ですか。
チョト質問です。mainをint型にしてretrun;をとったらコンパイラに警告されたんですけど
無視してもいいんですか?
あと、最後のendlが反復の中にあるときは中は\nにして
外でendlを入れたほうがいいんでしょうか?
んで2もやってみました。
#include <iostream>
using namespace std;
int main (void){
int no[99];
int i = 0;
cout<<"出力するには0を入れてください。\n";
while(i < 100){
cout<< i + 1 <<"番目の数字を入力してください。=";
cin >> no[i];
if(no[i] == 0)
break;
++i;
}
cout<<"逆に出力します。\n";
while(i != 0){
cout<< i <<"番目の数字を出力します。="<< no[i-1] <<endl;
--i;
}
return 0;
}
0403398
NGNGスマソ…二番目の質問は無視してください…
0404デフォルトの名無しさん
NGNG戻り型(int)が指定されてるのに、値を返さない return; があったので
警告がでたんだよ。
とりあえず return 0; しときなさい。
0405398
NGNG2をちょっと変形しました。
#include <iostream>
using namespace std;
int main (void){
int no[99];
int i = 0;
cout<<"出力するには0を入れてください。\n";
while(i < 100){
cout<< i + 1 <<"番目の数字を入力してください。=";
cin >> no[i];
if(no[i] == 0)
break;
++i;
}
cout<<"入力順に出力します\n";
int j = 0;
while(i != 0){
cout<< j + 1 <<"番目の数字を出力します。="<< no[j] <<endl;
++j;
--i;
}
cout<<"平均=";
i = j;
int goukei = 0;
while(i >= 0){
goukei += no[i];
--i;
}
cout<< goukei / j <<endl;
return 0;
}
もっとスマートにできる方法はないのだろうか…
4は保存の仕方がわからないのでチョトあくかもしれないです…今日はネリュ
0407デフォルトの名無しさん
NGNGもっと遙かにスマートだけどちんぷんかんぷんな書き方もあるけど、
とりあえずforでループしなさい。
0409デフォルトの名無しさん
NGNG一個ずつ処理する場合は普通、forを使う。
それ以外にも変則的な使い方もできるけど、
わざわざwhileでは書かないねえ。
forだと、ループ変数の初期値と、継続条件、カウンタの処理が
一行に書けるからすっきりするでしょ?
whileだと、
初期化
while(継続条件) {
;
;
;
カウンタの処理
}
になって分かれちゃって見づらいし、
カウンタの処理書き忘れたり、continueやったらカウンタそのままで
永久ループしちゃったりとか、悲しいことが多いでしょ?
0410398
NGNGってことは、処理する回数が決まってるもの(事前に決められているもの)はforをつかって、
真か虚かで判断するものはwhileをつかえってことですか?
それならなんとなくわかりますね。
0411デフォルトの名無しさん
NGNGコンパイラは何ですか?
0412デフォルトの名無しさん
NGNGそうじゃないならwhile
でも、あえて違うのを使うこともありってことだね。
do while も忘れないようにね。
forやwhileではすっきり書けないものが書けることあるから。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNG俺マカーなんだよねぇ…(TДT)
Macの開発ツールってなに?
0415398
NGNGMS C++6.0のプロジェクトWin32 Console appでつくってます
"main":関数の戻り値の型が指定されてません。戻り値をvoid型とみなします。
っていわれます。<return 0;が無いと
>>421
はい。いろいろ使い分けてみます。
0416デフォルトの名無しさん
NGNGmacの開発環境は貧弱だ。
0417デフォルトの名無しさん
NGNGvoid main(void)
{
:
:
}
ってやればいらないよ。
あ、(void)は適当に書き換えてね。
0418398
NGNG>>399でint main(void)ってやれっていわれたんですが…
void main(void)の時はたしかに言われませんでした。>return;なくても
どっちがいいんでしょうかね?
0419デフォルトの名無しさん
NGNGあ、確かにVC++6.0はreturn 0; を除くとエラーになりますよね。
しかしそれは古いC++の規格です。ANSI-C++ではmain()に限り
値を返さないと暗黙のうちに0が返されます。
0420デフォルトの名無しさん
NGNG成功か失敗かを表す何らかの値を返すべきだと思うがどうよ?
俺は基本的にunsignedの型にして成功=0、失敗=エラーコード(>0)ってしてる。
privateのメンバ変数に値をセットするような単純なメソッドはvoidだけどね。
0421デフォルトの名無しさん
NGNGたしかVC++はあまり正確に準拠してないはず。
たとえば
for( int i = 0 ; i < 100 ; i++ )
printf("hoge");
for( int i = 0 ; i < 100 ; i++ )
printf("hage");
って書くとintが2重に定義されてるとエラーを吐く。
0422デフォルトの名無しさん
NGNGWin使う予定も金もないし、まぁいいや。
0423デフォルトの名無しさん
NGNGそれはケースバイケースじゃないかなあ。成功や失敗のステータスは
複数返さないといけない場合が多く、それに対して返り値は一つしか
持てないから、構造体にしてでも返さないといけなくなる。
そういう場合は例外を使ってエラー報告している。例外は重いので
ステータスを返すのに使ってはいけない。
0424デフォルトの名無しさん
NGNGべつにいいんでないの?
その場に応じてやるなら。
ただ、アプリケーションのmainの戻り値がOSに返されることを
理解せずに、いわれたままvoid mainとか main(){return; }するのが
ダメなのは同意。
ほとんどの関数で成功、失敗を返すかどうかは、また別次元の問題。
処理した結果のみを返すコーディングをする場合、エラーに対しては
例外を投げるのが正しい。
旧来のCから引き継いだコードを手直しするのがばからしいので、
そのまま戻り値でエラーチェックをする、というのも正しい。
他言語を睨んだライブラリやOS のAPIみたいに、例外が処理できない
環境が有る場合は、関数の戻り値で返すのがスマートだとも言える。
なんか君の意見は場違いなきがする。反省しる。
0426デフォルトの名無しさん
NGNGfor文の中で定義した変数の寿命に関する問題ですね。
最新版のVC++では直っているのか?
0427デフォルトの名無しさん
NGNGその通りです。for文内で定義した変数のスコープは、for文内に
限られます。
0428デフォルトの名無しさん
NGNG#define for if(0);else for
#endif
をアプリケーションの共通インクルードファイルの頭においとけ。
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNGだがべつに、神経質になるほどのものではない。
0431デフォルトの名無しさん
NGNG0432デフォルトの名無しさん
NGNG一般化した例外クラス、クラス・アプリケーション固有例外クラスをわざわざ派生させなきゃならないから、
作業量が多すぎる
0433デフォルトの名無しさん
NGNGlogic_errorを投げるくらいなら、基本的にassertするべき
0434デフォルトの名無しさん
NGNG0435デフォルトの名無しさん
NGNGあったとかなんかで読んだんだけどa.outなんかのどの辺りに
問題があったんでしょうか?
0436デフォルトの名無しさん
NGNGオブジェクトファイル形式?実行形式?
オブジェクトファイル形式なら、関数の多重定義に既存のリンカが
使えるような留意がなされていたと思うけど、激しく勘違いですた。
0437デフォルトの名無しさん
NGNG呼び出し側では、無視してもかまわないと判断した例外もすべて補足してやらないといけない。
ちょっと面倒なんだよなぁ。
0438デフォルトの名無しさん
NGNGcatch (...) とか言ってみるテスト。
0439デフォルトの名無しさん
NGNGそれをすべての呼び出しに書かなきゃいけないのが面倒。
0440デフォルトの名無しさん
NGNG無視して構わない例外は送出すべきではない。
0441デフォルトの名無しさん
NGNGたとえば、UI出して、ユーザになんか選ばせて、
がーーーーっと計算して答えをさいごにちょビット出す場合、
計算に失敗したらもうだめなの確実だろ?
try {
計算いってこいやゴルァ()
}
catch (...)
{
MesageBox("もうだめぽ");
}
で、計算中はデータが全部正しく入ってくるものとみなして
よけいな戻り値チェックはしない。
で、エラーがあったら例外送出。
だろ。
計算の場合は簡単だが、そうでないアプリも、そうでないなりに、
エラー処理を例外で処理すれば簡単になる場面は多い。
はっきり言う、いちいち呼び出しごとに例外処理するのはバカだ。
すべての呼び出しに書かなきゃいけないなら、そりゃ設計が悪いのだ。
0442デフォルトの名無しさん
NGNGこれは省略できない。
しかし例外キャッチするところを最低限の数に押さえれば
面倒、というほど面倒な数には鳴らないはず。
0443デフォルトの名無しさん
NGNGま、実際ちゃんとしたのを書きたかったらその程度の作業は苦にはならないけどね。
0444デフォルトの名無しさん
NGNG戻り値で処理すべきなんでは...
まあ、どっちで書いても、わかってるやつが書けばそれほど
変にならないけどね。
0445C++使い
NGNG0446デフォルトの名無しさん
NGNGというのがC++使いの統一見解です。
0447デフォルトの名無しさん
NGNGポインタをtryブロック内で宣言できない。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNGSTLのコンテナかauto_ptr, shared_ptrを使いましょう。
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG>>405
バグがあるようだけど…
0456デフォルトの名無しさん
NGNG#include <iostream>
using namespace std;
int main()
{
const int jikyu =1200;
int hour;
cout << "How many hours have you worked?"<<endl;
cin >> hour;
cout <<"Your salsary is "<<hour*jikyu<<" yen."<<endl;
return (0);
}
0457デフォルトの名無しさん
NGNG漏れの買った
「An introduction to Programming with C++」
Diane Zak
という本では
int main()
になっているのだが、int main(void)と書かねばいけない理由でもあるんでしょうか?
0458デフォルトの名無しさん
NGNG0459デフォルトの名無しさん
NGNGcだとmain()は不定個数の引数を受け取るという意味。
main(void)だと受け取らないことを明示する書き方
0460デフォルトの名無しさん
NGNGint main()
は何でも受け取れるらしい
C++での()は完全にvoidらしい
0461デフォルトの名無しさん
NGNGつーか、Cでint main()やると、引数のチェックがされないだけで、何も受け取
れないだろ。C++のint main()は、完全にint main(void)と同じ意味。
0462デフォルトの名無しさん
NGNGと同義?
0463デフォルトの名無しさん
NGNGintを省略してmain()と書いたら、int main(...)と同義になる。void main(...)とは
ならない。
0464デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG0468デフォルトの名無しさん
NGNG0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG0472デフォルトの名無しさん
NGNG0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG0475デフォルトの名無しさん
NGNG私の手元には「VC++.NetStanderd」と「C#.NetStanderd」があります。
言語はどちらもサパーリ分かりません。作ってみたいソフトは簡単な
たとえばソリティアみたいなカードゲームと、インベーダーゲームです。
思わず衝動買いしてしまったのだけど・・・。
0476デフォルトの名無しさん
NGNGHSP
0477デフォルトの名無しさん
NGNG0478デフォルトの名無しさん
NGNGおれもHSPをお勧め。
0479デフォルトの名無しさん
NGNG悪いことは言わん。俺もHSPを勧める。
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGえ・・・お呼びでない?
こりゃ失礼。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGDOSだってGUI出来ます。帰れ。
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNG買えよ!下手なドラッグよりキクぜ!!
0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNG0493デフォルトの名無しさん
NGNG>>490
それ入門書なの?
0494490
NGNG0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG>>1がんばってください。
0497デフォルトの名無しさん
NGNG0498デフォルト
NGNGvoid main(void)
{
int a;
printf("整数値を入力")
scanf("%d",&a);
printf("a=%d\n",a);
}
上のプログラムを変更して
実数(小数)の値を扱えるようにするには
どうしたら良いのか教えて下さい。
初心者なのでさっぱり分かりません。
0499デフォルトの名無しさん
NGNGまず、"整数値を入力" と言うのを "実数値を入力" に直せ。
話は、それからだ。
0500デフォルトの名無しさん
NGNG0501ちっ
NGNG×aはintを
○aは整数を
0502デフォルトの名無しさん
NGNG{
int a;
printf("実数値を入力(ただし、16bit固定少数とすること)")
scanf("%d",&a);
printf("a=%d.%d\n",a>>16, a & 0xffff);
}
0503デフォルトの名無しさん
NGNG>>502は甜菜
0504デフォルトの名無しさん
NGNGおっさん、最近のintは32ビットや。
0505デフォルトの名無しさん
NGNG>>502はなぜかプログラムは32ビットのintとして書いてあるように思える。
0506デフォルトの名無しさん
NGNGその前に、「小数点数」ってなんだよ。お前のテストの点数のことか ?
0507デフォルトの名無しさん
NGNGうまい! やまだくん、うたまるさんにいちまい!
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG中学校 (だっけ ?) からやり直せ。
0510デフォルトの名無しさん
NGNG0511小数点数って知らないのか?まじ?
NGNG0512デフォルトの名無しさん
NGNGhttp://www.cs.berkeley.edu/~wkahan/ieee754status/IEEE754.PDF
0513511
NGNG>>512は役に立ちそうだ。さんきゅう。
ちなみに、俺のいなかでは、
自然数の定義:なし
整数の定義:自然数とマイナス付き自然数と0
有理数の定義:整数のペアの同値類
実数の定義:有理数列の同値類
0514デフォルトの名無しさん
NGNG自然数の定義:なし
整数の定義:自然数とマイナス付き自然数と0
自然数に定義の定義が不可能なら整数の定義も不可能では?
0515デフォルトの名無しさん
NGNGそんなあなたにプレゼント。
問:砂、小石、石、岩の4つを循環定義にならないよう定義すること。
#すれちがごめっ
0516デフォルトの名無しさん
NGNG岩=石の上に山が乗ったもの
小石=石の左に小がついたもの
砂=石の右に少がついたもの
0517デフォルトの名無しさん
NGNG漏れは
for( i = 0; hoge; ++i );
を有限回ループして得られる値iの集合 程度の認識なんだけど。
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNG実数:アレフ1の数集合のうち最小限のもの。
といってみるテスト。
0520デフォルトの名無しさん
NGNG0って自然数だっけ?(マジシツモン)
0521511
NGNGんじゃ、スレを本筋に戻すぞ。よっこいしょ。
アセンブリ言語の定義:なし
Cの定義:構造化アセンブリ言語
C++の定義:Cを美しく改良した最高の言語
Javaの定義:C++から危険因子を取り去った簡易言語
C#の定義:Javaのバッタもん
managed C++の定義:いい加減にせんと殺すぞ、こらぁ。
VB.NETの定義:お気の毒に。
Delphi.NETの定義:君たち、プライドって言葉知ってる?
J#の定義:すみません。もうどうにでもしてください。
0522デフォルトの名無しさん
NGNG0523デフォルトの名無しさん
NGNGほぼ同感。
0524デフォルトの名無しさん
NGNGだから最低1回実行ということだと思われ。
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNG052730(1ヶ月ぶり)
NGNGもうやめたのか?まさか
0528デフォルトの名無しさん
NGNG>0って自然数だっけ?
代数的な構造を考慮に入れるなら、0も自然数。
負でない整数=自然数、ということ。
ただ、工学、専門的なコンピュータの世界ではどうなのか知らない。
0530デフォルトの名無しさん
NGNG高校生以下なら自然数は1からと決められていたはず。
上の話は大学以上。
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNGのとりうる値の集合+0・・・・違う?
0533デフォルトの名無しさん
NGNGごめん>>513のこと
0534デフォルトの名無しさん
NGNG定義不能、ってことじゃないの? あるいは、ペアノの公理系を満足する
何物か。おれたちが素朴に心の中に持っている自然数も、そのひとつ。
>>513
重箱隅だが、たんなる有理数列じゃなく、コーシー列だね。
0535511
NGNGおお、マジレスが。ちょっとびっくり。
>重箱隅だが、たんなる有理数列じゃなく、コーシー列だね。
そだね。すまん。
君は数学屋さんかい?なら、こんなとことおらんか?
>>531
ごめんな。俺もわかってないかもしれん。
「自然数の定義」って読んだことあるけど、
それがほんとに定義なのか俺にはよくわからんかった。
考えていくと>>515のようになる。(>>516にはワラタ。)
なら、自然数を無定義で受け入れた方が気が楽、ということ。
俺の先生は、いきなり、「自然数は定義しない」で授業はじめやがった。
(どうだい?>>534)
0536デフォルトの名無しさん
NGNG0537デフォルトの名無しさん
NGNG0538デフォルトの名無しさん
NGNG0539デフォルトの名無しさん
NGNGでも、成績処理というサンプルコードが、世のPGの99%に過去の傷を思いださせる、という罠。
もっと明るいサンプルならよかったか?
0540537
NGNG禿同(w
まだ1/3しか読んでないけど、C本より易しいっすな。
まぁ、後半むずくなってくるのかもしれんが。
0541デフォルトの名無しさん
NGNGとりあえず実際にソース読んでみたいんだけど、
お勧めありますか?
0542デフォルトの名無しさん
NGNG0543(゚∀゚)
NGNGおれもC++をはじめてみようかと思ってるんだけど
よくわからん。アドバイスお願いします
希望としてはWindows環境でお金をかけずに。
本は2,3冊なら買ってもいい
知ってる知識としては
VC++ :MS謹製、アイコンいっぱいで良さそうだけど金かかる
Borland C++ Compiler :タダで配ってるが、面倒くさそう
Borland C++ Builder:VC++みたいなもんか。金かかる
こんなとこです。よろしくお願いします
0544(゚∀゚)
NGNGこれからやるならC++よりC#のがいいんかいな??
0545デフォルトの名無しさん
NGNGSDKにはC++も付いてくるけど。MC++だけかな?
0546デフォルトの名無しさん
NGNG0547(゚∀゚)
NGNGMC++だけみたい。
よくわかんないけども
DDKとSDKの違いもようわからん
0548デフォルトの名無しさん
NGNGDDKについてくるVCは1.52だけど、MEDDKだけらしい
0549デフォルトの名無しさん
NGNG>.NET SDKのC++は普通のネイティブも吐ける
それって、STLとか使えないやつ?
使えるんなら、情報きぼ。
BCCとどっちがいいんだろ?
0550デフォルトの名無しさん
NGNGSTL使えない奴って何だよ、言語自体は同じ物だよ。
標準でPlatformSDKとかSTL/iostreamがついてこないだけ
んなもんSTLPort入れりゃ何とでもなる
0551(゚∀゚)
NGNGちょっと面倒でもタダだし、それにすっかなー
0552あほでごめん。
NGNGリンクのアニメーションをするときに、画像を消して次の画像を
描かせてまた消してってやると画面がちらつくし綺麗に動きません。
どうしたらいいですか?
0553デフォルトの名無しさん
NGNGC#何かはデスクトップに使うには90%の価値がRADにある。
いや、ちょっと多く見過ぎかもしれないけどね。
言語仕様は悪くないし、ライブラリも充実してるんだけど、
アプリケーションを作るなら今はフルスクラッチよりはRAD使った方が良い
>>552
ダブルバッファリングしる!
ふーむ、C#はアイコン付きで開発したほがいいのか
.net SDKでC#をいじるメリットはそんなにないのね
アイコンが付くと金取られるなぁ、それはカンベンだ
.net SDKでのC#があまりオイシクないのなら、C++やるのは
borland C++ compilerでやるのも大して変わんないのか?
0555デフォルトの名無しさん
NGNG0556あほでごめん。
NGNGダブルバッファリングって何ですか?
例え話でもいいですからこういうもんだって
教えてください!
0558デフォルトの名無しさん
NGNGマイクロソフトに決まってるだろーが。
0559デフォルトの名無しさん
NGNGC#の言語仕様に萌えるならC#でやっても問題ないけど
#SharpDevelopというフリーの開発環境もある
そうでないなら、C#は.NETを通さないネイティブコードは吐けないし、
あんまりうまみがないと思うよ。
C++やるならbccの方が標準でライブラリもついてるし、
(弱いながら)最適化も搭載してるし、.NET SDKのC++よりは良いと思う。
0560デフォルトの名無しさん
NGNG検索すればごろごろ出てくるが・・・
直接画面に書かないで、メモリの中で画面を完成させてから
表示画面に一度に転送すること
0561デフォルトの名無しさん
NGNGたとえ話だけどさ
学校でさ、数学の問題なんかさ、当てられてから考えてたら時間かかっちゃうわけよ。
んで前の日に予習してノートに書いとくわけ、当てられたらそれをそのまま答えるだけ。
0562デフォルトの名無しさん
NGNGDirectXのflipのことじゃない。
0563あほでごめん。
NGNGにゃるほど。ありがとうございます。
調べてみるわ。
0564デフォルトの名無しさん
NGNGなるほど、どうもありがとう
まとめとくか
Windows環境でお金をかけずにC++をやってみたい
× VC++ :MS謹製、アイコンいっぱいで良さそうだけど金かかる
× Borland C++ Builder:VC++みたいなもんか。金かかる
× .net SDK:C#もできるが、C#のウマミ半減。C++だけならBCCのほうが良い
◎ Borland C++ Compiler :タダで配ってる。面倒くさそうだが我慢しる!
0565デフォルトの名無しさん
NGNGちなみに、.NETのC#とC++は別物だから一緒くたにしないように
0566デフォルトの名無しさん
NGNG0567デフォルトの名無しさん
NGNGデバッグがTDだからめんどくさい!
っていうか、watcom使いましょう。
ソースも公開されたし統合環境もソースデバッガもついてきます。
最適化もbccよりは遙かに効きます
0568デフォルトの名無しさん
NGNGコンパイルができればいい。
0569デフォルトの名無しさん
NGNG0570(゚∀゚)
NGNGすげーいっぱいあるんだけども
http://www.vector.co.jp/vpack/filearea/win/prog/c/index.html
>567
watcomはBCCよかいいの?
0571デフォルトの名無しさん
NGNG標準で出来ることはbccの方が多いけど(WinSDK/STLついてる)
環境を整備すれば統合デバッガやSpy/リソースエディタなどがついてる分、良い環境になるよ。
コンパイラ自体の性能も高いからね。
標準準拠度はbccよりは低いかもしれない
0572(゚∀゚)
NGNGwin2000にも対応してんのかわかんないし
結局、vectorからbcc developerをいれることにしたよ
まとめとくか
Windows環境でお金をかけずにC++をやってみたい
× VC++ :MS謹製、アイコンいっぱいで良さそうだけど金かかる
× Borland C++ Builder:VC++みたいなもんか。金かかる
× .net SDK:C#もできるが、C#のウマミ半減。C#使わずC++だけならBCCのほうが良い
× watcom:オープンソースのC++。現在、ダウンロードできない。
◎ Borland C++ Compiler :タダで配ってる。vectorからbcc developerを落とせばBorland C++ Builderみたくなる
0573デフォルトの名無しさん
NGNGDigital Marsは駄目か?一番だと思うが。
あと、bcc developer使うとBCB見たいになるってのは、
あまりにBCBに失礼だぞ・・・。
0574(゚∀゚)
NGNGDigital Marsってのもあるのか。しらんかった。
とりあえずBCC とBCC DeveloperでC++をはじめてみるよ
>10にある猫のページからやっていきます
0575デフォルトの名無しさん
NGNG俺は、Digital MarsはC++標準への準拠度合いが低くてちょっとなー、と
思うんだが。
0576デフォルトの名無しさん
NGNG0577549
NGNG>>550
>STL使えない奴って何だよ、言語自体は同じ物だよ。
なんかSTLPortとか中途半端な知識だけある?
VC++6.0ではSTL使えんかったのよ。知ってる?
(またパーなレスあると嫌だから言っとくと、STLを使うと、
コンパイルできなかったり、できても不安定だったり、
つーことな。)
まあ、以後のレスを見るとbccでいいかって感じだな。
bccでこまったことはないから。
0578デフォルトの名無しさん
NGNGハァ?あんたアフォですか?
Dinkumware/Rogue Wave/SGI STL(STLPort)
ばっちり使えるんですが?
メンバーテンプレートをキッチリサポートしてないとか、制限は勿論あるけど
それの代替え実装もきっちりあります。 STLが使えない ってワケじゃないんですが?
VC6.0を貶してみたいだけですか?
あんたが言ってるのは
VC++は標準C++に完全準拠してないからC++使えんかったのよ。しってる?
これと同レベル。
0579デフォルトの名無しさん
NGNG話はそれからだ。
0580デフォルトの名無しさん
NGNG0581デフォルトの名無しさん
NGNG部外者だけど、Lokiのライブラリとかかな。
詳しくは「Generic〜」スレ参照。
0582デフォルトの名無しさん
NGNG部外者でも何でも良いけど、何でLokiがSTLなんだよ?
bccでもつかえねーし。
0583(゚∀゚)
NGNGいきなり難しい。
初めての山登りで南アルプスを縦走してるような難しさだ。
がんばるぞー!!
0584578
NGNGまともな知識を持ってる奴が
>コンパイルできなかったり、できても不安定だったり、 つーことな。
>bccでこまったことはないから。
こんな発言出来ないよな。
0585デフォルトの名無しさん
NGNGhttp://www2.wbs.ne.jp/~dskoba/database/prog.htm
0586549
NGNG>あんたが言ってるのは
>VC++は標準C++に完全準拠してないからC++使えんかったのよ。しってる?
そう言ってんだけど、何か?
バグフィックスしないとgetlineも使えないんだよ。
使ったことないんじゃない?あ、日本語もダメな人?
(言っとくけど、bccが完全準拠とはいってないよ。)
0587デフォルトの名無しさん
NGNGバグフィックスすればいいじゃないか
STLPortを使えばgetlineも問題ないし、listのソートバグだって無いよ。
>そう言ってんだけど、何か?
いえ、別に何も。
んで、STLを使って"不安定になる"ソースを出してください。
おながいします。
0588デフォルトの名無しさん
NGNG世間一般では VC++6.0 はC++として使えないと言う認識なんですか?
また、VC++6.0 で STL が使えないと言うのは常識なんですか?
ココまではっきり(ボケ男くん)って言われるくらい自信たっぷりみたいで、
どうにも俺の方が自信なくなってきました
0589デフォルトの名無しさん
NGNGなるほど、「使える・使えない」という表現に本人独自の基準による
ニュアンスを込めた上で、それを読み取れない人の方に問題があると
思い込んでいるから、君はそんなおかしな言動をとるわけか。
ところでその単語レベルの稚拙な煽り、場を和ませるギャグか何か?(苦笑
0590デフォルトの名無しさん
NGNG「世間一般」と「C++として使う」の定義によるなあ・・・
テンプレートオナニー界では使えないという認識。
0591デフォルトの名無しさん
NGNGうぃす、それは承知してます。
アプリケーションプログラム言語を選択する上で、
選択肢に C++ と言う候補があった場合には、
普通VC++6.0(もう.NETで7が出たけど)を選ぶというのは
失笑を買う行為なのでしょうか?
0592デフォルトの名無しさん
NGNGむしろそのアプリの性質によるんじゃないかなあ。
GUI主体ならGUIフレームワークの選択になるだろうし、
計算主体ならその計算のライブラリの選択になるだろう。
そうなるとある程度は言語や環境も限定されてしまうんじゃないかな。
その上で選べるというのはある意味幸せかもわからんよ。
正直な話、C++でなきゃダメっていう状況ってそんなにないと思うよ。
だから C++ を選択するということ自体が
「失笑を買う」可能性があると思う。
0593デフォルトの名無しさん
NGNGつか、その辺は話の流れでわかるっしょ。
0594デフォルトの名無しさん
NGNG分ってないから「失笑を買う」だとか「使えないという認識」
とかいう言葉がでてくるんでないの?
0595デフォルトの名無しさん
NGNGこのスレの話の流れ。
じゃ、訂正します。
C++で作ると決定されている場合に、VC++を選択するのは
一般的じゃないって言うことですか?
0596デフォルトの名無しさん
NGNG仮定として無理がある。 >>592 にあるとおり、環境や制約、目的、
使うべきライブラリによって「ほとんど」決まってしまう。
例えば、unixで実行する必要があるなら、VC++はその時点で外されるでしょ?
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNGもしかして、549ですか?
VCが出てくる段階ですでにwin32環境限定の話だし、
そもそもこの質問に至った経緯が
(vc++ != C++) == true;であるか否かってところなので、
そこまで極端に一般化して考えなくても良いじゃないか。
俺の周りで VC++ の話をするときは普通に C++ として扱っているので、
それがそもそもおかしいのか、それが自身がなかったからそれを聞きたいだけです。
0599デフォルトの名無しさん
NGNG>VCが出てくる段階ですでにwin32環境限定の話だし、
WindowsCEを無視するあなたがすてき。
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNG違うけど・・・
>(vc++ != C++) == true;であるか否かってところなので、
まさにその話じゃないか。
その式を評価するには環境を決める必要があるのよ。
win32は環境の一つでしかないし、他にも環境変数は沢山あるぞ。藁。
環境を曖昧なままに評価するのは難しいし、
そういう場合は得てして回答者の思い込みに過ぎないと思う。
0602デフォルトの名無しさん
NGNG>>601の言ってることは揚げ足取りにしか思えない。
本当に>>598の聞きたいことが話の流れと文脈からとれないようなら
プログラミングの勉強以前に日本語の勉強し直した方がいいよ。
まぁ、わかった上でやってんだろうけどさ。
周りの人から嫌われてるだろ、自分ら(w
0603デフォルトの名無しさん
NGNG見ず知らずの集団にいきなり飛び込み批判だけして去る。
あなたの正確に問題がないかと言えば私はyesと言う自信がない。
0604デフォルトの名無しさん
NGNGVC++と、VC++に付いてくるコンパイラを区別して話せ。
0605デフォルトの名無しさん
NGNG0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNG0608549
NGNG俺は、仕事ではVC/MFC使ってて、実はVCは好きなんだよ。(C#は好かん。)
ただSTL使おうと思ったら、困った困った。
そういう経験してないのは、大したことしてないからだろ。
言っておくと、VC++.NETでは、(俺がぶつかった)問題はなくなった。
別にアンチVCではないんだよ。(特に、お前、お前だ。>>550)
もともとの質問を読んでくれや。
聞きたかったことSDKに付属とやらのコンパイラ/ライブラリはMSのどの辺の
バージョンなんだろか、STLで問題ないバージョンなんか?という意味だわ。
これは、あくまで、「趣味」の質問なんだけどね。仕事ではどうせVCなんだから。
日曜の朝からくだらんレスをしてしまった。やれやれだ。
0609549
NGNG0610デフォルトの名無しさん
NGNG別に後出しジャンケンしにわざわざ来なくてもいい気がするんだけどね。
そんなに頭に来てたのか。
0611デフォルトの名無しさん
NGNGなー、VCでSTL使おうとして、何で困ったの? 俺はauto_ptrのresetがなくて
困ったなーって事ぐらいしか経験ないんだけど。
よければ549の具体的な体験談を聞かせてくれ。
0612デフォルトの名無しさん
NGNG君が有名なボケ夫君だな。
そんなことだkら、日本語はダメなの、とか聞かれるんだよ。
0613デフォルトの名無しさん
NGNG>それって、STLとか使えないやつ?
「使い物にならない奴?」 おまえ小学生からやり直せ
0614デフォルトの名無しさん
NGNG0615549
NGNG>>610
「後出しじゃんけん」だあ?お前、何年生だよ?
こんなの相手にしてたなんて、ほんとガカーリだよ。
>>612
はげどう。
>>ソース希望の連中
俺もウソついてると思われるの嫌だから、問題点の列挙してやるよ。
http://tmp.2ch.net/test/read.cgi/mog2/1022396332/
見そ。
0616デフォルトの名無しさん
NGNG>549って名乗ってないのは俺じゃないんだけど、何か?
唐突になんだか意味不明な言葉。おそらく、日本語に訳すと「どうも
俺が自作自演をしているらしいと疑われているようだが、俺の書き込みは
ちゃんと全部549と名乗っている。逆にいえば、それ以外は俺ではない」
と解釈すればいいような気がする。はて、誰が自作自演を疑ったの?
どうも俺には549の言葉をちゃんとした日本語に訳しきれない。
誰か、正しい意味を教えて。
>http://tmp.2ch.net/test/read.cgi/mog2/1022396332/
行ってみたけど、よくある「ひっかかったな」系のやつ。
わざわざスレを立てたのか。とんでもない恥知らずだな。
0617デフォルトの名無しさん
NGNG0618さらし揚げ
NGNG0619デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG↑これって、ヘッダには書くなよってのを見かけますけど、
実際皆さん書いてないんですか?
標準で指定されている識別子と同じモノを書くほうが悪い
と決め付けて、僕は思いっきりプリコンパイルヘッダに
書いちゃってますけど、やめたほうがいいですか?
0622デフォルトの名無しさん
NGNGせっかく分類してくれているのに、
わざわざそれを台無しにする必要無いじゃん。
0623デフォルトの名無しさん
NGNGusing namespace std;
}
とかだったら許す。
0624デフォルトの名無しさん
NGNGなんですけど……。だって、どうせ自作した構造体やらクラスやらに、
vector(に限らず、標準と一致するもの)なんて識別子名を指定する
わけないじゃん、ってな風に思いません?
一致したら、コンパイラが教えてくれるんですし……。
0625デフォルトの名無しさん
NGNG0626
NGNG複数ある子クラス全ての共有のメンバとなるのですか?
もしそうだとしたら、
子クラス別個のstaticなメンバを親クラスで宣言する方法は有りますか?
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNG0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNGwindows.hで一通り宣言されてる。
0631デフォルトの名無しさん
NGNGStdAfx.hにも#include<windows.h>が入ってますね。
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG子クラス別個のstaticなメンバが必要な理由がよくわからんが・・・・・・
0634デフォルトの名無しさん
NGNG宣言の手を抜きたいだけじゃないの?
あとは、間違った共通化
0635デフォルトの名無しさん
NGNGだがそれが必要なケースに出会ったことがない。
0636デフォルトの名無しさん
NGNGclass Super {};
class Sub : public Super<Sub> {};
とか
0637デフォルトの名無しさん
NGNG買うべきでしょうか?
拙者、C++第3版、EffectiveC++、More Effective C++、Exceptional C++
を持っており、必要に応じて参照しています。
C++Primerは書店に行くたび必ず手にとって見るのですが、なぜか毎回
「こんなのいらねーや」と書棚に戻してしまうのです。
どうか、買うための一押しのお言葉を下さい!
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNGレスありがとうございます。
拙者は、実はSTL関係は、C++標準ライブラリ、Effective STL、STLによる
コンポーネントデザイン、Generic Programmingを所持しております。
しかし、基本となるC++言語仕様の知識を今ひとつ強化したいと思いまして。
Modern C++もいずれ必要となると思いますが、Lokiが通るコンパイラを
持っていませんでして。
基礎力を強化したいのです。
0640デフォルトの名無しさん
NGNG考え方を鍛えるのに良い教本だぞ
0641デフォルトの名無しさん
NGNGご指導ありがとうございます。では、次回書店に行った時、Modern C++を
手に取って購入を検討してみます。結論は、C++Primerは不要という事ですね?
0642デフォルトの名無しさん
NGNGたぶんあんたには必要ないと思うよ。
勿論、上げた本をキッチリ消化している前提だけど。
0643デフォルトの名無しさん
NGNGなら、あとは http://www.kuzbass.ru/docs/isocpp/ しかないだろ。
常時参照するなら、以下から正規の仕様書を購入してね。
http://webstore.ansi.org/ansidocstore/product.asp?sku=ISO%2FIEC+14882%2D1998
0644デフォルトの名無しさん
NGNG下の方の正式版の日本語訳ってないの?
英語たいへーん。
(英語読めなきゃPGやめろ、とか言わんでちょ。)
0645デフォルトの名無しさん
NGNG0646デフォルトの名無しさん
NGNGお約束の、英語読めなきゃPGやめろ
0647デフォルトの名無しさん
NGNG0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG0652デフォルトの名無しさん
NGNG0653デフォルトの名無しさん
NGNG0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNGプログラム例もイマイチと思うが。。
0656デフォルトの名無しさん
NGNG萌え〜
0657デフォルトの名無しさん
NGNGいきなりどうした?嫌なことでもあったか?
0658デフォルトの名無しさん
NGNG>嫌なことでもあったか?
件の書籍が読みにくい代物だったことが「嫌なこと」だろう。
0659デフォルトの名無しさん
NGNG0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNGどうでもいいが、問題がクラス NP に含まれることと、問題が NP 完全であることは
イコールじゃないぞ。
P != NP のときに、NP に含まれる最も難しい判定問題が NP 完全問題
集合の広さとして、こんな感じ。(P != NP かどうかは、良く分からん)
NP ⊃ P
NP ⊃ NP完全問題の集合
P != NP なら P ∩ NP完全問題の集合 = φ
0662デフォルトの名無しさん
NGNGからもう一度、見直して頑張るぞゴルァ!
066430
NGNGあれから半年も経ったんだな・・・
0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG0667デフォルトの名無しさん
NGNG日本語変だよ
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNG0670る
NGNG今から10年ほど前、大学,大学院のときにdos上のMS-Cで、
RS-232CやGPIB制御のプログラムを組んでいた者です。
サッカーくじtotoの購入支援ソフトの自作を目的として、10年のブランクを越えて
c++の勉強を始めたのです(現在はBorland c++ 5.11 , 「C言語を初めてみよう」のミニ環境)。
toto のマークシートを自動印刷するには、画像を直接プリンタに送るような
制御が必要で、たしかcではASKIIコードとかしか送れなかったよなー、と思って、
c++を選んでみたのです。
が、、、
クラスやら、多態性やら、フレンド関数やら、勉強してもプリンタ制御ができる感じが
いっこうにしない。
また、知識としてあっても、これらを使って、さくさくプログラミング♪、とまでは
相当時間がかかりそうですし、今日、書店にいっていろいろ立ち読みして見ると、
c++の習得が終わってから、windowsプログラミングを初めて、プリンタ制御に入る
格好になっている。その間には、なんや挫折者を多数発生させている障害がいろいろ。
・・・あまりにも、遠い。。。
コマンドラインコンパイラで、任意の場所に任意の大きさで黒い四角を紙に描くいい方法は
無いのでしょうか?
それとも、Latexとか入れて、cで *.tex を自動作成した方がいいのだろうか?
あまり、それは、やりたくない。← 理由はないが...
ちょっと、かっこ良く、やりたいなと、思っているのですが、
このまま突き進んで行くのが早いのか、もうちょっといい方法があるのか、
教えてください。
0671る
NGNG今から10年ほど前、大学,大学院のときにdos上のMS-Cで、
RS-232CやGPIB制御のプログラムを組んでいた者です。
サッカーくじtotoの購入支援ソフトの自作を目的として、10年のブランクを越えてc++の勉強を始めたのです(現在はBorland c++ 5.11 , 「C言語を初めてみよう」のミニ環境)。
toto のマークシートを自動印刷するには、画像を直接プリンタに送るような制御が必要で、たしかcではASKIIコードとかしか送れなかったよなー、と思って、 c++を選んでみたのです。
が、、、
クラスやら、多態性やら、フレンド関数やら、勉強してもプリンタ制御ができる感じがいっこうにしない。
また、知識としてあっても、これらを使って、さくさくプログラミング♪、とまでは相当時間がかかりそう。
昨日、書店にいっていろいろ立ち読みして見ると、c++の習得が終わってから、windowsプログラミングを初めて、プリンタ制御に入る格好になっている。その間には、なんや挫折者を多数発生させている障害がいろいろ。
・・・あまりにも、遠い。。。
コマンドラインコンパイラで作るプログラムで、任意の場所に任意の大きさで黒い四角を紙に描くいい方法は無いのでしょうか?
それとも、Latexとか入れて、cで *.tex を自動作成した方がいいのだろうか? あまり、それは、やりたくない。← 理由はないが...
ちょっと、かっこ良く、やりたいなと、思っているのです。
このまま突き進んで行くのが早いのか、もうちょっといい方法があるのか、教えてください。
0672デフォルトの名無しさん
NGNG> c++を選んでみたのです。
ここが大きな間違い。 猫を読んで、
C -> SDK
と進むのが正解。
0673デフォルトの名無しさん
NGNGそんな君に、HSP + プリンタI/O制御モジュール!
0674デフォルトの名無しさん ◆2get/I.I
NGNG0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNG初めてのプログラムなので戸惑うことばかりですが、今日このスレを覗いてみて
他にも頑張ってる人が居るのを見て自分も改めて努力しようと思いました。
勉強するにあたって、何か目標が欲しかったので過去に>>1氏に出された課題を
私もやってみようと思います。
0677デフォルトの名無しさん
NGNG0678デフォルトの名無しさん
NGNG0679デフォルトの名無しさん
NGNG周りが優秀な奴ばかりでかなり今焦ってるんだけど、、、
やっぱファイルの入出力とかソートとかできるようになってた?
0680デフォルトの名無しさん
NGNG今までプログラミングとはまったく縁が無かったんで、、、
0681デフォルトの名無しさん
NGNG0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG初心者にはすごいわかりやすいよ。
俺もここの>>1を見て今日から始めます。
ここすっごくお気に入り
0684デフォルトの名無しさん
NGNG二日前からだけどただいまレッスン5
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG父「詳細キボーヌ」
母「今日はカレーですが、何か?」
兄「カレーキターーーーーーーーー」
妹「キターーーーーーーーーー」
姉「カレーごときで騒ぐ奴は逝ってヨシ」
母「オマエモナー」
父 --------終了-------
兄 --------再開-------
妹「再開すなDQNが!それより肉うpキボンヌ」
母「ジャガイモうp」
姉「↑誤爆?」
兄「タマネギage」
父「ほらよ肉>家族」
妹「神降臨!!」
兄「タマネギage」
母「糞タマネギageんな!sageろ」
兄「タマネギage」
姉「タマネギ厨uzeeeeeeeeeeee!!」
母「sageっていれればさがると思ってるヤシはDQN」
セールスマン「イタイ家族がいるのはこの家ですか?」
母「氏ね」
父「むしろゐ�`」
兄「タマネギage」
妹「兄 、 必 死 だ な ( 藁 」
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG後にC++に苦戦して線を一本描けた時の感動たるや。(遠い目)
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNGはあ?\nはいつでも正しい復帰改行だろ。
0693692
NGNGつっかすげー遅レスだな
0694デフォルトの名無しさん
NGNG絶対やめとけ、必ず挫折する。
素 直 に H S P で も し て ろ ( 藁
0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGどらくえとかのゲームイベント取得なんかでは局所的につかえるかも?
0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG意味不明
0700デフォルトの名無しさん
NGNG0701デフォルトの名無しさん
NGNG線を引くどころか初日にメモ帖やペイント作るとこまでいけるぞ
■ このスレッドは過去ログ倉庫に格納されています