C言語なら、オレに聞け! 47
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNGむしろ質問する前にWEBで検索するのが常識だ。
GUIなどの標準Cではできない事の質問は使用している開発環境のスレへ行け。
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行け。
コンパイラを探しているなら >>2 を見よ。
上記を逸した場合の結果は激しく未定義とする。ウヒ
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/
前スレ
http://pc3.2ch.net/test/read.cgi/tech/1039328710/
0002デフォルトの名無しさん
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
0003デフォルトの名無しさん
NGNG本物は↓こちら
C言語のことは俺に聞け<46>
http://pc3.2ch.net/test/read.cgi/tech/1038324550/l50
0004過去スレ
NGNG45 http://pc3.2ch.net/test/read.cgi/tech/1038405432/ (待機中)
44 http://pc3.2ch.net/test/read.cgi/tech/1037796472/ (待機中)
43 http://pc3.2ch.net/test/read.cgi/tech/1037281411/ (待機中)
43 http://pc3.2ch.net/test/read.cgi/tech/1037134356/ (待機中)
42 http://pc3.2ch.net/test/read.cgi/tech/1037101156/ (待機中)
41 http://pc3.2ch.net/test/read.cgi/tech/1036876790/ (待機中)
40 http://pc3.2ch.net/test/read.cgi/tech/1036673739/ (待機中)
39 http://pc3.2ch.net/test/read.cgi/tech/1036409391/ (待機中)
38 http://pc3.2ch.net/test/read.cgi/tech/1035729526/ (待機中)
37 http://pc3.2ch.net/test/read.cgi/tech/1035623265/ (待機中)
36 http://pc3.2ch.net/test/read.cgi/tech/1035211039/ (待機中)
35 http://pc3.2ch.net/test/read.cgi/tech/1034337064/ (待機中)
34 http://pc3.2ch.net/test/read.cgi/tech/1033240509/ (待機中)
33 http://pc3.2ch.net/test/read.cgi/tech/1032606064/ (待機中)
32 http://pc3.2ch.net/test/read.cgi/tech/1031905402/ (待機中)
31 http://pc3.2ch.net/test/read.cgi/tech/1031340950/ (待機中)
30 http://pc3.2ch.net/test/read.cgi/tech/1030786546/ (待機中)
29 http://pc3.2ch.net/test/read.cgi/tech/1029605182/ (待機中)
28 http://pc3.2ch.net/test/read.cgi/tech/1028495798/ (待機中)
27 http://pc3.2ch.net/test/read.cgi/tech/1027160374/ (待機中)
26 http://pc.2ch.net/tech/kako/1026/10260/1026048820.html
25 http://pc.2ch.net/tech/kako/1024/10249/1024918442.html
24 http://pc.2ch.net/tech/kako/1024/10240/1024033400.html
0005過去スレ
NGNG22 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
0006デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG00081
NGNG削除依頼すんのでこちらには書かないように。
0009デフォルトの名無しさん
NGNG0010デフォルトの名無しさん
NGNGmain()
{
float a,b,c;
printf("a=");scanf("%2.1f",&a);
printf("b=");scanf("%2.1f",&b);
c=a+b;
printf("a+b=%3.1f",c);
return 0;
}
このようなプログラムを書いてみたんですが
実行すると
"a=b=a+b=0.00"
と表示されてしまいます。
どこが間違ってるんでしょうか?
0011デフォルトの名無しさん
NGNGこちらは削除依頼済みなので
C言語なら私に聞けでお願いします。
0012デフォルトの名無しさん
NGNG嘘つくな。出てねーぞ。
こっちの方が早いんだからこっちが本スレだろ。
0013デフォルトの名無しさん
NGNG早ければ本スレというわけでもない。歴史が証明している。
0014デフォルトの名無しさん
NGNG本当だ。このスレはもうすぐ消える。あきらめろ。
0015デフォルトの名無しさん
NGNGしねしね団がくる日も近い。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNG>>14
tech:プログラム技術[スレッド削除]
http://qb.2ch.net/test/read.cgi/saku/1027372992/
これ見ろバカども
0018デフォルトの名無しさん
NGNGなんか必死だね
0019デフォルトの名無しさん
NGNGどんな感じでやればいいですか?
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG得ろ写真収集ソフトを作りたいのですが。
0022デフォルトの名無しさん
NGNG〜KB以下の小さい画像は無視するとか。
あと、スレ違い。他逝け。
0023デフォルトの名無しさん
NGNGint main(void)
{
char c[] = "*";
switch(*c){
case '*':
printf("*だな\n");
case '"':
printf("*でないわ\n");
case '\\':
printf("\\だわ\n");
}
return 0;
}
をbccまたはlsiでコンパイルして実行すると
*だな
*でないわ
\だわ
と出ます。
漏れの予想では
*だな
と表示されるはずなのですが、何がおかしいのでしょうか?
0024デフォルトの名無しさん
NGNG肌色が多い奴だけ DL するとか ?
002523
NGNGスレ汚してごめんよ。
0026デフォルトの名無しさん
NGNG一応書いて置く罠。breakが・・・・
0027905
NGNG問題は
正の整数の掛け算を行う関数kakezan1とkakezan2がある。(ただし、結果が16ビット以下の数値を取り扱う)また
kakeza1とkakeza2の違いは赤字で書いた一行のみである。
1.片方の関数の結果は間違っている。両者を比較して、その理由を説明しなさい。
2.1の説明を踏まえて間違っている結果を示した関数を修正しなさい。修正できるのはそれぞれの関数で一行のみとし、
赤
字のところは変えてはならない。また、1での解答に沿ったものでなければならない。
です。kakezan1が間違っているようですが何故が違うのか解りません。お願いします。
002827
NGNGlong kakezan1(long x, long y, int n)
{
long a,b,c,d,e,e1,e2;
int n2;
if( (x>>n)!=0 || (y>>n)!=0) {
n<<=1;
}
if(n==2) {
e=x & y;
} else {
n2=n>>1;
a=x >> n2;
b=x- (a<<n2);
c=y >> n2;
d=y- (c<<n2);
e1=kakezan1(a,c,n2);
e2=kakezan1(b,d,n2);
e=(e1<< n)+( ( kakezan1(a+b , c+d,n2) - e1-e2 ) << n2)+ e2;
}
return e;
}
002927
NGNG{
long a,b,c,d,e,e1,e2;
int n2;
if(n==2) {
e=x * y;
} else {
n2=n>>1;
a=x >> n2;
b=x- (a<<n2);
c=y >> n2;
d=y- (c<<n2);
e1=kakezan2(a,c,n2);
e2=kakezan2(b,d,n2);
e=(e1<< n)+( ( kakezan2(a+b , c+d,n2) - e1-e2 ) << n2)+ e2;
}
return e;
}
003027
NGNGint i;
long a,b,c;
scanf("%d %d",&a,&b);
c=kakezan1(a,b,16);
printf("==1== %ld %ld %ld \n",a,b,c);
c=kakezan2(a,b,16);
printf("==2== %ld %ld %ld \n",a,b,c);
}
0031デフォルトの名無しさん
NGNG003227
NGNG003327
NGNGほんとすいませんでした。
0034デフォルトの名無しさん
NGNGgmtimeの逆ってないんでしょうか?
0035デフォルトの名無しさん
NGNG時刻に関する関数はその3つしかないと思うけど。
0036デフォルトの名無しさん
NGNGtime_t t;
struct tm *tp;
t=time(NULL);
tp=gmtime(&t);
t-=mktime(tp);
これで残ったtの値を適当に使うがよろしい
0037デフォルトの名無しさん
NGNGなのでスレ違いとか言わないで下さい。
で、どのプログラムが行儀が良いですか?
どれが一般的ですか?
パターンA
void getpath_a(char * path){
char p[MAX_PATH];
GetPrivateProfileString("section","key","",p,sizeof(p),INIPATH);
lstrcpy(path,p);
}
パターンB
void getpath_b(char * path,size_t size){
GetPrivateProfileString("section","key","",path,size,INIPATH);
}
パターンC
void getpath_c(char * path){
GetPrivateProfileString("section","key","",path,MAX_PATH,INIPATH);
}
私的にはAパターンを今まで採用してきましたが。
0038デフォルトの名無しさん
NGNGAだとpathのサイズがpのサイズに満たない時危なくない?
Cも同様。MAX_PATH分用意してるとは限らない。
やっぱBじゃないかな。
0039デフォルトの名無しさん
NGNG0040デフォルトの名無しさん
NGNG無意味というか、無駄なだけだと思うのだが。
004137
NGNGやっぱりそうですよね。
元々の発想としては、呼び出し時にいちいち変数のサイズ指定するのをやめて
短く済ませようというのがありました。
もちろん、渡されるpathのサイズはMAX_PATHあるという前提での話です。
この前提条件を守ってやるならば、パターンC’で許されますか?
それとも他の方法? ハナっから許されない?
パターンC’
void getpath_c(char * path){
GetPrivateProfileString("section","key","",path,sizeof(path)*MAX_PATH,INIPATH);
}
004237
NGNG多少行儀が良いかと思いまして。
0043デフォルトの名無しさん
NGNGsizseof(path)の値ってどういう値になるか分かってる?
0044デフォルトの名無しさん
NGNGpathはポインタなので、sizeof(path)はポインタのサイズ
そのコードでやりたい事は、おそらくsizeof(*path)
更に言うと、Cではchar型のサイズは必ず1
と言っても、こっちの方は書き方のスタイルによる問題なので
あまり気にする必要はありませんが…
0045デフォルトの名無しさん
NGNG004637
NGNGあ、間違いですね。
sizeof(*path)とすべきでしたね。前のままではアドレスサイズでした。
C’で許されるなら、これで行こうと思います。
レスありがとうございました。
0047デフォルトの名無しさん
NGNGC++ なら、std::string を返させる為にそうする事はある。
0048デフォルトの名無しさん
NGNG> sizeof(*path)
おいおいおいおい。
それって sizeof(char) と同義だぞ。
0049名無しさん@XEmacs
NGNG0050デフォルトの名無しさん
NGNG引数の型がたとえunicodeであろうとsizeof(*path)という記述で済むだろって話だろ?
違うのか?ちょっと出てこい粉等>>48,37
0051デフォルトの名無しさん
NGNGfor(; ; ); に陥りますた
0052デフォルトの名無しさん
NGNG(´-`) ??
0053名無しさん@XEmacs
NGNGvoid f(void){ f();} に陥りますた、と言うべきだな
0054デフォルトの名無しさん
NGNG0055名無しさん@XEmacs
NGNGint f(int n) { n + f(n-1); }
つかどうでもいいわな。スレ汚しスマソ
005650
NGNGLPSTR path;
sizeof(*path) == 1
LPWSTR path;
sizeof(*path) == 2
つーことで、引数の型が変わってもsizeofの中身は変えずに済むだろって話。
と、>37の言いたいことはそうなんじゃないのか?
0057デフォルトの名無しさん
NGNG> LPWSTR
どうせならさあ、ほら、もっとこう・・・
0058ビル・ジョブス
NGNG元祖のスレタイがいいね!エライ!
0059デフォルトの名無しさん
NGNG最後に自分を呼び出すタイプの再帰は、大体コンパイラにループに最適化されるよ。
0060303
NGNGたぶん 55 の気持ちは、
int f(int n) { return n + f(n-1); }
だと思うが、これを幻視再帰とみなし、ループにするのは
よっぽど上等なオプティマイザです。
最後の演算は加算だから、ループにするのはちょっと厄介。
0061デフォルトの名無しさん
NGNGおいおい、W版ではバッファのバイト数でなく文字数を指定するのだが。
だからUnicodeであってもこの場合の sizeofは余計なんだよ。
0062名無し@沢村
NGNGint32から1バイト目、2バイト目、3バイト目…と値を分けてきり出すにはどうしたらいいですか?
0063名無しさん@XEmacs
NGNG0064名無し@沢村
NGNGいや、あちらに書いたらこちらに書けって書かれたもんだから…。
0065デフォルトの名無しさん
NGNG& と >>
0066名無しさん@XEmacs
NGNGmemcpy(BYTE, &int32, 4);
でいけるはずだけどねー
0067デフォルトの名無しさん
NGNGi = *(int *)b;
0068xxx
NGNG---●●●変態痴女を紹介致します。●●●---
例えば>欲求不満オマ●コヌレヌレ女・露出オナニー痴女・
フェラチオおしゃぶり女・ミニスカ・ノーパン娘・巨乳パイズリ娘・
アナルSEXおねだり娘・オマ〇コ弄られマン汁グチョグチョ女・
SM牝豚・緊縛・浣腸・スカトロ・等・・・刺激を求めています。
●●●学生・OL・主婦・モデル・牝豚・女王様・オカマ等・多数!●●●
090-8002-8356番
下のカタカナを小文字に変換してください。
http://www.エムティーティー.jp/i
-
006967
NGNG007067
NGNG*(int *)b = i;
0071名無し@沢村
NGNG_int32 Buffer1;
BYTE Buffer2[4];
Buffer2[0]=(Buffer1 & 0xFF000000) >> 24 ;
Buffer2[1]=(Buffer1 & 0x00FF0000) >> 16 ;
Buffer2[2]=(Buffer1 & 0x0000FF00) >> 8 ;
Buffer2[3]=(Buffer1 & 0x000000FF) ;
でいいのですか?
0072名無し@沢村
NGNGmemcpyというのは初耳です。
第一引数がコピー先、第二引数がコピー元、第三引数がコピーするバイト数なのですか?
第一引数が配列であってもいいのですか?早速調べてみます♪
0073名無しさん@XEmacs
NGNGBuffer2[1] = (BYTE) (Buffer >> 16) & 0xff;
Buffer2[2] = (BYTE) (Buffer >> 8) & 0xff;
Buffer2[3] = (BYTE) (Buffer >> 0) & 0xff;
こうじゃないのかなぁ
0074名無し@沢村
NGNGどっちだろう?
右が切り捨てられるなら、
Buffer2[0]=(Buffer1 & 0xFF000000) ;
Buffer2[1]=(Buffer1 & 0x00FF0000) << 8 ;
Buffer2[2]=(Buffer1 & 0x0000FF00) << 16 ;
Buffer2[3]=(Buffer1 & 0x000000FF) << 24;
と逆になるが…。
どっちですか?
0075デフォルトの名無しさん
NGNG> Buffer2[0]=(Buffer1 & 0xFF000000) >> 24 ;
はシフトの前にunsignedにキャストした方がいい。
>>72
インテル系のCPUではバイト並びが逆になる。
>>73
それもunsignedにキャストした方がいい。
0076スティーブ
NGNGアンケトーにお答え頂いた方には2−5千円の謝礼進呈。
007775
NGNG0078名無し@沢村
NGNGわかりました。先にシフト演算してからビット演算するればいいのですね。
なにぶんプログラムはド素人なもので、細かいところまでは…てへへっ♪
それから右にシフトしたということは、1バイトに代入すると、やはり右が切り捨てられると考えていいのですね?
0079名無し@沢村
NGNG0080名無し@沢村
NGNGunsigned intはバイト数が処理系依存と読んだことがあるので、わざわざ4バイト固定の_int32を使ったのですが…。
unsigned intを使っても問題ありませんか?
0081デフォルトの名無しさん
NGNG0x12345678
を 8ビットの unsigned charに代入すれば
0x78
になる
0082デフォルトの名無しさん
NGNGレジスタの仕組みも勉強したほうが良いかもしれません。
0083名無し@沢村
NGNGなあんだ、キャストしなくてもいいんですか…。
0084デフォルトの名無しさん
NGNG0085名無し@沢村
NGNG>0x12345678
>を 8ビットの unsigned charに代入すれば
> 0x78
>になる
あ、やっぱり左が切り捨てられるでいいんだ♪ありがとうございました♪
0086デフォルトの名無しさん
NGNGん?73はキャストをしてるような・・・
0087デフォルトの名無しさん
NGNG> unsigned intはバイト数が処理系依存と読んだことがあるので、
> わざわざ4バイト固定の_int32を使ったのですが…。
unsigned int と signed int のサイズは同じ。
singed int でもサイズは処理系依存。
負数の右シフトで、空きビットにゼロが入るかどうかが
処理系依存なのでキャストした方がいいと書いたのだが、
>>71でも(BYTEが8ビットなら)キャストしなくても
結局切り捨てられて同じになるね。ごめん、逝くわ。
0088デフォルトの名無しさん
NGNGああ,確かにしてる
BYTE→int→BYTEのな
アフォキャストって言っていい?
0089名無しさん@XEmacs
NGNG。。。でこの場合ってマスクいらないのかな?
Buffer2[0] = Buffer1 >> 24;
みたいな。
うちの環境だとどうやらいけてるみたいだけど、なんというか
規格上OKなのかどうか聞きたいんだけど。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGマスクはいらないかも・・・
Buffer2[0] = (BYTE)(Buffer1 >> 24);
0092デフォルトの名無しさん
NGNG0093デフォルトの名無しさん
NGNG?
0094デフォルトの名無しさん
NGNGそのBYTEはマクロか?
0095名無しさん@XEmacs
NGNG0096デフォルトの名無しさん
NGNG009790
NGNGイジメないでくれよ・・・
0098デフォルトの名無しさん
NGNG_int32とは何かが明らかにされていないので本当は何とも言えないが
おそらく__int32のミスプリであろうと仮定すると
BYTEはunsigned charのtypedefと推定できる
以後、この前提で議論する
BYTEにキャストした後で&0xffしてるんだから代入の右辺はint型で
代入式はBYTE←intの形になっている
ここで右辺がBYTE型に暗黙の型変換をされるわけだが
型変換した結果の値は型変換前のint値を
BYTE型で表現できる最大数+1で割った剰りとなる
つまり&0xffはしなくてもよいことになる
0099名無し@沢村
NGNGマクロかどうかは知らんよ。
ただちらっと見たら、BYTE型というのがあってサイズは1バイトと書いてあっただけだよ。
0100デフォルトの名無しさん
NGNGcharが9ビットなら &0xffの有無で結果が違ってくるな
0101名無し@沢村
NGNGあらっ、ホントだ。
_int32ではなく、__int32だったよ。
エラーが出なかったので、ミスプリのまま使っていたよ。
0103デフォルトの名無しさん
NGNG10個の時もあれば、10000個の時もあるので
struct data {
int xxx;
char yyy[256];
};
struct data info[10000];
みたいなのは容量の無駄なのでやりたくありません。
そもそも10000個で収まるかどうかも不確定なので。
データによって、その必要な数だけ構造体を確保する方法ありませんか?
0104デフォルトの名無しさん
NGNGmalloc関数・・・
0105デフォルトの名無しさん
NGNGリストって知ってるかい。
0106デフォルトの名無しさん
NGNGC99限定ならば
int foo(int size)
{
struct data info[size];
// なんか処理をする
}
と言う方法はある。
普通は
int foo(int size)
{
struct data *info;
info = malloc(sizeof(*info) * size);
// なんか処理をする
free(info);
}
かな?
0107100
NGNG前提にはcharが8ビットとは書かれてないが...それとも
__int32が32ビットであることが規格で決まってるのか?
でもまあ単なる揚げ足取りだから、どっちにしても気にしないでくれ。
0109デフォルトの名無しさん
NGNG__int32なんてものは規格にはない罠。
0110名無し@沢村
NGNGcharは1バイトだから8ビットだよ。intやunsigned intはシステムに依存するよ。
__int32は4バイトだから32ビットだよ。これは規格で決まっているよ。ホントだよ。
0111デフォルトの名無しさん
NGNG何も知らん初心者はすっこんでろ
0112デフォルトの名無しさん
NGNGその規格ってのは MS-VC99 か?
0113103
NGNGmallocで確保すると、それぞれの構造体に直接アクセスできますか?
その方法がわからないんですけど。
>>105
知ってます。
リスト構造でmallocで確保すると、最初からたどらないと目的の構造体に
アクセスできないのでちょっと。
info[no].xxxみたいにインデックスの数値で目的の構造体に直接アクセスしたいんです。
>>106
その普通の方法というのを最初に試したのですが、各構造体に直接アクセスする方法が
よく分からないんですけど、できますか?
0114デフォルトの名無しさん
NGNGinfo = malloc(sizeof(*info) * size);
info[0].xxx = 0;
strcpy(info[0].yyy, "hoge");
0115デフォルトの名無しさん
NGNGソースは?
「本に書いてあった」とか言うなよ。
0116デフォルトの名無しさん
NGNG1byte=9bitsのマシンが実在するのを知らないのは許してやろう
だが,規格で決まっているかどうか調べもせずに言うのはいかん
0117名無し@沢村
NGNGstruct data {
int xxx;
char yyy[256];
};
struct data *info;
info=(struct data *)malloc(sizeof(struct data ));
…
…
…
free(info);
のほうが馬鹿でもわかりやすいよ。
0118名無し@沢村
NGNGVC++のヘルプで検索してら書いてあったんだよ。4.0だけどね…。ビンボー素人なもんで…。
0119デフォルトの名無しさん
NGNGだから,調べもせずに言うなってば!
0120デフォルトの名無しさん
NGNGつまり、MS-DOS と 16 ビット バージョンの Windows では 2 バイト (short
型および unsigned short 型と同サイズ) になり、32 ビットのオペレーティ
ング システムでは 4 ビットになります。
MSDNって素敵…。
0121デフォルトの名無しさん
NGNGマジかよ
最新バージョンでか?
0122名無し@沢村
NGNG>mallocで確保すると、それぞれの構造体に直接アクセスできますか?
>その方法がわからないんですけど。
普通にinfo->char[5]とか、info->xxx[73]とかすればいいが、何か…??
0123デフォルトの名無しさん
NGNGお前にとっての規格は「VC++のヘルプ」なのかと小
0124デフォルトの名無しさん
NGNGinfo->char[5]がコンパイルできるかどうか調べたかと3.6キロ秒ほど問いつめ...たくない
もういやだ,こいつ
0125デフォルトの名無しさん
NGNGネタに付き合うお前すげぇよ
0126名無し@沢村
NGNGすまん、プリミスだ。info->char[5]ではなく、info->yyy[5]だったな。
0127デフォルトの名無しさん
NGNG冬休みだからな...学生はいいよな
0128名無し@沢村
NGNG>mallocで確保すると、それぞれの構造体に直接アクセスできますか?
>その方法がわからないんですけど。
ってお前まさかそれでプログラマーじゃないだろうな?
俺はド素人だぜ。プログラマーはド素人には教えてもらわないよな。普通…。
0129デフォルトの名無しさん
NGNG0131名無し@沢村
NGNGお前、俺のレスちゃんと読んだか?
struct data {
int xxx;
char yyy[256];
};
struct data *info;
info=(struct data *)malloc(sizeof(struct data ));
…
…
…
free(info);
で確保しろ。
でアクセスは普通にinfo->yyy[5]とか、info->xxx[73]な。
0132デフォルトの名無しさん
NGNGお前って・・・
0133デフォルトの名無しさん
NGNGお前、・・・
0134デフォルトの名無しさん
NGNG0135デフォルトの名無しさん
NGNGネタもいい加減にしろよ。
氏ね。
0136デフォルトの名無しさん
NGNGいいかげんにネタ回答はやめろ。天然か?
それにしても聞く時と答える時ですごい豹変ぶりだな。
0137デフォルトの名無しさん
NGNGBuffer1>>24 は処理系依存になります。だから、
(unsigned int)Buffer1>>24
とすべきです。
[#5] The result of E1 >> E2 is E1 right-shifted E2 bit
positions. If E1 has an unsigned type or if E1 has a signed
type and a nonnegative value, the value of the result is the
integral part of the quotient of E1 divided by the quantity,
2 raised to the power E2. If E1 has a signed type and a
negative value, the resulting value is implementation-
defined.
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG103からレスを読み返してみたまえ。
0140デフォルトの名無しさん
NGNGリスト構造というものを勉強することを勧める。
沢村のネタ回答はほっとこう。無視無視。
0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNGいくつか分からんものを確保しようがないと思うが?
途中で追加されてサイズが変わるとかならrealloc()汁。
0144デフォルトの名無しさん
NGNG誤爆か?
>>87を読め
0145103
NGNGリスト構造は一応知ってるつもりなんですけど、目的のデータに
到達するまでに最初から追っていかなくては駄目ですよね?
目的のデータに直接アクセスしたいんですよ。
>>142
やはり無理ですか。
10000個データがあったとしても、1個ずつ読み込んで処理できるんなら
その時にカウントしていけばいいんですけど、10000個分が全部まとまった
状態でしかそのデータを読み込めないんです。
だから、最初からその分の領域を確保しなければならないので困ってます。
うーん、もう少し頑張ってみます。
0146デフォルトの名無しさん
NGNGいや、ちがう。符号付き整数で値が負の時に、
右シフトすると、空きビットうんぬんではなく、
全部のビットが変になる可能性がある。
符号付き数の内部表現が1の補数である処理系を考えてみると
よい。
0147デフォルトの名無しさん
NGNG>目的のデータに直接アクセスしたいんですよ。
n番目のアイテムを返す関数一個作って直接アクセスっぽく…
ダメ?w
0148名無し@沢村
NGNGどうやらunsigned intはMS_DOSとwindous3.1以外は4バイトのようですね。安心しました♪
0150デフォルトの名無しさん
NGNG142も言っているが、reallocじゃダメなの?
0151名無し@沢村
NGNG>10000個分が全部まとまった
状態でしかそのデータを読み込めないんです
読み込んだ後、カウントできないの?
0152デフォルトの名無しさん
NGNG貴様に発言権はない
0153デフォルトの名無しさん
NGNGポインターのポインターを使用するしか・・・
0154デフォルトの名無しさん
NGNGなるほど。言ってる意味はわかったが、
果たしてその解釈で合ってるかな。
E1>>E2 は、E1 を E2 ビット分右にシフトし、それを結果とする。
E1 が符号無し整数型をもつ場合、又は E1 が符号付き整数で非負の値をもつ場合、
結果の値は、E1 を 2 の E2 乗で割った商の整数部分とする。
E1 が符号付き整数型で負の値をもつ場合、結果の値は、処理系定義とする。
ビット並びで見た場合、空きビット以外の部分は保証されていると思うが。
0156デフォルトの名無しさん
NGNGみんな仲良くしようよ
0157デフォルトの名無しさん
NGNG>>10000個分が全部まとまった
>>状態でしかそのデータを読み込めないんです。
この辺が何を言いたいのか理解できないんだが。
malloc()、realloc()で確保した領域は構造体の配列と同じようにアクセスできるけど、それじゃだめか?
>>153
なぜ?
0158デフォルトの名無しさん
NGNGループで回してる中で1個づつ追加していきたいならreallocでできるでそ?
100個でも10000000個でもreallocしていけば。
しかしreallocの時間的コストってどんなもんだろうな。
10000000回もreallocするのなんか抵抗あるが。
0159名無し@沢村
NGNG刀あげるから…!!
0160デフォルトの名無しさん
NGNG>>152
0161デフォルトの名無しさん
NGNGbit ならびは新しく入る部分以外は保存される。
わたしが漠然と思っていたことがやっと分かった。
マスク (&0xff) せずに、
buffer2[0] = buffer >> 24;
とした場合ははダメで、
buffer2[0] = (buffer >> 24) & 0xff; /* CHAR_BITS==8 の場合 */
ならOK ってことだ。
つまり、&0xff なら、左のビットが捨てられるだけだが、
前者のようにマスクせず int を BYTE に代入したら、
(BYTE が 8 bit の符号無し整数だとして)
256を法としてbufferと合同な最小の整数が buffer2[0]に入るから、
負数の内部表現によって結果が異ってしまう。
このスレではみんな &0xff としてるので、問題ないわけだ。
私がわるかった。重ねがさね済まん。
0163デフォルトの名無しさん
NGNG&(unsiged(1<<CHAR_BIT)-1)
多分これで処理系に関係なく1バイトのみの値を取る事が出来る
と言っても、こんなガイキチみちたコードなんて書かずに
素直に、処理系依存のコードにした方が、かなりまし
0164デフォルトの名無しさん
NGNGそんなガイキチみちたコードなんて書かずに
素直に、UCHAR_MAXと書いたほうがまし
0165さっぱり
NGNG課題で出されたCがわからなくてこまってます。
課題は2つの行列AとBを加算するプログラム(matadd.c 未完成)をディスクに保存する。
入力用データファイル matadd.dat をディスクに保存する。
ソースプログラムをコンパイルし,実行する。
実行時に次のように入力のリダイレクトを行い,データファイルからデータを読み込ませる。
matadd < matadd.dat
表示された結果とソースプログラム内容を観察し,どのような手順で2次元配列を入力・出力しているか,理解する。
次に,C=A+B を計算し,Cの各要素を行列らしく出力する部分を追加して完成させる。
上と同様に実行して動作確認ができたら,ソースプログラムを提出する。
0167デフォルトの名無しさん
NGNG>>1よめ厨房。
>ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへ行け。
0168デフォルトの名無しさん
NGNGUCHAR_MAXって(unsigned)0-1になる事が規格で保証されてたっけ?
0169デフォルトの名無しさん
NGNGstruct data {
int xxx;
char yyy[256];
};
char dummy=0;
struct data *info;
info=(struct data *)malloc(sizeof(struct data )*kazu);
…
dummy = (info+index)->yyy[xxx];//info[index]->yyy[xxx]; と同じアクセス方法。indexはkazuを超えない事。
…
free(info);
ダイレクトにアクセスできますぜ。
ただ、確保された領域の外には手を出さない事。(事故でも)
ソースは、131から流用を改変。thx.
0170デフォルトの名無しさん
NGNGtypedef struct {
int xxx;
char yyy[256];
} data;
0171デフォルトの名無しさん
NGNG構造体のメンバを表す時の.や->の意味とポインタの概念を理解出来れば
>>169の(info+index)->yyy[xxx]をinfo[index].yyy[xxx]と
置き換えられるようになる事が理解出来るので、頑張っ勉強して下さい
0172171
NGNG0173デフォルトの名無しさん
NGNG不安なら(unsigned)0-1って書けば?
>>163よりはマシだと思われ
0174デフォルトの名無しさん
NGNG保証もなにも、普通違う値だろ。
~(~0u<<CHAR_BITS)
0175デフォルトの名無しさん
NGNG(unsigned char)0-1の書き間違えだと思うが
それが8ビットの場合255になってくれる処理系を俺は見た事がない
0176175
NGNG(unsigned char)(-1)
なら動くが、たまに動かない物もあるので注意
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNGC 言語の前に日本語は大丈夫か?
0181デフォルトの名無しさん
NGNGイヤな書き方するな。
0182デフォルトの名無しさん
NGNG> 10000個データがあったとしても、1個ずつ読み込んで処理できるんなら
> その時にカウントしていけばいいんですけど、10000個分が全部まとまった
> 状態でしかそのデータを読み込めないんです。
> だから、最初からその分の領域を確保しなければならないので困ってます。
C++のVectorの実装を参考にしてみろ。
まず、適当な大きさでmallocし、追加するたびに上限値を超えていないかのチェックを行う。
上限値を超えていた場合、上限値を増やしてreallocする。
こんな感じの実装の仕方だったはず。
0183デフォルトの名無しさん
NGNGこの一行がものすごく余計な気がする
0184デフォルトの名無しさん
NGNG整数演算がオーバーフローした場合の結果は未定義だが
符号なし整数はオーバーフローしない
よって(unsigned char)0から1を減じた結果が
UCHAR_MAXとなることを処理系は保証すべき
符号付き整数-1を,より少ないビット数の符号なし整数unsigned charに変換する場合
変換後の値は,UCHAR_MAX+1で割った非負の剰りであると規定されているから
UCHAR_MAX==255の処理系では(unsigned char)-1==255となるべき
>>181
イヤじゃない書き方って
info[index].yyy[xxx]
のことか?
漏れ的にはポインタに[]はあんまり使いたくない
仮引数*hogeをhoge[]と書くのも気持ち悪い
0185デフォルトの名無しさん
NGNGそんな事が決まっていたっけ?
> UCHAR_MAX==255の処理系では(unsigned char)-1==255となるべき
unsigned char に変換する前の -1 の全ビットが立っている保証はあったっけ?
> info[index].yyy[xxx]
> のことか?
そう。
> 漏れ的にはポインタに[]はあんまり使いたくない
ならこう書け。
(info + index)->yyy + xxx
> 仮引数*hogeをhoge[]と書くのも気持ち悪い
int main(int argc, char **argv)
と書く人ですか?
まあいいけど。
0186デフォルトの名無しさん
NGNGこうね。
*((info + index)->yyy + xxx)
0187デフォルトの名無しさん
NGNG> そんな事が決まっていたっけ?
少なくともJIS X 3010-1993では決まっていますが何か?
JIS X 3010-1993(ISO/IEC 9899:1990)
6.1.2.5 型 4段落目の中程から引用
符号無しオペランドを含む計算は、決してオーバフローしない。
すなわち、格納する符号無し整数型で表現できない結果が、その符号無し整数で
表現しうる最大値より1だけ大きい数を法とする剰余とする。
0188デフォルトの名無しさん
NGNG> > 符号なし整数はオーバーフローしない
> そんな事が決まっていたっけ?
オーバーフローしたときの動作が決まってたはず。
> > UCHAR_MAX==255の処理系では(unsigned char)-1==255となるべき
> unsigned char に変換する前の -1 の全ビットが立っている保証はあったっけ?
ない。
0189デフォルトの名無しさん
NGNGありがとう。
C99 では 6.2.5 Types の項 9 だね。
でも、訊いただけだから、何かと訊き返されても困るけど。
0190デフォルトの名無しさん
NGNG> unsigned char に変換する前の -1 の全ビットが立っている保証はあったっけ?
訊き方がまずかったかも。
符号付整数の負数を符号無し整数にキャストした時、どの負数がどの正数値に対応
すべきという規定はあったっけ?
0191デフォルトの名無しさん
NGNG-1のビットパターンには関係がない
-1を256で割った非負の剰りが255なだけ
0192184
NGNG(unsigned char)0-1と書いても格上げが入るから
((int)(unsigned char)0)-((int)1)になるだけだ
0193デフォルトの名無しさん
NGNG0194デフォルトの名無しさん
NGNGinf i = 0;
i--;
と言いたいわけか?
0195194
NGNGunsigned char c = 0;
c--;
0196デフォルトの名無しさん
NGNG(unsigned char)0-(unsigned char)1
は、ずっと unsigned char のままで演算されないか?
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNG(unsigned char)((unsigned char)0-(unsigned char)1)
なら、そう実装しても構わない。
0199デフォルトの名無しさん
NGNGunsigned char c;
printf("%u\n", sizeof(c));
printf("%u\n", sizeof(c - c));
0200デフォルトの名無しさん
NGNGそもそも103はそのkazuってのがその時点で不明だから悩んでるんじゃないか?
話がループしてるぞ。
0201デフォルトの名無しさん
NGNGそれから読み込みを行うのは安全ですか?
0202デフォルトの名無しさん
NGNGそれについてはrealloc()が5回くらい出てるんだが、読んでないのか?
0203デフォルトの名無しさん
NGNG読めることは読めるだろうけど、得られたデータには何の保証もない。
0204デフォルトの名無しさん
NGNG安全ならそれでいいんです。
じゃあ大丈夫だってことですか?
0205デフォルトの名無しさん
NGNG何を安全とするか、何を大丈夫とするか、によって答えは変わる。
0206デフォルトの名無しさん
NGNGプログラムが異常終了したりしないかとか。
0207デフォルトの名無しさん
NGNG普通opendirじゃないの。ディレクトリもファイルの一種。
0208デフォルトの名無しさん
NGNGシステムや処理系次第だろうな。
真っ当なシステムなら、openできた以上以上終了ってことは多分ないと思うが、
もちろん保証の限りではない。
POSIXなシステムでは、ディレクトリに対するfopen()は書き込みじゃなけりゃ
成功するように見える。
ttp://www.opengroup.org/onlinepubs/007908799/xsh/fopen.html
[EISDIR]
The named file is a directory and mode requires write access.
ちなみにLinuxでは即EOFになった。
0209デフォルトの名無しさん
NGNG0210184
NGNGワラタ
*((*(info + index)).yyy + xxx)
[]や->も使えば可読性が上がる場面では漏れも使ってるけどよ
たとえば冒頭の例のように*をちゃんと追うのは大事な基本だと思うから
ポインタで間接参照しているところはありのまま書いておきたいって
気持ちがあるわけよ
char s[2];
s[1] = '\0'; なんかだと
*(&s[0] + 1) = '\0'; がありのままだが
配列の実体に直接アクセスしているところはそう見せたい
extern char s[];
s[1] = '\0';
のような場面が脳裏をよぎるんだ
*argv[]も漏れの周りがそうしてるから合わせてるさ
あんまり使いたくないってのは
必ずしも本音と建て前が一致しないことがあるってことで
絶対使わないって意味じゃない
0211デフォルトの名無しさん
NGNGできない頑固者としか思えないよ。
シンタックスシュガーが何の為にあるのか考えた方がいい。
もちろん、自分しか読まないようなソースであれば、その限りじゃないけど。
0212184
NGNGマクロをあんまり使いたくないのと同じだよ
0213デフォルトの名無しさん
NGNG0214184
NGNG2重間接になってる所では却って邪魔になることがあると言いたい
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNG*(*p + n) = &(**q).r;
まあ気分の問題ちゃそれまでなんだけどよ
>もちろん、自分しか読まないようなソースであれば、その限りじゃないけど。
こんなこと言われるのは心外だったりする
0217216=184
NGNG0218デフォルトの名無しさん
NGNG0219デフォルトの名無しさん
NGNG後者の方がよっぽどワケワカランに見えるけど?
0220デフォルトの名無しさん
NGNGハァ? 頭悪すぎ。
169の内容と何も関係ないだろ。
0221デフォルトの名無しさん
NGNG可読性を主観以外の何だと言う気だ?
よもや自分だけ違うなんて言い出すまいな
それから漏れは「べき」と言ったか?
0222デフォルトの名無しさん
NGNGあんたが 「べき」 と言ったかどうかは知らないが、212 にはそう書いてある。
0223デフォルトの名無しさん
NGNGああ,そいつは悪かった
確かに漏れが言った
逆効果なんかありえないと言う訳にもいかんが
>>219
漏れが組んでいる相手がそう言ったら当然考えるさ
人に読ませることを考えてないような言われ方が心外だと言っている
0224223=184
NGNG0225デフォルトの名無しさん
NGNG0226デフォルトの名無しさん
NGNG実測しる
それしかない
0227デフォルトの名無しさん
NGNGとりあえず、他人が読んで分かりやすいのが良いに決まってるんだが
その他人が読みやすいってのが、個人個人で違うから主観だって話でそ?
チームで開発してれば、その大多数が読みやすい形で書くのがベストであって
つまり、一番使ってるやつが多い形に合わせるのが自然だな。
自分のスタイルと変えて書くほうは大変だが。
0228デフォルトの名無しさん
NGNGちなみに、VC6 は最適化レベルに関わらず、どちらも同じコードを吐く。
0230デフォルトの名無しさん
NGNG*(*p + n) = &(**q).r;
この例を取って主観で言うけど、漏れは 1 つの塊に * が 2 つ以上あるのは
読みにくいと思う。
184 の主論は 「隠れた処理があるのはわかりづらい」 という事だと思うんだけど、
漏れは 「わかりきった処理は隠蔽された方が読みやすい」 と思う。
i < 0? -i: i と書くより abs(i) と書いた方が読みやすいのと同じ話じゃないかな。
0231184
NGNG0232230
NGNGその反応がそれかい。
別に、読めないとは言ってないよ。
0233デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGまぁ好きにしろや。
0237デフォルトの名無しさん
NGNG230 の最後の行もあんたが出した例か?
というか、184 が何故 [] や -> を 「わかりにくい」 としているの理由が分から
ないけど。
特に [] は、ポインタに対して配列的なアクセスをするという事を明示する。
*(p + n) も慣用句として覚えればそれほど見にくいわけではないけど、慣用句より
言語レベルの演算子である p[n] の方がずっと見やすいはずだという考えは間違いか?
0238デフォルトの名無しさん
NGNGそんな事が必要な設計は間違っていると思う。
0241デフォルトの名無しさん
NGNG0244デフォルトの名無しさん
NGNG> >>237よ,それは>>214で既出だ
[] や -> を使うとき、1重間接の * が隠れている事を意識する必要は無い。
> >>238よ,それは>231で既出だ(藁
238 が言いたい事が分かってないだろ。
と**を使い分ける、なんて事はすべきではない。
0245244
NGNG> と**を使い分ける、なんて事はすべきではない。
*と**を使い分ける、なんて事はすべきではない。
0246デフォルトの名無しさん
NGNG/\⌒ヽペタン
/ /⌒)ノ ペタン
∧_∧ \ (( ∧_∧
(; ´Д`))' ))(・∀・ ;)
/ ⌒ノ ( ⌒ヽ⊂⌒ヽ
.(O ノ ) ̄ ̄ ̄()__ )
)_)_) (;;;;;;;;;;;;;;;;;;;)(_(
0247デフォルトの名無しさん
NGNG|___ミ ギビシッ
.|| ヾ ミ 、 グシャッ
∩_∧/ヾヽ
| ,| ゚∀゚). .| |;, ゲシッ
/ ⌒二⊃=| |∵.
.O ノ %`ー‐'⊂⌒ヽ ゴショッ
) ) ) )~ ̄ ̄()__ )
ヽ,lヽ) (;;;;;;;;;;;;;;;;;)(_(
0248184
NGNGだからよ,配列とポインタは違うんだちゅーのに
なんでそんなに同じと思いたがるかよ
char(*p)[Q];とchar **p;が同じだと思いこむアフォを量産し
char s[1];にextern char *s;で参照に逝くアフォを量産する
ある意味必要悪を何でそんなに必死に擁護せにゃならんのだ
初心者時代から*をなるべく[]と書こうとしていたツケが
*は読みにくいって後遺症になって回ってきてるだけだろ
0249デフォルトの名無しさん
NGNGそんな事言われても、配列に対して *(p + n) というアクセスもできるんですが・・・。
0250184
NGNGそろそろ落ちたいので
反論したい者は手短に頼む
0251デフォルトの名無しさん
NGNG0252デフォルトの名無しさん
NGNG> char s[1];にextern char *s;で参照に逝くアフォを量産する
関係無い話を持ってくるなよ。
メモリ領域がどう確保されているかと、*(p + n) と p[n] のどちらが見やすいかは
全く別の話。
0253デフォルトの名無しさん
NGNGどうしてこれを使うだけで配列とポインタの混同という話になるんだ?
0255デフォルトの名無しさん
NGNG0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNG184 は頭が硬すぎというか、一緒に仕事をしたくないと思う。
0261デフォルトの名無しさん
NGNG0262236
NGNGこれ全部 char (*)[] に変更するのはホネだなぁ。
0263デフォルトの名無しさん
NGNGあんたがどうフォローしようが、248 を撤回しない限り 258 の結論は変わらないよ。
248 を、「[] を使ってはいけない」 以外にどう受け取れというんだ?
0264デフォルトの名無しさん
NGNG待て待て待て待て。
char ** ならともかく、あるいは文字列の先頭へのポインタならともかく、
文字列へのポインタが char * とはどういう事だ?
0265デフォルトの名無しさん
NGNG>>184 は * と [] を使い分けることで
漏れは配列とポインタの違いがちゃんと分かってるぜ!がっはっは!
ということを誇示したい訳か
真 性 D Q N で す な (ワラ
0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNGどうすれば良いですか?
int a=123;
として、これを”123”という文字列に変換したいのですが。
0268名無し@沢村
NGNG↑ま、まさかプログラマーだったりして…
itoa();
と、マジレスする前にボケてみる。
0270名無し@沢村
NGNGヌヒよ、おれは**となる理解できんが、*と[]くらいはわかるぞ。
つまりだな、
int Count[64];も、
int *Count;
もまったく同じく、Count=(int*)malloc(size);というふうに扱えるということだ。
だから配列とポインタは同じといわれていると思うのよ。
どうかな?俺は中級者といえるかい?
0271デフォルトの名無しさん
NGNG全然言えない。
272 :名無し@沢村 :02/12/19 20:59
釣れた(藁
273 :デフォルトの名無しさん :02/12/19 21:02
ぎゃー、釣られたー。
0272デフォルトの名無しさん
NGNG0273能無し@沢村
NGNG0274名無し@沢村
NGNGヌヒよ、ふふふ俺はもっと高度な2次元配列も扱えるぞ。
int Count[10][64];の場合は、
Count[10]=(int*)malloc(size);というふうにできるということだ。
これはかなり高度だぞ。
0275名無し@沢村
NGNGint *Count[10];
Count[10]=(int*)malloc(size);というふうにもできるということだ。
0276デフォルトの名無しさん
NGNG無視するんですか?でも、反応してほしがってますよ。
いいんですね?後悔しても知りませんよ?
公開なんていってませんよ、だれがチャックを開けるって。
もう先生たらエッティ♥ セクハラで訴えちゃうぞ〜♪
でも先生ならいいかも(あはぁん
もう反応していいかなんて未定義です、NULLです
ヌルポ。
0277デフォルトの名無しさん
NGNG0278デフォルトの名無しさん
NGNGでも、荒れるー。つー(以下略)
0279デフォルトの名無しさん
NGNGと ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 / ←>>276
0280デフォルトの名無しさん
NGNG∧_∧ _ _ .' , .. .∧_∧
( ´_ゝ`) _ .- ― .= ̄  ̄`:, .∴ ' ( ) ←>名無し@沢村
/ '' ̄ __ ヽ´=', ・,‘ r⌒> _/ /
/ /\ / ̄\-―  ̄ ̄  ̄"'" . ’ | y'⌒ ⌒\
_| ̄ ̄ \ / ヽ \_ | / ノ |
\ ̄ ̄ ̄ ̄ ̄ ̄ \__) , ー' /´ヾ_ノ
||\ \ / , ノ
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄ / / /
|| || ̄ ̄ ̄ ̄ ̄ ̄ ̄|| / / ,'
|| || || / /| |
!、_/ / 〉
|_/
0281デフォルトの名無しさん
NGNGせめて最後の一行はカットして。
0282デフォルトの名無しさん
NGNGこのスレにはまだ沢村の相手をする奴がいたのか!?
ぶぁっはははははーーーっ!!
ぶぁっはははははーーーっ!!
0283デフォルトの名無しさん
NGNG0284デフォルトの名無しさん
NGNGもょもとって知ってるか?
0285デフォルトの名無しさん
NGNG0286デフォルトの名無しさん
NGNG(unsigned char)((unsigned char)0-(unsigned char)1)
にしても、コンパイラは定数部分をint型にして演算する事が多いので
(規格でもint型だったような気もするけど、間違ってるかも…)
(unsigned char)(-1)
と同じ結果になる
0287デフォルトの名無しさん
NGNG面倒臭いんだよ。なんとかしてくれ
0288デフォルトの名無しさん
NGNG0289286
NGNG簡単なサンプルでいいからうpしてくれよ
0290デフォルトの名無しさん
NGNGここはと言うより、そういうスレは無いんだよ厨房ちゃん
0291286
NGNGグラフィック関数使った奴はもう出来たんだけど
テキストオンリーのやつがどうしてもわからないんだ
スクロールとか辺り判定とか
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGだけど) が、自分で作りたいというのに人に作ってもらってどうするつもりなんだ?
0295デフォルトの名無しさん
NGNG標準出力は 「ストリーム」 であり 「画面」 ではないからだ。
0296デフォルトの名無しさん
NGNGテキストテトリスをやるのが本物の漢だ
0297291
NGNGいや、あんたがどう誤解しようと全部作れとは言ってないわけで
その作り方が知りたいだけですよ。その辺の小学生じゃないんだから
ソース教えてもらったからって丸パクリするわけじゃないし
0299デフォルトの名無しさん
NGNG誰かこいつ頃せ
0300デフォルトの名無しさん
NGNGどっちかにしとけ。
0301デフォルトの名無しさん
NGNGここは教えて君マンセーなスレだったのか?
0302デフォルトの名無しさん
NGNG0303Sタソファソ
NGNG0304デフォルトの名無しさん
NGNG0305デフォルトの名無しさん
NGNG知ってる!!
0306デフォルトの名無しさん
NGNG0308デフォルトの名無しさん
NGNGX2乗+y2乗+z2乗→最小
6x+3y+4z=61
をc言語でやるとどうなりますか??
0309デフォルトの名無しさん
NGNG…?
よく判らんけど、アルゴリズムを訊いてるの?
0310デフォルトの名無しさん
NGNG結局誰もマジレスしなかったね。
0311デフォルトの名無しさん
NGNGマルチだし、意味もわからない。
0312デフォルトの名無しさん
NGNG>308はちょっと頭がおかしいのです。
あの計算をするプログラムを聞いているのだと思います
0313デフォルトの名無しさん
NGNG308==312では?
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGまあ、どっちでもヨいんではないかと。
>>312もいみわかんないし。・・・ドノケイサンナンダロウ・・・
0316デフォルトの名無しさん
NGNG0317デフォルトの名無しさん
NGNG{
int c;
printf("オリジナルのMessageBox: %s\nHit Enter", message);
while ((c = getc()) != EOF && c != '\n');
}
0318デフォルトの名無しさん
NGNGジツハ、ワタシモドレヲ
ケイサンシテイイカ
ワカラナイノヨ
0319デフォルトの名無しさん
NGNG#include <conio>の、conioってなんですか?
0320デフォルトの名無しさん
NGNGコンソール I/O のことだと思う。
0321319
NGNG同じものなのでしょうか?
0322319
NGNG0323デフォルトの名無しさん
NGNG032460cm浮き上がるストレート
NGNGこんな感じですか?
>X2乗+y2乗+z2乗→最小
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1040370788&res=2
>6x+3y+4z=61
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1040370788&res=3
0325デフォルトの名無しさん
NGNGその戦いの歴史は、まさに近代兵器の見本市だった
田代砲にはじまる数々のスクリプト兵器を経て、到達した97式アラファトマシンガン
これはまさに最終兵器として、猛威を振るった
だがしかし、ついにTIMEはこれらの兵器全てを完膚無きまでに無効とする
パプリカの設置に成功した
武器を奪われた我々に残されたもの ・・・それはチョップ
手動で一撃一撃叩き込むチョップ。地味で威力も極限まで小さなチョップ
ただそれだけと、なってしまった
だがしかし、チョップといえども決してバカには出来ないということを!
そしてこのような手段にまで出たTIMEを今一度
我が2ちゃんねらーの総意を込めたチョップを以て、叩き壊したい!
有志たちの参戦を、ひとりでも多くの戦士の挑戦を待つ!!!
「TIME」誌2002年の顔にアラファト議長を! 5
http://live.2ch.net/test/read.cgi/festival/1040349157/
0326デフォルトの名無しさん
NGNG#include<stdio.h>
#include<string.h>
#define MAXLINES 5000
char *lineptr[MAXLINES];
int readlines(char *lineptr[],int nlines);
void writelines(char *lineptr[],int nlines);
void qsort(void *lineptr[],int left,int right,int (*comp)(void *,void *));
int numcmp(char *,char *);
main(int argc,char *argv[]){
int nlines; /* 読み込まれた行の数 */
int numeric = 0; /* 数値ソートならが1 */
0327326
NGNGif(argc > 1 && strcmp(argv[1],"-n") == 0)
numeric = 1;
if((nlines = readlines(lineptr,MAXLINES)) >= 0){
qsort((void **) lineptr , 0 , nlines-1 , (int (*)(void *,void *))(numeric ? numcmp:strcmp) );<<ここでエラーらしい
writelines(lineptr,nlines);
return 0;
}else{
printf("input too big to sort\n");
return 1;
}
}
エラーメッセージは↓
20: 2 つのオペランドは同じ型に評価されなければならない(関数 main )
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNGエラーメッセージがわからなければ原因がわかりません。
0330328
NGNG0331デフォルトの名無しさん
NGNG0332デフォルトの名無しさん
NGNG0333デフォルトの名無しさん
NGNGそのものズバリだと思うが。
0334デフォルトの名無しさん
NGNG0335328
NGNG0336デフォルトの名無しさん
NGNGそれは恐らく違う、思うに問は
6x+3y+4z-61=0の条件の下でのx^2+y^2+z^2の最小値
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define CMAX 52
struct input {
int num[CMAX];
int n;
} ;
int comp(void);
int getcard(struct input *inp);
void print(struct input *inp);
int calc(struct input *inp);
#define randmize() srand(time(NULL))
char *card[]={"0", "A", "2", "3", "4", "5", "6",
"7", "8", "9","10", "J", "Q", "K"};
int ncard[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 10, 10, 10};
main()
{
int x, c, h;
char in[256];
struct input inp = {{0},0};
randmize();
printf("ブラックジャック\n");
c=comp();
x = getcard(&inp);
printf("'%s'を引きました。もう1枚引きますか?(y/n)\n", card[x]);
続くよ
0339デフォルトの名無しさん
NGNGif (strcmp(in, "y") == 0) {
x = getcard(&inp);
printf("'%s'を引きました。もう1枚引きますか?(y/n)\n", card[x]);
print(&inp);
}
else if (strcmp(in, "n") == 0)
break;
else
printf("yかnのどちらかを入力してください\n");
}
h = calc(&inp);
printf("コンピュータは%d点です。あなたは%d点です。\n", c, h);
if ((c<=21 && h>21)|| (c<=21 && c>h) )
printf("コンピュータの勝ち!\n");
else if ((h<=21 && c>21) || (h<=21 && h>c))
printf("あなたの勝ち!\n");
else
printf("引き分け\n");
return 0;
}
int comp(void)
{
return rand()%8+16;
}
まだ
0340デフォルトの名無しさん
NGNGこれを
int numcmp(const char *, const char *);
にすればいいんんかな?
0341デフォルトの名無しさん
NGNG{
int x;
x = rand() % 13 + 1;
inp->num[inp->n] = x;
(inp->n)++;
return x;
}
void print(struct input *inp)
{
int i;
printf("いままでに引いたカードは ");
for (i=0; i<inp->n; i++)
printf(" %s", card[inp->num[i]]);
printf(" です\n");
}
int calc(struct input *inp)
{
int i, n1=0, sum=0;
for (i=0; i<inp->n; i++) {
sum = sum + ncard[inp-<num[i]];
if (inp->num[i] == 1)
n1++;
}
while (n1-- > 0)
if (sum <= (21-10))
sum = sum + 10;
return sum;
} 終わり。なんで?
0342デフォルトの名無しさん
NGNG無駄は多いが
0343デフォルトの名無しさん
NGNG0344デフォルトの名無しさん
NGNGなんでって言われても。計算方法が違うんだろ。
0345デフォルトの名無しさん
NGNG[inp-<num[i]];
~~~~
これで集計が出たら神です
0346デフォルトの名無しさん
NGNGここを
sum=sum+ncard[inp->num[i]];
に書き直す
0347341
NGNGやってみよう
0348デフォルトの名無しさん
NGNGC++Builderでホームページを作るにはどうしたらいいですか!?
0349デフォルトの名無しさん
NGNGボーランドっていうやつです!
0350デフォルトの名無しさん
NGNG#include <stdio.h>
int main()
{
printf("Content-Type:text/html\n\n")
/* ここからprintfの嵐 */
return 0;
}
0351デフォルトの名無しさん
NGNGint main()
{
printf("<html>\n");
printf("<body>\n");
printf("</body>\n");
printf("</html>\n");
0352デフォルトの名無しさん
NGNG0353デフォルトの名無しさん
NGNG0354デフォルトの名無しさん
NGNG0355デフォルトの名無しさん
NGNG質問が?回答が?
0356デフォルトの名無しさん
NGNG質問
0357デフォルトの名無しさん
NGNG0358デフォルトの名無しさん
NGNG0359デフォルトの名無しさん
NGNG0360デフォルトの名無しさん
NGNG0361350
NGNG0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNGキーワードハイライトだけはやってくれるね。
ちなみにテンプレート
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Developer Studio">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=x-sjis">
<TITLE>ドキュメント タイトル</TITLE>
</HEAD>
<BODY>
<!-- ここに HTML を挿入してください -->
</BODY>
</HTML>
0364デフォルトの名無しさん
NGNGもしかしたら存在するかもしれない、と思ってググったら本当にあったよ!
http://members.jcom.home.ne.jp/warna-warni/AB-10.html
0365デフォルトの名無しさん
NGNGvectorってこんなものまで登録されるのね
ワロタ
0367名無し@沢村
NGNGC++Builder付属のテキストエディタでホームページのソースを書いて.html拡張子をつけて保存すればいいよ。
C++Builder付属のテキストエディタでなくてもテキストエディタなら何でもいいよ。メモ帳でもいいんだよ!ホントだよ!!
0368デフォルトの名無しさん
NGNGint a;
printf("%p",&a);
とするのと
int *a;
printf("%p",&a);
とするのでは違いはあるのでしょうか?できたら*や&の概念について
教えて欲しいです
厨房でスマソ
0369デフォルトの名無しさん
NGNGただ、
int a;
と
int *a;
は全く型が違う!とだけ言っておこう。
0370デフォルトの名無しさん
NGNGおそらく理解できないよ。余計混乱するだけ。
構造体を動的に確保したり、リストを作ったりしてれば自然と分かる。
0371368
NGNGプログラム本格的に勉強するんだったら学校通った方が
いいんでしょうかね〜?
0372デフォルトの名無しさん
NGNG1,3,6,7,9....
を配列aに保存したいとして、
1. 配列を0で初期化して1,3,6,7,9番目の要素を1にセットする
2. 0番目の要素に1、1番目の要素に3、3番目の要素に6…と入れる
1.だとある数字が保存されているかどうかa[i]が1かどうかを調べれば分かるが、
保存された数字をとりだしたいときは配列の先頭から調べなければならない
2.だと配列の先頭から保存された数字を簡単に取り出せるが、
ある数字が保存されているかどうかは配列の先頭から調べなければならない
で、1.と2.の両方の配列を用意しようと思うのですが、もっと一般的な常套手段はありますか?
0373デフォルトの名無しさん
NGNG独学で十分だと思うが・・・
ちなみに、
*の付いた変数は、変数のアドレスを格納する変数。
&の付いた変数は、&の付いている変数自身のアドレス。
0374デフォルトの名無しさん
NGNGそれはない。
0375デフォルトの名無しさん
NGNGint *a;
とポインタの参照先を表す
*a = ....
は混乱するな。
0376デフォルトの名無しさん
NGNG0377368
NGNGC言語勉強するんだったらどういう勉強方法が一番いいですか?
0378デフォルトの名無しさん
NGNG慣れてないとナ。
0379デフォルトの名無しさん
NGNGひたすら、くむ、くむ、くむ
はくまで、くむ、くむ、くむ
0380デフォルトの名無しさん
NGNG0381デフォルトの名無しさん
NGNG読んでないけど。
で、例題を応用してなんか作ってみる。
0382デフォルトの名無しさん
NGNG試行錯誤
ポインタが最初の壁だよね。
0383368
NGNGんで
int a;
int *b;
を使ってaのアドレスをbに格納するには
どうしたらいいですか?
0384デフォルトの名無しさん
NGNG俺は、柴田望洋著の「秘伝C言語問答 ポインタ編」を読んで、
ポインタを理解したが・・・
0385デフォルトの名無しさん
NGNG1. を少しいじくって、要素に1をセットするのではなく、次の数字を入れる
ってぇのはどう?
0386デフォルトの名無しさん
NGNGbは変数のアドレスを格納する変数だから、
int *b = &a
&が付いている変数(a)は、その変数(a)のアドレスを意味する。
0387デフォルトの名無しさん
NGNGポインタでは挫折しなかった。
今考えたら幸せな人生だったな。
0388デフォルトの名無しさん
NGNGそういえば、ポインタで挫折する奴が多いんだよな。
0389368
NGNGint a;
int *b;
b=&a;
ってなカンジですか?
0390デフォルトの名無しさん
NGNGその通り!!
0391デフォルトの名無しさん
NGNGは理解できるようになる。理解はその後でいいと思うけど。
0392368
NGNGこれってのはどういう事なんですか?
0393デフォルトの名無しさん
NGNG理解してからモノ作り始めた方が、挫折する確立が
低くなるのでは?(そうとも限らないかな??)
0394デフォルトの名無しさん
NGNG凡人の考えが理解できない天才の悩み。
0395デフォルトの名無しさん
NGNGってことでいいんですか?
0396デフォルトの名無しさん
NGNG変数名の前に&をつけるとその変数のアドレスになる。
また、ポインタの前に*をつけるとそのポインタが指し示す変数(とは限らんが)の値になる。
で、君はなにをやろうとしたのかな?
0397デフォルトの名無しさん
NGNG違うかも・・・
0398デフォルトの名無しさん
NGNGポインタ(pointer)は変数のアドレスを示す変数。
0400デフォルトの名無しさん
NGNGいま思うとなんでこんなややこしいことすんなり頭に入ったんだろ?って
すごい不思議だ。
0401デフォルトの名無しさん
NGNGint*型(intのポインタ型)の変数bを宣言したといえば分かる?
0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG初期化以外に*を変数に付けると、間接参照の意味になる。
例えば、
int a = 10 aに10を格納
int *b = &a bにaのアドレスを入れる
int c = *b bに格納されているアドレス(a)に間接的にアクセスし
aに格納されている値をcに代入
したがって、cに格納される値は、aに格納されている値、10。
0404368
NGNGint型で*bを宣言するんじゃなくて
int*型でbを宣言するって事か!!
0405デフォルトの名無しさん
NGNGその通り!!
0406368
NGNGなんとなくポインタの概念が分かったような気がします
0407デフォルトの名無しさん
NGNG0408デフォルトの名無しさん
NGNGchar *str;
って何か違いあるのですか?
あと、ポインタってやっぱり必要なの?
0409デフォルトの名無しさん
NGNGだろうと
char *str;
だろうと
char * str;
だろうと
char
*
str
;
だろうと同じこと。
あと、それなりのプログラム書こうと思ったらポインタは必須。
0410デフォルトの名無しさん
NGNGありがとうございます。
0411名無し@沢村
NGNG>int型で*bを宣言するんじゃなくて
>int*型でbを宣言するって事か!!
それはいえる。*bをbのように扱うとintから(int *)への変換ができませんというエラーが出るのがその証拠だよ。
0412名無し@沢村
NGNGただ、int(*b)とした場合はbはint型になるよ。
0413デフォルトの名無しさん
NGNGお前さんみたいなのがいるからうちは儲かるんだよ。
0414バカ
NGNGスタックと配列の違いってなんですかね〜?
0415デフォルトの名無しさん
NGNGそれはC++だろう
>int(*b)とした場合はbはint型になる
そんなわけがない
0416デフォルトの名無しさん
NGNG小麦と麺のような違い
0417デフォルトの名無しさん
NGNG何のことかよく分からんが
スタックはFirst In Last Outなデータ構造で
配列はランダムアクセスな奴じゃないか
それとも記憶クラスとかの話か
それだと比較対象が変な気がするが
0418デフォルトの名無しさん
NGNG普通、Last In First Outと言わないか?LIFO
0419デフォルトの名無しさん
NGNG俺もそのツッコミしようとしたが検索するとどっちも相当数引っかかるのでやめた。
0420バカ
NGNG0421デフォルトの名無しさん
NGNGそうか ? FIFO と対比するために、おれも FILO と言うよ。
0422417
NGNGちょっと見た手持ちの本もLIFOになってる。
俺は異世界に紛れ込んで来てしまったのか?
0423デフォルトの名無しさん
NGNG0424デフォルトの名無しさん
NGNG0425デフォルトの名無しさん
NGNGanswer = expr("1 + ( 2 + 3 * 4 )");
trace(answer == 15);
こんなかんじで・・とりあえず変数とか関数は結構です。
0426デフォルトの名無しさん
NGNGスタックは頭から入って頭から出ていくんだから、FIFO。
キューは尻から入って頭から出ていくんだから、LIFO。
だと勘違いしてた。
0427417
NGNGハードウェアの本はFIFOがメインだし、
と思ったら80x86/80x87ファミリーテクニカルハンドブックという本に
「このようなスタック操作はLIFOまたはFILOと呼ばれています。」という記述を発見
終了
0428デフォルトの名無しさん
NGNG「四則演算 インタプリタ」で google すれ
セオリー通りに作るなら、
字句解析、再帰下降型構文解析、インタプリタ実行
の三段階。
0429デフォルトの名無しさん
NGNG0430デフォルトの名無しさん
NGNG> 「四則演算 インタプリタ」で google すれ
>>429
> お手軽なのは、逆ポーランド記法。
おお そんなものがあるのですね
言葉すら知らなかった厨卒プログラマでした・・・
0431デフォルトの名無しさん
NGNGそこまで分かっていながら何を悩んでいるのだ。キミは間違ってないぞ。
終了してしまう前にこのへんでも眺めて整理すれ。
スタック == LIFO (FILO)
http://www.atmarkit.co.jp/icd/root/56/5783656.html
キュー == FIFO (LILO)
http://www.atmarkit.co.jp/icd/root/43/67542643.html
0432デフォルトの名無しさん
NGNG0433JPL ◆M2sbYPnTcE
NGNG0434デフォルトの名無しさん
NGNG{return((base+off-(max<min ? min^=max^=min^=max:min)<0 ?
(max-min+1)-(min-base-off)%(max-min+1):base+off-min)%
(max-min+1)+min);}
リングナンバーを無理矢理1行にしてみたっす(既出っぽくてすいません)
base:開始点off:移動距離ね
minmaxは大きさ比較してスワップ、offにmax-min+1以上入れても
だいじょぶっす・・・たぶん
バグありますかね?
0435434
NGNGを注目するとbase+offの所ら辺がもっと突っ込めるかな?
0436434
NGNG0437デフォルトの名無しさん
NGNG0438434
NGNGああここで区切りだった
なんかもっと縮められないかな?
0439434
NGNG正式名称知らないっすけどmin=2,max=5だったら
base+off=
0,1,2,3,4,5,6,7,8,9,10,11,12,13,...だと
4,5,2,3,4,5,2,3,4,5, 2, 3, 4, 5,...ってかんじ
循環数ってゆうのかな?プログラム的にはよく使うでしょ
0440デフォルトの名無しさん
NGNGbase+offの2つに分ける意味は?
int RingNum(int base_off,int min,int max); /* これでも同じでは? */
0442434
NGNG同じだけどbaseは現在位置offは移動距離とゆうのを
はっきりさせたいんすよ、まあ呼び出し元で
n=RingNum(base+off,min,max);とやってもいいんですが、
0443434
NGNGじゃあこうです
int RingNum(int num,int min,int max)
{return((num-(max<min ? min^=max^=min^=max:min)<0 ?
(max-min+1)-(min-num)%(max-min+1):num-min)%
(max-min+1)+min);}
ああこの方が見通しいいですね
(num-MIN<0 ? VAL-(MIN-num)%VAL:num-MIN)%VAL+MIN;
//MAX,MIN:比較スワップ済み
//VAL=(MAX-MIN+1)
複数行で書いたのとほぼ同じになりますた
0444434
NGNG気持ち悪くて使わないのですが・・・
使っても問題無さそうでも気持ち悪いんすよ
0445デフォルトの名無しさん
NGNGごちゃごちゃ抜かさんとコード書いて検証すれば良かろう。
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNG#define N 0
int RingNum(int num,int min,int max){
return((num-(max<min ? min^=max^=min^=max:min)<0 ?
(max-min+1)-(min-num)%(max-min+1):num-min)%
(max-min+1)+min);
}
main(){
for(int i=-5; i<5; i++)
printf("%d",RingNum(N+i,2,5));
return 0;
}
で
3452345234
でした。
0448デフォルトの名無しさん
NGNG0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNG私へのレスですよね??
サンクスです。
0451デフォルトの名無しさん
NGNGとりあえず。やってみます。
0452デフォルトの名無しさん
NGNG出来るに互換性のあると限るまいて
>>444
ISO9899に(a/b)*b+a%b==aとある
0453デフォルトの名無しさん
NGNGそうです。
それで、やるとどうなりますか??
オネガイシマス
0454デフォルトの名無しさん
NGNGどのソフトを使えばいいんでしょうか?
0455デフォルトの名無しさん
NGNG他のスレで答え出てるぞ
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNGCのコンパイラ
0458デフォルトの名無しさん
NGNG実は無い。Windowsでは全ての言語はBASICにトランスレートしてからコンパイルされる。
0459名無し@沢村
NGNG>マウスがいかれてキーボードだけで打つのってかなりしんどいんですが...
マウスくらい買え!!
0460デフォルトの名無しさん
NGNG偉い人にはエディタにマウスなんて入らないことがわからんのですよ
正直俺はキーボードだけでほとんどの作業をやります
0461デフォルトの名無しさん
NGNG過去の遺産をコピペして自作リファクターかけてお終い
ってパターンで仕事が済むようになってきたからかな。
0462デフォルトの名無しさん
NGNGマウスまで手をのばすのが面倒になってきた・・・
お い ら だ け で す か ?
0463デフォルトの名無しさん
NGNG> 基本的に本は読まないポリシーだが、
> ちなみにそれはどこの出版社から出ているのですか?著者は誰ですか?いくらですか?
プログラマに向いてない今すぐやめろ。
0464デフォルトの名無しさん
NGNGいや、「人間に向いてない今すぐやめろ」にすべきだ。
0465デフォルトの名無しさん
NGNG漏れは前からそうです。
マウス使うぐらいなら、ノートのタッチパッド使います。
普段は、IBMのスペースセーバーキーボード。
0467デフォルトの名無しさん
NGNG(たとえそれがGUIでも)駄目なんじゃないかと思い始めました
0468デフォルトの名無しさん
NGNGすでに駄目なソフトなわけだ。
0469デフォルトの名無しさん
NGNG具体的に、どの操作がキーボードでできないんだ ?
0470デフォルトの名無しさん
NGNGWin + e でエクスプローラを起動して
Tab , Shift + Tabで移動して
Shift + F10で右クリックできますが、何か?
0471デフォルトの名無しさん
NGNG俺はShift+F10じゃなくて変なボタン(jp106:Windowsボタンの横にある奴)使ってるよ。
ってかShift+F10なんて知らなかった。ありが�d
0472デフォルトの名無しさん
NGNG一方、Xなどはwmによってはマウス無しでは何もできない・・・
>変なボタン(jp106:Windowsボタンの横にある奴)
アプリケーションキー
0474デフォルトの名無しさん
NGNGありが�d!このキーを説明する機会があったら恥をかかずに済みそうです。
0475デフォルトの名無しさん
NGNGマウスでCtrl押しながらクリックして
複数のファイルをちょんちょんと
飛び飛びに選択 ってのが
キーボードだとできない。
あとファイルの(見た目の)移動も。
0476デフォルトの名無しさん
NGNGできる。
0477デフォルトの名無しさん
NGNG移動する時にCtrl押しながら移動してごらん。
0478デフォルトの名無しさん
NGNGできないよ
0479デフォルトの名無しさん
NGNGんー。
1.Ctrl押しながら移動
2.Ctrl離してスペース
3.Ctrl押しながら移動
だよ。
0480デフォルトの名無しさん
NGNGと言う訳で、これ以上は他の板でやって下さい
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGC++に移行せずにCに拘ってまで使う意味ってありますかね?
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG数学的に負の値が入った除算は
-5/2 = -3 余り1
が正しいらしいが(これを実装してる処理系がある)C99で
-5/2 = -2 余り-1
に統一されたようです
ちなみに
min^=max^=min^=max;
の結果は未定義なんじゃ…
0486デフォルトの名無しさん
NGNGそれは結合規則が厳密に決まってるから
結果は常に一意だと何度も何度も何度も
何度も何度も何度も何度も何度も何度も
0487デフォルトの名無しさん
NGNGではFAQの3.8は嘘だと
>直前の副作用完了点と次の副作用完了点までの間に、
>式の評価によってオブジェクトに格納された値を
>変更する回数は高々一度だけでなければならない。
>更に、変更前の値は、格納される値を決定するため
>だけにアクセスしなければならない。
0488デフォルトの名無しさん
NGNGCでポリモというと
関数ポインタ,stdioあたりか
Win32のハンドルもかなり多相的
C++よりCがいいのは
ずばりプログラムが小さいときだ
言う人によって違うと思うが
漏れ的には1000行以下のとき
0489デフォルトの名無しさん
NGNGありが�d
本格的に調べてみるっす
0490デフォルトの名無しさん
NGNG嘘
0491デフォルトの名無しさん
NGNG嘘って、これって規格の文章じゃないの?
Between the previous and next sequence point an object shall have
its stored value modified at most once by the evaluation of an expression.
Furthermore, the prior value shall be accessed only to determine the value to be stored.
0492菊地桃子
NGNGつかえない
0493デフォルトの名無しさん
NGNG意味のない書き込みをしているお前が一番使えない
0494デフォルトの名無しさん
NGNG0495デフォルトの名無しさん
NGNGバブルソートのコードについて質問です.
『独習C』には下記のようにかかれていました.
・・・・・・・・・・・・・・・・・・・
printf("数をいくつ入力しますか?");
scanf("%d", &count);
for(a=0; a<count; a++) scanf("%d", &item[a]);
for(a=1; a<count; ++a)
for(b=count-1; b>=a; --b) {
if(item[b-1] > item[b]) {
t = item[b-1];
item[b-1] = item[b];
item[b] = t;
}}
for(t=0; t<count; t++) printf("%d ", item[t]);
・・・・・・・・・・・・・・・・・・
しかし,私が考えたソートと表示の部分は,
for(a=0;a<count;a++){
for(b=0;b<count-1;b++){
if(item[b]>item[b+1]){
t=item[b+1];
item[b+1]=item[b];
item[b]=t;
}}}
for(a=0;a<count;a++)printf("%d",item[a]);
っとなりました.
独習の方は,forループの初期化の部分がややこしく感じるのですが,
一般的には私のほうがわかりにくいんでしょうか.
独習みたいにするメリットとかがあれば教えてください.
0496デフォルトの名無しさん
NGNG分かりにくいというより間違ってる。
0497デフォルトの名無しさん
NGNGちなみに,テキストファイルでうぷしますた.↑よりは見やすいです.
http://cgi.2chan.net/up/src/f8508.txt
http://cgi.2chan.net/up/src/f8509.txt
0498デフォルトの名無しさん
NGNGあなたの書いたコードは無駄な処理をしているので、お手本のものより2倍近く遅いです。
どこが無駄かはアルゴリズムをちゃんと理解してれば分かるので
自分で考えてね。
0499デフォルトの名無しさん
NGNGそう言われるとそうですね.
お手本のほうが直線的な感じがします.
まだ,プログラミングをはじめたところなのでパフォーマンスの面までは
なかなか気を配ることが出来ませんでした.
いいコードを吸収してスマートなコーディングができるようになりたいものです.
ども.
0500デフォルトの名無しさん
NGNG0501デフォルトの名無しさん
NGNGは
static int a;
といっしょ?
0502デフォルトの名無しさん
NGNGああ、いっしょさ。
0503デフォルトの名無しさん
NGNGさんくちゅ
0504デフォルトの名無しさん
NGNG玉の色は赤、青、白のうちのどれかであって、ランドムにアレンジされている。
そのネックレスをある点で切って横に並べ、その点から右、左と2方向に渡って
違う色に出会うまで同じ色の玉を集めるものとする。
このときもっとも多くで何個の玉を集めることができるかを判断する
プログラムをお願いします。
例:brbrrrbbbrrrrrbrrbbrbbbbrrrrb(ただし、r:赤, b:青, w:白)と
構成されているネックレスならば、9番目の玉と10番目の玉の間、
24番目の玉と25番目の玉の間から切るとすれば、最大の8個の玉を
集められますね。
->brbrrr{bbb|rrrrr}brrbbr{bbbb|rrrr}b
ただし、白の玉に出会った場合、それは赤にも青にも
変われるものとします。
0505デフォルトの名無しさん
NGNGランドム...。
0506デフォルトの名無しさん
NGNG俺を踏み台にしますか?
0507デフォルトの名無しさん
NGNG青 オルテガ
白 ガイア
0508504
NGNG3<=N<=350
Nはネックレスの玉の数。
0509デフォルトの名無しさん
NGNGエラー:1体足りません
0511504
NGNG1:玉の数。例:29
2:ネックレスを切って横に並べたもの。例:brbrrrbbbrrrrrbrrbbrbbbbrrrrb
出力ファイル:
1:最大でいくつ集められるか。例:8
0512504
NGNGそのネックレスをある点で切って横に並べ、その点から右、左と2方向に渡って
違う色に出会うまで同じ色の玉を集めるものとする。
↓↓↓↓
そのネックレスをある点で切って横に並べ、任意の点から右、左と2方向に渡って
違う色に出会うまで同じ色の玉を集めるものとする。
0513デフォルトの名無しさん
NGNG仕様が把握できない
白は特別なの?
何カ所で区切るの?
0514デフォルトの名無しさん
NGNG切る点と集め始める点は無関係なのか?
なんのために切るんだ?
0515デフォルトの名無しさん
NGNG0516504
NGNG入力ファイルから情報を読み取って、出力ファイルに答えを書くプログラムですが、
例えば入力ファイルが次の場合、
29
wwwbb}rwrbrbrrbrbrwrwwrb{wrwrr|b
|から左に赤玉が5個(wrwrr)、右に青玉が6(bwwwbb)個ありますね。
wはrにもbにも変われるものだから、左の場合rとして数えられて右の場合bとして
数えられていますよね。このとき集められる玉の最大値は5 + 6 = 11個。
よって、出力ファイルには、
11
となればいい。
>何カ所で区切るの?
1ヶ所から区切る。ただ、>>504の例では2ヶ所のどちらから区切っても、
答えは8で同じだっただけです。
0517504
NGNG切る点はどこでもいいです。問題文が悪くてすみませんでした。
最大で何個集められるかの問題ですので、
wwwbb}rwrbrbrrbrbrwrwwrb{wrwrr|b
でも、
rwrbrbrrbrbrwrwwrb{wrwrr|bwwwbb}
のどちらの場合でも答えは11。
0518デフォルトの名無しさん
NGNG要するにリング状になったまま左右に数えるんだな。
それなら最初の文のほうがまだ分かりやすい。
「任意の点で切って、両端から連続する色を数える。ただし白を含んでも構わ
ない。」ってとこか?
bwwwbb}rwrbrbrrbrbrwrwwrb{wrwrr
0519504
NGNG>要するにリング状になったまま左右に数えるんだな。
その言い方の方が分かりやすいですね。
ただ、stringとして与えられているのでどっかで切られているだと。
>両端から連続する色を数える。
どんな形でネックレスのstringが与えられているか分からないので、
両端から数えると必ずしも答えにはならない。
0520デフォルトの名無しさん
NGNG> どんな形でネックレスのstringが与えられているか分からないので、
> 両端から数えると必ずしも答えにはならない。
だからそれを切り直すんだろ。
0521デフォルトの名無しさん
NGNGいやまて、8の字型のネックレスとかいうんじゃあるまいな?
0523デフォルトの名無しさん
NGNGじゃあはじめから厳密に定義しろよボケ。
0524デフォルトの名無しさん
NGNG0525デフォルトの名無しさん
NGNG0526デフォルトの名無しさん
NGNGボケボケボケボケ
ボケボケボケ
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNGほらよ、とりあえず版だ。
#include <windows.h>
#include <stdio.h>
#include <conio.h>
typedef struct {
char Beads[351];
int NumberOfBeads;
} Necklace;
static int NextPoint(const int NumberOfBeads, int Point, const int Step)
{
Point += Step;
if(Point < 0){
return Point + NumberOfBeads;
}
if(NumberOfBeads <= Point){
return Point - NumberOfBeads;
}
return Point;
}
0529デフォルトの名無しさん
NGNG続き...
static int GetContinuousBeads(const Necklace *Necklace, int Point, const int Step)
{
int n;
char OriginalColor;
int OriginalPoint;
OriginalPoint = NextPoint(Necklace->NumberOfBeads, Point, 0);
OriginalColor = Necklace->Beads[OriginalPoint];
for(Point = NextPoint(Necklace->NumberOfBeads, OriginalPoint, Step), n = 1;
Point != OriginalPoint; Point = NextPoint(Necklace->NumberOfBeads, Point, Step), n++){
char CurrentColor;
CurrentColor = Necklace->Beads[Point];
if(CurrentColor != 'w' && CurrentColor != OriginalColor){
break;
}
}
return n;
}
0530デフォルトの名無しさん
NGNG続き...
int main(void)
{
Necklace Necklace;
int i;
int Maximum;
int SplitPoint;
if(fgets(Necklace.Beads, sizeof Necklace.Beads - 1, stdin) == NULL){
fprintf(stderr, "入力できんかった、鬱だ...。\n");
exit(1);
}
for(i = 0; Necklace.Beads[i] != '\n' && Necklace.Beads[i] != '\0'; i++){
switch(Necklace.Beads[i]){
case 'r':
case 'b':
case 'w':
break;
default:
fprintf(stderr, "変な色 %c があるやん、ちゃんとせーや。\n", Necklace.Beads[i]);
exit(1);
}
}
Necklace.NumberOfBeads = i;
if(Necklace.NumberOfBeads < 2){
fprintf(stderr, "ビーズが少なすぎるぞ、なめとんかぁごらぁ。\n");
exit(1);
}
0531デフォルトの名無しさん
NGNG続き、これで終わり。
Maximum = 0;
for(i = 0; i < Necklace.NumberOfBeads; i++){
int n;
n = GetContinuousBeads(&Necklace, i, -1) + GetContinuousBeads(&Necklace, i + 1, 1);
if(Maximum < n){
Maximum = n;
SplitPoint = i;
}
}
for(i = 0; i < Necklace.NumberOfBeads; i++){
printf("%c", Necklace.Beads[i]);
if(i == SplitPoint){
printf(" | ");
}
}
printf(": %d個だ。\n", Maximum);
_getch();
return 0;
}
結果:
wwwbbrwrbrbrrbrbrwrwwrbwrwrrb
wwwbbrwrbrbrrbrbrwrwwrbwrwrr | b: 11個だ。
0533デフォルトの名無しさん
NGNG長い + 処理系依存 = カコワルイ
の典型みたいなコードだな。こりゃ。
0534デフォルトの名無しさん
NGNG評論するのは楽だよな。と。
0535デフォルトの名無しさん
NGNGつーか、長いって言うのは半分意識的に書いてるからいいんだけど、処理系依存ってどこよ ? >>533
もしかして消し忘れの #include <windows.h> と、デバッグ用の _getch() のこと言ってんのか ?
0537デフォルトの名無しさん
NGNG上手いいいわけだな。
0538デフォルトの名無しさん
NGNGだってーギャハハ!!!!プーー!!!
ここ何のスレ?
C言語のスレ!
Windows のスレじゃないない!!
0539デフォルトの名無しさん
NGNGワラタ。
0540デフォルトの名無しさん
NGNGこれっていいわけ?
あんたの前じゃ、ちょっとした間違いも正すことができないな。
0541デフォルトの名無しさん
NGNG悪いけど、マジ消し忘れだよ。
ソースのどっからも参照してないでしょ ?
それとも、ソースすら読めない厨房なのか。
0542デフォルトの名無しさん
NGNG一つの動作ができるからといって、正しいプログラムとは限らんよ。
wwbrww とか与えると多分あんたの予想と違う結果となるよ。
作成時点からわかってたけど、そこは >>504 の宿題だ。(つーか、結構面倒と思う。)
0543デフォルトの名無しさん
NGNGロジックと関係ないミスをいちいち指摘してるやつってなんなの?
0544デフォルトの名無しさん
NGNGただのガキだ。無視しとけ。
0545デフォルトの名無しさん
NGNG_l≡_、_ |_
(≡,_ノ` )y─┛~~ ガキか・・・負け犬に相応しいセリフだな…フッ
<__ヽyゝ|
/_l:__|゚
´ lL lL
0546デフォルトの名無しさん
NGNGあと,kbhit関数も
0547デフォルトの名無しさん
NGNG>>1
0548デフォルトの名無しさん
NGNGDOSでゲームとか作りたい場合は必須だぞ。
0549デフォルトの名無しさん
NGNG0550デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int data1, data2;
char data;
scanf("%d", &data1);
scanf("%d", &data2);
scanf("%c", &data);
return 0;
}
これを行うと、scanf("%C"、&data);が実行されません。
・・・・・なんで?
0551デフォルトの名無しさん
NGNGC言語以外にgetchとかkbhitが存在するのならいざ知らず。
0552デフォルトの名無しさん
NGNGおまいは>>1も読めんのか。くたばれ
0553デフォルトの名無しさん
NGNG>>1にそってない質問の結果が未定義となっているので、
どんな解答もありでは?
例えそれが間違っていても質問した香具師が悪いんだし
0554デフォルトの名無しさん
NGNGありがとう
0555デフォルトの名無しさん
NGNGあなたの頭が悪い理由は?
0556↑典型例( ´∀` )
NGNG0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNG{
int c;
int flg=0;
while((c=getchar())!='n'){
if(c==' '){
if(flg<2) flg++;
}
else{
if(flg==2){
putchar(' ');
flg=0;
}
else{
flg=0;
putchar(c);
}
}
}
}
ふたつ以上の空白を1つにしようとしているんですが,変な動作をします
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNGint flag = 0;
while((c=getchar())!='n')
{
if(c == ' ')
flag++;
if(flag >= 2)
{
putchar(c);
flag = 0;
}
}
0561デフォルトの名無しさん
NGNG?
char c="あ";
char *p;
p=&c;
0562デフォルトの名無しさん
NGNG>char c="あ";
普通に怒られるだろ。
0563デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNGプ
0565デフォルトの名無しさん
NGNGプ
0566デフォルトの名無しさん
NGNGプ
0567デフォルトの名無しさん
NGNGプ
0568デフォルトの名無しさん
NGNGプ
0569デフォルトの名無しさん
NGNGプ
0570JPS ◆M0LaMzf5rY
NGNG#include <stdio.h>
int main(void)
{
int ch, space = 0;
while ((ch = getchar()) != EOF)
{
if (! space || ch != ' ')
putchar(ch);
space = (ch == ' ');
}
return 0;
}
0571デフォルトの名無しさん
NGNGプ
0572デフォルトの名無しさん
NGNGプ
0573デフォルトの名無しさん
NGNGプ
0574デフォルトの名無しさん
NGNGプ
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGchar *p = (char *) 'プ';
0577デフォルトの名無しさん
NGNGがっかり・・・
0578デフォルトの名無しさん
NGNG#include <stdio.h>
int main(void)
{
int data1, data2;
char data;
scanf("%d", &data1);
scanf("%d", &data2);
scanf("%c", &data);
return 0;
}
これを行うと、scanf("%C"、&data);が実行されません。
これぐらい教えてくれよ!あんたら先輩なんだろ!
0579デフォルトの名無しさん
NGNG0580デフォルトの名無しさん
NGNGなんかどこにもねーだろが。
0581578
NGNGscanf("%c", &data);が実行されないんです。
自分はとりあえず共用体や構造体等独習Cって本は全部さらさらっと終了させました
が、知り合いにこれを質問されてさっぱりです。
scanf("%d", &data1);
scanf("%d", &data2);
scanf("%c", &data);
の部分を
scanf("%d", &data1);
scanf("%d", &data2);
data = getchar();
scanf("%c", &data);
に変更するとできるんですよ。はてはて?
なんでdata = getchar();したかってのは勘てか、なんとかなく書いたらできました
0582デフォルトの名無しさん
NGNG宿題で無いなら、scanf() は使うな。
char buff[512]; fgets(buff, sizeof buff, stdin); sscanf(buff, "...", ...); にしとけ。
0583デフォルトの名無しさん
NGNGscanf"%c", &data)をscanf"%*c%c", &data);に変更
0584デフォルトの名無しさん
NGNG0585583
NGNGあれ?ゴメン・・・
0586名も無き英雄for北朝鮮
NGNGやさしく説明してるページあったら教えて
0587デフォルトの名無しさん
NGNG未規定動作。
>>581
何を期待してたのか知らんが、%cで改行を読んでるに300カノッサ。
scanf(" %c", &data);にしてみろ。
0588デフォルトの名無しさん
NGNG実規定坊はしね
0589名無しさん@3周年
NGNGfgets(buf, 1024, stdin);
sscanf(buf, "%d", &data);
0590デフォルトの名無しさん
NGNGstruct Person {
char name[NAMELEN];
int total;
};
Person*
lookup(char *name)
{
int i;
/* look for name in people table */
for(i=0; i<npeople; i++)
if(strcmp(name, people[i].name) == 0)
return &people[i];
assert(0);/* should have found name */
}
上記のソースについてですが、Person*とはlookup函数はポインタを返すということ?
Personはstruct Personっていう型を意味するのは分かるんですが、
struct Person型のポインタって何??って感じです。
あとassert(0);にたどり着く場合ってなんでしょうか?
0591デフォルトの名無しさん
NGNG>struct Person型のポインタって何??って感じです。
は勉強不足なので勉強し直してください。
リストのここに該当する情報があるよと呼び出し元にポインタで教えてるわけですな。
assertが出るのはなぜかリストに発見したい名前が無かったときに発生するのかと。
コメントにもそう書いてあるし。
0592デフォルトの名無しさん
NGNGNULLになります。これを直す方法をご存知の方はいますでしょうか?
n_array = (max-1) / 2;
array = (char *)malloc( n_array );
↑がソースの一部です。
0593デフォルトの名無しさん
NGNG>100000000サイズ
どうでもいいが妙な単位つくんな。
0594デフォルトの名無しさん
NGNG>↑がソースの一部です。
ふぅん。で?
0595デフォルトの名無しさん
NGNGメモリを増やす
スワップを増やす
ulimit -vを増やす
0596デフォルトの名無しさん
NGNGmalloc以外でどんな方法があるのでしょうか?
0597名無し@沢村
NGNGnew
例:
char *Data;
Data=new char;
delete Data;
0598デフォルトの名無しさん
NGNG>Data=new char;
のcharって何?メモリのサイズであるnはどこに書けばいい?
0599名無し@沢村
NGNGヌヒよ、サイズであるnは、
char *Data;
Data=new char[n];
delete Data[];
とそこに書けばいいぞ。
0600デフォルトの名無しさん
NGNG間違った答え晒してなにをえらそーに。
ついでにC言語、な。
0601デフォルトの名無しさん
NGNGありがとうございました。
0602デフォルトの名無しさん
NGNGYour program exited with signal #6 (abort())
ってでるんだけど・・・・・・
0603名無し@沢村
NGNGヌヒよ、callocというのもあるぞ。
callocはmalloc+zeromemoryをいっぺんにやってくれる関数だ。
char *Data;
Data=(char *)calloc(n,1);
free (Data);
ヌヒよ、俺はC言語の第一人者かもしれないぞ。
0604デフォルトの名無しさん
NGNG表示?
0605デフォルトの名無しさん
NGNG誰かこいつから座蒲団全部とっちゃってくれ。
0606596
NGNGその2つの数の間にある回文(逆さに読んでも同じ)の
素数を出力させるんだけど、与えられる2つの数の一方が100000000と
なると、
Your program exited with signal #11 (segmentation violation
[maybe caused by accessing memory out of bounds, array indexing
out of bounds, using a bad pointer (failed open(), failed malloc),
or going over the maximum specified memory limit])
あきらかにmallocが原因だと思うんですけど、
mallocを棄てるとプログラム全体を組みなおさなくちゃならない。
newに変えても同じようなことになる。
どうかアドバイスお願いします。
0607デフォルトの名無しさん
NGNGマルチ
0608デフォルトの名無しさん
NGNGだからお前のシステムだとメモリに100MBも空きがなかったんだよ。
char単位じゃなくてbit単位のフラグにすれば1/8で済む。
いずれにしても、とんでもなく時間がかかるのは明らかなんで、
まずはもっと小さい値で試してみるべし。
いっとくけど、所用時間はmaxの2乗に比例するからな。
0609デフォルトの名無しさん
NGNGスワップ含めて100MB確保できない環境ってのも今時珍しいな。
0610デフォルトの名無しさん
NGNGだからulimitも書いてる
0611名無し@沢村
NGNGchar *temp;
char Data[n];
temp=(char *)malloc(n/2);
strcpy(Data,temp)
free (temp);
temp=(char *)malloc(n/2);
strcat(Data,temp)
free (temp);
と2回にわけてDataにtempをコピーする。
0612606
NGNGみちゃいや〜ん★
0613デフォルトの名無しさん
NGNGそれって宿題スレでわしが書いてやったプログラムでは。。。
0614デフォルトの名無しさん
NGNGひどいよな。書いてやった苦労とかその他諸々無視だよ。
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGところでヌヒってなんだ。
0617デフォルトの名無しさん
NGNG0618デフォルトの名無しさん
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG下男と下女。律令化の賤民。
0622名無しさん@3周年
NGNG0623デフォルトの名無しさん
NGNGstrcpy(SampleString, name);
}
ソースの一部ですが、*nameは文字列(name[])として関数SampleFunctionで
宣言されているということはnameは式の中ではポインタのはず。
では、なぜ関数strcpyでは第2引数にこのname(&name[0])が渡されているのでしょうか?
関数strcpyは文字列しか引数に取らないはず。
0624デフォルトの名無しさん
NGNGstrcpyのプロトタイプ宣言はこんなふうです。(manより)
char *strcpy(char *dest, const char *src);
0625デフォルトの名無しさん
NGNG何が疑問なのかサパーリ。
0626デフォルトの名無しさん
NGNGCを理解できていませんね
0627デフォルトの名無しさん
NGNG間違い。
0628623
NGNG>char *strcpy(char *dest, const char *src);
destとsrcはポインタなのか文字列なのかよく分からない。
ポインタだったらsrcを確保しているメモリの先端のアドレスを
destを確保しているメモリの先端のアドレスにコピーするってこと?
ポインタって難しい……
0629デフォルトの名無しさん
NGNGC に文字列はありません。文字配列があるだけです。
0630デフォルトの名無しさん
NGNG0631623
NGNGすでに文字列が代入されている配列を第2引数に書いてるってだけか、
ということを検索でわかりました。
0632629
NGNG0633623
NGNGchar string[9999999999999];で宣言して、
scanf("%s", string);で文字列を読み込んで、
function(string);で関数function()を呼ぶと、このときの
引数stringは&string[0]じゃなくて、単に文字列(なんだかよく分からないが)を表すのですか?
0634デフォルトの名無しさん
NGNG( ・∀・) | |
と ) | | ガッ
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/
(_フ彡 /
0635デフォルトの名無しさん
NGNGscanf("%s%s", str1, str2);
のとき、str1とは文字列の先頭アドレスなのに、
printf("%s %s\n", str1, str2);
では、そのアドレスを出力している。
簡単にstr1[∞]という文字配列があったとして、
str1だけで文字列を表すのだと覚えてよいのだろうか?
0636知ったかぶりっこ
NGNG0637デフォルトの名無しさん
NGNG・ ポインタの指す先の領域は児童確保され、スコープを出ると自動破棄される
・ 単項 & 演算子のオペランドにした場合、データ型は配列へのポインタになる。
・ sizeof 演算子のオペランドにした場合、配列全体のサイズを返す
・ 配列変数は代入できない左辺値
0638デフォルトの名無しさん
NGNG0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG0642デフォルトの名無しさん
NGNG寒いです。
0643デフォルトの名無しさん
NGNG「ゼロ終端文字列」 ならそうだろうね。
0644デフォルトの名無しさん
NGNG簡単なコンパイラを作成しているのですが、
8進数とか16進数とかを表現する時に
それぞれ頭に0か0xをつけて表記しますよね?
この表記では0は表現できないのですか?
0645デフォルトの名無しさん
NGNG0x0
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNGプ
0648デフォルトの名無しさん
NGNGfree(a)
とかしたときにaの指すアドレスからどこまでを開放するかってのは
どうやって分かるの?
0649デフォルトの名無しさん
NGNG0650デフォルトの名無しさん
NGNGなんかその手前のアドレスでそう言う情報管理してたりするらしいぞ。
0651デフォルトの名無しさん
NGNGmallocの実装によるが…教科書通りなら、aの手前にサイズを持ってる。
0652644
NGNGすいません。よくわかりません。
どういうことでしょうか?
00 や 0x0 でいいのでしょうか。
0653デフォルトの名無しさん
NGNGマジッスカ?
カシコクナッタヨ
ありがとうゴザイマス。
0654デフォルトの名無しさん
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG0657デフォルトの名無しさん
NGNG0658デフォルトの名無しさん
NGNG0659名無し@沢村
NGNG「香具師」って何て読むの?
0660644
NGNGはい。まともにわからないのです。
お手数ですが教えてください。
0661デフォルトの名無しさん
NGNG0は8進数でも、16進数でも、10進数でも
同じ値を表すので問題ありません。
0662デフォルトの名無しさん
NGNG0663名無し@沢村
NGNG「香具師」って何て読むよ?
0664デフォルトの名無しさん
NGNG沢 村 に は 何 も 教 え る な ! !
0665名無し@沢村
NGNG「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
「香具師」って何て読むよ? 「香具師」って何て読むよ? 「香具師」って何て読むよ?
0666デフォルトの名無しさん
NGNG.. //.|
//./.|. / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
//./ | | | すんません。すぐ処分しますんで・・・・・。
//./|/:.| .| \_ __________________
□/ / //| |. |/
| |/.;;;;//. | ||.
| | ;;;;;;// | ||| l⌒)=|ニ二フ
| |.;;;// | |.|| ∧.|.∧
. ∧ ∧ | |.//. | | ||. ( ・∀・)
( ・A・).| |/. | |. || | ) ワイワイ ガヤガヤ
__( ).| |___. | | || __.| | |____
| | | | |. //.| ̄ (__(__). /.| ∧_∧ ∧_∧ ∧ ∧
(__)__)| |. // |. //| (´-`;)(@・ )(;´∀)(
| |.//∧井∧イヤァァァ--- // .| ∧∧ ∧ ∧. ∧_∧ ∧∧
(..| |/ (;´Д`)←沢村 //. | (∀・ )(ー゜* )( )(´∀`
(⌒ .| | / ̄ ⊂.⊃. .// / ∧_∧ ∧ ∧ ∧ ∧. ∧_∧
..∧ ∧  ̄| | / └─┘// / <_` )(´・ω )(д ゜` )( )(
( ・A・) | |/ // / ∧_∧ ∧ ∧ ∧_∧ ∧_∧ ∧
( ). ~~ // / ( )( ゜∀゜)(` )( )(゜д
. | | | // / ∧_∧. ∧_∧ ∧_∧ ∧_∧ ∧_∧
(__)__). // / (д- )( )(*゜ー゜)(T дT )(∀` )
0667名無し@沢村
NGNG「香具師」って何て読むか教えて!!
0668デフォルトの名無しさん
NGNG0669デフォルトの名無しさん
NGNGスレ違い野郎の相手するなよ。
0670デフォルトの名無しさん
NGNG0671デフォルトの名無しさん
NGNG0672デフォルトの名無しさん
NGNG0673名無し@沢村
NGNGヌヒよ、「ヤシ」でいいのか、ヌヒよ?
実は俺は大字林第二版で検索して「コウグシ」「ヤシ」のうちのどちらかに違いないと思ってたんだよ。
「コウグシ」は香具を作る人、「ヤシ」はテキ屋のことなので、香具を作る人の「コウグシ」のほうが何かプログラマーに近いような気がして「コウグシ」と読む可能性大だと思っていたんだがなあ…。
俺の読みははずれて、「ヤシ」が正しかったみたいだな…。
何故プログラマーをテキ屋というのか理由は知らんがな…。
やはり質問してみるもんだな…。
0674デフォルトの名無しさん
NGNGプ
0675名無し@沢村
NGNG嘘をつけ!!
大字林第二版には「コウグシ」「ヤシ」以外の意味は出てなかったぞ!!
>>671
ん?俺は最初そう思ったんだが、>>667が「ヤシ」って…
0676デフォルトの名無しさん
NGNGおい、そろそろプレゼント配りに出かけろや
0677デフォルトの名無しさん
NGNG0678香具師
NGNG「2ch総合案内」をクリック
応用&システム
掲示板やスレッドがおかしい。。。
削除依頼や要望をだしたい。。。
掲示板を追加or分割or閉鎖して欲しい。。。
特殊な用語などを知りたい。。。<<======ここから探したら?
もっと便利に使いたい。。。
0679デフォルトの名無しさん
NGNG0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNG馬鹿かお前。
0682デフォルトの名無しさん
NGNG0683デフォルトの名無しさん
NGNG0684デフォルトの名無しさん
NGNG書き込む前にセキュリティガードを(以下略
0685デフォルトの名無しさん
NGNG0686デフォルトの名無しさん
NGNG地下鉄永田町ガード下にありまッさ。
0687デフォルトの名無しさん
NGNG0688デフォルトの名無しさん
NGNG響きに酔って
もらいゲロ
0689デフォルトの名無しさん
NGNG0690デフォルトの名無しさん
NGNG0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG0693デフォルトの名無しさん
NGNG0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNG0697デフォルトの名無しさん
NGNG0698デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG0700デフォルトの名無しさん
NGNGあのwatcomのコンパイラインストールして使おうとしてるんですが、
コンパイルすると
Error! E1055: Unable to open 'stdio.h'
って出てコンパイルできないんです。ぐぐってみたらinclude pathを変えないと
いけないみたいに書いてあったんですが、変え方がまったくわかりません。
分かる人いたら、教えてください。
0701デフォルトの名無しさん
NGNG0702デフォルトの名無しさん
NGNGドキュメント読めば一瞬で分かるはずだがな。
0703デフォルトの名無しさん
NGNGの%*cってどういう意味があるんでつか?
0704デフォルトの名無しさん
NGNG残しておくと、直後に文字or文字列を取り込もうとしたときに
期待通りの動作してくれなくなるから
0705デフォルトの名無しさん
NGNGscanf("%d%*[^\n]", &select); getchar();
0706デフォルトの名無しさん
NGNGこれ、%*c の格納先を指定してないのはヤヴァくないか?
0707デフォルトの名無しさん
NGNGえ?
0708デフォルトの名無しさん
NGNG0709デフォルトの名無しさん
NGNG0710デフォルトの名無しさん
NGNGman scanf 100回
0711デフォルトの名無しさん
NGNG0712デフォルトの名無しさん
NGNG0713デフォルトの名無しさん
NGNG0714名無し@沢村
NGNGscanfですでに無理?
1+1はできますか?
0715デフォルトの名無しさん
NGNG田だがなにか?
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNGscanf使うなっていうのは、漏れも常識だと思うが?
sscanf, fscanfは使うがな
0718デフォルトの名無しさん
NGNG>>713には同意だが、だからといって>>706が正しいわけではない。
ちなみに>>714は論外の更に外。
0719デフォルトの名無しさん
NGNG""内は1+1で右側に1(select)しかないからだろ。
0720デフォルトの名無しさん
NGNG何がいいたいのかサパーリ分からん。
0721デフォルトの名無しさん
NGNG思考力なーし
0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNGおやすみ〜
0725デフォルトの名無しさん
NGNG< >>724ハァァァ???
<
∨∨∨∨∨∨∨∨∨∨∨\ /∨∨∨∨∨∨∨∨∨∨
/:|. | | /:|
/ .:::| ∨ / :::|
| ...:::::| / ::::|
i  ̄ ̄⌒゙゙^――/ ::::::::|
/_,,___ . _,,,,__,_ :::::::::::\
/ ゙^\ヽ.. , /゙ ¨\,.-z ::::::::::\
「 ● | 》 l| ● ゙》 ミ.. .::::::\
/i,. .,ノ .l| 《 ..|´_ilト ::::::::::\
/ \___,,,,,_/ .'″ ^=u,,,,_ v/.. :::::::::::::l!
|  ̄ ,,、 i し./::::::::.}
| / ,,____ _,/ ̄ \ \ ノ ( ::::::::::|
| |.. | /└└└└\../\ \ '~ヽ ::::::::::::::}
| .∨.|llllllllllllllllllllllllllllll| ::::::::::{
| |.|llllllllllll;/⌒/⌒ 〕 :::::::::::}
| |.|lllllllll; ./ . . | ::::::::::[
.| |.|llllll|′ / . | .| :::::::::::|
.| |.|llll| | .∧〔 / :::::::::::::/
/ }.∧lll | ../ / / :::::::::::::::::\
/ /| \┌┌┌┌┌/./ /::: :::::::::::::::::\
( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /::::::::::: ::::::::::\
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG0728703
NGNGなんかアステリスクだっけ?*←
これつけたらそのあとの変換指定子にあう型のがきたら無視するってこと?
空白とかを無視したいんならfgetsにsscanfの方が良いって友達は言ってるけど。
ちなみに703のは学校の教授が模範解答として配ったソースにあったやつです。
初心者でスマソ
0729デフォルトの名無しさん
NGNG例えば、scanf("%d %*d %d", &a, &b);とすると、
入力回数は3回になるが、2回目の入力は無視される。
1回目の入力値がaに格納され、3回目の入力値がbに格納される。
まあ、説明不足のような気がするが、だいたいこんなもんかな?
0730デフォルトの名無しさん
NGNGfscanfも使わない方がいいんじゃなかった?
0731starman@LinuxのC言語
NGNGキーボードを使用せずにC言語のプログラム(システムコール?)から仮想端末を切り替えることはできるのでしょうか?
もしできるのなら、その方法を教えて頂けないでしょうか?
0732デフォルトの名無しさん
NGNGある変数aの平方根を求めるプログラムって
どうするんですか?例えばa=36なら6とか。
0733デフォルトの名無しさん
NGNG0734デフォルトの名無しさん
NGNGint a = 36, b;
for (b = 1; b*b != a; b++);
0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGある変数aの自乗を求めるプログラムって
どうするんですか?例えばa=6なら36とか。
0738デフォルトの名無しさん
NGNGa*=a;
0739デフォルトの名無しさん
NGNGint a = 6, b;
for (b = a; b != a*a; b++);
0740デフォルトの名無しさん
NGNGint b[] = { 0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, };
int a = 6;
b[a];
0742デフォルトの名無しさん
NGNGそれだとaがintならともかくダブルだったりしたらどうするの?
0743デフォルトの名無しさん
NGNGそれだとaが0〜10ならともかくマイナスだったりしたらどうするの?
0744デフォルトの名無しさん
NGNG良い質問だね。
明日までの宿題だ。
0745デフォルトの名無しさん
NGNG先生!明日は冬休みじゃないんですか?
0746デフォルトの名無しさん
NGNGそれだと明日が登校日ならともかく冬休みだったりしたらどうするの?
0747デフォルトの名無しさん
NGNG例えば文字を出力した0.2秒後に別の文字を出力するとか。
整数秒後に出力するのはtimeとかで出来そうなんですが。
よろしくお願いします。
0748デフォルトの名無しさん
NGNGミリ秒がいるんなら
OSのシステムコールを使うか
ハードウェアでタイマ用意するだな
0749デフォルトの名無しさん
NGNG解答ありがとうございました。
早速がんばってきます。
0750デフォルトの名無しさん
NGNG0751デフォルトの名無しさん
NGNG/ /
( ゚Д゚) ヘ?
ヽ人ゝ
0752デフォルトの名無しさん
NGNGchvt というコマンドがあるので system を使って切り替えましょう。
具体的な方法は chvt のソースを見れば分かると思いますが。
0753デフォルトの名無しさん
NGNGおれも遂に脱初心者だな
0754デフォルトの名無しさん
NGNGふーん。
試しに、char[5][10] へのポインタの変数 p を定義してみてくれるかい?
0755デフォルトの名無しさん
NGNGそんなもんは初級中の初級
0756デフォルトの名無しさん
NGNG書けないならそう言えば? と言われたい訳?
釣りですか?
0757デフォルトの名無しさん
NGNG0758デフォルトの名無しさん
NGNG0759デフォルトの名無しさん
NGNG今日でもう 10 リットルくらいは放屁した気がする・・・。
0760デフォルトの名無しさん
NGNG0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG0763デフォルトの名無しさん
NGNG0764デフォルトの名無しさん
NGNG0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0769デフォルトの名無しさん
NGNG釣り師沢村ハケーソ!!!
0771デフォルトの名無しさん
NGNGあ〜あ、やっちゃた・・・
0772753
NGNGchar **p = a[5][10]だ!
0773デフォルトの名無しさん
NGNG脱!!初心者!!ヤホーイ♪
0774デフォルトの名無しさん
NGNGバカ。*は安全のため出来るだけ沢山付けとくもんだ。
char ****************************************************p=a[5][10];
くらいやってこそプロってもんよ。
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG0778デフォルトの名無しさん
NGNG*はいくつまでつなげられますか?
0779デフォルトの名無しさん
NGNG0780デフォルトの名無しさん
NGNG沢山・・・
沢村の間違いじゃ?
0781デフォルトの名無しさん
NGNG0782デフォルトの名無しさん
NGNGそれはお前の努力次第だ!!がんばれよ!!
0783753
NGNGこれがどうして動作しないのかわからん
ダレカオシエテ
0784デフォルトの名無しさん
NGNG何のプログラムでつか?(読めば分かるって言うツッコミなしね)
0785デフォルトの名無しさん
NGNGfree(a)
とかしたときにaの指すアドレスからどこまでを開放するかってのは
どうやって分かるの?
0786デフォルトの名無しさん
NGNGとりあえずどういうプログラムで、
動作しないとはどういうことか(コンパイルできない、実行時エラー、期待通りの動作をしない)
くらいは説明しろ。
0787753
NGNGC
0788デフォルトの名無しさん
NGNG単純な単語登録リストでつ
構造体で線型リストやってんだけど
たぶんそこのつなぎ合わせたりするとこに問題が。
あとね、FILE*型を返す関数をつくってその中で
fp = fopenってやったfpを返して
mainのほうで別のfp_mainに戻りチとして代入できる?よね?
0790デフォルトの名無しさん
NGNGゴメソ
期待通りの動作をしない
っていうか。
mainの下のほうに
puts("\nPlease choose an output interface");
printf("file / 1 standard / 2 : ");
fgets(str_2,sizeof(str_2),stdin);
sscanf(str_2,"%d",&flag2);
ってとこがあるしょ?
ここのfgetsとsscanfが飛ばされるんだよ。
バッファに空白が残ってるのかな。
でもプログラム自体は正常終了してる。
mainのreturnまでいってる。
0791デフォルトの名無しさん
NGNGaの指しているアドレスの手間いにサイズの情報が入っているとかいないとか・・・
0792デフォルトの名無しさん
NGNGC言語ポインタ完全制覇読め
ISBN7741-1142-2
0793デフォルトの名無しさん
NGNGそういう情報はOSが管理してるんだよ。
0794デフォルトの名無しさん
NGNGそのネタおもろい!
....なわけねーだろヴォケ
0795デフォルトの名無しさん
NGNGmain()
{
int a;
printf("数字を入力してください\n");
scanf("%d",&a);
if(a%2==0)
printf("偶数です\n");
else
printf("奇数です\n");
}
どうですか?
0796デフォルトの名無しさん
NGNG何言ってるのかよく分からない。
>>790
1つ目の質問で standard を選んじゃうととばされそうだね。
あと、いくらなんでも stdin に出力するのは無茶だよ。
0797デフォルトの名無しさん
NGNGfgets・・・出力?
0798デフォルトの名無しさん
NGNGプログラムを見ろ。
0799デフォルトの名無しさん
NGNG一応出力されたけど(stdoutにして。ばかですた)やっぱし790がとばされてる。
どうしてか分かる人いない?
あと788で言ってるのは
FILE *func(void)
{
FILE *fp;
fp = fopen("data.txt","r");
return fp;
}
main()
{
FILE *fp_main = func();
ってやってfp_mainは使えるよね?ってこと
0800デフォルトの名無しさん
NGNG一つ目の質問(input interface)を file にしてもとばされる?
後半の質問についてはできる。
0801デフォルトの名無しさん
NGNGとばされなかった。
やっぱバッファ?
0802デフォルトの名無しさん
NGNGget_word() のループの所で stdin を EOF まで読んじゃってるから
(それ以降はいくら読み込んでも EOF しか返ってこない)
と、fclose() で閉じちゃってる
という2重のミス。
0803デフォルトの名無しさん
NGNGなるほど。てことはどうすりゃいんだ
バッファをクリーンにすればいいな!
あとfcloseで閉じたら何がまずい?
0804デフォルトの名無しさん
NGNGバッファは関係ないってば......
output interface の質問を get_word() のループより前に持ってこい。
つまりデータ読み込む前に入力先、出力先の両方ともを尋ねておく。
0805デフォルトの名無しさん
NGNGハイ。
でもまだわかんない。
EOFはget_wordのchに入るだけでそれ以外にはないよね?
出力先を選択するときはmainのほうの変数に入れてるから
もんだいないんでないの?
0806デフォルトの名無しさん
NGNGhttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1027870433&res=54
tennsaida oreha
0807デフォルトの名無しさん
NGNGEOF は特別なデータなの。End Of File。ファイルはもうお終いですよ、って印ね。
それ以外の、通常のデータとは全く意味が異なるの。
それで、EOF を検出したら、それ以降は何度読み込んでも EOF しか返ってこないの。
だから、2度目の fgets() でも即座に EOF を検出して NULL を返してるはず
だから調べてみ。
0808デフォルトの名無しさん
NGNG0809デフォルトの名無しさん
NGNGナルホド
if(fgets(str_2,sizeof(str_2),stdin) == NULL)
printf("30");
ってやったら30とでますた。
ってことはプログラム中ではEOFは一度しか使えないってこと?
0810デフォルトの名無しさん
NGNGreturn 0;
0811デフォルトの名無しさん
NGNGEOF は使う、とか言うもんじゃないと思うけど.....
ある一つのファイルについて言えば、一度 EOF を検出したら
それ以降は EOF しか出てこない。
開き直したり fseek() したりしない限り。
0812デフォルトの名無しさん
NGNG"a0ca0ca0ca0c"とやるにはどうすればいいですか?
ようするに、文字の置き換えってどうやればいいのですか>
0813デフォルトの名無しさん
NGNGファイルってのはstdinも含めてだよね?
したらさ、たとえばendで終了とかしないと、
このプログラムは動作しないってこと?
fseek使えば可能?
0814デフォルトの名無しさん
NGNG配列の要素1つずつ走査していってbなら0を代入する
0815デフォルトの名無しさん
NGNGfseek() は stdin には効かないんじゃないかな......
よく知らんわ。とりあえず、たとえ出来ても処理系依存になりそうだから
やめといたほうがいい気がする。自信ないが。
上で教えたように、最初に input、output 両方聞いとくか、
君の言うように end とかのデータ終了の印をつけるようにしとく方がいいかもね。
0816デフォルトの名無しさん
NGNGわかりました。あとは自分で調べて見ます。
みんなサンクス!!
0817デフォルトの名無しさん
NGNGもう寝るんでつか?
0818デフォルトの名無しさん
NGNGスマソ
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNGそうでつよね。マジキモイでつ。逝ってよしでつ。
0821デフォルトの名無しさん
NGNGそう思うならここには来ないほうがいい。
キモイと思ったやつは2chから去っていく
0822デフォルトの名無しさん
NGNGhttp://berry6.hp.infoseek.co.jp/
パートナーのいない人は急げ!
まったり、しっとり過ごしましょ(o^.^o)
0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG2chだから言えるのですよ。現実では、
「漏れもそういうヤシ大好きなんでつ」
なんていってるやつに面と向かってキモイとか言えないし。
0825デフォルトの名無しさん
NGNGいたいたしいからやめれ
0826デフォルトの名無しさん
NGNG0827デフォルトの名無しさん
NGNGあんた、結構鋭いね・・・
0828754
NGNG漏れは char[5][10] へのポインタの変数 p を定義して、と言ったんだけど・・・。
>>768
それは char へのポインタ へのポインタ変数 p。
>>772
それは char へのポインタ へのポインタ変数 p に未定義の変数 a[5][10] の値を
代入している。
>>774
それは char へのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタへのポインタへの
ポインタへのポインタへのポインタへのポインタへのポインタ変数 p に未定義の
変数 a[5][10] の値を代入している。
0829デフォルトの名無しさん
NGNG0830デフォルトの名無しさん
NGNGん?1〜829まで?
0831デフォルトの名無しさん
NGNG>>828だけでおながいしまつ......
0832デフォルトの名無しさん
NGNG829 においては 1 回。
0833754
NGNG0834デフォルトの名無しさん
NGNG意外と少なかった。
0835デフォルトの名無しさん
NGNGいいかげんに、寝ろ!!
0836デフォルトの名無しさん
NGNG0837デフォルトの名無しさん
NGNGブーッ!! ブーッ!! ブリブリブリッ!! ブピャーーーーーーーーッッッ!!!!!
正解正解不正解ーーーーー!!!!
書き込みしただけで1回も「言って」ません。
すなわち答えは0回!!
アヒャヘ(゚∀゚ヘ)(ノ゚∀゚)ノアヒャヒャ
0838デフォルトの名無しさん
NGNGなるほど〜・・・
そう来るかね・・・
0839デフォルトの名無しさん
NGNG0840デフォルトの名無しさん
NGNG冬厨あほらしか
0841デフォルトの名無しさん
NGNGついつい書き込みを口に出して・・・
0842デフォルトの名無しさん
NGNGそうだよな。
みんな書き込みをしながら、口に出して言っているかも・・・
独り言のように・・・
0843デフォルトの名無しさん
NGNG好きなもんで。。
0844デフォルトの名無しさん
NGNGタポイン・・・
0845デフォルトの名無しさん
NGNG素直に
「ごめんなさい。間違えました。これからは何でも言うこと聞きます。王様。
足なめさせてください。ペロペロ。美味です。王様。
私を弟子にしてください。王様。最高です。王様」
と言えばいいものを。
0846デフォルトの名無しさん
NGNGこの真夜中に・・・
0847デフォルトの名無しさん
NGNGごめんなさい。間違えました。これからは何でも言うこと聞きます。王様。
足なめさせてください。ペロペロ。美味です。王様。
私を弟子にしてください。王様。最高です。王様。ウヒ
0848デフォルトの名無しさん
NGNG0849デフォルトの名無しさん
NGNG> 素直に
> 「ごめんなさい。間違えました。これからは何でも言うこと聞きます。王様。
> 足なめさせてください。ペロペロ。美味です。王様。
> 私を弟子にしてください。王様。最高です。王様」
> と言えばいいものを。
> 私を弟子にしてください。王様。最高です。王様。ウヒ
冬厨あほらしか
0850デフォルトの名無しさん
NGNG美味しゅうございます〜♪ウヒョ
0851デフォルトの名無しさん
NGNG0852デフォルトの名無しさん
NGNG0853デフォルトの名無しさん
NGNG0854デフォルトの名無しさん
NGNG空気読めよ
0855デフォルトの名無しさん
NGNG||| | \____ __
||| | )\ ∨
||| 空 気. <⌒ヽ ヽ
||| \ ( ´ー`) ∧∧
|||_________V( 丿V^ ●Д゚,,)>>853
|,,| |,,| ヽ ( と ,)
ノ ) | |〜
し`J,,.
0856デフォルトの名無しさん
NGNG0857デフォルトの名無しさん
NGNG必死だな
0858デフォルトの名無しさん
NGNG必死だよ
0859デフォルトの名無しさん
NGNGリコーダーも満足に吹けないくせに粋がってんじゃねぞ
0860デフォルトの名無しさん
NGNG哀れだな
0861デフォルトの名無しさん
NGNG「ド」は調によって(ry
0862デフォルトの名無しさん
NGNG哀れだよって言ってやれ!!
0863デフォルトの名無しさん
NGNGマターリしてきてください。
【冬厨】Cの文句は俺に言えぇ!part1【歓迎】
http://pc3.2ch.net/test/read.cgi/tech/1039768013/
0864デフォルトの名無しさん
NGNG哀れ.....ごめん.....読めね....「もれ」?
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNG0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG0870デフォルトの名無しさん
NGNG0871デフォルトの名無しさん
NGNG0872デフォルトの名無しさん
NGNG空気読めよ
0873デフォルトの名無しさん
NGNG||| | \____ __
||| | )\ ∨
||| 空 気. <⌒ヽ ヽ
||| \ ( ´ー`) ∧∧
|||_________V( 丿V^ ●Д゚,,)>>869
|,,| |,,| ヽ ( と ,)
ノ ) | |〜
し`J,,.
0874デフォルトの名無しさん
NGNGで・・・何の話?
0875デフォルトの名無しさん
NGNG0876デフォルトの名無しさん
NGNG0877デフォルトの名無しさん
NGNG>char [5][10] へのポインタを返す
(゚Д゚)ハァ?
0878デフォルトの名無しさん
NGNG0879デフォルトの名無しさん
NGNG0880デフォルトの名無しさん
NGNGネタですか?
0881デフォルトの名無しさん
NGNG↓
type_a = char [5][10] へのポインタ
type_b = 引数を取らず、type_a を返す関数へのポインタ
type_c = type_b を引数とし、type_a を返す関数へのポインタ
type_c の配列を定義してください。
#include <iostream>
typedef char (*type_a)[5][10];
typedef type_a ((*type_b)(void));
typedef type_a ((*type_c)(type_b));
const size_t array_size = 256;
int main()
{
type_c func_table[array_size];
std::cout << typeid(func_table).name() << std::endl;
}
これで調べるのは反則でつか?
0882デフォルトの名無しさん
NGNG0883デフォルトの名無しさん
NGNGここは
C 言 語 の ス レ
ですよ?
0884デフォルトの名無しさん
NGNG◆裏情報取引サイト→http://www.kawachi.zaq.ne.jp/dpdan803/◆
◆国際免許取得→→→http://www.kawachi.zaq.ne.jp/dpdan803/◆
◆悪徳業者情報→→→http://www.kawachi.zaq.ne.jp/dpdan803/◆
◆あらゆる調査→→→http://www.kawachi.zaq.ne.jp/dpdan803/◆
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
+
0885デフォルトの名無しさん
NGNGだから何?
0886デフォルトの名無しさん
NGNG0887デフォルトの名無しさん
NGNG0888デフォルトの名無しさん
NGNG0889デフォルトの名無しさん
NGNG(・∀・) バーカ!!
0890デフォルトの名無しさん
NGNG読みましたが何か?
0891デフォルトの名無しさん
NGNGBがあったからだろ。
0892デフォルトの名無しさん
NGNG0893デフォルトの名無しさん
NGNGスカラって何?
食べられる?
食べられるとしたらおいしい?
どんな味?
コハダ?
臭い?
金玉の下の方を触った時の手の臭い?
どう?
どうなの?
0894デフォルトの名無しさん
NGNGスカラ=巣殻
鳥の巣の殻のことだよ
0895デフォルトの名無しさん
NGNG簡単にいうとBは型がない(正確にはあるんだけど)言語だったってこと
0896デフォルトの名無しさん
NGNG0897デフォルトの名無しさん
NGNGプログラム板なんだから、「スカラ」とは「スカラベ」のこと。
「べ」がどこから来たかというと、スカラの対義語の「ベクトル」から来た。
昔は「スカラベクトル」と呼んで区別されていたのが、
意味が曖昧になり「スカラ」の意味しか持たなくなった。
それくらい辞書引けよ
0898デフォルトの名無しさん
NGNGほそく
古代エジプトではスカラベを創造とか生成の意味で呼んでいた。
現代プログラムでは、プログラミングの過程を意味する。
0899デフォルトの名無しさん
NGNG一番もっともらしい >>898 を信じることにします
0900デフォルトの名無しさん
NGNG898のほそく
いわゆるフンコロガシの仲間。
映画「ハムナプトラ」では肉食のスカラベが人を襲う話があります。
0901デフォルトの名無しさん
NGNGワロタ
C言語にはスカラがあるんだね。
俺も今度スカラを使ったプログラムを作るよ!
0902デフォルトの名無しさん
NGNG0903デフォルトの名無しさん
NGNGここはネタが豊富なインターネットですね。
0904デフォルトの名無しさん
NGNG0905デフォルトの名無しさん
NGNG0906デフォルトの名無しさん
NGNGループ文でまわしたいんですけど。
struct a{
unsigned char n[8] :1
};
だとだめですし。
struct a{
unsigned char n1 :1
unsigned char n2 :1
ってやってくしかないですか?
0907デフォルトの名無しさん
NGNGどういう処理をしたいわけ?
0908デフォルトの名無しさん
NGNG全く別の方法だけど、
例えばunsigned charの変数を宣言して各ビットを使うんじゃダメ?
0909デフォルトの名無しさん
NGNGif(a1.ni==1){
・・・
って感じです。シフト演算使えってのはなしで。
0910デフォルトの名無しさん
NGNGunsigned char型の変数を評価したいので、そういうわけには。
0911デフォルトの名無しさん
NGNGシフト演算で廻せばイイジャン
//int bitfield,BOOL[] hoge
int i,count;
for(i = 1,count = 0 ;i < 0xFF; i << 1,count++){
hoge[count] = (i & bitfield == 0);
}
こんなかんじで。最近C屋ってないから文法これでいいのかどう
かわからんけど(スマソ
0912デフォルトの名無しさん
NGNGやはりシフト演算ですか。
0913デフォルトの名無しさん
NGNGSTLportのstd::bit_vectorは?あ、C++は使わないのか。
0914デフォルトの名無しさん
NGNGさせられるから、どう?だめ?
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGJava厨みたいなこというなよ
0917デフォルトの名無しさん
NGNGVB厨みたいなこというなよ
0918デフォルトの名無しさん
NGNGの実装はとても面倒臭いよ。
1ビットを1バイトで表すんなら簡単なんだが。
0919デフォルトの名無しさん
NGNG8 で割った商と余りを使えばいいだけの話だろ。
0920デフォルトの名無しさん
NGNG沢 村 立 入 禁 止
と書いておいてくれよ。
0921デフォルトの名無しさん
NGNGstd::vector<bool> とか std::bitset とか既にあるんだから、
わざわざ車輪を再発明せんでも。
0922デフォルトの名無しさん
NGNG対応できないなら自力でやればいい。
#include <limits.h>
int get_bit(char bits[], int n) {
return (bits[n / CHAR_BIT] & (1 << n % CHAR_BIT)) != 0;
}
void set_bit(char bits[], int n) {
bits[n / CHAR_BIT] |= 1 << n % CHAR_BIT;
}
void clr_bit(char bits[], int n) {
bits[n / CHAR_BIT] &= ~(1 << n % CHAR_BIT);
}
void put_bit(char bits[], int n, int b) {
(b ? set_bit : clr_bit)(bits, n);
}
0923デフォルトの名無しさん
NGNGそこらへんの本に書いてある再帰だったら
普通にループした方が簡単だと思うのですが
0924デフォルトの名無しさん
NGNG普通にループでいいよ。
0925デフォルトの名無しさん
NGNGディレクトリを巡回してサブディレクトリを全て表示するプログラム書いてみな。
再帰と非再帰の二通りで。
0927デフォルトの名無しさん
NGNGいや、無理というわけじゃないよ。再帰はループに落とせる。
ただ面倒なだけ。
0928923
NGNG更にループ書かなきゃいけなくなる?
0929デフォルトの名無しさん
NGNG再帰で積まれるスタックを自前で管理する必要が出てくる。
0930923
NGNG0931デフォルトの名無しさん
NGNGとりあえず書いてみるとか・・
0932デフォルトの名無しさん
NGNGちなみにstackをqueueに書き換えると深さ優先から幅優先探索になる。
void traverse(char *path)
{
int i;
stack_push(path);
while(!stack_empty())
{
char *path = stack_pop(); // 巡回された
printf("%s\n", path);
for(i=0; i<sub_dir_count(path); i++) // サブディレクトリをスタックに追加
stack_push(get_sub_dirs(path, i));
}
}
0933デフォルトの名無しさん
NGNG気のせいか ループであふれるんだったら再帰でもあふれるような
0934わたしは泣いたことがない
NGNG入力バイト数変換%nが思った通りの値を返してくれません。
例えば以下のコードで、私は i=1が得られると思ったのですが、
私の環境では0になりました。
私は何を間違っているでしょうか?
int myStr( const char *s )
{
char c;
int i;
ssccanf( s, "%1c%n", &c, &n );
return n;
}
0935わたしは泣いたことがない
NGNGかきもれましたが、sには入力失敗しない文字列があります。
仮に"A000"のような。
0936デフォルトの名無しさん
NGNG0937私はないたことがない
NGNG>936
すみませんかきまちがえました。
int myStr( const char *s )
{
char c;
int i;
ssccanf( s, "%1c%n", &c, &i );
return i;
}
0938デフォルトの名無しさん
NGNG俺の環境にはssccanf()って関数はないので分からんが、
代わりにsscanf()を使うと1が返って来た(gcc 3.2.1+glibc 2.3.1)。
0939私は泣いた事がない
NGNGsscanf()です。すみません粗忽ものなので。
調べてみると、書式文字列の先頭にc変換があり、かつ、
その直後にn変換がある場合には、n変換で得られる値は
仕様上予期される値よりも1だけ少ない値になることが
わかりました。
コンパイラのバグのようです。これで1日潰しました。ありがとうございました。
0940デフォルトの名無しさん
NGNG0941VC6SP5@Windows2000
NGNGsprintfで作成された文字列(test)がそのままbuf1に入ってしまいます。
文字列を上手く分割するには、strstrやstrchrを使ってstrcpyなどでコピーするしかないでしょうか?
--ここから--
#include <stdio.h>
int main()
{
char test[256], buf1[256], buf2[256], buf3[256];
sprintf(test, "%s,%s,%s", "abc", "def", "ghi");
sscanf(test, "%s,%s,%s", buf1, buf2, buf3);
return 0;
}
0942デフォルトの名無しさん
NGNGスペースを使え
sprintf(test , "%s %s %s" , ...);
sscanf(test , "%s %s %s" , ...);
0943デフォルトの名無しさん
NGNG0944941
NGNGレスありがとうございます。
スペースを使いたいのはヤマヤマですが、デリミタがコンマと決まっているので…。
もともとのデータにスペース入ってたらおかしくなりません?
(>>941の例でいうと、"abc" ではなく"a bc"となっていた場合)
0945デフォルトの名無しさん
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1041127646/
0946デフォルトの名無しさん
NGNG氏ね
0947デフォルトの名無しさん
NGNGにうpしたプログラムで、表示がうまくされません。誰か教えてください。よろしくお願いします。
0948デフォルトの名無しさん
NGNG,じゃあ文字列かどうかの判定ができないから。
スペース2つ入れるとか3ついれるとかでは駄目なの?
0949947
NGNG0950デフォルトの名無しさん
NGNGウィルスです。開かないように。
0952デフォルトの名無しさん
NGNG確実に文字列が','で区切られているなら自分で関数作った方がいいのでは。
0954デフォルトの名無しさん
NGNGテンプレ貼っておいたよ。
1-66 は透明あぼ〜んしてね
C言語を俺に聞け 第48回ぐらいか?
http://pc3.2ch.net/test/read.cgi/tech/1037279828/
0955954
NGNGhttp://pc3.2ch.net/test/read.cgi/tech/1037279828/67-
0956デフォルトの名無しさん
NGNGを利用したアルゴリズムでできますね。しかし、上限が100000000以上の場合、
配列を用意することができません。どなたか他のアルゴリズムが分かる方、い
ませんでしょうか?
0957デフォルトの名無しさん
NGNG素数列挙アルゴリズムのスレがあったろ
0958デフォルトの名無しさん
NGNG> 上限が100000000以上の場合、 配列を用意することができません。
ここの部分を詳しく説明してみそ。
0959956
NGNGMAXが与えられたとして、
エラストテネスのふるい
を利用したMAXまでの素
数を列挙するアルゴリズ
ムって、array[MAX]を最
初に宣言しますね。で、
全部1に初期化してから
素数じゃないヤツを0に
して、array[i]が1なら
ばiが素数となるはず。
もしこのときMAXが100,
000,000を超えっちまっ
たら、
int array[100,000,000];
なんて宣言できないじゃん?
0960デフォルトの名無しさん
NGNG0961名無し
NGNG0962デフォルトの名無しさん
NGNGstrtolとか。
ポインタ変数のアドレスを渡してそこにポインタを入れてもらう。
0963956
NGNGポインタを指すポインタ
p is a pointer to pointer
英語で読むと分かりやすい。初心者の俺がいうのもなんだが。
だれか俺の質問956にも答えてくらはい。
0964名無し
NGNGありがとうございました。
0965デフォルトの名無しさん
NGNGエラトステネスのふるいってアルゴリズムを勘違いしていた。スマン。
ふるいをかける区間を分割してみたら。
0966デフォルトの名無しさん
NGNGネットの回線速度をタスクバーに表示したいのですが
どうしたらいいのかよく分からないのです。
回線速度を折れ線グラフで表したいのですが・・・。
どうかよろしくお願いします。
0967デフォルトの名無しさん
NGNGどこまでできてんの?
0968966
NGNGTClockでタスクバーに表示されてる文字と重ならないようにしたいのです。
現在のは重なってしまうため、TClockの表示が見づらくなってしまうのです。
なので、回線速度はまた別のアプリとして作りたいのです。
TClockにはソースが同梱されてるのでその中の
回線速度を表示するソースだけmake、コンパイルすれば
いいと思ったのですが考えが甘かったみたいで
DOS上でコンパイルすると
「EXEファイルのエラーです」
とでてしまうのです。
それでここで聞いてみたのです。
最初は投げやりな感じですいませんでした。
よろしくお願いします。
0969966
NGNG0970デフォルトの名無しさん
NGNGhttp://yahooo.s2.x-beat.com/linkvp/linkvp.html
0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG> タスクバー
スレ違い。
0973デフォルトの名無しさん
NGNGこれです。
どうかよろしくお願いします。
0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG程度にもよる。1000行以上のプログラムを見てくれっていわれても誰も見ない。
0976デフォルトの名無しさん
NGNG短かいプログラムであれば・・・
0977デフォルトの名無しさん
NGNGfor(i=0; i<N; i++){
…
for(j=0; j<N; i++){
…
}
}
こういうループの中で、配列の内容を書き換えて、
その配列をループの外でprintfで出力しても、書き換えた値がちゃんと出力されますよね?
何度やっても、不思議なことに、どこから出てきたか分からない数値が出てくるんです。
それでプログラムに間違いがあるのかと思ったんですが、ループの中で一度printfで出力させてから、
ループの外で再び出力すると、正確な値が出てくるんです。
やっぱりどこかで気付かない間違いをしてるんですかね?
0978デフォルトの名無しさん
NGNGここは添削スレじゃない。
ソース丸投げして 「さあ問題箇所を探してくれ」 とやった場合、大抵無視される。
このスレで質問したいなら、ソース丸投げではなく、問題箇所をはっきりさせて
おいた方がいい。
質問を説明するためにソースが必要なら、問題が再現する最低限のソースを
書けばいい。
0979966
NGNG0980デフォルトの名無しさん
NGNG肝心なループの中の処理を晒せ
0981デフォルトの名無しさん
NGNG>>972 と >>1 を見ろ。
0982デフォルトの名無しさん
NGNG別スレで聞いてきます。
0983デフォルトの名無しさん
NGNG{
double x[4],y[4];
double a[4][4];
int i,j,k;
for(k=0; k<13; k++){
for(i=0; i<4; i++){
y[i]=0;
for(j=0; j<4; j++){
y[i]=a[i][j]*x[j]+y[i];
}
}
for(i=0; i<4; i++){
x[i]=y[i]/max(y);
}
for(i=0; i<4; i++){
printf("x%d=%f ",i+1,x[i]);
}
printf("\n");
}
こんな感じなんですが。ちなみにこのprintfは、ちゃんと正確に出力されてます。
0984デフォルトの名無しさん
NGNG内側のfor文のi++は?
0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNGj++の間違いだろうね
0987デフォルトの名無しさん
NGNGビルドしてみると、エラーが出てしまうのですが
なんとかなりませんか?
0989デフォルトの名無しさん
NGNG可能。そーすさらせ。
0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNGう〜ん・・・
0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG> double a[4][4];
一体これはいつ初期化されているんだい?
未初期化のまま
> y[i]=a[i][j]*x[j]+y[i];
とかやったって、ゴミが演算対象になるだけだろう。
コンパイラは警告を出さないのか?
0996デフォルトの名無しさん
NGNGそうだな、staticを付けて0初期化させとかないとな。
0997デフォルトの名無しさん
NGNG平然と会話をするこの様は
漏れにとっては不思議で仕方が無い
0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。