質問。 今、VC6 でこんなコードが通るのを確認してしまった。 int $ = 123; printf("%d\n", $); 変数名に $ は OKなの??
617 :
デフォルトの名無しさん :02/12/05 00:43
>>616 漏れも通った
printf("%d\n", $_);
Perlっぽいな
VCで通るからといって規格上正しいコードと思ったら大間違い。
VC++的には正しいコードなんだろ。
規格上正しいコードだからといって メジャーなコンパイラで通ると思ったら大間違い。
>>617 「漏れも」 じゃなくてコンパイラを書いてくれ。
gcc-2.95.1 で通った。
BCC 5.5.1 では通らなかった。
まあ、C では $ はメタ文字じゃないから、通ってしまうのもわからんでもないが・・・。
template<typename $> hoge(){$ $$} よし、今日からこうしよう。 Tはもう古い。通はこれ。
しかし規格にも MSDN にも、識別子に $ が使えるなんてちっとも書いてないんだよなあ・・・。
std::string A$;
627 :
デフォルトの名無しさん :02/12/05 01:19
結論: $はperlっぽい。 $ は p e r l っ ぽ い 。
>626はBASICっぽいがな。
629 :
デフォルトの名無しさん :02/12/05 01:27
>>616 というか、どういう経緯でそういうコードを書こうと思ったのか知りたい。
そういえば、昔、知り合いが _ だけの変数を使っていて、間違いじゃないけど、
ちょっとショックを受けた。
631 :
デフォルトの名無しさん :02/12/05 01:30
int _; _= --_ - _--;
モールス信号みたいね。
_ は Splus だヴぁー?(・┏┓・)
636 :
デフォルトの名無しさん :02/12/05 01:37
BrainFacker
日本語変数名使用可能なC処理系ってあったよね? int =2,(・,┏,┓,・),; /* 全角スペースは使用できるだろうか? */ char *ヴァー="(・┏┓・)"; printf("%d\n", );
GCC.EXE (GCC) 3.2 (mingw special 20020817-1) でも通りました。>$
>>627 perlなら$_を使え!
$_ = 2;
main(){
printf("%d\n",$_);
}
>>640 それだ!(gcc 3.2 on Cygwin)
$_=1,*$=&$_,$1;
main() {
*$='#'%~!&$1;//
printf("%d\n",*$);
}
_;main(){printf("%d\n", (6^_^9) );}
644 :
デフォルトの名無しさん :02/12/05 02:11
C言語始めたいんだけど、お勧めの参考書あります?
645 :
デフォルトの名無しさん :02/12/05 02:16
/* Hello world */ #include <stdio.h> int main(){ printf("Welcome to HellWorld!"); return 0; }
647 :
デフォルトの名無しさん :02/12/05 02:20
呪いは始まったとか書いてあったんですけど・・
pa_003_a はもういいでつ
$は規格が出来る前のコンパイラで使えた。 gccは互換性のため$を使えるようにしているが、オプション指定でエラーにすることも出来る。 ってことだったような。
わかった、こうだ!! double A = 12.345; char A$[] = "abcde";
ちょっと質問。 for(...) { for(...) { if(...) { 処理1; goto next_loop; } } 処理2; next_loop: ; } これをgotoもフラグも使わずに書ける? 関数を分けるとかも無しで。
ちなみに、ifや2番目のforの条件式の中身は、 その上のループカウンタに依存します。
setjmp...longjump...
そんな制御文作るやつの宿命だ > goto hell
>>653 こうですか?
for(...) {
jmp_buf mark;
if(setjump(mark) == 0) {
for(...) {
if(...) {
処理1;
longjmp(mark,1);
}
}
処理2;
}
}
>>652 for(...) {
for(...;式;...) {
if(...) {
処理1;
break;
}
}
if (!式) {
処理2;
}
}
式はフラグとみなすか?
処理1の中で式の値が変わるかも。
for(...) { for(...;;...) { if (!式) { 処理2; break; } if(...) { 処理1; break; } } }
さっさとbreak label;を仕様に盛り込め
662 :
デフォルトの名無しさん :02/12/05 21:15
bolandのコンパイラの設定の方法を優しく教えてくれるサイトはありませんか? なければ誰か教えてください
663 :
デフォルトの名無しさん :02/12/05 21:31
質問があります。 私は、C言語でDOS/VマシンのCOM1ポート(RS232C)を DOSモードで制御して外部機器へ命令したいと考えています。 しかし、ネットや本で調べたところVBなどで書くのが主流のようで プログラムの方法がわかません。 なんらかの情報でもよいので教えていただけませんか? よろしくお願いします。
664 :
デフォルトの名無しさん :02/12/05 21:34
プリプロセッサに対して、 #error "逝ってよし" みたいなことが出来ますが、 これをメッセージだけ表示するようにすることは できますか?
if((fp=fopen("a.txt","r"))==NULL) exit(-1); これで、exitをfflushにしてファイル操作をやめてプログラムを続行するのは駄目ですか?
>>665 何をfflushするんだよ。stdoutか?
意味のある処理が続行できるんなら続行しろよ。
そんな一行だけ見せられても、お前のプログラムの仕様なんて分からん。
>>667 いや、こういうのをよく見るんだけど、exitでは全てのファイルバッファをフラッシュするというから
そういうことをする必要があるのかなと思って…
そのまま続行したい場合は何もしなくていいのですか。
というか変なこと言ったみたいですね。スマソ
669 :
デフォルトの名無しさん :02/12/05 22:11
Pythonを基礎の基礎の基礎から始めたいんですが、本とかじゃなくてサイトで学習したいです。 オススメのサイトってありますか?
はいネタおもしろい〜
>>670 え?誰に言ってるの?俺?
全然ネタじゃないですが・・・
Pythonって駄目なんですか?
? 折れ? だとしたらもういいや、鬱だ寝よう
673 :
デフォルトの名無しさん :02/12/05 22:18
WindowsMEを使用しているのですが、 Cドライブのなかの「AUTOEXEC.BAT」にパスを書込めば完成なのでしょうか
・・・
ダメです。コンパイラ動きません。
>>1 も見ないようなクソ共に一体何を教えろというのだ
間違えてBAKのほうに書いていました。
bak all right. bak all right!
679 :
デフォルトの名無しさん :02/12/05 23:23
つい先日Cを始めたんです。 今勉強してるんですがどうしても for文、while文が理解できません。 どなたか教えていただけないでしょうか? あと、for文ってCを学ぶ上でそんなに重要なものなんですか? よろしくお願いします。
for(A;B;C)D; は A;label:if(B){D;C;goto label;} while(A)B; は label:if(A){B;goto label;}
>>679 なくてもプログラムは書ける
…が、絶対覚えたほうがいい。
書き直すとこうなる
for( i = 0; i < 5; i++ ) {....}
↓
i = 0;
while( i < 5 )
{
i++;
}
いろいろ自分なりにも勉強してるんですけど 難しいですね。 for(式1,式2,式3){...} 式1=初期化の式 式2=繰り返すかどうか調べる式 式3=変化のための式 こう書いてあるのを理解しようとしているのですが・・・。 高校一年生には難しいです。 それとも深く考えすぎですかね? あと、もう一つせっかくなので質問させていただきますが for文、while文はどちらも似た様なものなんですよね? ということはどちらか一つだけ覚えれば十分てことですか? よろしくお願いします。
>>679 for文はwhileぶんと似てるよね。たとえばさ
for(i = 0 ; i < MAX ; i++)
printf("%d",i);
っていうのは
int i = 0;
while(i < MAX)
{
printf("%d",i);
i++;
}
ってなるしょ?whileに+αしたのがforって感じかな。
この場合はforの方がすっきりしてみやすいけど、
whileの方がずっと見やすい事もある。初期化が不要だったり、ポインタ演算使うときとか。
だから両方覚えたほうがいいYO!
>似た様なもの...ということはどちらか一つだけ覚えれば十分 それ言ったらifとgotoでも十分だが最も意味的に 分かりやすいのを書くのが定石
exitの仮引数って意味はあるんですか? どんな値を渡しても、ちゃんと終了してくれるんでしょうか? あと、returnに1とか渡して、main関数を終わらせるのは、間違ってますか?
686 :
デフォルトの名無しさん :02/12/05 23:48
htmlファイルの解析したいんですけど 例えばソースファイル内に<B>があるが探したい場合 どうすれば効率よく検索できますか?
char *stringがあって、stringの中に\が含まれていたら、それを\\に置き換えたいです。 例 string = "hoge\\hoge\" 処理後↓ string = "hoge\\\\hoge\\" stringを1文字目から見ていって、\があったら、それ以降の文字を1つずらして、\を挿入するように したいのですが、文字列をずらす、もしくは文字を文字列に挿入するといった関数はありますか?
>>685 exitの引数はシェルへ返す値だったとも終われ。
どちらの方法も間違いではない。
>>685 mainが0以外を返すというのはエラーが起こったと言うことですね。
>>687 それ、文字列の長さとかを拡張したりしなきゃいけないんでかなり大変。がんばって!
>>686 exitのときは、色々処理をしていますよね?
私も詳しい事はわかりませんが、りふぁんれすに書いてありました。
return 1とした場合、どんな意味があるんですか?
異常終了してことを教えているんでしょうか?
>>686 文字列 検索 アルゴリズム
でGoogle検索。
>>687 ない。
ずらすときは確保したメモリからはみださないようにな。
>>689 一概には決まってなかった気が。結局環境依存になると思われ。
>>689 ありがとうございます。
exitの方が好ましいということはないんでしょうか?
返す値は1とかでいいんですね?
>>687 別領域にコピーしながらやるがよろし。
>>691 0なら正常、非ゼロなら異常終了という以外は
なにも決まっていない。1として良いかどうかも処理系定義。
完全にポータブルにしたければEXIT_SUCCESS(=0)と
EXIT_FAILURE(値は処理系定義)以外は使えない。
やはりCは文字列の扱いがめんどくさいね。
MSDNより exit 関数と _exit 関数は値を返しませんが、 親プロセスが待ち状態の場合は、呼び出し側プロセスの終了後に、 親プロセスが status の下位バイトを受け取ります。 status は、オペレーティング システムのバッチ コマンド ERRORLEVEL で参照でき、次の 2 つの値のどちらかで示されます。 EXIT_SUCCESS は 0 です。EXIT_FAILURE は 1 です。 # statusはexitの引数のことね
>>694 まあ、あれだ、シェルスクリプトを書くときにコマンドの返り値によって処理を変える
とかそういった使い方かな。
699 :
デフォルトの名無しさん :02/12/06 00:07
>>C言語でやるのだったらはどうすればよいでしょうか?
>>700 それを言いたいためだけに2レスも消費したんですか?
main関数がintを返すのって規格だよね? return 書いてないのは、だめなんでないの?
おっと、ここはWinスレじゃなかったか
C99ではmain関数の終端は勝手にreturn 0;になる
>>703 mainに限ってはreturnがなくても0を返すとみなすっていう話題が最近あったような・・・
>>706 前橋はreturn しろと言っているが・・・
K&Rがreturn書いてないのは問題ないの?
main()ってvoid main(void)って事でないのか?
>>707 またその話題かよ。と言われるのが落ちだぞ。というか俺が言った。
K&Rは糞という結論に。 あのmainの書き方は、ANSI準拠を詠う資格はない! mainはreturnすべき、絶対に。
えーと、C言語でチンコの勃起角を求める方法おしえてください。
>>711 こうでつ。
main()
{
int std_length,bokki_length;
scanf("%d %d",&std_length,&bokki_length);
printf("勃起角は%f度でつ。",(bokki_length - std_length) * 19.19072);
}
公式でつ。試験に出ます。
>>706 return文書かずにgccでコンパイルして実行したら3が返ってきたぞ。
int main(){}
>>716 こんなところで遊んでないで実家言った方が良いって。
>>717 実家いったら,袋にされそう・・・
首輪がいけなかったか・・・
SEなんで給料がいいんだが,それでは補えなかったか
C89ではたぶん決まってないんだろうな。 でも、K&Rがreturn書かなかったものだからそれに合わせるように C++/C99で変なルールを作ったと。
首輪プレイですか
ん?いや、だからゴミだから問題あるんだろ?
>>714 だからゴミなんだよ。
だから明示的にreturn 0;としなければいけない。
>>723 ゴミじゃないっていう保障は?
じゃなくて、
ゴミだっていう保障は?
って聞くべきだったって事
ああ、そうかごめん。706見て無かったよ。
アセンブラレベルで考えれば、実に明白。
729 :
デフォルトの名無しさん :02/12/06 01:04
なにガベってんだYO!
(´-`).。oO(本だったらスキャンして…
>>713 ちゃんとgcc -fstd=c99オプションつけた?
>>731 その前にgccのバージョンを聞かなくて良いんですか?さっきから疑問なんですが。
>>731-732 2.95です。
cc1: Invalid option `-fstd=c99'
C言語は終わったはずなのに、なんでこのスレは好調なんだ?宿題か??
>>733 ドキュメントに載ってない?
昔は何だっけ… -std=c9x だっけ。
>>734 ご自分のスレッドに帰るのが身のためです。
737 :
デフォルトの名無しさん :02/12/06 09:01
16進数なら0x、8進数なら0を前につけますよね。 2進数ならどう書けばよいのですか?お教えください。
>>737 規格では出来ない。
コンパイラによっては拡張機能として0bで指定できるものもある。
そういう機能がない場合は↓みたいなのを定義するとか。
#define Ob0000_0000 0
#define Ob0000_0001 1
#define Ob0000_0010 2
…
#define Ob0000_0000 0 #define Ob0000_0001 1 #define Ob0000_0010 10
742 :
デフォルトの名無しさん :02/12/06 10:59
LCC-Win32なんですが、
>>2 でライセンスや機能などに問題あり、とありますが
どのように問題があるのでしょうか。
英語め…。
>>742 漏れも英語わからんがダウンロードしてみた。
インストーラに出てくる Licence Agreement で、商用禁止をうかがわせる
文があった。
学術研究に関してなら制限無しのようだ。
機能についてはまだわからない。
機能については、日本語に対応していないこと、C++ が使えない事以外は問題なさそうだ。
>>743-744 おおお、どうもです。
機能の問題はやっぱりそれだけですよね。
商用禁止か、
これで作ったものをフリーで配布することに関しては問題無いのだろうか…?
実際使ってるのですがね。
746 :
デフォルトの名無しさん :02/12/06 13:26
free()に配列の配列を渡した時、 その配列が作られた過程を問わず、全ての領域を解放してくれますか? つまり、 /********* 以下、プログラム(headerファイルのincludeは省略) **********/ int i; int num_of_strings = 123, len_of_a_string = 1024; char **strings; strings = (char **)calloc(sizeof(char *),num_of_strings); for(i=0;i<num_of_strings;i++) strings[i] = malloc(len_of_a_string); free(strings); /****************************** 以上 *********************************/ としたとき、 最後のfreeは、その上のforの中でmallocした領域も解放してくれるか? ということです。 それとも、for(〜〜) free(strings[i]); をその前にやらなきゃいけませんか? よろしくお願いします。
>>746 Cがそんなに便利な言語なわけなかろう。
ありがとうございます!
>>744 すまん、読み間違えていた。
LCC 本体および付属品を転売してはいけない、と書いてあった。
雑誌の付録につけたりするのが NG なのかな。
LCC でコンパイルされたプログラムはその作者に属し、LC 作者の許可を得る事なく
販売できる、と書いてあった。
>>750 ああ、そうなのですか。
では自由に配布もできますね。
落としてわざわざ見ていただいて、感謝です。ありがd。
>>746 よ、お主が提示したもの配列の配列ではない
進数チェンジャーできました。どうでしょう。 #include <stdio.h> #include <string.h> #define BEFORE_NUM "60cm" //前の数値 #define BEFORE_SIN 23 //前の進数 #define AFTER_SIN 10 //後の進数 int main(void) { long i,s,r,n; char bC[]=BEFORE_NUM; long bN,bS=BEFORE_SIN,aS=AFTER_SIN; printf("%s(%ld)\n↓\n",bC,bS); s=strlen(bC)-1; for(i=0,r=1,bN=0;i<=s;i++,r*=bS) { n=bC[s-i]; bN+=(n>'9'?n-'a'+10:n-'0')*r; } for(i=1;i<=bN/aS;i*=aS) ; for(;i>=1;i/=aS) { n=bN/i%aS; printf("%c",n>=10?'a'+n-10:'0'+n); } printf("(%ld)\n",aS); return 0; }
読み込みは strtol()
>>687 コンソールプログラムで置き換えしながら、printfで順次文字出力するプログラムを作って、
リダイレクトでテキストに出しなされ。
757 :
デフォルトの名無しさん :02/12/06 18:39
char hoge[40]; if(hoge == ' ',' ',' ',・・・・){ hogeの中身がスペースだったら、っていう ショリするときってこうするしかないのでしょうか?
>>758 >>759 ──■──■──────■─────────■────────────
─■─■─■────■■■■■─────■■■■───────────
■■■■─■■■■───■──■■─────■─■■■■──■■─■■
──■─■───■───■─■──■───■──────■─■■─■■
■■■■────■───■■───■───■─────■───■■■─
──■──■──■──■■────■──■───■──────■■■─
■─■■──■─■─■─■────■──■──■────────■──
─■■─────■───■────■─────■────────■──
■■────■■────■─────■─────■■■■■──────
またアホが沸いた
762 :
デフォルトの名無しさん :02/12/06 19:26
int Recv(char *pbuf) { char recvbuf[16384]; while(1) { recv(socket, recvbuf, 16384, 0); } ・ ・ } みたいなプログラムがあって、この時どれくらいのサイズのファイルを 受信するか分からないので、mallocでバッファを確保したいのですが この時に、関数Recv内ではなく、呼び出した側でmallocで確保したいのですが 何か良い方法はありませんでしょうか?
763 :
デフォルトの名無しさん :02/12/06 19:39
いまさらC?
> if(hoge == ' ',' ',' ',・・・・){ 常に成り立ちそうだ。
766 :
デフォルトの名無しさん :02/12/06 19:50
763 そ、そうか そ、そういうかんがえがあるのか・・・ 俺は今猛烈に感動している
>>762 どれくらいのサイズを受信するのか分からない場合は、普通どのくらいの
バッファを確保して言いか決定できない。
従って、とりあえず適当なサイズのバッファを確保し、受信してみて、
足りなかったら realloc() で拡張していく。
Recv() を呼び出した側で malloc() したいなら、そうして、ポインタを
Recv() に渡せば良いが、そうする意味はない。
初心者をいじめんといてください。。。 スペース入ってたら、という条件は どうすればいいんですかー!! ヽ(`Д´)ノ ウワァァン!!
>>768 769 は無視しろ。
配列の内容は一気に比較できない。
for ループで回して 1 要素ずつ調べろ。
無視されてしまった・・・。
>>772 僕と結婚してくれませんか?
ガムバッテミマス!
アリガdゴザイマスタ
スマター!!
>>777 へ?strchrで駄目な理由って何?
char buf[256];
fgets(buf, sizeof buf, stdin);
if(strchr(buf, ' ') != NULL)
printf("スペースが見つかった\n");
else
printf("スペースが見つからなかった\n");
なんでわざわざループで回す必要があるのか小一時間問いつめたい。
>>777 これじゃダメなの?
#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]) {
char hoge[40];
if (argc > 1) {
strcpy(hoge, argv[1]);
if ((strchr(hoge, ' ')) == NULL) {
printf("エn");
} else {
printf("エn");
}
}
return 0;
}
>>777 さっきの失敗。
こっちね。
#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]) {
char hoge[40];
if (argc > 1) {
strcpy(hoge, argv[1]);
if ((strchr(hoge, ' ')) == NULL) {
printf("あった\n");
} else {
printf("なかった\n");
}
}
return 0;
}
ああ、また間違ってるし。 「あった」と「なかった」逆だね。 そこのケーブルで首t(略
char hoge[3]; char piyo[5]; int i, t; for( i=0; hoge[i] !=0x20; i++ ) memset(hoge, NULL, 3); for( t=0; piyo[t] !=0x20; t++ ) memset(piyo, NULL, 5); /*以下スペース入ってなかったら本ショリ*/ こんな感じでできますかね・・・?
>>782 hoge, piyoの中にスペースが入ってないと暴走するぞ
あと0x20とかせずに素直に文字リテラル' 'を使え
ちなみに' 'と" "は意味が違うんで教科書を良く読んどけよ
同じようにNULLと'\0'は意味が異なる、
あとhogeやpiyoの大きさを変えたときわざわざmemsetの第3引数を
変えるのは面倒だろ。文字列を'\0'で初期化したいならば、
> memset(hoge, NULL, 3);
> memset(piyo, NULL, 5);
memset(hoge, '\0', sizeof hoge);
memset(piyo, '\0', sizeof piyo);
とした方が良い。
>>778-780 「hoge の中身がスペースだったら」 をどうすれば 「hoge の中にスペースが
見つかったら」 に曲解できるんだ?
ごめん、782 のコメント見る限り strchr() でよさそうだ。
>>784 > 「hoge の中身がスペースだったら」
了解、では意地でもループは使わずにやってやる
hoge[40];
cmp[40];
memset(cmp, ' ', sizeof cmp);
if(strcmp(hoge, cmp) == 0)
printf("全てスペース\n");
else
printf("スペース以外が入ってる\n");
で、こんなの作ってどうするんだ?
>>784 うん、最初はhogeが" \0"だったらとかhogeがスペースのみの集合だったらとか考えたよ。
でも
>>768 で?スペース入ってたら」となってるから
「hoge中に一つでもスペースが入ってたら」と解釈したんだが。
実際
>>782 見てもこれであってると思うけど。
>>783 サソ
ご丁寧にアリガdゴザイマス
このままじゃ暴走いたしますか・・・
どうするか・・・?
コマータコマータ
漏れやぱりPGには向いてないなぁ。。。
んなこたぁーない がんがれ
>>789 向き不向きはかなりの部分努力で補えるよ。
また困ったらここにおいで。
>>790-791 サソ
アリガdゴザイマス
2chデハジメテ
カンドウシター!!
誰もいないオフィスで゙チョイナキソウニナッタ・・・
またきます!
いや、ちょっと待った。 757 は hoge の中にスペースが見つかったら何をしたかったんだ? 782 ははっきり言って目的不明な処理だぞ。
hoge でなく moe はどうか?
カコイイ
moe はいいが nae はいかがなものか。
お前らいつか死ぬぞ。
知ってます。
そりゃまあ。
苦しゅうない、朕は不滅じゃ。
int value = 任意; if (0 <= value) { value = 0; } これ、ifを使わないで計算だけでかけますか?
>>804 value = (0 <= value)?value:0;
俺って天才!
//面倒くさいからintは32bitと仮定
int val;
{
unsigned int i = val & 0x80000000;
i = i | (i >> 1) | (i >> 2 ) | (i >> 3 ) | ...略.. | (i
>>31 ) ;
return val & i;
}
>807 じゅうぶん面倒だろそれ。 value * ((value >> 31) & 1);
>>804 value = value * (value < 0);
でも、素直に参考演算子か if 文使って書いた方がいいよ。
説明不足でした。
可読性、速度、汎用性などを考慮したコードでは?
1000万回連続実行した場合の合計時間(debug build)。
>>804 31(ms)
>>805 94(ms)
>>807 313(ms)
沢山の回答ありがちょう。
全てにおいて
>>804 のコードが勝っていると認定されますた。
漏れって天才!
なるほど、こういう釣り方もあるのか。。_φ(..;)メモメモ
釣りとか嫌
構造体について疑問。 struct DATA { int a; } とした後、 struct DATA d1,d2,d3; とした場合と、 DATA d1,d2,d3; のようにstructを省略した場合とでは、どんな違いが出るんでしょうか?
>>812 君の言う天才は他人からみれば馬鹿以下なんだよ
>>816 前者は問題なくコンパイルできるが、後者はエラーになる。
>>820 VC++6.0だとエラーにはなりませんが…
>>821 ここはC言語スレですが何か。
$ cat a.c
struct DATA {
int a;
};
DATA d1, d2, d3;
$ cl -c a.c
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
a.c
a.c(4) : error C2061: 構文エラー : 識別子 'd1' がシンタックスエラーを起こしました。
a.c(4) : error C2059: 構文エラー : ';'
a.c(4) : error C2059: 構文エラー : ','
$ mv a.c a.cpp
$ cl -c a.cpp
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
a.cpp
>>817 >>819 誰もが書くであろう基本的なコードが1番早かった。ちゃんちゃん。
って落ちなんだよ。反抗期さんわかった?
>>816 CとC++の違いだな。
>>823 ほう、それはよかったな。
満足したら、もうくるなよ。
>>823 氏ねよ。マジで。
お前みたいな社会の屑は迷惑だ。
何が天才なんだか。 else 無しの if が一番速いのは実行しなくてもわかるだろうに。
827 :
デフォルトの名無しさん :02/12/07 14:16
つーかこうせんかな。 if (value < 0) value = 0;
はっ!?
ひっ!?
(゚Д゚)ハァ?
( ´_ゝ`)プッ!
832 :
デフォルトの名無しさん :02/12/07 14:36
( ゚Д゚)h?
ふーん( ´_ゝ`) <=> (´<_ ` )そっか
(゚Д゚)ィェーッ
Σ(゚д゚lll)ガーン
('_`)ソウカ・・・
・・・
クソすれ
842 :
デフォルトの名無しさん :02/12/07 16:51
>>823 なぁさ、最適化OFFにしたときはきっと結果は変わると思うんだがどうだろう?
そら、もっとも使用頻度の高いifがかりかりにチューンされているのは当たり前であって。
やっぱりお前は凡人だな。
つまらん。
> 使用頻度の高いifがかりかりにチューンされているの (゚Д゚)ハァ? そんな特別な事してねーよ。 単に if で書くと必要な演算量が減るだけだ。
つーか、827 は何がいけないんだ?
フルートが鳴りません。どうしたらいいですか?
いや、827 は value == 0 の時に代入が発生しないからより高速に動く事を 期待できるはずなんだが、みんな何をそんなに一生懸命叩いているんだ? 847 のような理由は置いといて。
間違ってるから。
ああ、比較の向きか。やっと気付いた。
>>854 > なんか熱くなってない ?
いや全然。でも>853を見るまで気づかなかったよ。
848 に誰か答えてください
電気を使わないタイプのフルートのようです。
つまんねーー!!!
>>858 だったら不良品だから、交換してもらってください。
フルートですが、マジでドとレとミの音が出ません。 クラリネットではありません。
実はプルート
実はプルーン
実はぷるるん
実はぬるぽ
869 :
デフォルトの名無しさん :02/12/07 20:17
>>863 マジレスするが、ド とか言うなよ。恥ずかしいぞ。
十二音全て、ド になることができるんだからさ。
871 :
デフォルトの名無しさん :02/12/07 20:32
じゃあ何て言うの?
ハ
873 :
デフォルトの名無しさん :02/12/07 20:35
ラだよ馬鹿
わかった!! C だ!!
>>874 ピン・ポ〜〜〜ン。
もちろん「シー」なんて言っちゃ駄目だよ。
西洋では CDEFGAB ... 日本では ハニホヘトイロ ...
ドボルザークが
>>870 マジレスするが、そんなことは初めて聞いた。
>>881 相対的な話だろ。それが調にもつながるという。
だとするとAの周波数が厳密に決められてるのはおかしいわけだがw
>>881 それぞれの調の主音をドと読むんだよ。
ニ長調ならレをドと読み替える。
楽典読んでごらん。
>>881 音楽のことを知らないくせに偉そうなこというな。
黙ってろヴォケが。
>>882 A の周波数ってどっかで決まってんの ?
普通は、440Hz〜445Hz ぐらいの幅持ってたと思うが。
887 :
デフォルトの名無しさん :02/12/07 23:57
つーか、これ何のスレだ?
ツェー
>>886 ここで調律論をやる気か?
440Hzと覚えておけば充分。
< < >858-889ハァァァ??? < ∨∨∨∨∨∨∨∨∨∨∨\ /∨∨∨∨∨∨∨∨∨∨ /:|. | | /:| / .:::| ∨ / :::| | ...:::::| / ::::| i  ̄ ̄⌒゙゙^――/ ::::::::| /_,,___ . _,,,,__,_ :::::::::::\ / ゙^\ヽ.. , /゙ ¨\,.-z ::::::::::\ 「 ● | 》 l| ● ゙》 ミ.. .::::::\ /i,. .,ノ .l| 《 ..|´_ilト ::::::::::\ / \___,,,,,_/ .'″ ^=u,,,,_ v/.. :::::::::::::l! |  ̄ ,,、 i し./::::::::.} | / ,,____ _,/ ̄ \ \ ノ ( ::::::::::| | |.. | /└└└└\../\ \ '~ヽ ::::::::::::::} | .∨.|llllllllllllllllllllllllllllll| ::::::::::{ | |.|llllllllllll;/⌒/⌒ 〕 :::::::::::} | |.|lllllllll; ./ . . | ::::::::::[ .| |.|llllll|′ / . | .| :::::::::::| .| |.|llll| | .∧〔 / :::::::::::::/ / }.∧lll | ../ / / :::::::::::::::::\ / /| \┌┌┌┌┌/./ /::: :::::::::::::::::\ ( ゙゙^^¨^¨゙゙¨  ̄ ̄ ̄ /::::::::::: ::::::::::\
>>889 何言ってんのこの人 ?
俺は、A の周波数が (* 厳密に *) 決められているかどうかか知りたいだけだよ。
>>891 それをしってどうなる?
人間の耳は5Hzの違いなんて聞き分けられないぞ。
プログラム的には450でじゅうぶんじゃねーの。
それ以上のことを言うヤシは町立論(略
>>892 2行目に単位書いて3行目にそれがないのって不思議。
ラの音は周波数が上がってきているんだよ。 昔は400Hzくらいだった。
でも地球の自転速度は徐々に遅くなってきてるぜ。
>>892 > それをしってどうなる?
単なる興味だよ。ウィーン音楽協会みたいなとこが決めてんのかなぁって思っただけ。
> 人間の耳は5Hzの違いなんて聞き分けられないぞ。
フシ耳ですか ? 440Hz に対して、5Hz と言うと半音の約 1/5 だよ。
素人でも、なんとなく分かるぐらいのところだよ。
絶対音感持ってる奴なら、確実にわかるぞ。
ちょ球の自転速度が遅くなるはずはありません。 なぜなら地球は宇宙エネルギーをもらって動いているので 永久不変なのです。 もし自転速度が遅くなる時は宇宙がビッグバンになる時くらいです。
>>898 何cent?20cent位なら聞き分けられるYO!
秒の定義はもう変わったよ。
1分の1/60が1秒です。
1時間の1/60が1分です。
嵐どもはさっさと氏ね
>>905 じゃあ1時間の定義は?
1日の1/24が1時間です。
じゃあ1日の定義は?
>>907 太陽が南中してから翌日再び南中するまでの時間。
>>901 おお、久しぶりに cent なんて単位を聞いたよ。
既に定義を忘れてたので、ググッたら 100cent = 半音 ということのようだ。
つーことは、440Hz と 445Hz の違いは...
(log(445/440) / log(2)) * 1200 = 19.562174794920598517900518817139
やね。
>>898 にも書いたけど、普通の人ならなんとなくわかるぐらいだよ。
DETUNEでちゅーん
912 :
◆ZtXjKqCmiQ :02/12/08 01:18
C言語の話題は?
#include と打ったらトリップになっちまった(T_T)
本物はボキです?
話を蒸し返すようで悪いんだけどさ
英語での
CDEFGAB
ドイツ語での
CDEFGAH
日本語での
ハニホヘトイロ
をイタリア語では
ドレミファソラシ
って発音するんだよ。
だから
>>883 は真赤な嘘。
あとは音楽板のほうでどうぞ
917 :
デフォルトの名無しさん :02/12/08 01:58
Javaしか触ってなくて、Cのソースがイマイチ読めないんだけど、何とか上手に読む方法ない? 木生成のアルゴリズムなんだけどね。
>>915 もしそうだとしても、それが通用するのはイタリアだけじゃないのか?
普通は調によってドそのものが変わる・・・
これ以上は音楽板逝くべきだな
そろそろ、次スレなんだが・・・ >入門書レベルの質問はC言語質問所スレへ行け。 入れる? ここはどうしても荒れてしまうから。なんか。
920 :
デフォルトの名無しさん :02/12/08 02:15
配列の最大数は決まってるのですか? 最大数を大きくしたい場合どうすればよいですか?
921 :
デフォルトの名無しさん :02/12/08 02:24
int型の最大値と同じって事ですか?
>>922 INT_MAXは、多分論理アドレスのMAX値ということが言いたいんだと思うが、
実際にはそこまで取れないと思う。
ごめん。論理アドレスのMAX値だったらUINT_MAXだ。 ただしintとポインタの大きさが同じ処理系に限る。
926 :
デフォルトの名無しさん :02/12/08 04:39
>>924 規格では、どの処理系でも最低限65535バイトのオブジェクトは作れることが
保証されている。それ以上大きいのは作れない処理系でも規格準拠といえる。
だから、「絶対安全」と保証されている配列のサイズは65535バイトまで。
440Hzがラ?下のプログラムを見てください。ファになるのですが。DOS/V、ANSI.SYSが必要と思われます。ポート入出力なので注意してください。 #include <stdio.h> #include <conio.h> #include <time.h> int main(void) { int Hz=440,int key=0,pM=1;clock_t t; printf("\x1b[12;5H+:+ -:- *:*2 /:/2 0:増減値増加 .:増減値減少 Enter:♪ p:End"); printf("\x1b[14;37H増減値:%-5d\x1b[16;37HHz:%-5d",pM,Hz); for(;;) { key=getch(); if(key=='+')Hz+=pM;if(key=='-')Hz-=pM;if(key=='*')Hz*=2;if(key=='/')Hz/=2;if(key=='0')pM++;if(key=='.')pM--; if(Hz<=-1)Hz=0;if(Hz>=32768)Hz=32767;if(pM<=-1)pM=0;if(pM>=32768)pM=32767; if(key=='\r') { _outp(0x43,0xb6);_outp(0x42,Hz%256);_outp(0x42,Hz/256); _outp(0x61,_inp(0x61)|0x03); for(t=clock();t+500>=clock();); _outp(0x61,_inp(0x61)&0xFC); } printf("\x1b[14;44H%-5d",pM);printf("\x1b[16;40H%-5d",Hz);if(key=='p')break; } return 0; }
929 :
デフォルトの名無しさん :02/12/08 05:13
素数のプログラムを作らないと単位が取れないです。 誰か作り方を教えてください。
932 :
デフォルトの名無しさん :02/12/08 05:18
933 :
デフォルトの名無しさん :02/12/08 05:18
ここは C のスレだから A の話はいかんのだろうが、A = 465 Hz というべらぼう なチューニングもあるらしいぞ。 それは置いといて、移調楽器の基音をドと呼ぶ事でずらすことはよくあるみたい だけど、曲調によってドが変わるという話は聞いたことないぞ。 友人に、音大卒もプロで楽器やってる人もイパーイいるが、みんな例えばニ長調なら レミファソラシドレと言っているし、そんな事は教わらなかったと言っている。 第一、ドレミファソラシドはイタリア読み、CDEFGABC は英語読み、CDEFGAHC は ドイツ読み、ハニホヘトイロハは和読みというだけで、それ以上の違いはないだろう。
>>934 レミ 「ファ#」 ソラシ 「ド#」 レ
>>934 「固定ド」と「移動ド」くらい中学校で習うだろ。
な〜にが音大だYO!
悔しかったから一生懸命調べたんだろうが
もっぺん出直して来いや。他の板でナー。
ここには2度とくるな!
>>936 中学レベルの音楽知識で大口叩くとは真性キティだな。
音名と階名を混同してると思われ。
実際問題として音名の意味で「ド」とか「レ」とか言うことのほうが多いし、
「音合わせしたいからラの音出して」と言われて「調は何ですか」
なんて聞くやつはおらん。
音合わせするときにわざわざ○○の音出してなんて言うか?
>>937 ハイハイ、もう分ったから他の板逝って。
検索してみれば分るけど「固定ド」「移動ド」どちらを
使うかはコミュニティの流儀による。「あんたのまわりでは」
そういう決まりなのかもしれんが、他では違うかもしれん。
少なくとも中学高校の音楽では「移動ド」で教えているから
アマチュアの大部分にはそちらのほうが馴染みがある。
ハニホ…やCDE…ならそういう混乱の余地は無い。
>>937 「ハ長調」とか「C Major」とかは言うけど、「ド長調」とは言わない。
「ド」は移動する(ことがある)から。
君の理屈では「ド長調」「ラ短調」があるはずだが?
そういえば、「ハ長調のソがト長調ではドになる」というように 習ったな…「トがドになるのがト長調」と覚えた。
>>937 は中学で音楽を落第しますた。
「ド長調」(ププ
階名という言葉を知っているのに意味を知らないとは変な奴だな
>>937 って。
「ドレミ」は音階によって呼び名が変わる(移動する)から階名と言うんだけど。
音楽理論の教科書とかにはI II III IV〜とか数字で書いてあるけど、 そういうのは実生活で使わないのですか>薀蓄垂れしてる人
新たなミュージックシーンが誕生する予感。 "ド長調" from ム板@2ch
>>945 コード教えてる本に載ってたなぁ。
Iをトニックにして後は相対的にって漢字の。
動的に音階を生成
>>948 >中学レベルの音楽知識で大口叩くとは真性キティだな。
いらんこと書かなきゃ良かったのにな(藁
うんち君垂れている人
まだ音楽話やってたのか…。 話の腰折って悪いけどちょっと教えて。 任意の文字列 char str[] 中に %02d のような型指定子があるかないか調べたくて char s1[], s2[]; sprintf(s1, str, 1); sprintf(s2, str, 2); if (strcmp(s1, s2) == 0) { /* 型指定子なし */ } else { /* 型指定子あり */ } ってやったんだけどこれって問題ある? str[] によっては sprintf() で 1 や 2 が変換されないじゃない。 行き場のない引数を与えていいものか気になるんだけど。
>>952 str = "%2d%s%s%s%s%s%s%s";
で試してみ。
普通はト長調について言う。
956 :
デフォルトの名無しさん :02/12/08 15:18
957 :
デフォルトの名無しさん :02/12/08 15:25
959 :
デフォルトの名無しさん :02/12/08 15:29
>>958 いい加減にしろクソヤロウ。
もうこれ以上荒らすな。
>>937 > 「音合わせしたいからラの音出して」と言われて「調は何ですか」
> なんて聞くやつはおらん。
お前、楽器のこと知らんだろ。ラの音出してなんて言うわけないじゃん。
指揮者が間違えてそんなこと言ったら、金管楽器、サックスとビオラ奏者に「ざけんなよ」と言われてもしょうがないぞ。
(他の楽器もあるかも知れんがなにぶんにも記憶が曖昧だ。)
これらの楽器は、
>>934 が移調楽器と書いてある通り、普通に言う「ラ」の音が既に移調されている。
だから、オーケストラの楽譜等では楽器に合わせて移調して書いてある。
確かフルートがハ長調で書いてあったら、トランペットはニ長調で書いてあるはず。
(中には、C 管なんて言うトランペットもあるけどね。)
普通の楽団なら、「音合わせしまーす。」とか言うだけで、みんな A の音を出すよ。
(つーか、みんなの準備が揃った頃に第一オーボエ奏者が「ポェ〜〜〜」と吹き始めて、それに合わせるんだと思う。)
C言語って音楽に関係する言語だったんですね。
>>962 いや、もう 915=934=937 がタダのクズヤロウであるという
結論は既に出ているわけで…
C言語スレは軒並み壊滅だな。
「質問所」スレを立てた1は、 思い通りに荒らせてさぞ満足してるだろうな…
969 :
デフォルトの名無しさん :02/12/08 18:47
もう埋めてしまいませんか? 誘導書き込み荒らしがうざいので。 協力者求む 969ゲット!
がーん。 970 ニナッテシマッタ・・・
>>972 いい加減にしろクソヤロウ。
もうこれ以上荒らすな。
埋め埋め
977ゲトズザー
,〜'~`〜'~`〜'~`〜'~` 、 。 ∧_∧。゚ ( ひぃえぇぇぇぇぇ ) ゚( ゚´Д`゚)っ゚ ( 誰か助けてぇ〜!!! > (つ■ / `、_,〜、_,〜 、_,〜 、_,〜' | (⌒) し⌒^ '''''
\モウ/ \ね/ \ アボカド / \ 馬 / \ 鹿 / \ カト / ∩ ∩ | つ ⊂| ∩;;;∩ ∧ノ~ ! ,'っ _c,! (Y;;;;;;;;;;ヽノ) ヽ ミ| ・ \ ⊂/ ・ \ i;;;;;;;;;;゚;;;゚ヽ γ⌒^ヽ ミ| ... '_) | __,,▼ ∫ /;;;;;;\;;;;'⌒) /::::::::::::::ヽ ミ| (,,゚Д゚) |・ (,,゚Д゚) (,,゚Д゚) )|;;;;;;;;(,,゚Д゚) (⌒)(⌒) /.:::::::::(,,゚Д゚) | (ノ |) | (ノ |) ⊂三つ: つ ババンバ ι|;;;;;;;つ ;;;/つ ( ・Å・) i::::::(ノDole|) | 馬 | |・・ .鹿 | |||||||| バン ヽ..;;;;;;;;/ γ⌒ ( ゚Д゚)) ゙、:::::::::::::ノ 人.._,,,,ノ ι・,,__,ノ | | バン U"U 乂_) UU U"U U"U U"U U"U
何このスレ・・・・・? /ヽ /ヽ / ヽ / ヽ ______ /U ヽ___/ ヽ | ____ / U :::::::::::U:\ | | // ___ \ ::::::::::::::| | | | | | U :::::::::::::| | | .|U | | ::::::U::::| | | | ├―-┤ U.....:::::::::::::::::::/ | |____ ヽ .....:::::::::::::::::::::::< └___/ ̄ ̄ :::::::::::::::::::::::::| |\ | :::::::::::::::::::::::| \ \ \___ ::::::::::::::::::::::::|
なんかここ二三日で激しく荒れてるな。
へ ヘ へ ヘ へ ヘ \| / \| / \| / ';: ":;. ';: ":;. ';: ":;. ∧∧⊂.;'、 :つ ∧∧⊂.;'、 :つ ∧∧⊂.;'、 :つ ;'゚Д゚、":、.: :;:' ;'゚Д゚、":、.: :;:' ;'゚Д゚、":、.: :;:' '、;: ...: ,:. :.、.: ' '、;: ...: ,:. :.、.: ' '、;: ...: ,:. :.、.: ' `"∪∪''`゙ `"∪∪''`゙ `"∪∪''`゙
._ |:::::| |:::::| ∧_∧. ∧_∧|:::::| ( ´∀`∩(・∀・ )___| | ̄ ヽ ( つ ノ ( ⌒つ| ..| /  ̄.| |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ .| |_______________.| |::::::::__ __ __ __ __:::::::::| |::::::`.! !´ ./△ ! `l D )`l l//´::::::::| |:::::::::| |_// ̄!.!__| |\ヽ,,| !\\_ :::::::| |::::::::´――' '――` ´―― ´―` :::::! |_;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;_| | SPECIAL. MILD. TOBACCOS. | ( |――――――――――――――‐| ) ノノ | ______ | (( ) ( | ヽ / | ) ノ ) ( | | .∧ ∧ | | ( _⌒) ( ( ) | | (゚д゚,,) | | )ノ ヽヽ ノ | | .| | ( ( ) )) | . ̄ ~~  ̄ | ∧ ∧ )ノ ウマー (,, ( | MILDS | (,,゚д゚)O_____________)ノ | CHARCOAL FILTER. | ( ⊃(;;;;;;;;;;;;;;;;;;;;;;;( ((;;) |____________________|〜(,,⌒⊃⊃ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄
\ \ \ \ /| 。. ,,-'―\ _,/ノ . . ___,,-―――='' ̄ ̄ _,,-'―=''' ̄_,/| o * _,,-―=''' ̄ ___,,-―――='' ̄ __,-―='' ̄ / . . . _,,-―=''' ̄ _,,-―='' ̄ ヽ / +  ̄ ̄ _,,-―=''' ̄ \ / . . . . ,,-='' ̄ ヽ / . 。. ★ ☆ ,,,-'' ヽ/ 。. . -―'' ̄ /\ ___, /\ | . ☆ + . | ..::::::::::::... | / ..:::::::... | + . . . | | / | . . ☆ ヽ γ´~⌒ヽ. | / /☆ . * +. . ――ヽ / ヽ | / /⌒ヽ、. . . . \/ | |_/ / ヽ +★ / | / ノ * ☆
埋め立て
♪きのこっのっこーのこげんきのこっエリンーギマイタケブナ(゚д゚)シメジ! /⌒ヽ γ´⌒`ヽ / ● ヽ ./Oo〇oOヽ ,-''"¨ ̄¨`'‐、 (●/⌒ヽ●) (Oγ⌒ヽOo) (,,(,,i,,,i,,,,,,,,i,,,,i,,),) ヽ|´∀` |ノ )) ヾ(゚Д゚ )゚ノ )) ) ( )) .ゝ___ノ ゝ_ノ. (゚ー゚* )
埋め立て
>>988 どうも左と真中が毒キノコに見えるわけだが・・
>>962 オーケストラの音合わせは指揮者の口笛を基準にするんだよ。
ウソだけど。
1000間近なのに静かだなぁ。 1000は誰かに譲るよ。 お前ら、今までに何回1000取った事ある? 俺は2回
俺1回。 っていうか前から疑問なんだけど1000取ると何が嬉しいの? 俺は別に嬉しくなかった。普通に会話しながら1000逝っちゃったし。
1000
1000
1000
1000
1000 :
デフォルトの名無しさん :02/12/08 21:25
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。