C言語なら俺に聞け! Part 112
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/08/08(月) 01:32:01質問する前には最低限検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
C言語なら俺に聞け! Part 111
http://pc8.2ch.net/test/read.cgi/tech/1121657911/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
0772デフォルトの名無しさん
2005/08/25(木) 02:20:59言いたいことは
printf("0x%x", 0xff);
ですか?
0773デフォルトの名無しさん
2005/08/25(木) 02:21:040xff(文字ではなく数値)で埋められたバイナリファイルができてほしいってことか?
0774デフォルトの名無しさん
2005/08/25(木) 02:22:040775デフォルトの名無しさん
2005/08/25(木) 02:22:58%#xでいいじゃん
0776デフォルトの名無しさん
2005/08/25(木) 02:26:470777デフォルトの名無しさん
2005/08/25(木) 02:26:57それは、%sとかのパターンが入ったときに嫌な予感。
0778766
2005/08/25(木) 02:27:19対象がファイルじゃないんです・・
>771
perlですか?参考にします!
>772
ASCIIじゃだめなんです
>773
そうです。
何故かprintfを介さないと相手は受け取ってくれなくて・・
ASCII文字では無く数値そのままを渡したいんですが・・
うう・・入門書から出直してきます・・orz
0779デフォルトの名無しさん
2005/08/25(木) 02:28:250780デフォルトの名無しさん
2005/08/25(木) 02:29:20> 対象がファイルじゃないんです・・
stdoutファイルへ出力すれば?
0781デフォルトの名無しさん
2005/08/25(木) 02:32:27fprintf()もprintf()も最終的にテキストになるから無理ですよ。
0782デフォルトの名無しさん
2005/08/25(木) 02:37:26例えば、0x41を出力したときどんな風に表示させたいのかね?
"A"?それとも"0x41"?
0783デフォルトの名無しさん
2005/08/25(木) 02:39:090784デフォルトの名無しさん
2005/08/25(木) 02:42:15putchar でもいいと思うが。
0785デフォルトの名無しさん
2005/08/25(木) 02:59:07それだと文字に変換されたのが出るんじゃなかったっけ?
まぁどっちにしろ766の言ってることはいろいろとおかしいが
0786デフォルトの名無しさん
2005/08/25(木) 03:08:37単に1バイトそのまま出力するだけなんだが?
ディスプレイに出力すれば文字として表示されるだけであって。
0787デフォルトの名無しさん
2005/08/25(木) 03:10:400788デフォルトの名無しさん
2005/08/25(木) 03:12:030789デフォルトの名無しさん
2005/08/25(木) 03:18:280790デフォルトの名無しさん
2005/08/25(木) 05:54:33>Dosプロンプトに出力された時「のメモリ上に」ffと格納されるんでしょうか?
>何故かprintfを介さないと相手は受け取ってくれなくて・・
あたりで、意思の疎通が無理なのは自明。
0791デフォルトの名無しさん
2005/08/25(木) 10:59:11dx/dt = -10*x + 10*y
dy/dt = 28*x - y - x*z
dz/dt = -8/3*z + xy
をオイラー法で解く場合の式って以下でいいのでしょうか?
for(i=0; i<last; i++){
x[i+1] = x[i] + h * dxdt(x[i], y[i]);
y[i+1] = y[i] + h * dydt(x[i], y[i], z[i]);
z[i+1] = z[i] + h * dzdt(x[i], y[i], z[i]);
}
//x、y、zは解を入れる配列(0番目は初期値)、hは刻み幅、dxdt、dydt、dzdtは上述の式
0792デフォルトの名無しさん
2005/08/25(木) 11:06:20刻み幅が十分で無かったため、発散してました
0793デフォルトの名無しさん
2005/08/25(木) 14:53:38いくつか種類があるみたいなので初心者でも分かる本のタイトルを教えてください。
前見たような記憶では付属のCDがあったんですがそれにはコンパイラが入ってるんでしょうか?
0794デフォルトの名無しさん
NGNG本は見たことないけど、サイトのほうを見るとあまりよくないと思う。
(本はゴーストライターが書いていて、悪くはないって話もあるけど)
0795デフォルトの名無しさん
2005/08/25(木) 15:28:02過去ログサイトから 2ch books を見ていろんな本の書評を見てみたら?
0796デフォルトの名無しさん
2005/08/25(木) 15:29:40猫だとは基本的な概念とか文法についての説明が不足しているので
他にちゃんとしたC言語の入門書 (サイトでもいいけど) がほしいところ。
あと、付属のCDにはコンパイラとサンプルソースが入ってた気がする。
0797デフォルトの名無しさん
2005/08/25(木) 15:33:45では、他の本で分かりやすいおすすめのはないでしょうか?
0798デフォルトの名無しさん
2005/08/25(木) 15:37:490799デフォルトの名無しさん
2005/08/25(木) 15:45:15そういうページがあるのを初めて知ったw
過去ログにまとまってるリンクも便利だね。
>>793ではないが、ありがトン
0800デフォルトの名無しさん
2005/08/25(木) 16:03:04>>795読んでますか?
0801デフォルトの名無しさん
2005/08/25(木) 17:13:51>>795+推薦図書スレ行ってこい
そこのお勧め本使ってそれなりに勉強してる最中の俺ガイル
0802デフォルトの名無しさん
2005/08/25(木) 20:13:140803793
2005/08/25(木) 21:19:12柴田望洋氏の本を図書館で借りてみました
過去ログも見てみます
0804デフォルトの名無しさん
2005/08/25(木) 22:05:180805デフォルトの名無しさん
2005/08/25(木) 23:14:370806デフォルトの名無しさん
2005/08/25(木) 23:15:270807デフォルトの名無しさん
2005/08/25(木) 23:19:03漢字とかひらがなとか入力できないんでどうすればできるのかなぁと
0808デフォルトの名無しさん
2005/08/25(木) 23:28:170809デフォルトの名無しさん
2005/08/25(木) 23:50:270810デフォルトの名無しさん
2005/08/25(木) 23:53:290811デフォルトの名無しさん
2005/08/25(木) 23:54:28どいつもこいつも小出しにしやがって
0812デフォルトの名無しさん
2005/08/25(木) 23:54:520813デフォルトの名無しさん
2005/08/26(金) 00:33:18エラーE2209 インクルードファイルをオープンできない、といわれました
borland c++ 5.5 ってコンパイラーを使ってます。
誰か教えていただけませんか?
0814デフォルトの名無しさん
2005/08/26(金) 00:34:360815813
2005/08/26(金) 00:43:13cの本についてるCDと同じ名前だったのでc++の本についていた付録CDをつかったんですけど、
それは関係ありませんよね?
コンパイルするとき bcc32 ***.c ってやってるんですけど
cのときとc++のときってコンパイルの仕方が違ったりするのですか?
超初心者ですいません、あと環境設定ってのはなんですか?
0816デフォルトの名無しさん
2005/08/26(金) 00:44:260817813
2005/08/26(金) 00:45:410818デフォルトの名無しさん
2005/08/26(金) 00:46:560819813
2005/08/26(金) 00:50:33cをコンパイルするときでもbcc32でいいんですか?
c++のコンパイラでもcはコンパイルできるって書いてあったのでやってたんですけど
0820デフォルトの名無しさん
2005/08/26(金) 00:51:430821813
2005/08/26(金) 00:52:360822デフォルトの名無しさん
2005/08/26(金) 00:52:45自分では調べない
自分で解決しようとせずになんでも人に聞く
こんなやつには、プログラミングはできない
0823813
2005/08/26(金) 00:58:00自分でなんとかします
0824デフォルトの名無しさん
2005/08/26(金) 01:27:300825デフォルトの名無しさん
2005/08/26(金) 04:11:02どこのスレに書き込んでいいのか分からなかったので
とりあえずここに書かせてください。
試験なんかに使うマークリーダー用のデータ読み取りプログラムというのは
どういった言語で構築するのでしょうか?
ちなみに、仕様はCSVファイルのデータをマークリーダー(読み取り機)で
読み込んで正否などを打ち出すらしいのですが...
0826デフォルトの名無しさん
2005/08/26(金) 04:16:31とりあえずはすれたてるまでもない質問スレでやれ
CSVにはどんなデータが入っていてリーダーはどの機種で
OSや予算や使える言語も最低限書くこと
0827デフォルトの名無しさん
2005/08/26(金) 04:28:55でも、どんな言語で作るのかを聞きたいのに
使える言語も最低限書くことと言うのは、どういう意味ですか?
因みに
OS Win
予算 数100万
CSVの中には 試験に必要な「個人情報」と答案用フォームに書き込まれた「解答番号」です。
リーダーの機種名は 不明です。
0828デフォルトの名無しさん
2005/08/26(金) 04:32:47頼むからここを荒らすな。
スレ違いつーか、鼬害なんだから。
0829デフォルトの名無しさん
2005/08/26(金) 04:41:39失礼しました。
0830デフォルトの名無しさん
2005/08/26(金) 04:48:59例えば,
c = a[i][j + 0] + b[i][j + 0];
c = a[i][j + 1] + b[i][j + 1];
c = a[i][j + 2] + b[i][j + 2];
c = a[i][j + 3] + b[i][j + 3];
見たいに書く代わりに,
LOOP_4(c = ....);
みたいにかける LOOP_4 のような物が欲しいです.
こういうのって割と需要ありそうなんですが,検索してもなかなか見つかりま
せん.識者の方,アドバイスお願いします.
0831デフォルトの名無しさん
2005/08/26(金) 04:52:30ループじゃいかんのけ?
0832デフォルトの名無しさん
2005/08/26(金) 05:19:120833デフォルトの名無しさん
2005/08/26(金) 05:40:28#include<boost/preprocessor.hpp>
#define GEN(z,k,_) c = a[i][j + k] + b[i][j + k];
BOOST_PP_REPEAT(4,GEN,_)
こんな感じ
0834デフォルトの名無しさん
2005/08/26(金) 05:47:38普通にfor文のループで書くしかない
わけのわからんマクロ作ったらタコ殴りの刑
0835デフォルトの名無しさん
2005/08/26(金) 05:55:13>>833
ありがとうございます.できれば C でやりたいんですが,やっぱり無理なんでしょうか.
0836デフォルトの名無しさん
2005/08/26(金) 05:56:350837デフォルトの名無しさん
2005/08/26(金) 05:57:02高速化の随分と最後の方にやるモノではあるのだが、
使わないこともない技術だ。
0838833
2005/08/26(金) 05:57:52一応手元のgcc,vc,dmcでは問題無かったです。
0839デフォルトの名無しさん
2005/08/26(金) 06:03:13おお.
Boost == C++ ってイメージがあったので試さずに書いてしまいました.
ありがとうございました.
0840デフォルトの名無しさん
2005/08/26(金) 08:18:550841デフォルトの名無しさん
2005/08/26(金) 11:51:19一番最初にくる文字を表示するプログラム*/
#include <stdio.h>
int main(void)
{
int i;
char ch1, ch2;
printf("英字を10個入力してください\n");
ch1 = getchar();
for(i = 0; i < 10; i++){
printf("%d", i); /*動作確認のため*/
ch2 = getchar();
if(ch1 > ch2){ch1 = ch2;}
}
printf("%c", ch1);
return 0;
}
ループの中で1つ文字を読み込むときにi++が2回行われているようなんですが
どうしてでしょうか?
0842デフォルトの名無しさん
2005/08/26(金) 11:59:29改行コードでも入力されたんだろ。
詳しく知りたいなら初心者スレにでも行ってくれ。
0843デフォルトの名無しさん
NGNG英字10って言ってるけど、それだと11個入力しないといけないんじゃない。
0844デフォルトの名無しさん
2005/08/26(金) 12:23:41わかりました。そっちに行ってみます。
>>843
本当だ!気がつかなかった…ありがとう(^ω^)
0845デフォルトの名無しさん
2005/08/26(金) 12:25:28未だにCに拘っている方がいるのはなぜですか?
0846デフォルトの名無しさん
2005/08/26(金) 12:38:33・C++ コンパイラがない
・C++ だとバイナリがかさばって、サイズがヤバい
・最適化能力の上な C でないと速度が少し気になる
・使用可能者の数が多い
・新人教育の手間が省ける
・比較的多くの人が保守可能
・怠慢、理解力不足
・言語学習に時間を割くより娯楽に割く
・C++ が理解できなかった
0847デフォルトの名無しさん
2005/08/26(金) 12:38:530848デフォルトの名無しさん
2005/08/26(金) 12:40:07おそらくこんなところじゃないかと思う。
C++コンパイラがない。
今更新しい言語を学ぶ気にはならない。
Better Cとして使えることを知らない。あるいはBetter CでもCより実行速度が遅いと思い込んでいる。
0849847
2005/08/26(金) 12:41:26『拘っている』って字が読めてなかった
0850デフォルトの名無しさん
2005/08/26(金) 12:59:41・printfの方がいい
0851デフォルトの名無しさん
2005/08/26(金) 13:12:55それはC++を使わない積極的な理由にならない。
つーか、>850自信が>846や>848の最後の行に該当するんジャマイカ。
0852デフォルトの名無しさん
2005/08/26(金) 13:14:560854デフォルトの名無しさん
2005/08/26(金) 13:29:210855デフォルトの名無しさん
2005/08/26(金) 13:46:360856デフォルトの名無しさん
2005/08/26(金) 13:55:17stringに慣れてしまうと一々文字列編集でstr系の処理で配列の上限値を意識するのが面倒になる
0857デフォルトの名無しさん
2005/08/26(金) 14:01:57にゅうが使えない という環境も
いや、使えないことは無いんだけど自分でにゅう作るのもしんどいし
にゅう無いとC++使っててもなんか損した気分になるからなぁ
0858デフォルトの名無しさん
2005/08/26(金) 14:22:340859デフォルトの名無しさん
2005/08/26(金) 14:29:26うー
0860デフォルトの名無しさん
2005/08/26(金) 15:00:450861デフォルトの名無しさん
2005/08/26(金) 15:10:51にゅうが使えない/使いにくい/使いたくない環境もあるということです。
Cやアセンブラなら東京ドーム4杯分に感じる512kbのメモリ空間も
C++だと途端に広島市民球場に見えるということです。
0862デフォルトの名無しさん
2005/08/26(金) 15:14:50C++を完全に手放す理由にはならんだろ。もしかして
int main(){ return 0; }
のプログラムでも使用メモリって両者でけっこう違ったりするもんなのか?
っていうか広島市民球場を馬鹿にするな
0863デフォルトの名無しさん
2005/08/26(金) 15:18:15そうです。でも、BetterCとして使うのは、なんとなくもったいないというか
そういう感じがするだけです。
広島市民球場でも、まあ、野球やろうと思えば 出来ないこともないですし
0864デフォルトの名無しさん
2005/08/26(金) 15:22:09立てるだの立てないだのぐだぐだしてる時期にあるだけで、
いずれは時代も流れて行くものなのでつ Cも廃れる日が来るのでしょうね
0865デフォルトの名無しさん
2005/08/26(金) 15:32:58もったいないってなんだよ。コンパイラの値段が高い、という話ならわかる。
むしろ better C のほうがメモリ節約になる例↓
int main()
{
if(getchar()=='A')return 0;
char str[256]; //↑でAが入力されればこの配列が確保されることはない
gets(str);
return 0;
}
0866デフォルトの名無しさん
2005/08/26(金) 15:33:22そうでなければCっぽいコードとC++っぽいコードが混在してわけわからんコードになる。
規約作ってまでbetterCに拘ることもないかなと。
0867デフォルトの名無しさん
2005/08/26(金) 15:40:54charのコンストラクタが走る事はないと思うが、スタックを消費しない事は
規約で決まってたんだっけ?
0868デフォルトの名無しさん
2005/08/26(金) 15:42:26ワロタ
0869デフォルトの名無しさん
2005/08/26(金) 15:49:07別に「使っちゃいけない」機能があるわけじゃないだろ。
「使うことは推奨しない」だけで。別にそれで致命的なエラーが発生するわけでもあるまいし。
そんなガチガチに縛る必要ないから、規約だって簡易的なもので済むんじゃねーの。
>>867
あ、そこは見落としてた。どうなんだろ。
0870デフォルトの名無しさん
NGNG>あ、そこは見落としてた。どうなんだろ。
VC++だと、関数の途中で変数を宣言しても、スタックの節約にはならないね。
0871デフォルトの名無しさん
2005/08/26(金) 16:31:18うん。それなら広島市民球場よりは広く便利に使えそうだ。
ベターCとしてのC++仕様簡易規約みたいなのをでっちあげるのも
楽しそうだな。
スタックは、多少消費しても暗算で計算できる範囲内なら
まあ問題ないかな
■ このスレッドは過去ログ倉庫に格納されています