- 1 名前:デフォルトの名無しさん [2008/02/28(木) 00:01:39 ]
- エスケープシーケンスやWin32APIなどの環境依存なものでもOK。
ただしその場合、質問者は必ず環境を書きましょう。 ※sage禁止です(と代々スレに書いてありますが自己判断で)。 【前スレ】 【初心者歓迎】C/C++室 Ver.49【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1203478421/ 【アップローダー】(質問が長い時はココ使うと便利) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
- 930 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:18:03 ]
- >>928
それです! >void (Foo::*func)(); ここが分かっていませんでした ありがとうございました
- 931 名前:デフォルトの名無しさん [2008/03/14(金) 13:49:37 ]
- >919
そうです。 >921 確かに整数値に直すしかなさそうですね。 丸める方法も0.00001の誤差を判定するときも 0.09999の次の9を丸めて0.1にしたらえらい違い になりそうな気がするし。 確実に循環してると分かっているなら丸めてもいいと思うけど そうでない場合は困るね。 >921 それでも確実じゃないと言われると絶望的? VC6.0はどうやって判断していたんだろう。
- 932 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 13:50:09 ]
- >>930
>main関数内で宣言・代入する方法はいくらでも見つかるんですが これ嘘くせえな おまえちゃんと読んでないだろ
- 933 名前:デフォルトの名無しさん [2008/03/14(金) 14:08:50 ]
- >>929
Cでも沿っている。
- 934 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 14:17:17 ]
- しつもんです。
int hoge [][3] = { {0,0,0}, {1,1,1}, {0,1,0}, }; のような配列で hoge[1]; とやると hoge[1][0]のアドレスを返して来るでよろしいでしょうか?
- 935 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 14:19:14 ]
- >>931
別に循環はしてないよ これ実行してみ int main() { printf("%.70f\n", 1.2); printf("%.70f\n", 1.1); printf("%.70f\n", 1.2 - 1.1); }
- 936 名前:デフォルトの名無しさん [2008/03/14(金) 14:24:19 ]
- >>931
どうやって判別しているのかは、仮数部と指数部が完全一致だろう
- 937 名前:デフォルトの名無しさん [2008/03/14(金) 14:28:56 ]
- >>934
うん。 int a[3];でa==&a[0]なのと一緒だからね。
- 938 名前:デフォルトの名無しさん [2008/03/14(金) 14:29:38 ]
- 扱う数によってどの位の誤差ならいっちしていると見なすか各自で判定すればいい
100億と100億1くらいならば同一と見なすとか・・ 0.0001なら1の誤差は大きい GOSA = 0.999と定義して、x = yであることを x*GOSA < y < x/GOSA としたらどうか?
- 939 名前:デフォルトの名無しさん [2008/03/14(金) 14:33:04 ]
- 計算量を減らすなら 0.999 < x/y < 1.001 の判定にすれば良いか
- 940 名前:デフォルトの名無しさん [2008/03/14(金) 14:49:12 ]
- >935
すいません。VC6.0からC#間がないので、 stdio.hをインクルードする方法(できるの?)が分かりません。 代わりに次のようにしてみたら・・・、 static void Main(string[] args) { Console.WriteLine(1.2 - 1.1); } 0.0999999999999999 となりました。
- 941 名前:デフォルトの名無しさん [2008/03/14(金) 14:51:41 ]
- >939
なるほど。参考にしてみます。
- 942 名前:デフォルトの名無しさん [2008/03/14(金) 15:01:04 ]
- 初めに|x - y| < 1 などを調べておくと高速化できるな
- 943 名前:デフォルトの名無しさん [2008/03/14(金) 15:03:12 ]
- 仮数部、指数部を直接調べていけばより高速化出来るな
指数部が2以上ずれていれば駄目だろう
- 944 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 15:29:33 ]
- >>940
C#ならdecimal型を使えば解決 static void Main(string[] args) { decimal d = 1.2m - 1.1m; Console.WriteLine(d); }
- 945 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 15:35:36 ]
- 初心者スレで >>926 みたいな嘘付くのは良くないよね・・・
- 946 名前:デフォルトの名無しさん [2008/03/14(金) 16:00:02 ]
- #include <iostream>
#include <cstdlib> using namespace std; int main() { cout << rand() << endl; cout << rand() << endl; } このようにプログラムをコンパイルし実行してみると何度やっても 0 1481765933 となります。乱数当てプログラムみたなのも全部0が生成されてしまいます。 コンパイラはcygwinのg++です。なぜなんでしょうか???
- 947 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 16:04:10 ]
- >>946
しょせん擬似乱数だから srandで異なるシード値を与えれば変わる
- 948 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 16:36:37 ]
- class X {
public: const int tbl[2]; }; 非staticでconstの配列をメンバーに持たせることは可能ですか?
- 949 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 16:44:49 ]
- >>948
こう? class X { public: const int tbl[2]; }; int main() { X x = {{96,43}}; cout<<x.tbl[0]<<x.tbl[1]<<endl; }
- 950 名前:デフォルトの名無しさん [2008/03/14(金) 16:54:23 ]
- >943
ここまでしないとだめ? 確かにそれだと指数部を見ただけで二つの値が違うかどうか 分かりそうだけど。
- 951 名前:デフォルトの名無しさん [2008/03/14(金) 17:00:01 ]
- >944
いいですね。しかし128ビットも使うのは少し嫌ですね。 unsigned short decimal とか使いたい^^
- 952 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 17:05:54 ]
- >>946
ちゃんとsrandにガンダムシードを与えないと。
- 953 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 17:24:35 ]
- >>949
説明不足でした。 コンストラクタで初期化できるかどうかです。 もう少し込み入ったクラス class X { public: int mi; virtual void mf(); double md; private: const int tbl[2]; };
- 954 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 17:28:42 ]
- >>953
むり
- 955 名前:バラ [2008/03/14(金) 17:31:15 ]
- c言語で
”山田太郎”は0008バイトあります。 とmystrlenを使ってと表示させたいのですが やり方教えてください。 お願いします。
- 956 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 17:34:16 ]
- #define mystrlen strlen
- 957 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 17:47:22 ]
- >>954
thx 規格でもそうなってる?
- 958 名前:バラ [2008/03/14(金) 17:48:53 ]
- 956
mystrlen関数だけをを使いたいのですが。 strlenは使用禁止だそうせす。 詳しく教えてください。
- 959 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 17:53:04 ]
- 宿題スレ行け
- 960 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 17:53:19 ]
- > strlenは使用禁止
仕方がないな。 int mystrlen(const char*p){ return strchr(p,0) - p; }
- 961 名前:デフォルトの名無しさん [2008/03/14(金) 17:55:00 ]
- 素直にdecimal型を使うことにします。
皆さま、いろいろとありがとうございました。
- 962 名前:バラ [2008/03/14(金) 17:57:35 ]
- ほ〜^^。
ありがとうございます。
- 963 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:26:55 ]
- まず間違いなく先生にツっこまれるな
- 964 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:42:37 ]
- じゃあこれでどうだ?
int mystrlen(const char *str) { char buff[512]; return sprintf(buff, "%.500s", str); }
- 965 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 18:43:43 ]
- void mystrlen()
{ printf("\"山田太郎\"は0008バイトあります。"); } 一応質問文からだとこれでもあながち間違いじゃない
- 966 名前:バラ [2008/03/14(金) 19:20:51 ]
- #include <stdio.h>
#include <stdlib.h> #define STRING "山田太郎" int mystrlen(char *p) { /*i初期化*/ int i = 0; /*\0ならば抜ける*/ while(*p != '\0') { /*pを増やす*/ p++; /*iを増やす*/ i++; } /*iを返す*/ return i; } int main() { /*バイトを表示*/ printf("%s は %04d バイトです.\n", STRING, mystrlen(STRING)); /*0を返す*/ return 0; } できました。ありがとうございます
- 967 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:22:29 ]
- 圧倒的なひらめき
っ BCD
- 968 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:31:19 ]
- 「先生に車輪の再発明は不毛です。」と告げるのじゃ。
- 969 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:34:10 ]
- 車輪の再発名は勉強にはいいのじゃ。
- 970 名前:パラ mailto:sage [2008/03/14(金) 19:38:27 ]
- 何をどうやっても山田太郎が12バイトになってしまいます…
どうやったら8バイトにすることでができるんでしょうか…
- 971 名前:教えてください>< mailto:sage [2008/03/14(金) 19:39:08 ]
- 関数ってなんですか?
- 972 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:39:31 ]
- UTF-8 なら 12 バイトだから正常だと思うぜ。
- 973 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:40:07 ]
- >>971
中学校からやり直してください
- 974 名前:教えてください>< mailto:sage [2008/03/14(金) 19:46:37 ]
- この歳では中学校に通う暇がないんです><
c++における関数の定義が知りたいんです><
- 975 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:49:48 ]
- その歳なら本買え。
- 976 名前:教えてください>< mailto:sage [2008/03/14(金) 19:51:32 ]
- 本を買いに行ってる時間が無いんです><
今教えていただけませんか?><
- 977 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:52:30 ]
- ならググれ。
C++ の入門サイトがあるだろう。
- 978 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:53:14 ]
- googleで検索したほうが時間の節約になる
- 979 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:55:35 ]
- 問題解決能力がないとこの先生きのこれないしな。
- 980 名前:教えてください>< mailto:sage [2008/03/14(金) 19:56:18 ]
- なんで皆さんそんなに冷たいんですか?><
分かる人から分かりやすく聞いた方が理解しやすいと思って書き込んだのに!>< 何のための掲示板ですか?!><
- 981 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 19:58:08 ]
- お前のためを思ってるからこう言ってるんだ。
こんな質問するなんて、お前のこの先が凄く心配だからな。
- 982 名前:教えてください>< mailto:sage [2008/03/14(金) 20:01:41 ]
- 分かりました。さてはあなたたちも説明できないのですね><
説明してくれる人が現れるのを待つことにします。 このスレッドが1000行くまで待ちます><
- 983 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:03:21 ]
- f(6)=2
fが関数。中の構造は何でもいい。
- 984 名前:教えてください>< mailto:sage [2008/03/14(金) 20:04:17 ]
- ラーメンうめえwwwwwww
- 985 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:04:40 ]
- >>976
ほれ ttp://ja.wikipedia.org/wiki/%E9%96%A2%E6%95%B0
- 986 名前:教えてください>< mailto:sage [2008/03/14(金) 20:05:08 ]
- 誤爆しました><
- 987 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:06:10 ]
- これはひどい
- 988 名前:教えてください>< mailto:sage [2008/03/14(金) 20:08:50 ]
- 985さん
つまりc++の関数とはサブルーチン機能のことなんですね!>< ありがとうございました>< ラーメンおいしいです
- 989 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:39:56 ]
- スレ違いかもしれんが自転車こいで電力ためるのってどういう装置がいるんだ?
- 990 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:40:57 ]
- 蓄電池だろ
- 991 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:48:48 ]
- 重りを上に上げて、位置エネルギーから電気を取り出す機械ってのもあったな
スレチだが
- 992 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 20:58:50 ]
- 揚水発電もその一種だな
- 993 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:01:17 ]
- 今更だけど本屋行く時間はないのに誰かが答えを書くのを待つ時間はあるんだな。
- 994 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:02:45 ]
- 建てた。
【初心者歓迎】C/C++室 Ver.51【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1205496128/l50
- 995 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:08:15 ]
- >>994
乙 >>989 発電機もいる コイル+磁石 で電磁誘導がどうたら 発生する電流は交流だから整流してこうたら 蓄電池に充電する際には一定以上の電圧(蓄電池による)が必要になるからうんたら で、スレチというより板違い
- 996 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:16:01 ]
- どう考えてもスレチなのに答えてくれるお前らに感動した
- 997 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:29:31 ]
- こんなんでましたけど〜
無かった事にしておこうか… 【初心者歓迎】C/C++室 Ver.50【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1204124447/ 実はこのスレよりも古いようだ 【初心者歓迎】C/C++室 Ver.50【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1204124499/
- 998 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:29:38 ]
- >>994
乙
- 999 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:41:19 ]
- 【初心者歓迎】C/C++室 Ver.50【環境依存OK】
pc11.2ch.net/test/read.cgi/tech/1204124447/ こっちまだ残ってるけど使わないの?
- 1000 名前:デフォルトの名無しさん mailto:sage [2008/03/14(金) 21:54:54 ]
- 1000 なら
【初心者歓迎】C/C++室 Ver.50【環境依存OK】 pc11.2ch.net/test/read.cgi/tech/1204124447/ は超高速質疑応答で消費される
- 1001 名前:1001 [Over 1000 Thread]
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
|

|