C言語なら俺に開け! Part 〈54〉
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG質問する前には最低限Googleで検索を。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo!
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。
コンパイラを探しているなら >>2-13 を。
上記を逸した場合の結果は激しく未定義だゴルァ!!
∧_∧
( ´∀`)< ぬるぽ
C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
0002デフォルトの名無しさん
NGNG使えない上司・先輩
0003デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>1
0004デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>1
0005デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>1
0006>>1ちゃんとリンク貼れやボケ
NGNG53 http://pc2.2ch.net/test/read.cgi/tech/1048995232/
52 http://pc2.2ch.net/test/read.cgi/tech/1047275669/
51 http://pc2.2ch.net/test/read.cgi/tech/1046104909/
50 http://pc2.2ch.net/tech/kako/1044/10449/1044938752.html
49 http://pc2.2ch.net/test/read.cgi/tech/1042646178/
48 http://pc3.2ch.net/tech/kako/1041/10411/1041127646.html
47 http://pc3.2ch.net/tech/kako/1040/10400/1040048202.html
46 http://pc3.2ch.net/tech/kako/1039/10393/1039328710.html
45 http://pc3.2ch.net/tech/kako/1038/10384/1038405432.html
44 http://pc3.2ch.net/tech/kako/1037/10377/1037796472.html
43 http://pc3.2ch.net/tech/kako/1037/10372/1037281411.html
43 http://pc3.2ch.net/tech/kako/1037/10371/1037134356.html
42 http://pc3.2ch.net/tech/kako/1037/10371/1037101156.html
41 http://pc3.2ch.net/tech/kako/1036/10368/1036876790.html
40 http://pc3.2ch.net/tech/kako/1036/10366/1036673739.html
39 http://pc3.2ch.net/tech/kako/1036/10364/1036409391.html
38 http://pc3.2ch.net/tech/kako/1035/10357/1035729526.html
37 http://pc3.2ch.net/tech/kako/1035/10356/1035623265.html
36 http://pc3.2ch.net/tech/kako/1035/10352/1035211039.html
35 http://pc3.2ch.net/tech/kako/1034/10343/1034337064.html
34 http://pc3.2ch.net/tech/kako/1033/10332/1033240509.html
33 http://pc3.2ch.net/tech/kako/1032/10326/1032606064.html
32 http://pc3.2ch.net/tech/kako/1031/10319/1031905402.html
31 http://pc3.2ch.net/tech/kako/1030/10307/1030786546.html
30 http://pc3.2ch.net/tech/kako/1030/10307/1030786546.html
29 http://pc3.2ch.net/tech/kako/1029/10296/1029605182.html
28 http://pc3.2ch.net/tech/kako/1028/10284/1028495798.html
27 http://pc3.2ch.net/tech/kako/1027/10271/1027160374.html
0007( ´∀`)< ぬるぽ
NGNG25 http://pc.2ch.net/tech/kako/1024/10249/1024918442.html
24 http://pc.2ch.net/tech/kako/1024/10240/1024033400.html
23 http://pc.2ch.net/tech/kako/1023/10230/1023024817.html
22 http://pc.2ch.net/tech/kako/1022/10224/1022402165.html
21 http://pc.2ch.net/tech/kako/1022/10220/1022045622.html
20 http://pc.2ch.net/tech/kako/1021/10214/1021459016.html
19 http://pc.2ch.net/tech/kako/1020/10207/1020756993.html
18 http://pc.2ch.net/tech/kako/1020/10202/1020260813.html
17 http://pc.2ch.net/tech/kako/1019/10193/1019372139.html
16 http://pc.2ch.net/tech/kako/1018/10184/1018453690.html
15 http://pc.2ch.net/tech/kako/1016/10165/1016519243.html
14 http://pc.2ch.net/tech/kako/1015/10152/1015286974.html
13 http://pc.2ch.net/tech/kako/1013/10139/1013990673.html
12 http://pc.2ch.net/tech/kako/1012/10123/1012348974.html
11 http://pc.2ch.net/tech/kako/1009/10094/1009499565.html
10 http://pc.2ch.net/tech/kako/1008/10083/1008300863.html
9 http://pc.2ch.net/tech/kako/1007/10072/1007272267.html
8 http://pc.2ch.net/tech/kako/1005/10058/1005811510.html
7 http://pc.2ch.net/tech/kako/1005/10058/1005811510.html
6 http://piza2.2ch.net/tech/kako/999/999617524.html
5 http://piza2.2ch.net/tech/kako/994/994908590.html
4 http://piza.2ch.net/tech/kako/992/992357382.html
3 http://piza.2ch.net/tech/kako/989/989929288.html
2 http://piza.2ch.net/tech/kako/979/979529893.html
1 http://piza.2ch.net/tech/kako/967/967985026.html
0008( ´∀`)< ぬるぽ
NGNGgcc
http://gcc.gnu.org/
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
【ぬるぽ】
∧_∧
( ´∀`)< ぬるぽ
【ライセンスや機能などに問題あり】
Microsot C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
0009デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>1
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>3>>4>>5>>9と>>1の11,12行目
0012デフォルトの名無しさん
NGNG初心者には再帰が難しくて。
typedef struct CELL *LIST;
struct CELL {
int element;
LIST next;
};
リスト型を引数とする、
リストのセルがelementとして整数1500を
含んでいるなら1を返し
含んでいないなら0を返す再帰的関数です。
どうかお願いします
0013デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>1
リンクくらい晴れ!
0014デフォルトの名無しさん
NGNGint contain_1500(const List l)
{
if (l->element == 1500) return 1;
return contain_1500(l->next);
}
0015デフォルトの名無しさん
NGNG{
if (! lst) { return 0; }
if (lst->element == 1500) { return 1; }
return foo(lst->next);
}
0016デフォルトの名無しさん
NGNGまずった。
if (!l) return 0;
を先頭に追加してくれ。
0017デフォルトの名無しさん
NGNG(⌒ヽ:::::::::::'''''-,,
<´・\ ::::::::::::::::::ヽ
l 3 ハ::::::::::::::::::::::.ヽ,
∫ .<、・_ ( )
旦 (⌒ ̄  ̄ ̄ ̄ ̄ ̄ ̄⌒) これで何したらいいんだろう・・・
____
|\ \ \
| | ̄VC  ̄|
| |academic|
\.|____|
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNGただし、再帰を考えるとスタック的な何かは必須。
0020デフォルトの名無しさん
NGNG「検索せよ」、「閉じる」、「開く」等の10−20程度の単語を
認識させたいと思っています。
音声処理を一からやっていたらさすがにムリなので、
そのようなAPIかなにか公開されてないものかと思って探しています。
もちろん有料のものでかまわないのでご存知の方いたらお教えください。
0021デフォルトの名無しさん
NGNGMicrosoft Voice なんとか
0022デフォルトの名無しさん
NGNG大袈裟すぎるか?
ttp://www.scansoft.co.jp/naturallyspeaking/sdk/
ttp://www-6.ibm.com/jp/voiceland/dev/develop.html
0023デフォルトの名無しさん
NGNGそういう機能を提供するものを一般的にスタックと呼ぶんじゃなかろうか。
連続してようが双方向リストで提供されてようが。
0024デフォルトの名無しさん
NGNGヒープでスタック実装できるじゃん。
0025デフォルトの名無しさん
NGNG/o [地獄逝き特別急行] o\
|┃──────────┃|/
|┃ ∧_∧ ┃| ぬるぽ ぉぉぉぉぉぉぉぉん!
|┃ (´∀` ) ┃| \
|┃__________┃|
|┃__________┃|
| \___________________/ |
|========================|
|========================|
|ヽ[■]___________[■]/|
|_三三三三三三三三三三_|
| | [=.=] | |
\ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄/
 ̄ ̄  ̄ ̄
/ \
Delphi.NET、安値でゲットォーーー!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄(´´
∧∧ ) (´⌒(´
匚⊂ミ゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
/  ̄ ̄ (´⌒(´⌒;;
/ \
0026デフォルトの名無しさん
NGNG\ │ /
/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< ぬるぽぬるぽ!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< ぬるぽぬるぽぬるぽ!
ぬるぽ〜〜〜〜! >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」
 ̄ / /
0027デフォルトの名無しさん
NGNGx.e = B;
assert( x.e == B );
今の仕事で使っている、とある古めのコンパイラで
このassertが失敗してびびったのですが、
規格で許された動作なのでしょうか?
0028デフォルトの名無しさん
NGNG俺は符号拡張とかなんとかが面倒なので、ビットフィールドは
unsignedでしか使わないことにしてる。
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGただのunsignedだとsignedとの比較で悲惨なことになるから
unsigned shortあたりにしといたほうがいいんじゃないか?
0031デフォルトの名無しさん
NGNGビットフィールドには int/signed int/unsigned int しか指定できない。
0032デフォルトの名無しさん
NGNGマジかよ。
俺が何気なく使ってたこの機能はVCの勝手な拡張だったのか・・・。
0033デフォルトの名無しさん
NGNGっていうか、unsigned とsignedで問題起こるのを
shortにしたからって、なにがどうなるの?
003427
NGNGCだと、enumと互換性を持つ型がどれかで動作が決まるので、処理系依存ってことらしいです。
↓Googleでみつけたところ。
maths.newcastle.edu.au/~rking/R/devel/01a/0098.html
結論は、Cではenumにビットフィールド指定するな、ということで。
C++なら(コンパイラが規格に従う限り)大丈夫らしい。
0035デフォルトの名無しさん
NGNGなんでまたint以外を使うの?
0036デフォルトの名無しさん
NGNGunsigned intだと負数との比較のときとか厄介じゃん?
範囲チェックしたいときとかさ、
struct
{
unsigned int value: 4;
} border;
int checked_value = 何か;
if ( border.value<=checked_value )
{
checked_value unsigned int に格上げされるので、負のとき危険
}
0038デフォルトの名無しさん
NGNGunsigned short us = 0;
unsigned int ui = 0;
int i = -1;
assert( us > i );
assert( ui < i );
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNGで、unsigned int を unsigned short にしたからって、なにがどうなるの?
0042デフォルトの名無しさん
NGNG正しく計算できる
unsigned int と signed int -> unsigned int に格上げ = 符合が失われる
unsigned short と signed int -> signed int に格上げ = だいたいshort>int(環境依存だけど)だから何も失われない
>>41
MSコンパイラの拡張機能なのでどうでもいいことだけど、ビットフィールドでも同様のことが起こるのよ。
004342
NGNGshort<int
0044デフォルトの名無しさん
NGNGそんなことを気にするなら、ビットフィールドに限らずunsignedを
使うときには常にshortにしろって話になると思うが。
0045デフォルトの名無しさん
NGNGそもそもunsigned int signed intを直接比較するのが阿呆。
0046デフォルトの名無しさん
NGNGああいう事はどうやれば出来るんでしょうか。
VC++を使っています。
0047前スレ 983
NGNGいろいろ試したつもりですが
精度的な問題がつかめませんでした。
結果は同じ、速度は掛け算の方が7倍(以上)?のような気がします。
もしかしてつかえる?
と思ったのですがやっぱり問題がありそうな気がして恐いです。
ガウスの消去法による、逆行列の計算が
早くなるかと思って期待をしているわけなのですが。
0048デフォルトの名無しさん
NGNGtypedef struct stack{
int data[1];
int top;
int size;
}stack_t;
と言うスタック構造体があって、データをポップする関数があります。
そこで関数の最後に
return stack->data[--stack->top];
という記述があるのですが、これはトップのデータをリターンして、
トップを1つ下げるという意味なのでしょうか?
それともトップを1つ下げたところにあるデータをリターンするという意味なのでしょうか?
確か、記号の優先順位は--よりも[]の方が上だったような気がするのですが、やはり前者でしょうか?
ご教授お願いします。
0049デフォルトの名無しさん
NGNG--stack->top;
return stack->data[stack->top];
data = stack->data[stack->top];
--stack->top;
return data;
この3パターンを試してみたら?
0050デフォルトの名無しさん
NGNGこの場合--と[]の優先順位は関係ないよ。
0051デフォルトの名無しさん
NGNGこれでいいか? でなければ、他のやりかたで何とか汁
実行するとリソース(FileVersion)を書き換えてビルドするマクロ
ttp://www.codeguru.com/devstudio_macros/build_number.shtml
0053デフォルトの名無しさん
NGNGそれでいいです。ありがとうございました。
0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNG0056デフォルトの名無しさん
NGNG前置デクリメント
キーワード:後置、インクリメント
0057厨
NGNGファイルを移動させると
やたらがりがり音がするので
Cで移動させたいのです。どうすればよいですか?
0058デフォルトの名無しさん
NGNG標準ライブラリは結局CopyFileやDeleteFile読んでるから、
標準ライブラリを使わないで作ることになるね。
ドライバ用命令つかったりハードウェアを直接操作したり。
うん。あんたには無理だ。
0059デフォルトの名無しさん
NGNG( ´∀`)< ぬるぽ
0061デフォルトの名無しさん
NGNGchar *
を用意して(他にもbool int floatもある)
構造体自体を
mallocで任意の配列として確保します。
で、その後にメンバの
char *
を使って、任意の文字列をmallocしたいのです。
文字列の確保、格納、使用までは上手く行ってますし
アドレスをデバッグにかけてみても、メモリが壊れてる気配も有りません。
…しかし、freeする段階で(ちゃんと、確保した順と逆に開放してます。)
エラーが出ます。
DAMAGE debug heap.cだったと思います。
ヒープ領域で何かが起っているのでしょうか?
直し方の見当も付きません。
0062デフォルトの名無しさん
NGNGおそらく書いたコードに間違いがあります。
0063デフォルトの名無しさん
NGNG0064デフォルトの名無しさん
NGNGMoveFile()
0065デフォルトの名無しさん
NGNG0066デフォルトの名無しさん
NGNG0067デフォルトの名無しさん
NGNG0068デフォルトの名無しさん
NGNGとして、
FUNC FuncTbl[]={ hoge1,hoge2,hoge3, };
と関数テーブルをつくり、
hoge1() などは戻り値を返す関数であるとした場合、
long retval=FuncTbl[0]( );
のような事は出来ないのでしょうか。
要約すると、関数テーブルの関数を実行して戻り値を得ることが出来ますか、
ということなんですが・・・。
0069デフォルトの名無しさん
NGNG・・・・・・・多分。
0070デフォルトの名無しさん
NGNG0071デフォルトの名無しさん
NGNGtypedef long (*FUNC)(...); ならできる。
0072デフォルトの名無しさん
NGNG007368
NGNGそのまんまでしたね。
ありがとうございました。
0074デフォルトの名無しさん
NGNG一応、ellipsisだけでプロトタイプとして有効なのはC++。と突っ込んでおく。
0075デフォルトの名無しさん
NGNG( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>59
0076デフォルトの名無しさん
NGNG0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGPerlとかVBでも使え。
0079デフォルトの名無しさん
NGNGそうします(T_T)
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNG0084デフォルトの名無しさん
NGNGstrcpyとかもさけるべき
strncpyを使う
0085デフォルトの名無しさん
NGNGstrcpy使いまくってますが何か?
0086デフォルトの名無しさん
NGNGまた話を蒸し返すのか?
0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG危険じゃないだろう。
0089デフォルトの名無しさん
NGNG0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG今更C言語なんて何がいいんですか?
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNGプログラミング言語は色々あるからさぁ、
そんな質問じゃあどうしようもない。
0095デフォルトの名無しさん
NGNG0096デフォルトの名無しさん
NGNGジエンウザ
0097デフォルトの名無しさん
NGNG普通は問題になるとは思いません。
1/b がレジスタに確保されれば、丸め誤差すら存在しないと思います。
少なくとも Intel 系 CPU の内部では 80 bits の精度で計算してますから。
0098デフォルトの名無しさん
NGNG明日からC言語が消滅したら・・・JavaかC++でも使うかな(でも給料は半減だ)
0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNG0101デフォルトの名無しさん
NGNGヌルポゲッツ!!!!
0102デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >_∧∩
_/し' //. V`Д´)/ ← >>101
(_フ彡 /
0103デフォルトの名無しさん
NGNGscanf("%d",&n);
int A[n][n],B[n][n],C[n][n];
としたら
エラー E2313 arb.cpp 10: 定数式が必要(関数 main() )
と出てきてしまいました
予め大きな数(10)を取っておいて
int A[10][10],B[10][10],C[10][10];
とするしかないのでしょうか?
0104デフォルトの名無しさん
NGNG"malloc 二次元配列" ぐらいでググれ。
0105デフォルトの名無しさん
NGNG10x10 程度なら、そうするのがいいでしょうね。
0106103
NGNG0107デフォルトの名無しさん
NGNG自分で調べることも出来ない無能なんですか?
0108デフォルトの名無しさん
NGNG50% ぐらいはそう。
10% ぐらいは調べてもわからないから質問してる奴。
残り、40% はお前や俺みたいに C言語に関係ないことを書いてるアフォ。
0109結果の違う理由は?
NGNGvoid main( )
{
char a;
unsigned char b;
a = 0xFF;
b = 0xFF;
printf( "a = %X\n", a );
printf( "b = %X\n", b );
}
0110デフォルトの名無しさん
NGNGunsigned charとして扱われる処理系なら結果は等しい。
0111デフォルトの名無しさん
NGNGぬるぽとかぬるぽ叩きとかな。
0112デフォルトの名無しさん
NGNG0114デフォルトの名無しさん
NGNGつまり、質問者が無能かどうか、調べても分からない>>107は無能なんですね?
0115デフォルトの名無しさん
NGNGそういう意味では、無能だよ。
それがどうかしたのか ?
0116デフォルトの名無しさん
NGNGこの子が元気ならそれでいいじゃない!
0117デフォルトの名無しさん
NGNG本のタイトルに「C言語」と入っている本はよくない、みたいなレスを見かけるんですが、
どうしてよくないんでしょうか?
スレ立てるまでもない質問でこんあのあったよ。
誰か答えれる?
0118デフォルトの名無しさん
NGNG日本語だから。
0119デフォルトの名無しさん
NGNG0120デフォルトの名無しさん
NGNGC言語は糞だからその解説本も糞だらけ
つまり良本なんて無いってこった
C言語と入ってない本の著者が遠まわしに宣伝してるだけかもしれんが
0121デフォルトの名無しさん
NGNG#include<stdio.h>
#include<math.h>
main()
{
double th,s;
th=1.57;
s=sin(th);
printf("%f\n",s);
}
でコンパイルすると
/tmp/ccSjmpTh.o: In function 'main':
/tmp/ccSjmpTh.o(.text+0x3d):undefined reference to 'sin'
collect2: ld returned 1 exit status
と表示されてしまいコンパイルできません。
どうすればよろしいでしょうか?
0122デフォルトの名無しさん
NGNG-lm
0123121
NGNGありがとうございます。できました。
-lmについて調べてみます。
0124デフォルトの名無しさん
NGNGグラフィックライブラリを使用する際の
#include<???.h> この???には何を入れればよいでしょうか?
それとコンパイル時の -?? この??には何を入れればよいでしょうか?
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNGスキャンファンクション
0127デフォルトの名無しさん
NGNGすきゃんえふ
0128デフォルトの名無しさん
NGNGスケァネフ
0129デフォルトの名無しさん
NGNGイメージデータがうまく読み出せません。
0130デフォルトの名無しさん
NGNG0131デフォルトの名無しさん
NGNG0132デフォルトの名無しさん
NGNGその方がいいよきっと。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGもう少し情報がないと答えられない。
それと、これはC言語の問題なの?
0137デフォルトの名無しさん
NGNG10点。
>>120がC言語は糞と思う理由が述べられてない。
何言語より糞なのかも不明
最終行・・・さらに意味不明。
0138デフォルトの名無しさん
NGNGstrncpyの使い方を教えてください。
0139デフォルトの名無しさん
NGNG0140デフォルトの名無しさん
NGNG「strncpyの使い方を教えてください。」と発言するときに使う。
0141デフォルトの名無しさん
NGNG困ったことに。
コンバート元のフォーマットは
hoge /// piyo
hoge2 /// piyo2
のように見出し語とデータが「 /// 」で区切られている形になっています。で、
「hoge」の部分が11文字以上ならその行は削除するという方針で以下のように組んでみま
した。
が、これを走らせると出力サイズが8MBを超えたあたりで「"read"になることは
できませんでした」のエラーが出てしまいます。ちなみに変換元のテキストデータは20MB強。
fgetsなんかは、扱えるファイルサイズの上限なんかがあるんでしょうか?
int main()
{
FILE *rfp, *wfp;
char buf[4089];
wfp = fopen("d:\\convert.txt", "w");
if (rfp = fopen("D:\\eijirou\\waeiji.txt", "r")) {
while (fgets(buf, 4089, fp)) {
if ((strstr(buf, " /// ") - buf) <= 10) {
fprintf(wfp, buf);
}
}
}
fclose(rfp);
fclose(wfp);
}
0142デフォルトの名無しさん
NGNGfprintf(wfp, buf);
は
fprintf(wfp, "%s", buf);
か
fputs(buf, wfp);
にするべし。
% を含む文字列があった場合に変になる。
多分、それで変なメモリ領域を読み出そうとして
そういうエラーになったんだと思う。
つまり、"read" はファイルの読み出しじゃなくて、
メモリアクセスの方のなのでは。
0143デフォルトの名無しさん
NGNGWin2000とかで出るやつだな。直訳らしいが酷い訳だよなぁ。
>>141
>>142の言うように、printf系関数のフォーマット文字列には定数を与えるのが鉄則。
0144143
NGNGstrstrの戻り値を確認していないのが気になる。
" ///"がなかった場合NULLが返るけど、NULLからあるポインタを引いた答えって決まっているのかな?
Win2000+VC++6.0の組み合わせでは上の条件式は" ///"が見つからなかった場合、真になるね。
0145143
NGNG0146デフォルトの名無しさん
NGNGwhile (fgets(buf, 4089, fp)) {
この部分は、
while (fgets(buf, 4089, rfp)) {
だな。
0147デフォルトの名無しさん
NGNG1行は4089で足りる? オーバーする行があったらどうなるか考えた?
#sedでもawkでも、perlでもできるような気がするんだけど...
0148デフォルトの名無しさん
NGNGつっこみどころ満載だなー!
0149デフォルトの名無しさん
NGNGvoid main( )
{
signed char a;
unsigned char b;
a = 0xFF;
b = 0xFF;
printf( "a = %X\n", a );
printf( "b = %X\n", b );
}
結果
a = FFFFFFFF
b = FF
どうして結果が違いますか?
0150デフォルトの名無しさん
NGNGネタ?
-1と255を代入してそれをprintf()でintに変換して表示してるからだよ。
0151デフォルトの名無しさん
NGNGcharをshort にしたら同じになるよ(w
0152デフォルトの名無しさん
NGNG文字列に変換したいのですが、
何か簡単にできる方法はありませんか?
1桁づつアスキーコードに変換するという方法は思いつくのですが
よろしくお願いします
0153デフォルトの名無しさん
NGNGsprintf
0154デフォルトの名無しさん
NGNGサンクス
0155141
NGNG>>142さんの方法で無事解決です。
総ツッコミ受けているように明らかに酷いソースなんですが、自分の環境下で一回満足に
動けばそれでいいというものなのでこんな感じに・・・。こういう場合でもちゃんと作るべき?
0156デフォルトの名無しさん
NGNGそういうときはawkでも使うのが無難。
cで書くにしても、普段からちゃんと書く癖をつけておけばバグが減ると言うものです。
0157デフォルトの名無しさん
NGNGstruct CELL {
int element;
LIST next;
};
これを用いて
整数のリストを引数とする
再帰的な選択ソートのプログラムを教えてくれませんか?
0158デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1045074808/l50
0159157
NGNG0160デフォルトの名無しさん
NGNG代入先の変数の型に自動で変換される ってことは
イメージ的には代入元を代入先の型にキャストした値が
代入されると考えて良いでしょうか?
0161デフォルトの名無しさん
NGNGそれでいい。
0163デフォルトの名無しさん
NGNGint value1 = 800000;
double value2 = 0.000000125;
として、
printf("result = %d\n", (int)((double)value1 * value2));
とすると、結果は1とならず0となります。
なぜ1にならないのでしょうか?
0164デフォルトの名無しさん
NGNG800000*0.000000125=0.1ですよ。。。
0165デフォルトの名無しさん
NGNGあ、8000000でした。すみません。
関係ないけど、スレタイ「開け」になってるね。
0166デフォルトの名無しさん
NGNG知らなかったよ(TT)
0167163
NGNGtmp1 = 0.000001;
tmp2 = 1000000;
の時点で結果が0になってしまった。
キャストの問題でしょうか?
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNGgccだと最適化の程度によって答えが変わる罠。
冗談はさておき、小数の方が2の負のべき乗になっていないために
演算精度の関係で積が(1に極近い)1未満になっていると思われ。
最適化を強くすると事前に積を求めてしまうのでイミディエイトの1になってしまう。
というわけで、キャストのときは精度に注意しましょう。
0171デフォルトの名無しさん
NGNGそのごみのようなページは何?
0173デフォルトの名無しさん
NGNG>printf("result = %d\n", (int)((double)value1 * value2));
を
printf("result = %d\n", (int)((double)value1 * value2 + 1e-10));
とでもしてみたら?
0175デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNG実数演算を厳密にやろうとしたら常に精度に注意を払わないといけなくなる。
例えば、0.1を10回足しても1にはならないという現象も出てくる。
10進数の小数を2進数で表現する以上、避けては通れない道だと思うしか。
0178デフォルトの名無しさん
NGNG%gだと高々6桁程度の精度で丸めるからな。
>>176
そだね。
逆に、2^(-12)は劣化しないけど。
0179163
NGNG{
int value1 = 8000000;
double value2 = 0.000000125;
double result;
result = (double)value1 * value2;
printf("result = %d\n", (int)result);
}
結局こうしてみました。
>>175
int型で表現したかったので、すみません。。説明不足でした。
>>177
そうですね。今後気をつけます。
皆様ありがとうございました。
0180デフォルトの名無しさん
NGNGrintかround。
0181デフォルトの名無しさん
NGNG部分をintに入れるだけだよ。だから179のコードでも結果は同じだと思う。
0182デフォルトの名無しさん
NGNG単に他の変数に放り込んだだけのように見えます。
本質的に >>163 とどう違うのか、誰か教えてください。
0183デフォルトの名無しさん
NGNG一旦doubleの変数への丸めが入る段階で巧くいくこともある。
勿論、巧くいかないこともあるからεを足す工夫は必要。
round()を使ってもいいが、(int) (double値 + 1e-15)でも充分。
0184デフォルトの名無しさん
NGNG数学的には整数になることが元々予測できてたんじゃないか?
技術系の計算ではたまにあるよね、そういうこと。
そういったシチュエーションだったら、1.e-10とか1.e-15とかいう半端な数を
突然持ち出すより、いっそ「四捨五入」という意味で、
(int)(double値 + 0.5)
とする方がスッキリ納得してもらえるんじゃない?
0185デフォルトの名無しさん
NGNG#define fname "data.txt"
....
strcat(buf,fname"がないよ");*/strcpyでも良い/*
....
という第2引数書き方はC言語的にやって良いのでしょうか?
文字列の扱いはあまりよくわからないので・・・。
0186デフォルトの名無しさん
NGNG文字列は、"abc" "def"のように書くと"abcdef"と解釈される。
なので、
fname "がないよ"は問題なし。
しかし、
・define名は大文字にするのが一般的
・コメントの書き方が変
・一般的にstrcpy()でもstrcat()でもいいなんてことはないはず
・もしそうだとしたらどこかに無駄があるかもしれない
・そもそもsprintf()を使うほうが無難なケースなのかもしれない
とまぁ、このくらい書いておけば後で誰か突っ込んでくれるだろう。
0187デフォルトの名無しさん
NGNGこれだけ、他のつっこみとレベルがちとズレてるな
とチャチャ入れ
0188デフォルトの名無しさん
NGNGchar sz[] = {"/*
#define fname "data.txt"
....
strcat(buf,fname"がないよ");*/strcpyでも良い/*
....
*/"};
こんな感じになってるなら問題ない。
0189185
NGNGthx! 謎が解けました。
コメントはこのスレ用に書いたものだったけど、どうもやり方間違えたようですな。
sprintfでも良かったんですけど、使ったことの無いやつを試してみたかったのです。(汗
ともあれ、ありがとうございました。
0190デフォルトの名無しさん
NGNGありありだろ(w
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNGvoid change(char* a){
a = "AAAAAAAAAAAAAAAAAA";
}
int main(){
char *test1;
test1 ="HelloWorld.";
change(test1);
printf("test1 : %s\n", test1);
return 0;
}
test1の内容を"AAAAAAAAAAAAAAAAAA"
に変えようとしてるのですが"HelloWorld."
のままです。
なんででしょう?
0194デフォルトの名無しさん
NGNGvoid change(char** a){
*a = "AAAAAAAAAAAAAAAAAA";
}
int main(){
char *test1;
test1 ="HelloWorld.";
change(&test1);
printf("test1 : %s\n", test1);
return 0;
}
0195デフォルトの名無しさん
NGNGそれだと動きました。どうもです。
でも、どうしてポインタが2つも必要なんでしょう?
0196デフォルトの名無しさん
NGNGポインタ変数に書き込んでもらう必要があるから。
int 変数に書き込んでもらうには...
void change(int *x){
*x = 123;
}
int main(){
int a;
a = 0;
change(&a);
...
}
とするのと同じ。
今回は、たまたまポインタ変数だったから 間接演算子 '*' が2個並ぶ。
0197C初心者
NGNGappleを入力した数の分だけ表示させるというプログラムを作ろうと
思って下のようなソースを書いたのですが、実行すると
no newline at end of fileと出ます。何処がおかしいのでしょうか?
間違ってる箇所がどうしても見つからないので分る方ご教授下さい。
ちなみにコンパイラはgccでCygwinで実行してます。他のソースを実行する
際は問題は起きてません。
#include <stdio.h>
main()
{
int a , b ;
scanf("%d" , &a);
for( b = 0 ; b < a ; b++ )
printf("apple ");
}
0198デフォルトの名無しさん
NGNG最後に改行でもいれておあげ。
0199デフォルトの名無しさん
NGNG最後に改行を加える。
0200デフォルトの名無しさん
NGNG0201デフォルトの名無しさん
NGNGハッカーは改行で終わっていないと気持ち悪くなるらしいです。
0202デフォルトの名無しさん
NGNGそれだけの理由なの!?
0203C初心者
NGNGきちんと実行できますた。
こんなくだらないことで2時間も延々と迷ってた自分が恥ずかしくなりました。
やっぱり基礎知識は重要ですね。本当今日が今までで一番2チャンが有効活用できますた。
0205デフォルトの名無しさん
NGNGとしたいのですが、ferror() によって errnoが書き換えられる事はないのでしょうか?
0206デフォルトの名無しさん
NGNG0207デフォルトの名無しさん
NGNGファイルの終了を想定しているのか?
0208デフォルトの名無しさん
NGNG別に改行いれなくても実行できるっしょ
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG# setlocale 対応で
0211デフォルトの名無しさん
NGNGfor( i = 0; i<255; i++) ch[i] = isspace(i);
でとれる。
0212デフォルトの名無しさん
NGNG0213デフォルトの名無しさん
NGNG255は、どのロケールでもisspaceで真にならないから。
とボケてみる。
0214デフォルトの名無しさん
NGNGWinXP,BCC32で、
--------------------
#include <stdio.h>
void main(void){
char str[15]="abcdefghijk";
int *p;
p=str;
putchar(*p);
putchar(*(p+1));
putchar(*(p+2));
putchar('\n');
}
--------------------
解説書ではabcと出力されるとあるのですが、aeiと出力されました。
変数を変えて+3,+4にしても1ずれるはずのものが4づつずれます。
4飛びになってしまうのはなぜなのでしょう?
0215デフォルトの名無しさん
NGNGchar* p にすればよろし。
理由は自分で調べれ...
0216デフォルトの名無しさん
NGNG手がかりThx.
お礼に何か差し上げたいところですが何も無いので跳躍します。
0217デフォルトの名無しさん
NGNGどこかの国の言葉ですか?
エスペラントみたいな?
0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
| 1点!!!! |
|_________|
∧∧ ||
( ゚д゚)||
/ づΦ
\ (___ノ
0220デフォルトの名無しさん
NGNG0221デフォルトの名無しさん
NGNG配列にタテヨコはないが、二次元配列を使えばいい。
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNGソース晒しキボンヌ
0224デフォルトの名無しさん
NGNG# define MAX_COLS 50
#include <stdio.h>
int main()
{
int table [MAX_ROWS][MAX_COLS];
int x;
int y;
for (x= 0; x<MAX_ROWS; x++)
for (y= 0; y<MAX_COLS; y++)
{
printf("%d ", table[MAX_ROWS][MAX_COLS]);
}
fflush(stdin);
getchar();
}
超初心者ですみません。
0225デフォルトの名無しさん
NGNG#define MAX_ROWS 6
#define MAX_COLS 50
#include <stdio.h>
int main()
{
int table [MAX_ROWS][MAX_COLS];
int x, y;
for (x= 0; x<MAX_ROWS; x++) {
for (y= 0; y<MAX_COLS; y++) {
printf("%d ", table[MAX_ROWS][MAX_COLS]);
}
printf("\n");
}
return 0;
}
0226デフォルトの名無しさん
NGNGtable[x][y]でしょ。
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNG0229デフォルトの名無しさん
NGNG#define MAX_ROWS 6
#define MAX_COLS 50
#include <stdio.h>
int main(){
int table [MAX_ROWS][MAX_COLS];
int a=0,x,y;
while(a<300){
for(y=0;y<MAX_COLS;y++){
for(x=0;x<MAX_ROWS;x++){
table[x][y]=a;
a++;
printf("%d ",table[x][y]);
}
printf("\n");
}
}
return 0;
}
汚いけど...
0230デフォルトの名無しさん
NGNGありゃ?これで...
#define MAX_ROWS 6
#define MAX_COLS 50
#include <stdio.h>
int main(){
int table [MAX_ROWS][MAX_COLS];
int a=0,x,y;
while(a<300){
for(y=0;y<MAX_COLS;y++){
for(x=0;x<MAX_ROWS;x++){
table[x][y]=a;
a++;
printf("%d ",table[x][y]);
}
printf("\n");
}
}
return 0;
}
0231デフォルトの名無しさん
NGNGだめぽ...
0232デフォルトの名無しさん
NGNGwhile{}は不要。
xとyの二重ループで300回じゃん。
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGあ、こういう質問は宿題スレのほうがいいかも。
宿題じゃなくても。
0235デフォルトの名無しさん
NGNGそういえばそうですね
0236デフォルトの名無しさん
NGNG0237喧嘩王 ◆52.FsIEe7o
NGNGfor(x=0;x<MAX_ROWS;x++){
table[x][y]=a++;
printf("%d ",table[x][y]);
}
printf("\n");
}
プ━( ´,_ゝ`)━( ´,_ゝ)━( ´,_)━( ´,)━( )━m9( ゚,_ゝ゚)プッ!!
0239デフォルトの名無しさん
NGNG0240山崎渉
NGNG0241デフォルトの名無しさん
NGNGへるぷ嫁
0242デフォルトの名無しさん
NGNG取得したのですがどうすればいいですか?
int a;
int b;
int c;
:
:
printf("a=%d",a);
printf("b=%d",b);
printf("c=%d",c); ←こいつらをLOOPさせて1行にできないか?
0243デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG0245242
NGNG1万個ぐらいの変数(!=配列)があるんです。
1万行のprintfを書くかしかないのか・・・
0246デフォルトの名無しさん
NGNG0247デフォルトの名無しさん
NGNGif(a<c)p=&a;
else p=&c;
for(i=0;i<3;i++)
printf("%d ", *(p+i));
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNG大規模システムの開発とかやったことないんじゃねぇの?プッ
0252デフォルトの名無しさん
NGNGwhile((i = getchar()) != EOF)
printf("printf(\"%c=%%d\",%c)", i, i);
でコードの自動生成はどうだ?
0253デフォルトの名無しさん
NGNGところで、そんなにたくさんの変数の命名規則はどんな感じ?
0254デフォルトの名無しさん
NGNG変数名手打ちするそれの、どこが自動生成なんだと小一時間...(ry
0255デフォルトの名無しさん
NGNG0256sage
NGNG例えばお前はソースを追っていて配列の255番目に入ってる値の意味が何なのか
すぐにわかるか?いちいち調べる事になるだろ?
コーディングする時も大変な事になるぞ。
名前からその変数の持つ意味が直感でわかるような変数名が理想なわけ。
素人はすっこんでろ。
0257デフォルトの名無しさん
NGNG普通インデックスに名前付けるだろ
0258sage
NGNGだからさっさと直感で分かるような変数名に直せっつってんだよ。
職業アマグラマは素人に戻れ。
0259デフォルトの名無しさん
NGNG適切な物も選択できないのか。
0260デフォルトの名無しさん
NGNGやりたいこととコードが合っていないと思うのは俺だけか?
0261260
NGNGコンパイル&リンクしたらもう変数名なんて無意味なものになるし。
0262デフォルトの名無しさん
NGNGじゃなきゃ、答えられないって。
0263260
NGNGint a;
printf("aのアドレスは%pです。\n",&a);
0264デフォルトの名無しさん
NGNG0265242
NGNG1万行書きます・・・
ありがとうございました。
0266デフォルトの名無しさん
NGNGfor(i=0;i<sizeof(pee)/sizeof(pee[0]);i++)
printf("%s=%d",pee[i].name,*pee[i].ptr);
こんな感じにしといて、1行目のテーブルは自動生成か人海戦術で作れ。
0267デフォルトの名無しさん
NGNGねぇねぇ、どんな状況なの?ものすごく興味があるんだけど。
0268242
NGNG242のように全変数を変数名付きでダンプさせたい時です。
0270デフォルトの名無しさん
NGNG0271デフォルトの名無しさん
NGNG0272242
NGNGさまざまなシステムから使用される共有メモリ変数があるんです。
(ある領域に連続して宣言されている)
その変数はルール上読み込み専用としてるのですが値が壊れる事があるのです。
で、どこで壊れるのか、どのアドレス位置から壊れているのかを
調べる為に全領域ダンプさせたいのです。
で、今後もこのような事が想定されるので
単純にメモリの中身をダンプするのでは無く
変数名=値
という形でダンプする関数を作りたかったわけです。
0273デフォルトの名無しさん
NGNGデバッグ情報使えよ。MAPファイルとか。
0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGその壊れた領域のアドレスを元にそれを参照している変数(言い方がおかしいな・・・)の名前を得たいってことか?
0276242
NGNG当然1万行手打ちとかコピペなんて作業はしてませんよ。
ただ同じようなコードが1万行続くのがスマートじゃないなと思って
質問してみただけなんですよ。
ほかになんかあります?
0277デフォルトの名無しさん
NGNGそういうツールを探すか作ればよい。
0278242
NGNGアドレスから変数名がわかれば
FOR文で回しながら
変数名=値
をダンプできるなーと思ったんです。
>277
はい、とっくに作って実行済みです。
0279デフォルトの名無しさん
NGNGtypedef struct {
char name[20];
int height;
float weight;
} creature;
int main(void)
{
creature nullpo = {"Nullpo", 60, 30.0};
printf("&nullpo = %p\n", &nullpo);
printf("&nullpo.name =%p\n", &nullpo.name);
printf("nullpo = %u, %p, %c, %s\n", nullpo, nullpo, nullpo, nullpo);
printf("name : %s\n", nullpo.name);
printf("height : %d cm\n", nullpo.height);
printf("weight : %.1f kg\n", nullpo.weight);
return 0;
}
0280279
NGNG&nullpo = 0064FDE8
&nullpo.name =0064FDE8
nullpo = 1819047246, 00006F70, , (null)
name : Nullpo
height : 60 cm
weight : 30.0 kg
//--------------------------------------//
構造体の勉強に取り掛かったのですが、詰まりますた。
nullpoとnullpo.nameのアドレスは等しいのにnullpoの中身を
見ると、(null)などと出てきて・・・
nullpoの中身の数字は何を表しているのか、教えて下さい。
お願いします。
0281動画直リン
NGNG0282デフォルトの名無しさん
NGNGnullpo構造体の先頭アドレスだろ。
0283282
NGNG0284282
NGNG代入にしか使ったことないや。 nullpo2 = nullpo;
0285279
NGNGこれは、知る必要の無い事なのでしょうか?
それとも、私は何かとんでもない勘違いをしているのか・・・
とりあえず、勉強を進めまつ。
0286デフォルトの名無しさん
NGNGこれで動くでしょ。
0287デフォルトの名無しさん
NGNGsearch & replace & #define
0289デフォルトの名無しさん
NGNGprintf("同じ\n");
同じと表示されないんですけど。
0290デフォルトの名無しさん
NGNG10 == 8
0291デフォルトの名無しさん
NGNGというか、万単位の (おそらく静的な) 変数を
寿命も考えずに維持するというのは
莫迦のすることですよ。
0292デフォルトの名無しさん
NGNG0293bloom
NGNG0294デフォルトの名無しさん
NGNG一つの関数の中に自動変数が一万個以上あるんですが・・・・
ちなみにその関数は43000行程度あります。
0295デフォルトの名無しさん
NGNG一から書き直せ。
0296デフォルトの名無しさん
NGNGとりあえずどうすればいいでしょうか?
0297bloom
NGNG0298デフォルトの名無しさん
NGNGint main()
{
if(fopen("/usr/local/bin/prog","r"))
printf("インストールされているね\n");
else
printf("インストールされていないみたい\n");
return 0;
}
0299デフォルトの名無しさん
NGNG>>298
あけたらとじようみんなのファイル。
0300デフォルトの名無しさん
NGNGファイル閉じる以前の問題があると思わないか?
0301デフォルトの名無しさん
NGNGC言語にはインストールと言う概念はありません。
OSが特定できればそれを知る手段があるかもしれないけど。
>>300
ネタだから構わないじゃないか。
0302デフォルトの名無しさん
NGNGクローズされるんだけどね。
0303デフォルトの名無しさん
NGNG#include <stdio.h>
int main ()
{
while (!fopen ("/usr/local/bin/prog", "r"))
sleep (60);
printf ("インストールされているね\n");
return 0;
}
これで何かまずいの?
終了したときにcloseしてくれるとか読んだような気がするんだけど
0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNGその理由を書いてくれないと。
0306デフォルトの名無しさん
NGNGfopen() の挙動について小一時間調べとけ。
0307デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNG何故ここで聞こうとしたのか、教えてもらいたいな
0309デフォルトの名無しさん
NGNGhttp://www.yahoo.co.jp/
http://www.google.co.jp/
http://pc2.2ch.net/tech/
この辺が参考になると思うよ。
0310デフォルトの名無しさん
NGNGgetsなんかを組み合わせた2行ぐらいのがあった思いますが、教えてください。
0311デフォルトの名無しさん
NGNGこんなのはどうだ?
char buffer[256];
fgets(buffer, 256, stdin);
0312デフォルトの名無しさん
NGNG空白は改行にはならないぞ。
空白を含む文字列を取得したいなら、scanf()のマニュアルをよく読め。
念の為に言っておくが、「printf()とscanf()のフォーマット文字列は
互換性がある」だなんて書いてある入門書は捨てろ。
0313デフォルトの名無しさん
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG0316デフォルトの名無しさん
NGNGUNIXのfileコマンドの
magicファイルを自動生成するプログラムじゃ駄目ですか?
0317デフォルトの名無しさん
NGNGwindows
0318310
NGNG>>311 変数の宣言を含まずに2行だったような。EOFも使ってたような。
>>312 [\n]とか書くとできるのは知っているのですが、scanfでは無いのが
急に気になりだしてしまったので。
while((c=getchar())!=EOF)
こんなのを含んでたような。思い出せません。
0319デフォルトの名無しさん
NGNGもう少し何がしたいのかはっきりしてくれ。
0320デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <time.h>
#define MAX_Q 20 /*表示する問題の個数*/
#define MAX_LINE 128 /*入力行の最大数*/
void main(void);
void kuku(int questno);
void print_result(void);
int good_answers = 0; /*正解の個数*/
/*
* 関数mainは九九の練習をする。
* 問題をMAX_Q回繰り返す。
* 最後に結果を表示する
*/
void main(void)
0321デフォルトの名無しさん
NGNGint i;
float rate;
/*現在時刻を使って乱数の「種」を得る*/
srand((unsigned int)time(NULL));
printf("これから九九の問題を %d 問出します。\n",MAX_Q);
good_answers = 0;
for (i = 0; i < MAX_Q; i++) {
kuku(i);
}
rate = good_answers * 100.0 / MAX_Q;
printf("問題は %d 問ありました。\n", MAX_Q);
printf("%d 問は正解したよ(゚〇゚)マルー \n",good_answers);
printf("でも%d 問間違ったよん♪バーカ(゚д゚)マズー \n", MAX_Q - good_answers);
prontf("正解率 %0.1f %%です。\n",rate);
printf("\n");
printf("ごっくろ〜さん♪")
0322デフォルトの名無しさん
NGNG/*
*関数 kukuは九九の問題を一問出し、答えを待つ。
*正答、誤答の別を表示する。
*/
void kuku(int questno)
{
int x, y, result;
char buffer[MAX_LINE];
x = rand() % 9 + 1;
y = rand() % 9 + 1;
printf(" [第 %d 問] %d × %d =", questno + 1, x, y,);
fflush(stdout);
gets(buffer);
result = atoi(buffer);
if (x * y == result) {
printf("うむ、それでただしいのだ。\n");
good_answers++;
}
else {
printf("ざ〜んねん(みのもんた風に)\n");
}
printf("\n");
}
0323デフォルトの名無しさん
NGNG0324デフォルトの名無しさん
NGNG0325デフォルトの名無しさん
NGNGそのプログラム、いとも容易く暴走できるな。
0326デフォルトの名無しさん
NGNGという関数があるのですが。
戻り値が static void になっているのは
どういうわけなのか理解できません。
どういう都合があるのでしょう。
0327デフォルトの名無しさん
NGNG関数内と関数外ではstaticの意味が全く違う(なんでそうしたんだろうね??)。
staticがついているので、そのhoge関数はほかのファイルからは呼び出せない。
0329デフォルトの名無しさん
NGNG0330デフォルトの名無しさん
NGNG0331デフォルトの名無しさん
NGNG0332ポインター処女
NGNG0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNGauto は、無意味じゃないぞ。
あそこには、static と auto が書けて、省略時解釈が auto になってるだけだ。
0336デフォルトの名無しさん
NGNG良く出来たコンパイラだな〜。
でも最適化は弱そうな雰囲気。
0337デフォルトの名無しさん
NGNGPGって、思ったより簡単みたいだね。
みんな!応援してね。
http://school2.2ch.net/test/read.cgi/job/1049610473/
0338デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/delphi/personal/
0339デフォルトの名無しさん
NGNG0340デフォルトの名無しさん
NGNG配列の添え字にunsignedしか使えなかったら不便じゃん。
0341デフォルトの名無しさん
NGNG0342デフォルトの名無しさん
NGNGPGって、思ったより簡単みたいだね。
みんな!応援してね。
http://school2.2ch.net/test/read.cgi/job/1049610473/
0343デフォルトの名無しさん
NGNG中級者 VB.NET C#.NET
上級者 C++
男根世代 C VB
女子高生 アッセンブラ
乞食 Perl
朝鮮人 Java
0344デフォルトの名無しさん
NGNG初期値を変えられないですか?
runした時間によって変えたりしたいんですけど
0345デフォルトの名無しさん
NGNGsrandじゃ。
0346デフォルトの名無しさん
NGNG一応言っておこう。
rand() 関数は、おそらく乱数表を使ってはいない。
世の中には線形合同法という洒落込んだ名前の付いた乱数生成アルゴリズムがあり、
乱数は計算によって生成されている。
まぁ、どのアルゴリズムを使っているかはコンパイラ次第であり、確実に線形合同法
が使われているかどうかは俺の知識を超えるがな。
でもって、たいていのアルゴリズムでは、乱数を利用するための初期値が必要になる
のだが、そのために srand(int) という関数が標準で実装されている。
話をまとめると、
「rand() を使うプログラムには main() の先頭に srand(time(NULL)) を書け!」
ということだ。マジレス終了。
0347デフォルトの名無しさん
NGNG>>346
ありが�d
0348デフォルトの名無しさん
NGNGsrandの引数はunsigned intだぞ。
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNG0352デフォルトの名無しさん
NGNG図形を書くときって、特別な設定が(何かをインストールするとか)必要なんですか?
0353デフォルトの名無しさん
NGNG今の環境にそういうライブラリがなければ入手してインストールする。
0354デフォルトの名無しさん
NGNG(・A・)イクナイ
起動時にスクリプトなんかから自動的に起動されるプロセスの場合、
毎回毎回 PID が同じになる。慣習通り、time と組み合わせるのがいいと思うよ。
0355デフォルトの名無しさん
NGNG/dev/randamからもってきたらええやん。
0356デフォルトの名無しさん
NGNGint nul[65], *po = &nul[32];
として、添字の範囲を -32〜+32 ということにしたいのでしょう。
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNGclock()はプロセスが起動してからの時間だからやめた方がいいよ。
起動直後に呼ぶと毎回同じ値になる可能性がある。
srand((unsigned)(time(NULL) ^ clock()));でどうよ?
0359デフォルトの名無しさん
NGNGテキスト画面に描くとか。(計算は自前)
0360デフォルトの名無しさん
NGNGだから、おとなしく time(NULL) じゃダメなのか。
0361デフォルトの名無しさん
NGNG暗号には時間関数を使ってはいけない。
0362デフォルトの名無しさん
NGNG> 起動直後に呼ぶと毎回同じ値になる可能性がある。
なら、
> srand((unsigned)(time(NULL) ^ clock()));
も毎回同じ値になる可能性があるんでは?
0363デフォルトの名無しさん
NGNG自分以外のEXEを実行させるプログラムを
教えてください。
0364デフォルトの名無しさん
NGNGchar で放り込んだ変数の判断なんですが
perlの場合の if($hoge =~ /.jpg$/){}のように
if文書きたいんですけど
Cだとどうかくんでしょうか?
0365デフォルトの名無しさん
NGNG入門書買ってきてください。
0366363
NGNG初心者向けの講座があるサイトも結構回ったんですけど
解説してる所はありませんでした。
使う命令だけでもいいんで教えてくれませんか?
0367デフォルトの名無しさん
NGNG0368デフォルトの名無しさん
NGNGexec
spawn
0369デフォルトの名無しさん
NGNGsystem(),fork(),exec*(),pipe()
Windowsなら
ShellExecute(),CreateProssece(),
あたりか
0370363と366
NGNG0371デフォルトの名無しさん
NGNGなぜ標準のsystemを教えない。
0372デフォルトの名無しさん
NGNG綴り間違い
CreateProcess
0373デフォルトの名無しさん
NGNGそりゃちゃうやろ。
>>364
適当な正規表現ライブラリを探すか、自分で作れ。
if($hoge =~ /.jpg$/){} ぐらいなら難しくはない。
0374デフォルトの名無しさん
NGNG0375374
NGNG0376デフォルトの名無しさん
NGNGregex は?
0377364
NGNG引数与えて 最後の4バイトを返すやつで判別するほうが
楽かな?
C言語は昨日はじめたばかりでWebとかいろいろ探しているんですけど
難しい・・・
0378デフォルトの名無しさん
NGNGint endsWith(const char *str, const char *suffix) {
return (strstr(str, suffix) - str) == (strlen(str) - strlen(suffix));
}
0379363
NGNGmain()
{
execlp("てすと.exe", "てすと.exe", NULL);
return 0;
}
一応できました。とりあえず正常に動いてるんですが
無駄な部分や、もっと簡略にできる部分がありましたら
ご指摘ください。
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG要は拡張子の判定がしたいみたいですが。だったら、
ext = strrchr(path, '.');
で、ext に文字列が入ります。ドットが含まれていない
場合には ext が空っぽなので、直後に if で例外処理を
適当にやってみてくださいな。
0382デフォルトの名無しさん
NGNGexec は成功したらそこで終了です。
なので return(0); には来ません。来るとしたらそれは
exec に失敗しているので、exit(1); とかじゃないでしょうか?
0383山崎渉
NGNG( ^^ )< ぬるぽ(^^)
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGそもそも環境は ?
拡張子を判別したいと言うのなら、環境によってはパス名称を分解するライブラリ/API を持ってたりするから、それ使った方がわかりやすいと思うぞ。
0386デフォルトの名無しさん
NGNGユーザー権限でgd2.0.12をインストールして
簡単なやつ
# ttp://www.ed.kagu.tus.ac.jp/~tbn/prog/gd.html
みたいのをgccでコンパイルしたいのですがうまくいきません
gcc -o sample -I/home/test/tmp/include -L/home/test/tmp/lib sample.c -lgd -lm
でコンパイルは通るのですが
実行すると
./sample: relocation error: /usr/lib/libgd.so.2: undefined symbol: jpeg_resync_to_
restart
となりうまくいきません
Delphiみたいに実行時のパッケージをつかって構築みたいに
外部ファイルを使わないで実行できるようなコンパイルオプションは
ないのでしょうか?
libjpegやlibpngなどはリンクでかまいませんが とりあえずgdが入って無い
システムでも動くようなバイナリを作るのは無理なのでしょうか?
0387えんぴつ
NGNG(僕がブルーだって言ってるのにレスが笑顔でぬるぽ・・・)
(流石だ・・・)
∧_∧
( ´∀`)< ぬるぽ
0388えんぴつ
NGNG0389デフォルトの名無しさん
NGNG0390デフォルトの名無しさん
NGNGと書くと /usr/include/stdio.h を読みこみますよね。
しかしこれに書いてあるのは宣言だけなんですけど、
定義はどこから持ってくるのでしょうか。
0391デフォルトの名無しさん
NGNG0392デフォルトの名無しさん
NGNGLib からだよって答えで良いのか?
0393390
NGNG/usr/lib/libc.a でいいのかなあ。
-I や -L でヘッダやライブラリのパスを追加できるって感じですか。
デフォルトのものはどうやって調べるのでしょうか?
0394デフォルトの名無しさん
NGNGLinux だと標準では
ヘッダーは /usr/include
本体は /usr/lib
あたりかな。
C標準ライブラリだと、 /usr/lib/libc.a とか。
コンパイラオプションの -I -L とか調べてみては?
0395363
NGNG改良します。
0396386
NGNGだけど既存のファイルを読み取って拡大するようなやつを
つくったら汚い汚い・・・GDModuleってこんなもんなの?
なんかカラーのがセピア色になってる・・・
0397デフォルトの名無しさん
NGNGK&R本演習3-1,
binsearchのループ内のテストを一回で済ますプログラムを書けというんですが、
if
else if
else
を
if
else
にしろということなんですか?
0398デフォルトの名無しさん
NGNG0399デフォルトの名無しさん
NGNGjoy_gameboy_advacen()で検索してみ
0400デフォルトの名無しさん
NGNGその前にCを覚えたほうがいいと思いCの勉強を始めました。
NS−DOS上で動くプログラムの習得、なんか、原始的な勉強を
しているような感じです。
こような考えかたを持つ者は、だめでしょうか。
0401デフォルトの名無しさん
NGNGfopen()だよ
0402デフォルトの名無しさん
NGNG今の時代、Windowsを使った方がいいよ。
メモリモデルとか意識しなくていいしさ。
0403デフォルトの名無しさん
NGNG400ですが、そうですよね。
0404デフォルトの名無しさん
NGNGそのMS-DOSってのは本物のMS-DOS?
それともWindowsのMS-DOSプロンプト(コマンドプロンプト)?
0405デフォルトの名無しさん
NGNGMS-DOSならデバイスドライバを介さずに直接ハードウェアにアクセスできる利点はあるけどね。
0406デフォルトの名無しさん
NGNG~
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGんだったら
>403
なにが「そうですよね」だよ
馬鹿にしやがって
0409デフォルトの名無しさん
NGNGいやいや、16bitコムパイラつかってるなら問題ない。
0410デフォルトの名無しさん
NGNG0411410
NGNG0412デフォルトの名無しさん
NGNG0413410
NGNGならなぜgetenvという標準関数があるんですか?
0414デフォルトの名無しさん
NGNG俺もそれわからんかった。誰かキボンヌ
0415デフォルトの名無しさん
NGNG問題がわからないが
再帰関数なら次の深さのifで代用?
0416デフォルトの名無しさん
NGNGどっちが すきだ?
0417デフォルトの名無しさん
NGNG問題は、二分探索で、ループ内の比較を2度ではなく1度しか行わないように変更する。
答:ループを抜けてから1度合致を判定する
0418デフォルトの名無しさん
NGNG0419デフォルトの名無しさん
NGNGファイルポインタに標準入力(STDIN)をセットするやりかたが分かりません。
どなたか教えてくれませぬか?
0420デフォルトの名無しさん
NGNGfp = stdin;
fprintf(fp, "なんでこんなことしたいの?");
0421デフォルトの名無しさん
NGNG0422デフォルトの名無しさん
NGNGなんかのソースを修正した記憶がある。
0423デフォルトの名無しさん
NGNG>>422
stdinやstdoutが初期化されてないと駄目だからね
0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGども、ありが�d
参考になりますた!!
0426デフォルトの名無しさん
NGNGVC++6.0で、現在Cやってます。
プログラム実行時、
ダラダラと文字が表示されるのが見にくいので、
コマンド入力ごとに画面消去がしたいんです。
いろいろサイト調べたら、
制御コード ESC [2J とか
printf("\033[2J"); /*画面消去*/
ってあったんで、コレダ!と思って加えたんですが、
変な文字が出るだけで消去できませんでした。
消去できない理由を教えてください。
0427デフォルトの名無しさん
NGNG0428デフォルトの名無しさん
NGNG0429デフォルトの名無しさん
NGNG>printf("\033[2J"); /*画面消去*/
これはエスケープシーケンス文字列って奴なんだけど
Windows9.x系のOSしか対応してないはずだよ
試してないけどsystem("cls");で出来るかも知れない
0430デフォルトの名無しさん
NGNG0431426
NGNGsystem("cls");
いけました!
答えてくれた皆様、
本当にありがとうございました!
0432429
NGNG#include <stdio>
main(){
printf("テストしてみますね\r\n");
printf("適当な文字列生成中もな〜");
system("cls");
printf("あれれ前二行が出力されてないもな\r\n");
printf("CTRL+Cで終了してね");
while(1);
}
0433429
NGNGあらら、ご本人さまに先を越されてしまったw
つーことで頑張ってね〜
0434デフォルトの名無しさん
NGNG0435bloom
NGNG0436デフォルトの名無しさん
NGNGansi.sys(or ansij.sys)が必要。
これはWindowsになっても変わらない。
0437デフォルトの名無しさん
NGNGCUIで色変え何て邪道ですぜ
0438デフォルトの名無しさん
NGNG#include <windows.h>
#include <stdio.h>
int main(void)
{
int a;
for(a=0;a<=255;a++)
{
SetConsoleTextAttribute((HANDLE)GetStdHandle(STD_OUTPUT_HANDLE),a);
printf("0x%02x ",a);
}
getchar();return 0;
}
0441ぼぶ
NGNG正しい括弧付けかどうかをテストするプログラムを教えてください。
0442デフォルトの名無しさん
NGNGびっくりするぐらい情報不足なのは仕様?
0443
NGNG正しい括弧付けかどうかをテストするプログラムを教えてください…
>正規表現かどうかを調べるプログラムです
0444デフォルトの名無しさん
NGNGびっくりするぐらい情報不足なのは仕様?
0445デフォルトの名無しさん
NGNGとある例題で
ch = getchar();
if(ch < 'f' printf("その文字はfより小さい");
と書いてあるのですが
二行目 'f'とprintfの間に「)」が入るのでは?、と思いました。
この本のhpのミス訂正一覧にも乗ってなかったのでここで質問させていただきます。
教えてエロイ人(;´Д`)
0446デフォルトの名無しさん
NGNGコンパイラに聞けば答えがわかるのに。
0447デフォルトの名無しさん
NGNGあんたの言うとおり。
ミスプリなぞしょっちゅう出くわすものだ。いちいちツッコんでいては人生に疲れるぞよ。
0448デフォルトの名無しさん
NGNG0449445
NGNG自信が無く、不安でしたので・・・。
お二方、ありがとうございました。
0450デフォルトの名無しさん
NGNG0451デフォルトの名無しさん
NGNG解答を貰ってすっきりしたら夜の相手もお願いしようって魂胆では。
0452デフォルトの名無しさん
NGNGエロくなかったらCなんて習得できないだろ
0453デフォルトの名無しさん
NGNG可能なのでしょうか?
可能だとすればどうすれば変更できるのでしょうか?
0454デフォルトの名無しさん
NGNGCとは関係ないね。
0455デフォルトの名無しさん
NGNG確かjpとかusとか打つと出来たんじゃない?
0456453
NGNG0457デフォルトの名無しさん
NGNGやめとけ。
0458453
NGNG0459デフォルトの名無しさん
NGNG全体的なフォントを変えたいのか。
どちらにしろ、>>457に同感
0460453
NGNG一部ではなく全部です。
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNG標 準 C で は で き な い 。
>>1 を 見 よ
0463デフォルトの名無しさん
NGNG全体ならMS-DOSプロンプトのプロパティから変えれば。
0464デフォルトの名無しさん
NGNGこのC言語でプログラムを組めるとどんなすごいことができるんでしょうか?
今この世に存在してるソフト(ゲーム、PCのアプリケーション、電化製品内の
ソフトフェア)ってみんなC言語なんですか!?
趣味でこんなおもしろいことができるよ!とかあるんでしょうか?
0465デフォルトの名無しさん
NGNG0466デフォルトの名無しさん
NGNGこの世に存在してるソフトがみんなCなら
他の言語は何のために存在してるんだよ! プンスカ!
...といっても、Cが多いのは確かだろうけど。
趣味なら、パソコン使ってて不便だと思うことを
プログラムで解決したりとか、
あとは適当にゲームでも作って遊ぶとか。
もっとハマると、ただ何かコード弄ってるだけで楽しくなってきたり...。
0468デフォルトの名無しさん
NGNG適材適所。
メリットデメリットなんて、ターゲットにもよるし、人にもよるし。
多いといわれても、何を基準にしているかにもよるから、ナンセンスかな
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNGその手の話はここ↓の“THE FUTURE”と“CREATORS ADMIT UNIX, C HOAX”を御参照下さい。
http://www.edfac.usyd.edu.au/staff/souters/Humour/Real.Programmer.Stories.html
つか、ネタ、及び自作自演はは他スレでやってね。
この期に及んで「適材適所」だってよ(プ
おまえらって最後はいつもそれな(ププ
楽しい?
0471デフォルトの名無しさん
NGNGんじゃ、適材適所じゃない、どんな用途にも使える言語ってのを教えてくれ。
0472デフォルトの名無しさん
NGNG大きすぎるのかmallocに失敗してその対処に困っています。
大きな領域を一度に確保する良い方法は無いでしょうか?
0473デフォルトの名無しさん
NGNGメモリ増設
0474デフォルトの名無しさん
NGNG何バイトくらい要求しているんだ!?
0475デフォルトの名無しさん
NGNGうん。つまらんことで悩む時間を考えるとメモリ増設なんて安いもんだ。
どうせ来年あたりにはオンボード1Gbyteが普通になるんだろうし。
0476デフォルトの名無しさん
NGNGmallocに失敗する要求サイズは25920byteです。
失敗するまでにこの5〜6倍程度の領域を既に
確保しています。
サイズとしてはあんまり大きくないと思うんですけど・・・。
あと、開発に使ってるマシンに積んであるメモリは512MBなので、
余裕はあるはずなんですが。
0477デフォルトの名無しさん
NGNGまず、どれだけのサイズを確保しようとしてるのかを確認しる。
一度で確保出来ないなら、分割して確保出来るかを確認しる。
デバイスドライバやカーネル周りでも無ければ、
本当に連続した領域が必要な事は少ない。
>>メモリ増設とか言ってる香具師
C言語の範疇では無いのでスレ違い。
8 bitプロセッサでも16bitプロセッサでもCは動く。
まぁ472が組み込み系で無いと思うのは同意だが。
0478デフォルトの名無しさん
NGNGうちでは32GB積んでいるが、それでも足りない。
0479デフォルトの名無しさん
NGNG0480479
NGNG0481デフォルトの名無しさん
NGNG環境は?
0482デフォルトの名無しさん
NGNGPen4 2G Mem 512MB
RedHat 7.3
GCC 2.96
です。
0483デフォルトの名無しさん
NGNG実行環境も同じだよね?
mallocで失敗するとは思えん・・・
0484483
NGNG0485デフォルトの名無しさん
NGNG開発兼実行環境です。NULLが帰ってきてます。
最初の発言以降mallocと書いてますが、実際は
callocを使ってます。
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGlimitだろ。
ulimit (cshならunlimit) してから実行しなおせ
0488デフォルトの名無しさん
NGNG0489デフォルト名無しさん
NGNGどなたか助けていただけないでしょうか?よろしくおねがいいたします。
#define MAX_ROWS 6
#define MAX_COLS 50
#include <stdio.h>
void rowtotal(int table[][MAX_COLS], int rowadd[]);
int main()
{
int table [MAX_ROWS][MAX_COLS];
int a=1,x,y;
int row[MAX_COLS] = {0};
for(y=0;y<MAX_COLS;y++)
{
for(x=0;x<5;x++)
{
table[x][y]=a;
a++;
printf("%3d ",table[x][y]);
}
printf("\n");
}
rowtotal (table, row);
fflush(stdin);
getchar();
return 0;
}
0490続き
NGNG{
int row;
int col;
for (col = 0; col < MAX_COLS; col++)
{
for(row = 0; row < 5; row++)
rowadd[col] += table [row][col];
}
for (col = 0; col < MAX_COLS; col++)
printf("%d\n", rowadd[col]);
return;
}
0491デフォルトの名無しさん
NGNG{
for(x=0;x<5;x++)
{
table[x][y]=a;
a++;
printf("%3d ",table[x][y]);
}
//合計表示はここでしょうに。
printf("\n");
}
0492デフォルトの名無しさん
NGNG1 2 3 4 5 15
6 7 8 9 10 40
11 12 13 14 15 65
だとしたら、各セルを表示するロジックと合計値を表示するロジックが
完全に分離されている現状ではカラム制御しない限り無理。
っていうか、今のロジックって、
main()
{
値設定と表示ループ
合計値計算と表示()
}
って作りになっているけど、気持ち悪いし上述の問題があるので
main()
{
値設定() /* これくらいならループでもいいか */
合計値計算()
合計値セルを値セルと連結()
表示()
}
ってすれば汎用性が高い部品を幾つも作れて楽しいかと。
0493デフォルトの名無しさん
NGNGC++にしないように。それと、現行ロジックはまったく無視しちゃうわけね。
0494デフォルトの名無しさん
NGNGは?MAX_COLSが分ってるならtotalの配列も作れるでしょ?
全然Cだし、ロジック殺してないけど?
0495デフォルト名無しさん
NGNGtable[5][MAX_COLS]の位置に合計を表示させたいんですが。。。
どうも、うまくいきません。ご教授よろしくお願い致します。
0496デフォルトの名無しさん
NGNGint total [MAX_COLS];
こうしたほうがいいんじゃないのかな?
rowtotal(y,table,total);
でこれで処理できるようにする。
あとは>>491を参考に。
rowtotalを一括でやっちゃいたいのなら
make_table(table);
make_total(total,table);
view_matrix(table,total);
と三段階に分けたほうがいいかな。
0497デフォルトの名無しさん
NGNGapple: 70
banana: 50
↑このように、特定の位置に頭を揃えて出力する方法はありますか?
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNGprintf("%6s: %-3d",kajitsu, nedan);で出来ん?
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGsprintf()を駆使しろ。
char buf[適当な長さ];
sprintf(buf, "%-10s%d", "melon:", 100);
:も自動化したかったら,
char buf[適当な長さ];
sprintf(buf, "%s:", "melon");
sprintf(buf, "%-10s%d", buf, 100);
0502デフォルトの名無しさん
NGNGprintf("%10s%d","meron:",100);
printf("%10s%d","apple:",100);
printf("%10s%d","banana:",100);
printf("%-10s%d","banana:",100);
かもしれん。リファレンスみてちょ。
0503デフォルトの名無しさん
NGNGどうもありがとうございます。
0504デフォルトの名無しさん
NGNGちょっとだけ凝るなら>>499-502の両方の利点を生かして
sprintf(formatstr, "%%ds: %-%dd", kajitsulen, nedanlen)
printf(formatstr, kajitsu, nedan);
とかやってもいいかも。
0505デフォルトの名無しさん
NGNGそれを書くなら、
printf("%*s:%-*d", kajitsulen, kajitsu, nedanlen, nedan);
だろ?
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGいや実際はループしてるんだし先にフォーマットを決めちゃわないと
>>506
正規表現なんて未だに情報処理試験の問題に出てくるらしいし
エンコード、デコード、正規表現・・・文字列を舐めちゃいけない
文字列処理が簡単だったらPERLなんて流行ってないよ
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNG「ここでやっている」って事なら同意。
これはC言語が入門用に勧められてるのが原因じゃないのかな?
C言語に始まりC言語に終わるってのが現状だし。
ビジネスアプリな人はCに戻ってこないけどねw
0510デフォルトの名無しさん
NGNGビジネスアプリというのが
実用的なアプリということなら同意。
0511デフォルトの名無しさん
NGNGキーワードではないと思う。演算子もキーワードではないでしょ。
0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG昔Xフルビルドすると一晩掛かったもんだ。
0514デフォルトの名無しさん
NGNGコンパイラにもよるけど一般的にコンパイル速度を上げるには、
・コンパイラが使えるメモリを増やす。
・極大な関数があるなら分割する。
・(C++なら極悪なテンプレートは避ける)
・最適化を省略する。
・Makefileを使っているなら無駄なコンパイルをしてないかチェックする。
といった辺りをチェックしてみてはいかがでしょうか。
0515デフォルトの名無しさん
NGNG高いマシンを買って-O2オプションを付けてコンパイルすると幸せになれるよ
BCの話だけど
0516デフォルトの名無しさん
NGNG> ・極大な関数があるなら分割する。
ためしに数万行もある関数をコンパイルしたらVC++がフリーズしたっけな。
0517デフォルトの名無しさん
NGNGSTLは見逃して
0518デフォルトの名無しさん
NGNGの**って何です?
検索しようにもアスタリスクは検索演算子として見られてしまって検索できません。
強化版ポインタか何かですか?
教えてくださった方には山梨県を差し上げますのでどうかお願いします。
0519
NGNG例えば
(()())は正しく
)()(や(()))みたいに正しく括弧付けされてないものは誤りである
といったようなことを判別するプログラムを書きたいのですが…
0520デフォルトの名無しさん
NGNG今ぱっと思いついたのは
1.数えてる途中で')'の数が'('の数を上回らない(同じ数になるのはOK)
2.最終的に'('の数と')'の数が等しい
を満たしてりゃいいんじゃないの?
0521デフォルトの名無しさん
NGNGDelphiなら一瞬です。
0522デフォルトの名無しさん
NGNGこの間それにつかえるアルゴリズムを勉強したでしょ?
0523デフォルトの名無しさん
NGNG春の基本情報処理試験に出たね。
0524デフォルトの名無しさん
NGNG再帰関数を使うと言う手もある。
・文字列に対する参照ポインタを用意する。
・文字列を回して最初に)がきたらエラーを返す。
・最初に(が来るなら参照ポインタを文字列をそのまま自分に放り込む(再帰)
・再帰から抜けたあと、)が無ければエラーを返す。
でも>>520さんの方がスマートかな?
0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGhttp://pc2.2ch.net/test/read.cgi/tech/1050078087/690
0527デフォルトの名無しさん
NGNGコンパイラ屋さんとかを目指すならこっちだけどねぇ
==が正しいかとか他の構文解析も追加しやすそうだし
0528デフォルトの名無しさん
NGNG0529デフォルトの名無しさん
NGNG'(' が出てきたら、 count++;
')' が出てきたら、 count--;
途中で count<0 になったら正しくない。
最後まで読みこんで、 count!=0 だったら正しくない。
"〜"、 '〜'、 /*〜*/、 //〜\nの間はカウント停止。
0530デフォルトの名無しさん
NGNG保証されてないと無茶苦茶困ると思うが。
>>485
calloc/malloc してる所は他にないのか ?
バグでメモリ管理領域が壊されてるに、一票。
>>519
マルチはやめてね。むこうに、>>520 と同様のアルゴリズムで書いといたから見といてくれ。
>>524
単に括弧の対応だけなら、>>520 でいいとおもうけど、括弧の中を解釈する必要があるようなら、再帰の方がいいかも。
0531529
NGNG最後の行はオプショナル
0532デフォルトの名無しさん
NGNGいっそスクリプト言語開発できるくらいにはなって欲しいね
>>519 でもマルチはダメだよ。
0533デフォルトの名無しさん
NGNGポインタのポインタ。検索キーは「ダブルポインタ C言語」あたりで。
>>520-532
何故、>>519ばかり相手にして、>>518の相手をしない?
質問内容は釣りとしか思えんが、最後の二行はむっちゃ面白かったぞ。
0534デフォルトの名無しさん
NGNGunlimitしてもallocに失敗したんですが、最適化オプションを
外してビルドしてみたらうまくいったようです。
ただ、コードを眺めてみると作りかけの関数を無理やり
呼び出したり、引数がおかしかったりと、コードそのものが
バグだらけなので、その辺を解決しないことには始まらない
話でした。お騒がせしました。
>>530
仰る通りです。バグつぶしに勤しみます。
0535デフォルトの名無しさん
NGNG> 何故、>>519ばかり相手にして、>>518の相手をしない?
??? 自分で答え書いてるやん...。
> 質問内容は釣りとしか思えん
0536デフォルトの名無しさん
NGNGを
scanf("%[*]","0-9","0123456789abcdef");
見たいにしたいのですが、うまくいきません。
scanf("%.*s",5,"0123456789abcdef");
みたいに整数値ならできるのですが。正しいやり方を教えてください。
0537デフォルトの名無しさん
NGNG何がしたいんだよ。
0桁から9桁の整数値を変換したいってのなら「scanf()単独ではできない」と答えておくが。
0539デフォルトの名無しさん
NGNGこういうことならできるけど。
#define REGION_DIGIT "0-9"
char str[128];
sscanf("0123456789abcdef", "%[" FORM_DIGIT "]", str);
puts(str);
0540デフォルトの名無しさん
NGNGでは垂直タブの変わりに変な記号が表示されます。
何が悪いのでしょうか。
0541デフォルトの名無しさん
NGNGMicrosoft
0542デフォルトの名無しさん
NGNG>>537 エラーチェックを含めた入力関数を作りたいのです。例えばこんな感じです。
void GetsForOk(char*message,char*errorCheck)
{
char s[256],s2[256];
for(;;puts("入力エラー。やり直し"))
{
puts(message);gets(s);
if(!strlen(s))continue;
sscanf(s2,"*",errorCheck,s);
if(!strcmp(s,s2))break;
}
}
>>539 マクロならできるのですか。ただ、()が無いと言うエラーになってしまいます。
キーワードを元に調べてみます。
0543デフォルトの名無しさん
NGNGReal programmers don't use `for`.
0545536
NGNG他にいい方法があるなら教えてください。
>>544 なるほどそうでしたか。名前が違うのは何でだろうと思ってました。
直したらできました。ありがとうございました。
0546デフォルトの名無しさん
NGNG0547デフォルトの名無しさん
NGNGネタだろ? >>470 の。
0548デフォルトの名無しさん
NGNG現在、式文字列の生成は完了して、演算部分の作成を行ってます。
で、質問です。
"1+2/3*4+557+89"
の様な文字列の計算結果を求めるのに簡単な手法は有るでしょうか?
lex,yacc 等は使える環境にありません。
要素単位にばらして順次処理するしか無いかなぁ...
0549デフォルトの名無しさん
NGNGb aを呼び出して掛け算と割り算を処理する
c bを呼び出して足し算と引き算を処理する
これでできると思うけど。
0550名無し@沢村
NGNGふつーグローバル変数はどこからアクセスされるかわからないから危険だといわれるが、
危険性はまったくないよ!!
おまいらよ、考えてみろよ、グローバル変数がネットで公開されているのか?
そして不特定多数のネットユーザーがグローバル変数に勝手にアクセスするとでもいうのか?
そんなわけはないだろ!!
グローバル変数なんて開発環境の中にしかなくて、そのプログラムを開発しているものしか使わないんだから、
勝手にアクセスされて危険ということはねーんだよ!
0551デフォルトの名無しさん
NGNG馬鹿。 それしか言えない。
0552デフォルトの名無しさん
NGNG0553デフォルトの名無しさん
NGNG根源だし、Stackも同様に使い過ぎは毒
よって>>550にも一理あり。
0554デフォルトの名無しさん
NGNG世の中絶対ということはない。
スーパーハカーならネットワーク経由でグローバル変数に不正アクセスできるかもしれない。
書いていて情けなくなる(鬱
0555名無し@沢村
NGNGいや、スーパーハカーでもネットにもLANにも接続されていないPCで開発を行なえば不正アクセスはできないよ。
0556デフォルトの名無しさん
NGNG0557デフォルトの名無しさん
NGNG解析すれば、CPUが実行している命令を解析出来るらしい。
起動時から全部チェックすれば、スパイ位は出来るらしい。
(ウソ)
0558名無し@沢村
NGNG甘い。電線にも接続されてない充電式のノートPCで開発を行なえば、不正アクセスはできないよ。
0559デフォルトの名無しさん
NGNGグローバル変数の危険性は自分が馬鹿をやる可能性があるということ。
それからコンパイラの最適化がしずらくなる可能性がある。
まあ(DISK版)N88BASICでも一生やってなさいということで。
0560デフォルトの名無しさん
NGNGstrcmp とmemcmp の違いってなんスか??
どなたか教えてくだせぇ・・・
0561デフォルトの名無しさん
NGNG0562デフォルトの名無しさん
NGNGその前に、あなたが調べた事を書いて下さい。
0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNGよく説明を読め
0565デフォルトの名無しさん
NGNGせめてstr"n"cmpとの違いは?にしようよ。。。
0566デフォルトの名無しさん
NGNG前に作ったものですが。括弧つき。少数以下は切り捨て。参考にどうぞ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=999294620&res=63
他にも再起呼び出しでやるのもあるらしいです。
0567デフォルトの名無しさん
NGNGbcコマンドを呼び出すとか(笑)
0568デフォルトの名無しさん
NGNG小町算・・・前に2行で書いたらソースが滅茶苦茶汚くなったなぁw
0569デフォルトの名無しさん
NGNGgccでコンパイルはできるんですが実行するとSegmentation faultが出てしまいます。
原因はどんなものが考えられるでしょうか。
0570デフォルトの名無しさん
NGNG文字列定数("で囲まれたやつ)を書き換えていないか?
0571デフォルトの名無しさん
NGNG0572デフォルトの名無しさん
NGNG正解。
あと二度freeもVC++では落ちなかったような・・・
0573536
NGNGしたらうまくいきました。ありがとうございました。あと、sとs2が逆でした。
sprintfは(s,"%s",s2)s2をsだったので、そのまま使っていたのですが、
sscanfは(s,"%s",s2)sをs2にだったんですね。
#include <stdio.h>
#include <string.h>
//Gets+ErrorCheck MSG:入力を催促するメッセージ SSM:書式指定文字列
#define GETSPP(MSG,SSM) for(;;puts("入力エラー。もう一度入力して下さい")){puts(MSG);gets(s);if(!strlen(s))continue;sscanf(s,SSM,s2);if(!strcmp(s,s2))break;}
int main(void)
{
char s[256],s2[256];
GETSPP("数値を入力して下さい","%[0-9]");
return 0;
}
0574デフォルトの名無しさん
NGNGif(*s)でいいじゃん。
0575デフォルトの名無しさん
NGNGif(!*s)な
0576デフォルトの名無しさん
NGNGint main(void){
int* a;
*a = 5;
int b = 4;
printf("%d\n",(*a)+b);
return 0;
}
↑これでコンパイルはとおるけど、実行させたら
Segmentation fault (core dumped)
とかでます。
*aでint型のポインタの実体を指しに逝ってるから
いけると思ったんだけど・・・
0577デフォルトの名無しさん
NGNGつまりint型へのポインタ変数 a はナニを指しているかという
0579デフォルトの名無しさん
NGNGなるほど。getsで何も入力しないで改行を押すと先頭に'\0'が入るから
*sは先頭の値を指すので、ぴったしですね。使わしてもらいます。
0580デフォルトの名無しさん
NGNG*a=5;の前にa=malloc(sizeof(int));
ちなみにそれは文法違反になるはず。Cでは変数宣言はブロックの先頭にまとめる。C99は知らないけど。
>>575
ありゃ。。。スマソ 長さが0の時に真にするんだよな。。。
0581デフォルトの名無しさん
NGNGC99でもそれはNGだったはず
0582デフォルトの名無しさん
NGNGそんな風に使うんならポインタじゃなくていいやん。
int main(void){
int c, b = 4;
int* a = &c;
*a = 5;
printf("%d\n",(*a)+b);
return 0;
}
なら、おっけー。つまり>>577のいう通りなんだけど。
あるいは>>580
0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNGその前提で結構書いちゃってるけど。
0587デフォルトの名無しさん
NGNGで試すがよい。
0588584
NGNG0がdoubleに格上げ(?)されてイコールってことですか?
イコールになりました。
C++ではC++の本に偽になることを期待したコードがあるんで多分保証されていると思うんですけど。
0589584
NGNG0590588
NGNG0.0は0をdoubleにしたものだから0と0.0は同じ・・・・同じということは0.0も偽となるか。
0591デフォルトの名無しさん
NGNG何故比較対称が0でなくNULLでもなく、0x00なのかということに着目するといいよ
0592デフォルトの名無しさん
NGNG0593デフォルトの名無しさん
NGNGキヤストするならそりゃそうだろ。
0594デフォルトの名無しさん
NGNGなんで?
0595デフォルトの名無しさん
NGNGそりゃキャストするだろ。アフォ?
>>591
なんで?
0596デフォルトの名無しさん
NGNGintにキャストする必要は無い
0.0は偽
0597デフォルトの名無しさん
NGNG0598デフォルトの名無しさん
NGNG0600デフォルトの名無しさん
NGNG何で代用するのか指定しておかないからだろ、この馬鹿
0601デフォルトの名無しさん
NGNGint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
っていうのがあるけど、これは絶対書かないといけないの?
0602デフォルトの名無しさん
NGNGコンパイルしてみそ
#include <stdio.h>
#include <windows.h>
int WINAPI WinMain() {
MessageBox(NULL, (LPCSTR)"(*・Д・)", (LPCSTR)"", MB_OK);
return 0;
}
0603デフォルトの名無しさん
NGNGintとlongでサイズが違う場合はオーバーフローとかが問題になると思うんだけど。
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGぬ?printfのフォーマット指定にlong専用のものってあったっけ?
いつも%dしか使って無いからよくわからないけど
0606デフォルトの名無しさん
NGNG0607デフォルトの名無しさん
NGNGintより小さい整数は格上げされるが、大きい整数が格下げされるわけではない。
printf()のマニュアルくらい読むべきだな。
0608デフォルトの名無しさん
NGNG0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNGみたいにdefine時の数値は()で括らないと問題あるの?
よく言われる話だけど・・・
既出だったらスマン
0611デフォルトの名無しさん
NGNG0612見習中
NGNGWin2000+cygwinでCの勉強中です。
質問
プログラムの実行時間を計測したいです。
ループ文等を変更して、実行時間がどう変化するか
調べたいです。
ぐぐってみたのですが、
プログラムのプロファイル(詳しい実行内容・時間)をとる
gcc で -pg オプションつきで コンパイルして実行すると
gmon.out というファイルができる. そこで gprof program-name
これは、上記目的をはたすでしょうか?
ほかに、これが良く使われる(一般的)というものがありましたら、
教えて下さい。よろしくお願いします。
0613デフォルトの名無しさん
NGNGはたす。
0614デフォルトの名無しさん
NGNGint a =3:
int array[a];
のように変数分だけ配列の要素を作ることってできないんでしょうか?
0616デフォルトの名無しさん
NGNGint a = 3;
int *array;
array = (int *)malloc(sizeof(int)*a)
0617デフォルトの名無しさん
NGNGmallocはそのためにある。
int *array = malloc(sizeof(int)*a);
でもgccだと拡張機能(array of variable length)で
int a=3;
int array[a];
が通ってしまうのはヒミツだ。
0618デフォルトの名無しさん
NGNGC99にも含まれたけどな。
0619デフォルトの名無しさん
NGNGmalloc調べました。ありがとうございます。
0620デフォルトの名無しさん
NGNGたとえばクラスのテスト5科目の点数の配列があるとして
int *test = malloc( CLASSMATE * 5 * sizeof(int) );
とするならば
#define CLASSMATE 30 + 25 だとどうなるか?
30 + 25 * 5 * 4 だよね?
#define CLASSMATE (30 + 25) だとどうなるか?
(30 + 25) * 5 * 4
さてどっちが正しく処理されるでしょうか?
0621おい!
NGNG____
./, - 、, - 、  ̄ ヽ
./-┤ 。|。 |――-、 ヽ
| ヽ`- ○- ´ / ヽ |
| - | ― | |
| ´ | `ヽ . | |ヽ
∩ 人`、 _ | _.- ´ | .| \
| ⌒ヽ / \  ̄ ̄ ̄ ノノ \
| |´ | ̄―--―― ´ヽ _ /⌒\
\_ _/-―――.| ( T ) `l Τ( )
 ̄ |  ̄ } | \_/
| 、--―  ̄| /
FUCK YOU
ぶち殺すぞ・・のび太・・・・!
0622デフォルトの名無しさん
NGNGvc++ からビルド・実行、するとちゃんと実行できるのですが
できた実行ファイルを直接実行しても何もおきません、
どこが悪いのか見当つきませんでしょうか。
0623デフォルトの名無しさん
NGNGプログラムの一番最後にgetchar();を書く。
0624デフォルトの名無しさん
NGNG#include <stdio.h>
#include <windows.h>
int WINAPI WinMain() {
MessageBox(NULL
, (LPCSTR)(" / ̄ ̄ ̄ ヽ\r\n"
" __ /ヽ)―- 、 l\r\n"
" ,―γ ___ヽー、 q`´ハ ミ ヽ }\r\n"
" | ̄ ̄| | |(/),(ヽ)| | ̄ ̄| <_))_, | /\r\n"
" | ヽ (6 ー ) ノ | ヽ ___/_ノ\r\n"
" -――  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄――- (t) ̄ ̄ ̄|\r\n"
" | ,―  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ― 、 | (/_ )/ / |\r\n"
" | | | | ( ) ○ |-o\r\n"
" | | | | `ー―― ´\r\n"
" | | | |\r\n"
" | | | |\r\n")
, (LPCSTR)"", MB_OK);
return 0;
}
0626デフォルトの名無しさん
NGNGなんでそんなコード書くの?
0627デフォルトの名無しさん
NGNG-1のような定数を括弧で括る理由の説明になっていない。
#define FOO -1
int a = -FOO;
#define FOOZ (-1)
int b = -FOOZ;
としたときに、前者はエラーになるが後者は正しく処理される。
何故ならば、それぞれ次のように解釈されるから。
int a = --1;
int b = -(-1);
0628デフォルトの名無しさん
NGNGカンマの位置が激しく気持ち悪い。
英語の勉強したら?
>>626
お察しください。
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNG式と定数の違い。
0631デフォルトの名無しさん
NGNG適当発言に適当ソースで返した奴にまで一々煽るな
0632デフォルトの名無しさん
NGNG()で括るのは式を定数化する為だという意味においてまったく違いが無い
1+1は式、-1も式
0633デフォルトの名無しさん
NGNG=== file1.c ===
int main(void)
{
int num = 10;
func();
return 0;
}
=== file2.c ===
extern int num;
void func(void)
{
numをごにょごにょ
}
なにがおかしいんでしょうか?
0634bloom
NGNG0635デフォルトの名無しさん
NGNGint num = 10;
int main(void)
{
func();
return 0;
}
=== file2.c ===
extern int num;
void func(void)
{
numをごにょごにょ
}
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNGどうもです。
そこで小一時間はまってしまいました。
0638デフォルトの名無しさん
NGNG{
int num;
func(num);
return 0;
}
=== file2.c ===
void func(int num)
{
numをごにょごにょ
}
0639デフォルトの名無しさん
NGNGintより小さいサイズの整数型・文字型の場合は、
int型と同じサイズに符号拡張され、スタックに積まれる、
が正解(だと思う)。積まれたデータをどう解釈するかは
関数次第だから、「みなintになる」はちょっと表現が
微妙と思われ。
0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG何に対する反例?
0642デフォルトの名無しさん
NGNGpに格納しようとしたのですが、コンパイルは通るものの
実行時にエラーが出てしまいます。どのように修正したら良いでしょうか。
よろしくお願いします。
int **foo(int a, int b);
main(void){
int **p;
p = foo(2, 4);
}
int **foo(int a, int b){
int **array = malloc(sizeof(int)*(a*b));
return array;
}
0643デフォルトの名無しさん
NGNGエラーの内容を書かないという精神を修正したら良いんじゃないかな。
0644デフォルトの名無しさん
NGNG0645名無し@沢村
NGNGできたらおれが見てやるから、見せてみろ。
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGconst char *firststring, const char *endstring)
{
char *fpos, *epos;
if((epos = strstr(str, endstring)) == NULL) return NULL;
*epos = '\0';
if((fpos = strstr(str, firststring)) == NULL) return NULL;
*betweenstring = fpos + strlen(firststring);
return epos+1;
}
0648デフォルトの名無しさん
NGNGヤツのを見てどうするんだよ
0649デフォルトの名無しさん
NGNGそのコードだけだと特に問題ないと思うが・・・。
他の部分でアクセス違反とか起きてない?
0650デフォルトの名無しさん
NGNGこれがんばって読みなさい。
http://www.catnet.ne.jp/kouno/c_faq/c6.html#18
0651デフォルトの名無しさん
NGNG#include <malloc>をちゃんといれてまつか?
漏れのBCCちゃんは通してくれますたよ。
0652デフォルトの名無しさん
NGNGそういう問題じゃない。
0653デフォルトの名無しさん
NGNGmalloc()はstdlib.hだろ。
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG標準じゃないからああいう言い方しただけだよ(^_^;)
0657656
NGNG0658642
NGNGこの問題をmicrosoftに報告してください。」というのがエラーメッセージの内容です。
>>644
あ、間違ってますか??最初int **以外で宣言すると
「間接参照レベルがint*int**で異なっている」とコンパイル時に警告が出たので・・・
>>649
うーん…mainで配列に数値を入れて出力するだけなんで
問題ないと思うんですが・・見直します。
>>650
ありがとうございます。読んでみます
0659デフォルトの名無しさん
NGNGん?#includeは拡張子を省略できるはずだけど
0660デフォルトの名無しさん
NGNG0661デフォルトの名無しさん
NGNG>>659
0663デフォルトの名無しさん
NGNGMicrosoftに報告しても解決しねーだろうな(苦笑
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNG>「問題が起きたため、○○.exeを終了します。ご不便をかけて申し訳ありません。
>この問題をmicrosoftに報告してください。」というのがエラーメッセージの内容です。
多分OSはXPだろ?妙に過保護なんだよな…。
0666デフォルトの名無しさん
NGNGあれは省略してるわけじゃないぞ。
たとえば <iostream> と <iostream.h>は別物だ。
0667664
NGNG0668デフォルトの名無しさん
NGNGいまさらだが...
> -1も式
ハァ ?
0669デフォルトの名無しさん
NGNG正しいんじゃないか?
g++ではstdioなんてファイルがないのに、#include <stdio>はOKだったぞ。gccではだめだけど。
0670669
NGNG0671デフォルトの名無しさん
NGNGハァ?
じゃねえよ。正しいよ。お前が馬鹿。
0672デフォルトの名無しさん
NGNG処理系依存なんだから正しいとは言えないだろ。
0673649
NGNGGCCでコンパイルしてみて実行してみたが
問題なく動いたぞ。
main(void){
int **p;
p = foo(2, 4);
p[0][1] = 5;
printf("%d", p[0][1]);
}
無事5と表示された。
0675デフォルトの名無しさん
NGNGそりゃ「たまたま」正しく動いただけだ。
0676デフォルトの名無しさん
NGNGパパあのまま流用したらメモリリークだよ・・・
0677672
NGNGまぁ「正しい」の定義にもよるけど、標準Cの規則に準じてれば
正しいって解釈でいいよね。だったらg++の例は不適切。
おれがコンパイラつくって(作れないけど)独自に
#unko- <stdio.h>
でもインクルードできることにしてたとして、おれのコンパイラ
で動くから「正しい」って変でしょ?
0678デフォルトの名無しさん
NGNGでも何故か 4N という式は 4xN とは展開されない
コンパイラは必ずしも四則演算の要件を満たしてるとは言えないね
0679デフォルトの名無しさん
NGNGp[a]はポインタになるだろ。
で、ここにきちんとint型のポインタを入れないといけない。
0680デフォルトの名無しさん
NGNGC言語と数学は違う。ただそれだけのこと。
0681デフォルトの名無しさん
NGNGついでにC言語では4Nは式ではない。
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNGそりゃ正しいけどだめだろ。
>>642はプログラム中で任意の列数・行数を持つ
2次元配列(もどき)を作りたいみたいだから。
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNGint **foo(int a, int b){
int i;
int **array;
array = malloc(sizeof(int)*a);
for(i=0;i<a;i++)
array[i] = malloc(sizeof(int)*b);
return array;
}
0687デフォルトの名無しさん
NGNGvoid *p1=malloc(sizeof(int)*a*b);
int **p2=malloc(sizeof(int *)*a);
for(i=0;i<a;i++)
p2[i]=p1+i*b;
できないかも。
0688687
NGNG0689687
NGNGint *p1=malloc(sizeof(int)*a*b);
int **p2=malloc(sizeof(int *)*a);
for(i=0;i<a;i++)
p2[i]=p1+i*b;
こうかな。
0690デフォルトの名無しさん
NGNG書くのは一杯知っているのですが。あるなら教えてください。
0691デフォルトの名無しさん
NGNGメモリに取っておいて切り詰めたい始端終端を取ってリワインドして
あとはガリガリってのではダメ?
0692デフォルトの名無しさん
NGNG4L は、定数だよ。
0694デフォルトの名無しさん
NGNG定数だけ書いても式じゃないのか?
0695デフォルトの名無しさん
NGNGCはそれほど詳しく無いから分らないけど
ファイルシステムの構造を考えると切り詰めるってのは無いと思う
バッファサイズが気になるならtempファイルを作ってリネームでとか
ごめん、この程度しか思いつかん
0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNGファイルの途中を切り詰めるという関数は標準C(およびPOSIX)にはありません。
システムコールでも * 不 可 能 * です。
0698デフォルトの名無しさん
NGNG残す部分だけメモリーに取って上書きじゃ嫌なんだっけ?
0699690
NGNG>>697 不可能なんですか。残念です。
>>698 今までは予め上限を決めておいて、セーブロードの時全てのデータを出し入れ
していたのですが、新しく作ろうとしている時そういえばあったっけとなってしまったわけです。
残す部分だけのは嫌ではないのですが、消す方法があるならそのほうがいいので質問しました。
0700山崎トオル
NGNG0701デフォルトの名無しさん
NGNG誰か愛の導きをください。
char *(string[32]);
0 ポインタ
1 ポインタ
2
3
...
31
というようにポインタを入れる32個の配列が確保される、ですよね?
では、char (*string)[32]; この場合はどういう事になるんでしょうか?
前者は、char* string[32];と考えてやればうまく掴めますが、後者がわかりません。
char型の宣言なので、例えば
(*string)[0] 文字
...
(*string)[31] 文字
って事ですかね。
なんか頭の中にメモりの図が描けません。
0702デフォルトの名無しさん
NGNGchar (*string)[32];
char[32]を指すポインタ。二次元配列を指すポインタとでも覚えておけばいいよ。
0703702
NGNG0704701
NGNGなんか余計わけわからなくなりました。
これを2次元配列として利用するとしたら、具体的にどんな書式で書くのでしょ
うか?
0705デフォルトの名無しさん
NGNGvoid func(char (*string)[32]) // void func(char [][32])でもいいけど
{
// 何か
}
int main()
{
char a[10][32];
func(a);
return 0;
}
0706デフォルトの名無しさん
NGNG○ // void func(char string[][32])でもいいけど
0707デフォルトの名無しさん
NGNGのように %記号 で表現するスタイルについて、用語がついていたと思うのですが、
どういう名前か教えてください?
手元の本には記述が見当たらなかったので。
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNGフォーマットじゃなくて%dとかの規格の名前ってこと?
0710デフォルトの名無しさん
NGNG0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG--1じゃなくて- -1ってことのほかに何かある?
0713れな
NGNG1000以下の正の整数値のうち,素数をすべて計算し,
その結果をファイルに格納するプログラムを作成せよ.
素数とは自分自身と1以外の数値で割り切れない整数のことである.
また、計算の実行の中で乗除(乗算と除算)を行った回数もあわせて表示し、
ファイルに格納すること
おねがい!!たすけてえええ
0714デフォルトの名無しさん
NGNG宿題スレへどうぞ。
http://pc2.2ch.net/test/read.cgi/tech/1045074808/l50
0715デフォルトの名無しさん
NGNGMicrosoftの日本のWebサイトの、MSDNライブラリの中には、C標準関数のリファレンスはないのでしょうか?
もし有るのでしたらアドレスを教えていただけないでしょうか?
0716デフォルトの名無しさん
NGNG(0.000001)+100=109.95…
なんじゃこりゃ???
0717デフォルトの名無しさん
NGNG互換性のところにANSIと書いているのが標準関数なのでは?
0718デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG変換指定
0720デフォルトの名無しさん
NGNG(0.000001)×1000000+100=109.95…
だった。
両方とも110になるはずなのに、なぜだ??
教えてください。
0721デフォルトの名無しさん
NGNG実数演算は誤差が出るんだよ。
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNG実数じゃん。
0725デフォルトの名無しさん
NGNG全角で書くのはどういうことだ? 試させない気か?
0726デフォルトの名無しさん
NGNG0727720
NGNGそれが関係してると思うのですが…
0728デフォルトの名無しさん
NGNG0729デフォルトの名無しさん
NGNG上は桁落ちを起こしてるんだろうけど、下はなんだろ?
てかこの程度で桁落ちしたっけ?>float
0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNG有効桁数って6桁くらいじゃなかった?
0732720
NGNGOSはLINUXで、コンパイラは分かりません!
0733デフォルトの名無しさん
NGNG分からないってことはないだろう。
CPUはIntel系(32bit)、コンパイラはgccか?
0734733
NGNG0735デフォルトの名無しさん
NGNGダメ人事の転職相談( ´_ゝ`)
0736720
NGNGあー、多分それです。
0737デフォルトの名無しさん
NGNGfloat? doubleじゃなくて?
0738デフォルトの名無しさん
NGNGどっちもこう展開されると思うんだけどなぁ・・・
0739720
NGNG0740デフォルトの名無しさん
NGNG倍密度浮動小数点数なら桁落ちはまずない(単密度と比べて)
0741デフォルトの名無しさん
NGNG下はあまりにも誤差が大きすぎる。
どうやって表示したの?
0742デフォルトの名無しさん
NGNG0743デフォルトの名無しさん
NGNG6,7桁くらい
0744デフォルトの名無しさん
NGNG0745デフォルトの名無しさん
NGNGそういう君は持ってるんだな?下の原因を教えてくれ
0746720
NGNGmain()
{
float a,i;
a=0;
for(i=1;1<=10000000;i++)
a=a+0.000001;
a=a+100;
printf("%f",a);
}
…確かこんなかんじです。
0747デフォルトの名無しさん
NGNG0748デフォルトの名無しさん
NGNG0749デフォルトの名無しさん
NGNG君のソースにループカウンタへの愛を感じない
0750デフォルトの名無しさん
NGNGこれに関連するある国の名を挙げてくれ!
0751747
NGNG無限ループかよ!
0752デフォルトの名無しさん
NGNG一生ループしまくりだから、愛してるんじゃねーの?
0753720
NGNG…気づいて自分でわらってしまた。
0754720
NGNG0755デフォルトの名無しさん
NGNG0756720
NGNG0757デフォルトの名無しさん
NGNGといってました。
0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNG上は桁落ち、下は情報落ちかな
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNG先頭1文字目がI,J,K,L,M,N → 整数型
先頭1文字目がそれ以外 → 実数型
0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG虚数型は?
0764720
NGNG情報落ちとは?
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG>>742の試験に落ちること。
あ、これはマ板のあのスレ向けか。
0767デフォルトの名無しさん
NGNG>>738はスルーかいw お前ら勉強してないだろ?
0768デフォルトの名無しさん
NGNGぎゃくぽ?
0769720
NGNGおぉ、なんとなく分かるかも。
ありがとうございました。です。
0770デフォルトの名無しさん
NGNG0771デフォルトの名無しさん
NGNG0772デフォルトの名無しさん
NGNGYes、ぎゃくぽ
0773デフォルトの名無しさん
NGNG桁落ちか、丸め誤差?
0774デフォルトの名無しさん
NGNGあ、多分後者だ。サンクス。
0775デフォルトの名無しさん
NGNGこの問題ぐらい解けない奴はマジで基本受けとけよ
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG情報落ちとは、大きな値と小さな値を加減算したときに、小さな値が無視されてしまう現象のことです。
コンピュータで扱う浮動小数点では、仮数部に保持できる桁数があらかじめ決められています。そのため、
大きな値と小さな値を加減算すると、有効な数字をもった桁が多くなりすぎるため、正規化する際に
下部の桁が切り捨てられてることになります。
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNG○×ゲームくらい作れるようになりたいのですが。
0780デフォルトの名無しさん
NGNG女の子なら覚えられる
0781デフォルトの名無しさん
NGNGYES
アスキーやe-wordsのオンライン辞書には載ってないんだな
合格情報処理の付録の辞書にさえ載ってるのに
0782デフォルトの名無しさん
NGNG0783デフォルトの名無しさん
NGNG0784デフォルトの名無しさん
NGNG//mallcoは確保したメモリの先頭ポインタを返すんだよ。
//つまり、自分でオフセットとって二次元配列の様に扱いなさいってこった。
int head = 3;
int len = 5;
int *arg;
arg = malloc((head * len));
//これでarg[head][len]の様に自分で扱えば良い。
free(arg);
0785デフォルトの名無しさん
NGNG0786デフォルトの名無しさん
NGNG//0で初期化(ZeroMemory使えって突っ込みはいらない)
int i, j;
for(i = 0; i < head; i++)
{
for(j = 0; j < len; j++)
{
arg[(i * len) + j] = 0;
}
}
//arg[(i * len)][j]だと思え。
0787784
NGNGwhile(1) printf("アフォですか?\n");
0788山埼渉
NGNG0790bloom
NGNG0792デフォルトの名無しさん
NGNGsigned short x=-1;
signed short z;
z = sizeof(x);
if ( x < z ) printf("aaa \n");
else printf("bbb \n");
if ( x < sizeof(x) ) printf("aaa \n");
else printf("bbb \n");
return 0;
}
./a.out
aaa
bbb
どうして、こうなるのですか?またならないようにする
対処方法は?
0793デフォルトの名無しさん
NGNG釣りだろうな。
0794デフォルトの名無しさん
NGNGsigned short x=-1;
unsigned short y;
signed short z;
z = sizeof(x);
y = sizeof(x);
if ( x < z ) printf("aaa \n");
else printf("bbb \n");
if ( x < y ) printf("aaa \n");
else printf("bbb \n");
if ( x < sizeof(x) ) printf("aaa \n");
else printf("bbb \n");
return 0;
}
./a.out
aaa
aaa
bbb
>>793 無論、釣りですが、説明がつきません。
0795デフォルトの名無しさん
NGNGsignedとunsignedを比較するとsignedの方はunsignedになる。
sizeofが返す型はsize_tだからunsignedでしょ。
0796デフォルトの名無しさん
NGNG> unsigned short y;
> if ( x < y ) printf("aaa \n");
0797デフォルトの名無しさん
NGNGint main() {
signed short x=-1;
if ( x < sizeof(x) ) printf("aaa \n");
else printf("bbb \n");
if ( x < (unsigned short) sizeof(x) ) printf("aaa \n");
else printf("bbb \n");
if ( x < (signed short) sizeof(x) ) printf("aaa \n");
else printf("bbb \n");
if ( x < (signed int) sizeof(x) ) printf("aaa \n");
else printf("bbb \n");
if ( x < (unsigned int) sizeof(x) ) printf("aaa \n");
else printf("bbb \n");
return 0;
}
これやってみりゃわかるだろ?
0798デフォルトの名無しさん
NGNG自分で出来たのはvcvars32を自ディレクトリにコピーするところまでです。
0799デフォルトの名無しさん
NGNG逆ならできるよ、下位互換するシステムなんてそうそうない
0800釣られた?
NGNGvcvars32[.bat]はCやC++自体とは何も関係がないだろ。
何で敢えてコマンドラインでやろうとするの?
0801デフォルトの名無しさん
NGNGsrand(time(NULL))で初期化してrand()で乱数を取得したのですが
複数のプログラムを動かすときに、同時に起動してしまうと
rand()がすべて同じ数になってしまいます。
別々の乱数にするにはどうしたらよいのでしょうか。
0802デフォルトの名無しさん
NGNG時間にプロセスIDを足すとか。
0803デフォルトの名無しさん
NGNGtimeが返す値は秒単位だからね。
システムにもっと細かい精度で時間を得られる関数があればそれを使ったら?
0804デフォルトの名無しさん
NGNGありがとうございます。試してみます。
0805デフォルトの名無しさん
NGNGの第一引数と第三引数の意味を教えてください。
0806デフォルトの名無しさん
NGNG変換対象と基数か?
0807デフォルトの名無しさん
NGNGitoa, ltoa, ultoa - 整数の文字列への変換
書式
#include <stdlib.h>
char *itoa(int val, char *buf, int radix);
char *ltoa(long val, char *buf, int radix);
char *ultoa(unsigned long val, char *buf, int radix);
解説
itoa(), ltoa(), ultoa()はvalを文字列に変換してbufに格納します。radixには2から36までの整数で変換の基数を指定します。
itoa()とltoa()はradixが10のときにはvalを符号付き数として扱います。それ以外では符号なし数として扱います。
ultoa()はvalを符号なし数として扱います。
リターン値
bufに渡された値をそのまま返します。
>>806
> 標準ライブラリにはそんなものないんだが。
↑初耳だ(ワラ
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNGhttp://seclan.dll.jp/c99d/c99d09.htm
C99にもないじゃない・・・・
それとも「標準ライブラリ」という言葉の意味を間違っていたかな?
Cの標準規格で定められたライブラリという意味だと思っていたけど。
0810デフォルトの名無しさん
NGNG0811デフォルトの名無しさん
NGNG0813デフォルトの名無しさん
NGNGまた一つ賢くなりましたね(ワラ
0814デフォルトの名無しさん
NGNGC99かC++のライブラリに追加されたんじゃないかな?
んで、実装自体はCの関数だから下位互換が可能と。
0815>>814
NGNG0816デフォルトの名無しさん
NGNGアドレスを教えてください。確かピンクっぽい色で、ヘッダごとに見れたと思います。
0817デフォルトの名無しさん
NGNG希望のところとは違うけど・・・
ttp://www.personal-media.co.jp/book/c/ansi.html
ある意味ブラクラ(謎
0818816
NGNGは別にブラクラでは無いですが、希望したページと違いますが、いただきます。
ありがとうございました。
0819デフォルトの名無しさん
NGNGキーを押してもそのまま入力されるわけではなく、
一度画面上で編集(MSDOSプロムプトなら^Hで1文字削除、NT系ならさらに高度な編集機能)
されてから渡されるのですが、
この入力システムはどこのプログラムが提供しているのですか?
デバイスドライバとかですか?
0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNGシェルじゃねーかな。
0823ろりえおーばーないとせんせーしょんだんさーりこん
NGNGhttp://member.nifty.ne.jp/~masumoto/cpp/topic/#RSEC3
マジっすか?
0824デフォルトの名無しさん
NGNG#define NULL (0)
0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG端末ドライバ。UNIX(SysV)では STREAMS
0827デフォルトの名無しさん
NGNGバイブルにもそう書いてあるよ。
0828デフォルトの名無しさん
NGNGポインタだと分かる。
よって否定派。
0829デフォルトの名無しさん
NGNG混同しているんでは。内部表現がどうあれソース表記上は
0 (NULL)でなければならなかったような。
0830デフォルトの名無しさん
NGNGそのページみたけど、
>> 有名なC言語FAQ日本語訳 の質問5.17に NULLポインタに 0以外が割り当てられ
>> てる機種があることを知って以来、 "NULL"と表記するように心掛けてきた私にとっ
>> てはセンセーショナルでした。
こいつなんか勘違いしてるんじゃないか?
NULLポインタのビット表現がオール0じゃない機種だろうと、
0("NULL")はNULLポインタなんだが
Stroustrup が 0 と書くのを勧めてるのが事実なら、
単にC++が糞なだけな気がする
0831ろりえおーばーないとせんせーしょんだんさーりこん
NGNGでも、猫ちゃんとかよく見るソースにはNULLが多いですねー。
NULLというものも知っておけということでしょうか。
ありがとうございました。
0832デフォルトの名無しさん
NGNGじゃ↑はどうなんですか?
ポインタと混同しそうなんですが。
0833デフォルトの名無しさん
NGNGNULLがリテラルの0じゃない処理系があるってことだろ。
0834デフォルトの名無しさん
NGNGインクルードするのが面倒だから
俺は使ってないっていってんだろ! 何言ってんだ!
0835ろりえおーばーないとせんせーしょんだんさーりこん
NGNGC++が糞に見えてくるすばらしい言語を教えてください。
0836デフォルトの名無しさん
NGNGC言語
0837ろりえおーばーないとせんせーしょんだんさーりこん
NGNGサンクスコ。
古き良き時代。
0838デフォルトの名無しさん
NGNG.NET Microsoft Framework SDK で、C言語のソースを
コンパイルする方法(コマンド等)を教えてください。
0839デフォルトの名無しさん
NGNGどういう意味?
#define NULL 0xdeadbeaf
とか0以外になってる処理系があるってこと?
0840デフォルトの名無しさん
NGNGたとえば(void*)0になってるとか。
0841デフォルトの名無しさん
NGNG0842デフォルトの名無しさん
NGNGありえない、絶対にありえない
0843デフォルトの名無しさん
NGNGhttp://www.okweb.ne.jp/kotaeru.php3?q=530737
0844デフォルトの名無しさん
NGNGStroustrup は、NULL が (void *) 0 になってる処理系があるので、
NULLポインタを使いたいときは、0 を使えっていってるの?
へんなの
0845デフォルトの名無しさん
NGNG0846デフォルトの名無しさん
NGNG「C++は型チェックが厳しいから0を使え」みたいな言い方だったような。
0847デフォルトの名無しさん
NGNGint *p=(void *)0;
これはコンパイルできるか?
0848デフォルトの名無しさん
NGNGCなら出来るんじゃない?キャストしないと気持ちわるいけど
0849デフォルトの名無しさん
NGNGC++では出来ないから0を使うということで 終わり。
0850デフォルトの名無しさん
NGNGNULL の定義も 0 とするように決めておけば良かったのにな。
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNGどうやったところで、ヘッダのインクルードが要るなら現状と同じ。
0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG0855デフォルトの名無しさん
NGNGさん、ありがと。
cl コマンドででできました。
0856841
NGNG0857ろりえおーばーないとせんせーしょんだんさーりこん
NGNG1/f
0858デフォルトの名無しさん
NGNGだれかお助けを!
0859デフォルトの名無しさん
NGNGお前のタイーホの共犯になれとでも?断る。
0860デフォルトの名無しさん
NGNGもう一度よく考えるのです。
ほんとうにVC++が必要なのか。
0861デフォルトの名無しさん
NGNGvoid main(void)
{
int fuck;
fuck=0;
printf("%d"fuck);
}
0862デフォルトの名無しさん
NGNG何かの本でC++はCの進化系だと書いてあったんだけど。
それとC++ってわざと難しく創られたって本当?
0863デフォルトの名無しさん
NGNG#ifdef _cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
と定義されていると思うけど。
0864デフォルトの名無しさん
NGNG0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG(void *) 0 使ってるのってどの処理系?
普通は、#define NULL 0 でしょ?
ちなみに Solaris8 では、こんなんだった
#ifndef NULL
#if defined(_LP64) && !defined(__cplusplus)
#define NULL 0L
#else
#define NULL 0
#endif
#endif
0867デフォルトの名無しさん
NGNG一太郎?
0868スレッド直リン
NGNGgcc,VC++6.0
0869デフォルトの名無しさん
NGNGVC++ とかだろ
[VC++6 の stdio.h]
/* Define NULL pointer value */
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
0870868
NGNG0871ろりえおーばーないとせんせーしょんだんさーりこん
NGNGdefine って、キャストしない場合は int なんでつか?
0872デフォルトの名無しさん
NGNG0873デフォルトの名無しさん
NGNGdefine はキャスト出来ません。
0874デフォルトの名無しさん
NGNGBCC5.5を BCC Developer(フリー)で使っているのですが・・。
このBcc Developerについて
何処か良い説明載ってるトコご存知ない?
0875デフォルトの名無しさん
NGNGint define;と定義すればintだし、char *defineと定義すればchar *
0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG大文字だから
0878877
NGNG○ 全部大文字
0879デフォルトの名無しさん
NGNGてことは、fgetc等でのキーボードからの入力では、履歴機能や挿入入力とかは((システム側に)用意されてなかったら)使えないのですね。
0880デフォルトの名無しさん
NGNG履歴とか使いたかったら、gnu getline使え。
OSで持っている訳ではない。
但しこれはLGPLではなくGPLなので、プログラム全体が
GPLに矛盾しないライセンスになるので注意。
似たようなライブラリで、BSDライセンスのも有るが、俺は使った事無い。
0881デフォルトの名無しさん
NGNGそれは違う
0882デフォルトの名無しさん
NGNG制すうちを入力しshort型の変数に格納した後
この変数の内部表現をビット列で表示するプログラムを作成せよ・・・
という課題がでました。
integer=>1
0000000000000001
integer=>-2
1111111111111110
といった感じで表示するってとこまでは分かったけど・・・
実際のプログラムが分かりません。助けてください・・・。
0883デフォルトの名無しさん
NGNG宿題スレへ。
http://pc2.2ch.net/test/read.cgi/tech/1045074808/l50
なんか、最近何度も見た気がするのは気のせいだろうか…
0884デフォルトの名無しさん
NGNG> なんか、最近何度も見た気がするのは気のせいだろうか…
同じ学校とかじゃねーのかな ?
0885デフォルトの名無しさん
NGNG0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNGC言語の本で、実際に実用に使えるような完結したソース
を扱っているC言語応用編みたいないい本はないでしょうか。
練習用の小さなソースだけでは力がつかないような気がしたので、
どなたかちょこっと教えてください。
0888デフォルトの名無しさん
NGNG作ってわかるC言語 日下部陽一・著
0889デフォルトの名無しさん
NGNG脱初心者になれるのですか?おながいします。
0890デフォルトの名無しさん
NGNGそんな質問をしなくなれば、脱初心者だ。
0891デフォルトの名無しさん
NGNG0892デフォルトの名無しさん
NGNG0894891
NGNG行列じゃなくて、配列でした。
ありますか?
0895デフォルトの名無しさん
NGNG#define yousosuuhaikutsudesuka(array) (sizeof array/sizeof array[0])
適当に括弧を付けて。
0897489
NGNGどうしても、すべて1と表示されてしまいます。ちょっと混乱して分かりません。
どなたか力を貸していただけないでしょうか?よろしくお願いいたします。
初心者ですみません。
0898デフォルトの名無しさん
NGNG0899デフォルトの名無しさん
NGNGインクルードファイルがオープンできませんってエラーが
出るんですけど、このときの設定はどうすればいいんですか?
0900デフォルトの名無しさん
NGNG0901デフォルトの名無しさん
NGNGどこにあるなんというインクルードファイルがオープンできないのか判らないと
詳しいことは回答できないと思われ。
ついでに言えば激しくスレ違い。
0902デフォルトの名無しさん
NGNG#define MAX_ROWS 5
#define MAX_COLS 10
#include <stdio.h>
int main()
{
int table[MAX_ROWS][MAX_COLS];
int i,j,k;
int total;
for(i=1; i<=MAX_COLS; i++){
for(j=1; j<=MAX_ROWS; j++)
printf("%3d",j+MAX_ROWS*(i-1));
total=0;
for(k=0; k<MAX_ROWS; k++)
total+=MAX_ROWS*(i-1)+1+k;
printf("%4d\n",total);
}
return 0;
}
0903902
NGNG#define MAX_ROWS 5
#define MAX_COLS 10
#include <stdio.h>
int main()
{
int table[MAX_ROWS][MAX_COLS];
int i,j,k;
int total;
for(i=1; i<=MAX_COLS; i++){
for(j=1; j<=MAX_ROWS; j++)
printf("%3d",j+MAX_ROWS*(i-1));
total=0;
for(k=0; k<MAX_ROWS; k++)
total+=MAX_ROWS*(i-1)+1+k;
printf("%4d\n",total);
}
return 0;
}
0904デフォルトの名無しさん
NGNGではいかんのか?
0905902
NGNGint table[MAX_ROWS][MAX_COLS];
は要らなかったな。
0906デフォルトの名無しさん
NGNGで使うのだと思うのですが。表示するだけなら↓。
#include <stdio.h>
#define PURASU 5
#define IKOHRU 10
int main(void)
{
int y,x;
for(y=0;y<IKOHRU;y++)
{
for(x=1;x<=PURASU;x++)printf("%5d",PURASU*y+x);
printf("%5d\n",(PURASU+1)*PURASU*10/20+PURASU*PURASU*y);
}
getchar();return 0;
}
0907デフォルトの名無しさん
NGNG欧州の方で、Cプログラマになるなら必要かもしれない。
0908デフォルトの名無しさん
NGNGお願いします
0909デフォルトの名無しさん
NGNGcurses.h
getchだけど多分同じだと思う。
0910デフォルトの名無しさん
NGNGgetche()なんてものがあるのかw
getc, getch, getchar・・・もう分け分らん
0911デフォルトの名無しさん
NGNGman で調べてみれば?
0912デフォルトの名無しさん
NGNGありがとうございます
0913デフォルトの名無しさん
NGNG0914デフォルトの名無しさん
NGNG0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNG0917デフォルトの名無しさん
NGNG0918デフォルトの名無しさん
NGNG0919デフォルトの名無しさん
NGNG0920デフォルトの名無しさん
NGNGこーゆー質問を見ると、知りたいのは本当にヘッダファイルだろうか
という疑念がわかないでもない
0921デフォルトの名無しさん
NGNGmemcpyと自分でforループ回すのって
一般的にどっちが速いんですか?
0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGありがとうございました。
アセンブラの出力見て多分そうだと思ってましたが、
やっぱりそうですよね。
0924デフォルトの名無しさん
NGNG同じことをするライブラリ関数に手書きコードが勝てること等ないと思った方がいい。
0925デフォルトの名無しさん
NGNG0926デフォルトの名無しさん
NGNGで、代表値はどうやって選んでるの?
0927デフォルトの名無しさん
NGNG再帰使っているから使い物にならないけどね。
0928デフォルトの名無しさん
NGNG真ん中って、配列上の真ん中に位置する値ってことですか。
qsort の弱点克服の方法はないのかのー。
0929デフォルトの名無しさん
NGNG0930デフォルトの名無しさん
NGNGなにー!
それなら漏れも負けんぞぉ!
0931デフォルトの名無しさん
NGNG0932デフォルトの名無しさん
NGNG逆に最近チマチマしたチューンナップってやっちゃダメだと
分かっちゃいるけど、たまに書いてみたくなるよ。
0933デフォルトの名無しさん
NGNGPython->C
組み込むならどっち?
Pythonで実現可能ならそっち選んだ方がいいかな?
0934デフォルトの名無しさん
NGNGその矢印が表すものは何だ?
0935デフォルトの名無しさん
NGNG(*Java).C
(*Python).C
0936デフォルトの名無しさん
NGNG0937デフォルトの名無しさん
NGNGfread(data,2,100,fp);
は,配列data中に,2バイトずつ100個のデータを,fpから読み出す、
という意味になるかと思います。これを100個ではなくてfpの
最初から最後までという指定方法を教えてください。
0938デフォルトの名無しさん
NGNGfseek(fp,0,SEEK_END);
size = ftell(fp);
fseek(fp,0,SEEK_SET);
fread(data,size,1,fp);
0939デフォルトの名無しさん
NGNG答え出しちゃうと面白くないと思うからヒント
fp の最初にとるべき位置と最後の位置を分からないと配列の長さが確定しない。
ファイル先頭から見て fp の現在位置を知る方法や、最後に移動する方法、
もしくはファイルサイズを得る方法が分かると、自ずからわかるんじゃない?
0940939
NGNG0941デフォルトの名無しさん
NGNGうまい棒でも食べて元気出せ
0942デフォルトの名無しさん
NGNGこれはどういうことですか?
mは適当な整数ということでよろしくおねがいします。
0943デフォルトの名無しさん
NGNG2 月が例外になりそうな気もするけど。
0944942
NGNG2月は別に作ってあるので大丈夫なんですが、
0x15aa >> m & 1 の意味がわかりません
0945デフォルトの名無しさん
NGNG0946デフォルトの名無しさん
NGNGm = 3だと、0x15aa >> 3 は、1010110101になる。 &1で、1。
m = 4だと、0x15aa >> 4 は、101011010になる。 &1で、0。
m = 5だと、0x15aa >> 5 は、10101101になる。 &1で、1。
0947945
NGNGトレースまでしてあげる貴方を優しいとオモタ。
0948デフォルトの名無しさん
NGNGmが偶数なら5576をaに入れる。
mが奇数なら2803をaに入れる。
0949デフォルトの名無しさん
NGNG…
0950948
NGNGどうりで変な値になるわけだ。
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNG0953デフォルトの名無しさん
NGNGa & 0x01 == 0x01 は
a & ( 0x01 == 0x01 ) と等価。
0955デフォルトの名無しさん
NGNGそれって、確か昔&&を&で代用していたころの名残なんだよね。
0956デフォルトの名無しさん
NGNG>953 さんではないけど、それは知らなかった。
0957デフォルトの名無しさん
NGNG> 2月は別に作ってあるので大丈夫なんですが、
28 + (0x3bbeecc >> 2 * m & 3) ってやれば、2月を別扱いしなくて済むぞ。
0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNGただし、year > 1900 && year < 2100
0960デフォルトの名無しさん
NGNGホントはもっと順位を上げるべきだったのだがその時点で既に大量のソースが
あったので今更変更する(ことでどれだけの修正が発生するかと思うと)勇気がなかった。
とかなんとか、そんな理由だったかと。
0961デフォルトの名無しさん
NGNGお前ら2000年問題からなにも学ばなかったのか?
0962デフォルトの名無しさん
NGNG2000年問題は、うるう年が問題ではないことも知らないのか?
0963デフォルトの名無しさん
NGNG2000で例外が発生しないか?
0964963
NGNG400で割り切れる年は閏年でした
0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG条件つけてまでくだらん式を考えてないで
普通にちゃんとした式を出せばいいだろ。
0967デフォルトの名無しさん
NGNG2100年以降のデータも扱わないって言うなら100年400年ルールは考える必要がない。
そのくらいの割りきりも時には必要。
0968デフォルトの名無しさん
NGNG対応するのに膨大な手間がかかるのならまだしも、
すぐ近くにマトモな答えがあるのに、それを使わない理由など無い。
0969デフォルトの名無しさん
NGNG例
1 + 2 * 3 → 1 2 3 * +
stack , pop , tokenとかの関数は作ったからあとは変換するだけなんだけど
よくわからんぽ
0970デフォルトの名無しさん
NGNG宿題スレへどうぞ。
http://pc2.2ch.net/test/read.cgi/tech/1045074808/l50
>>968
そろそろスレ違いだけど、
年のフィールドに数字が2桁しか入らないデータ構造って話と
2100年以降のデータは扱えないプログラムって話を
同列に語って意味があるとでも?
そもそも2100年以前に32bit限界(2038年問題)が発生するってば。
0971デフォルトの名無しさん
NGNG> 2100年以降のデータは扱えないプログラムって話を
> 同列に語って意味があるとでも?
意味あるだろ。どちらも甘い考えが引き起こした。
先読みの甘さ。うるう年の計算をまともに実装しない甘さ。
> そもそも2100年以前に32bit限界(2038年問題)が発生するってば。
この場合のyearはint型だろ。話が違う。
0972デフォルトの名無しさん
NGNG1Uって書くのと1と書くのではどう違うんですか?
0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG1はな
0979974
NGNG君は long (4バイト長)な変数 l に値 8000h を入れたいと思っている。
さぁ、どう書くの?
その時に気を付けなければならないことは?
0980デフォルトの名無しさん
NGNGLをつけると思うけど!?
0981974
NGNG例えば無しを間違えちゃ話になりませんなぁ。ゴメン!
0982デフォルトの名無しさん
NGNGint main() { return ( -1 < 1U ); }
それぞれどっちが返るか見てみたら?
0983デフォルトの名無しさん
NGNG値のコンペアをする場合に問題あるんだろ?
0984972
NGNGすみません
ちょっと用事で20分くらい離れます
0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987974
NGNG0989937
NGNGできました。
ありがとうございますた。
0990デフォルトの名無しさん
NGNGお前等未だに 2000年問題とか言ってるのか ?
学習効果なさ杉。
これでも読んどけ → http://www8.ocn.ne.jp/~yama-b/rfc2550j.txt
0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。