5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

C言語なら俺に聞け(入門編)Part 85

1 :デフォルトの名無しさん:2011/05/30(月) 06:21:04.32
C言語の*入門者*向け解説スレッドです。

★前スレ
C言語なら俺に聞け(入門編)Part 84
http://hibari.2ch.net/test/read.cgi/tech/1305216054/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
  ↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 148代目
http://hibari.2ch.net/test/read.cgi/tech/1305867431/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
★ぬるぽ。

長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/

2 :デフォルトの名無しさん:2011/05/30(月) 07:44:54.02
>>1ガッ

3 :デフォルトの名無しさん:2011/05/30(月) 07:57:28.28
糞スレ

4 :992:2011/05/30(月) 10:38:42.31
前スレの

>994

ありがとうございます

参考にします

5 :デフォルトの名無しさん:2011/05/30(月) 17:37:42.02
Cがjavaより遅いって本当ですか?
http://twitter.com/#!/BrightGenerous/status/73926671329271808

6 :デフォルトの名無しさん:2011/05/30(月) 18:18:22.19
>>5
ヘボが書いたものは長大で遅くてバグだらけ
出来る人が書いたものを使ったほうが早くなるのは当然

7 :デフォルトの名無しさん:2011/05/30(月) 18:28:41.09
大前提として、プログラミング言語の実行速度の
性能差は高々定数倍。
アルゴリズムの選択を間違えるとオーダーで遅くなる場合があるから
そういうこともある。

8 :デフォルトの名無しさん:2011/05/30(月) 18:36:47.99
同じ奴が書いて比較しないと意味ないだろう

9 :デフォルトの名無しさん:2011/05/30(月) 19:12:52.68
それだとコンパイラ次第じゃね?
個人的にはiccよりJavaが速かったことは無いわ。

10 :デフォルトの名無しさん:2011/05/30(月) 19:34:45.73
関数の途中でエラーが出たらmain関数に処理を戻したいんですがreturn文以外に方法ないですか?

11 : 忍法帖【Lv=1,xxxP】 :2011/05/30(月) 19:37:21.57
>>10
longjumpと言う手もないではないのですが、
ろくなもんじゃないので大人しくreturnで済ますのが無難です。

12 :デフォルトの名無しさん:2011/05/30(月) 19:38:10.84
>>11
なるほどありがとうございました!

13 :デフォルトの名無しさん:2011/05/30(月) 20:27:26.69
関数ポインタの利点、使い道を教えてください
プロトタイプ宣言すれば別のファイルからでも関数呼び出せますよね?
ポインタを使う意味ってなんですか

14 :デフォルトの名無しさん:2011/05/30(月) 20:34:02.17
>>13
実行時に呼び出す関数変えられるじゃん。

15 :デフォルトの名無しさん:2011/05/30(月) 20:37:34.46
テーブルjmpとか知ってる?

16 :デフォルトの名無しさん:2011/05/30(月) 20:37:50.93
>>13
関数ポインタを使えば、関数の名前を知らなくても関数を呼び出せるでしょ。

例えば GUI ライブラリなんかで、ボタンを押した時の処理を指定する時に
関数ポインタが無いと困る。

GUI ライブラリの側で予めコールバック関数の名前を決めておいて、
ライブラリのユーザはその名前で関数を作るという事も出来るけど、
その方法だと、同じボタンを複数作りたい時に破綻する。

17 :デフォルトの名無しさん:2011/05/30(月) 20:55:10.01
コールバック関数だと、わかりにくいのでは?

18 : 忍法帖【Lv=1,xxxP】 :2011/05/30(月) 21:35:44.41
つ[qsort()]

19 :デフォルトの名無しさん:2011/05/30(月) 22:21:35.87
つ bsearch()

20 :デフォルトの名無しさん:2011/05/30(月) 22:41:20.43
たまにはsignalの事も思い出してあげてください

21 :デフォルトの名無しさん:2011/05/31(火) 20:56:08.12
C言語入門〜みたいな本をよんで一応基本的な書き方は覚えたんですが次にどんな事を学習していけばいいのかがわからず困っています。
なにかおすすめな参考書でも教えていただけないでしょうか。

22 :デフォルトの名無しさん:2011/05/31(火) 21:10:12.25
文字列において改間は何コードになるんですか?

例えばbig appleという文字列がありますよね?
gとaの間の文字は何ですか?

23 :デフォルトの名無しさん:2011/05/31(火) 21:16:54.91
>>21
アルゴリズムとデータ構造の勉強

24 :デフォルトの名無しさん:2011/05/31(火) 22:03:23.52
>>22
スペースキーを押したらスペース、タブキーを押したらタブ

25 :デフォルトの名無しさん:2011/05/31(火) 22:20:41.99
>>24
空白ってことか。

26 : 忍法帖【Lv=2,xxxPT】 :2011/05/31(火) 22:24:43.82
>>22
改間って何ですか?

27 :デフォルトの名無しさん:2011/05/31(火) 22:28:26.51
>>21

自分で何か作るとよい。

「C言語 入門書の次に読む本 [改訂新版]」
「C言語によるオブジェクト指向プログラミング入門」

おすすめです。

28 :デフォルトの名無しさん:2011/05/31(火) 22:36:25.57
>>23
>>27
教えていただきありがとうございます。
アルゴリズムの本はもっているのでそれを読みつつ紹介してもらったので勉強をしようと思います。

29 :デフォルトの名無しさん:2011/05/31(火) 23:57:29.01
>>22
http://bellard.org/jslinux/


#include <tcclib.h>
main()
{
putchar(' ');
printf("%d", (int)' ');
}
をクリップボードに貼りつけて

tcc /dev/clipboard
でコンパイルして

./a.out
で実行したら

32
ってでた

30 :デフォルトの名無しさん:2011/06/01(水) 06:43:24.26
キャストすんなボケが

31 :デフォルトの名無しさん:2011/06/01(水) 06:58:52.15
キャストしなくてもintだろw

32 :デフォルトの名無しさん:2011/06/01(水) 16:26:44.26
ビットシフトで1がいっぱいになっちゃいます
どうすればいいですか

33 :デフォルトの名無しさん:2011/06/01(水) 17:15:31.28
>>32
一杯になったら出しちゃえば?

34 : 忍法帖【Lv=3,xxxP】 :2011/06/01(水) 18:13:56.95
出ちゃう〜ってかw

35 :デフォルトの名無しさん:2011/06/01(水) 20:10:01.35
c言語始めて一週間の初心者ですが、質問です。
キーボードからの小数の入力を受け付け→その値を出力
というコードを書いていましたが、出力結果が必ず0.000000になってしまいます。
解決方法が全く分かりません。協力お願いします。

#include <stdio.h>

int main(void)
{
double num;

printf("小数を入力してください。\n");

scanf("%1f", &num);

printf("%fが入力されました。\n", num);

return 0;
}

36 :デフォルトの名無しさん:2011/06/01(水) 20:12:46.58
1f → lf

37 :デフォルトの名無しさん:2011/06/01(水) 20:13:53.15
scanf("%1f", &num);
 ↓
scanf("%lf", &num);


38 :デフォルトの名無しさん:2011/06/01(水) 20:21:48.26
>>36〜37
解決しました。lと1読み間違えてましたw
ありがとうございました。

39 :デフォルトの名無しさん:2011/06/01(水) 21:05:58.31
>>38
こういう理不尽なバグを回避するためにフォント選んだ方がいいよ。
1とl、0とOの区別が付かないフォントもあるでの。

40 :デフォルトの名無しさん:2011/06/01(水) 23:51:16.71
void型の関数でreturnするのは変ですか?
戻り値に注目しないにしてもintでreturn 0するほうが書き方としてはいいですか?

41 :デフォルトの名無しさん:2011/06/01(水) 23:56:42.17
#include<stdio.h>
main()
{

bool i=1;
if(i==1)
puts("ok");
else
puts("no");
}

エラーでるんですけどなんでか教えてください





42 :デフォルトの名無しさん:2011/06/01(水) 23:59:20.45
>>41
エラーメッセージも読めない奴に教える意味は無い

43 :デフォルトの名無しさん:2011/06/02(木) 00:01:45.07
#include <stdbool.h>

int main()
あたりで

44 :デフォルトの名無しさん:2011/06/02(木) 00:05:12.17
せっかくコンパイラが丁寧にエラー内容を教えてくれてるのに
無視して 2ch に聞きに来るとかコンパイラが可哀想過ぎる
人としてどうなのよ

45 :デフォルトの名無しさん:2011/06/02(木) 00:16:38.27
>>40
誰も書き込んでないから返事してやるよ
別に変じゃないとおもうぞ ってか俺もvoid型でもreturn いれている
まぁ人によってはいらないっていうヤツもいるだろうが、
そこで関数を終了し、処理を返しているってはっきり記述できるし

特定条件下で途中で処理返す時もreturn書くなら、終わりにも書いた方が自然だろ。
int型で return 0とかにするかは勝手にしろ。

いろいろ言語の細かいところに行くとどっちがいいとかあるかもしらんだが
そんな事で一々悩むつもりない。
自分だけで使うなら自分がわかればいい。

46 :デフォルトの名無しさん:2011/06/02(木) 01:45:52.28
void型の関数にどうやってreturnするん?
return ()とか?

47 :デフォルトの名無しさん:2011/06/02(木) 01:59:53.06
関数の途中で、打ち切って戻る時?

48 :デフォルトの名無しさん:2011/06/02(木) 06:13:54.82
>>46
なぜ括弧をつける

49 :デフォルトの名無しさん:2011/06/02(木) 10:24:26.98
>>46
return;

50 :デフォルトの名無しさん:2011/06/02(木) 17:22:05.87
ビターン

51 :デフォルトの名無しさん:2011/06/02(木) 19:27:45.27
c言語のエディタでお勧めはなんですか?

・あるといい
関数にプルダウンでアクセスできる


52 :デフォルトの名無しさん:2011/06/02(木) 19:34:31.41
プログラムの実行中に開けていたファイルが開けなくなったんだけども
何が原因なんですかね。

53 :デフォルトの名無しさん:2011/06/02(木) 19:37:53.48
すみません。解決しました。
前の関数の中のファイルがとじられてなかった

54 :デフォルトの名無しさん:2011/06/02(木) 20:01:14.74
>>51
道具に使われることは考えないほうがいいよ

55 :デフォルトの名無しさん:2011/06/03(金) 02:27:48.15
>>51
環境を書いてないね。
Windowsならvimで、linuxならvimかな。
BSDやmacもvimでいいとおもう。

56 :デフォルトの名無しさん:2011/06/03(金) 20:17:33.43
あるフォルダ内に置いたCで作られた実行ファイルから取得できる
そのフォルダ内の情報ってどういうのがありますか?

57 :デフォルトの名無しさん:2011/06/03(金) 21:16:40.20
よーわからんけど、実行された時のフルパスを使えばいいんでないかい

58 :デフォルトの名無しさん:2011/06/03(金) 22:19:01.67
よー判らんけど、ファイルシステムのことはAPI使わんと判らんよ。

59 :デフォルトの名無しさん:2011/06/03(金) 22:36:14.22
出力結果をテキストファイルに出すコマンドて何でしたっけ?
fprintfとかじゃなくて、結果を丸ごとテキストファイルに出力したいです。

プログラムはprogram.c
出力させたい空のファイルをprogram.txt
とします。

60 :デフォルトの名無しさん:2011/06/03(金) 22:40:51.14
>>59
>

61 :デフォルトの名無しさん:2011/06/03(金) 22:42:47.62
>>60
program.c program.txt >ですか?
良く分かりません・・・すいません。

62 :デフォルトの名無しさん:2011/06/03(金) 22:46:40.65
残念
コマンドではなくリダイレクトでしたあばばばばあばbっばばばばばb

63 :デフォルトの名無しさん:2011/06/03(金) 22:55:59.54
>>61
使ってるOSとかコンパイラとか分かる?

64 :デフォルトの名無しさん:2011/06/03(金) 22:56:27.13
シェルスクリプトのコマンドが知りたいだけなのに
検索でfprintf引っかかり・・・うざすぎワロタ



65 :デフォルトの名無しさん:2011/06/03(金) 22:59:14.57
コマンドプロンプト リダイレクトでぐぐれ

66 :51:2011/06/03(金) 23:01:48.02
>>55

ありがとうございます。

67 :デフォルトの名無しさん:2011/06/03(金) 23:07:21.86
>>51
環境を書いてないね。
Windows だったら xyzzy の一択。これ、Linux や *BSD に移植してくれないかなあ。
mac のことはよく知らない。

68 :デフォルトの名無しさん:2011/06/04(土) 00:33:20.75
パチンコ禁止デモ

大阪にて北朝鮮系ヤクザが在特会に襲撃!!!!!!
http://www.youtube.com/watch?v=zL0jgbzOtUM

【パチンコ】年商4000億「ガイア」代表取締役 覚せい剤逮捕 パチンコ業界人「こんな時期に」と動揺&困惑
http://raicho.2ch.net/test/read.cgi/newsplus/1307057114/

パチンコを死守する北朝鮮系ヤクザとシャブ中社長!!!

69 :デフォルトの名無しさん:2011/06/04(土) 01:35:58.19
`;:゙;`;・(゚ε゚ )ブッ!! なんだこのスレ・・・ C言語の前に日本語勉強汁!!

70 :デフォルトの名無しさん:2011/06/04(土) 02:46:04.60
>>67
emacsと比べてそんなにいいの?

71 :デフォルトの名無しさん:2011/06/04(土) 06:54:33.33
>>70
エディタ内のカットバッファをGUIのクリップボードと分離して独立して扱えるのはemacsより気が利いているかもしれない。
emacsと違って、単にエディタだから単純には較べられないけどね。

72 :デフォルトの名無しさん:2011/06/04(土) 07:12:48.70
emacs とその眷属は操作体系のデザインが悪いから好きじゃないな。
vi 類の方がまだマシ。


73 :デフォルトの名無しさん:2011/06/04(土) 10:31:42.40
>>71
おまい、emacs使ったこと無いだろ

74 :デフォルトの名無しさん:2011/06/04(土) 10:37:35.80
宗教談義はそのへんでやめましょう

75 :デフォルトの名無しさん:2011/06/04(土) 17:53:31.06
static変数/static関数はヘッダファイルに記述しないのが一般的なのですか?
→つまり、ヘッダファイルはpublicなものしか書かないのが普通?

76 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/04(土) 18:12:28.13
static使ってるとそのオブジェクトを複数生成するのが不可能になるから
オブジェクト指向という考え方からすると使うべきじゃないね

77 : ◆QZaw55cn4c :2011/06/04(土) 18:47:06.09
>>75
ヘッダーファイルは複数の c のモジュール(コンパイル単位)で参照されるものだから、一つのコンパイル単位で完結する性質の static 変数/static 関数を記述する場所ではない。

78 :デフォルトの名無しさん:2011/06/04(土) 19:03:13.26
strlenにchar*型と配列を入れるときなのですが
後者の場合正しく出ないんです・・・
何故ですか?



79 :デフォルトの名無しさん:2011/06/04(土) 19:13:08.80
ちゃんと'\0'で終わってる?
配列のサイズと文字数が一緒になってたりしない?

80 :デフォルトの名無しさん:2011/06/04(土) 19:15:00.08
あなたが低脳だからです



81 :75:2011/06/04(土) 19:40:52.49
>>76
>static使ってるとそのオブジェクトを複数生成するのが不可能になるから
これは、どういう意味ですか?


>>77
つまり、staticはヘッダファイルに書くべきじゃないってことですか?

82 :77:2011/06/04(土) 20:32:07.19
>>81
通常の使い方では static な変数/関数をヘッダに書くことはないと思います。
というか、>>77 で述べたとおりで、思いつかないのです。

83 :デフォルトの名無しさん:2011/06/04(土) 21:24:26.19
>.79
fgetsで読み込んだ場合

例えば
abc def

をchar*pがさすとき
strlen(p)はどうなりますか?


84 :デフォルトの名無しさん:2011/06/04(土) 21:33:25.78
7か8じゃね?

85 :デフォルトの名無しさん:2011/06/04(土) 21:34:57.09
>>83
自分でやってみて、それが思った事と違うなら相談してみたら?

86 :デフォルトの名無しさん:2011/06/04(土) 21:39:32.12
>>85
DFASD
sdfsd
dsd
fd

テキストファイルです
上から順番に
7
7
5
2
です。
全く分かりません・・・解析してください。

87 :デフォルトの名無しさん:2011/06/04(土) 21:41:13.64
>>86
読み込むテキストファイルの改行コードが CR+LF
fopen するときにバイナリモードで開いている

88 :デフォルトの名無しさん:2011/06/04(土) 21:41:27.10
改行が\r\nなんだろうな
改行が二文字でカウントされてるんだよ

89 :デフォルトの名無しさん:2011/06/04(土) 21:42:05.50
>>86
それじゃ分からない。ソースを一緒に晒してみて


90 :デフォルトの名無しさん:2011/06/04(土) 21:48:41.97
>>88
あぁなるほど。たぶんそれですね。
ただナル文字って配列の場合でもchar*の場合でも
strlenでは無視されるんですよね。助かります。

91 :デフォルトの名無しさん:2011/06/04(土) 23:05:07.91
C言語を始めよう!とLSIC-86試食版を使ってプログラムを打っていたのですが
突然コマンドを実行すると「コンパイル開始」の表示のままで止まるようになりました。
それまではきちんとプログラムが再生されていたのですが…
また、コマンドを実行する度「C言語を始めよう!」のフォルダ内に
TMPファイル(0バイト)が作成されるようになりました。
どのようにすれば元通りになるでしょうか?

92 :デフォルトの名無しさん:2011/06/04(土) 23:06:09.35
>>75

ヘッダファイルとは何か?

それが問いの答えになる。

調べてみよう。

93 :デフォルトの名無しさん:2011/06/04(土) 23:11:30.99
>>91
状況がよくわかりません。参考にした資料/URL を教えてください。
あと、今日日、LSI-C はちょっと古すぎます。別のコンパイラのほうがいいでしょう。gcc とか visual c++ とか、ちょっとふるいけれども borland c++5.5.1 とか。

94 :デフォルトの名無しさん:2011/06/04(土) 23:26:33.18
せめて Turbo C 2.01 使えよ。
開発環境も付属だからそのまま使えるぞ。
試食版みたいな変な制限もないし。

95 :デフォルトの名無しさん:2011/06/04(土) 23:26:34.27
>>93

レスありがとうございます。導入に使ったHPは
http://www9.plala.or.jp/sgwr-t/detail/EnvSet.html
http://homepage3.nifty.com/aokura/phoebe/phoebe.htm です。

ちなみにborland c++5.5.1、本当は導入したかったのですが
DL箇所がうまく見つけられませんでした…

96 :デフォルトの名無しさん:2011/06/04(土) 23:38:08.83
>>94
レスありがとうございます。
今Turbo C 2.01について調べていたのですが、
これは日本語でも使えるのでしょうか?
英語のサイトが多くて導入が難しそうに見えたので…

97 :デフォルトの名無しさん:2011/06/04(土) 23:50:01.22
>>95
了解。
で、プログラムの「再生」という言い回しは普通しないので、状況が伝わってきません。

コンパイルはうまくいっていますか?
コンパイルの結果生成した .exe ファイルが実行できないということですか?

98 :デフォルトの名無しさん:2011/06/04(土) 23:54:18.31
関数の中で変数を使う場合、関数の前半で変数が定義されてる場合
関数を呼び出すほど変数のメモリを食うのですか?


99 :デフォルトの名無しさん:2011/06/04(土) 23:57:30.90
>>97
すみません、初心者なもので言葉が結構足りてなさそうですね…申し訳ないです。
コンパイルは開始と終了がきちんと出てますので、成功しています。
ただコマンドを実行すると開始表示をしたままで止まってしまいますので
まさしく仰られている通りの状態かと思います。

100 :デフォルトの名無しさん:2011/06/05(日) 00:07:52.00
>>98
最適化すると変数でメモリを食わなくなることがある

101 :デフォルトの名無しさん:2011/06/05(日) 00:11:08.51
>>95
Visual C++ 2010 Expressじゃだめなん?


102 :デフォルトの名無しさん:2011/06/05(日) 00:13:49.75
僕も、Visual C++ 2010 Express でいいと思います。もしくはCygwinのgccをおすすめします。
>>95 のリンクの人は現役のプログラマとは思えません。LSI-Cってwww
書かれていることが古く、ソースも下手クソ。参考にしないほうがいいです。

103 :デフォルトの名無しさん:2011/06/05(日) 00:14:20.65
初心者は日本語とか手を出さない方が良いんじゃね?
ASCIIオンリーで一通りやってみたら?
日本語だってローマ字を使えば書けるんだし。


104 :デフォルトの名無しさん:2011/06/05(日) 00:22:59.98
>>101
>>102
実はスペックが足りないのか原因がよくわからないのですが、
DLが何度やっても完了されないのでそちらの利用を諦めたんです…


105 :デフォルトの名無しさん:2011/06/05(日) 00:24:37.17
>>100
そういうことを聞いてるんじゃなくて・・一般的な話です。


106 :デフォルトの名無しさん:2011/06/05(日) 00:27:30.62
>>105
最適化なしだとスタックに変数が割り当てられるといって欲しいのかな?
コンパイラ依存の...

107 :デフォルトの名無しさん:2011/06/05(日) 00:28:08.51
初心者の前の入門スレなのに、どうでもいい知識はまじでいらん。

108 :デフォルトの名無しさん:2011/06/05(日) 00:30:32.08
>>106
そうです。

109 :デフォルトの名無しさん:2011/06/05(日) 00:31:48.26
>>104
こういったムックの付録を利用したらどうでしょう。内容も初心者も対象にしていますし。
ttp://ec.nikkeibp.co.jp/item/books/188550.html

110 :デフォルトの名無しさん:2011/06/05(日) 00:33:38.96
>>104
一回PC再起動してから試してみたら

111 :デフォルトの名無しさん:2011/06/05(日) 00:35:32.15
じゃあ、
Borland C++ Compiler 5.5 か
LCC-Win32 辺りが良いんじゃね?
後者はタダでは商用不可なんで注意な。個人使用なら無償だが。


112 :デフォルトの名無しさん:2011/06/05(日) 00:41:19.28
タダでは商用不可ってどういう意味だ?


113 :デフォルトの名無しさん:2011/06/05(日) 00:41:46.08
tccで十分ですよ

114 :デフォルトの名無しさん:2011/06/05(日) 00:42:45.86
わざわざ廃れた処理系を提示して、言語以前の段階で挫折させようとしているとしか思えない

115 :デフォルトの名無しさん:2011/06/05(日) 00:48:22.24
cygwinは端末のウインドウがとりあえず開いてエラーとかハプニングで
閉じる事がないから使いやすい。誤ったコマンドライン入れたらバグ起こすけど。


初心者はcygwinかvisualstudioがいいんじゃないかな?
エディタはメモ帳かtredpadで。



116 :デフォルトの名無しさん:2011/06/05(日) 00:52:25.64
王道だな

117 :デフォルトの名無しさん:2011/06/05(日) 00:53:02.51
一番良いのは Vine Linux をフルインストールすることだな。
これなら間違いはない。

118 :デフォルトの名無しさん:2011/06/05(日) 01:03:19.49
それなら最初からDosで勉強したほうがいいだろ。


119 :デフォルトの名無しさん:2011/06/05(日) 01:10:38.54
本当にCを理解したいなら、アセンブラをやるべきだろ。

120 :デフォルトの名無しさん:2011/06/05(日) 01:25:13.61
Dosで勉強?どこかをサイバー攻撃しろと?

121 :デフォルトの名無しさん:2011/06/05(日) 01:27:31.91
>>118
なんでDだけ大文字にしたの?

122 :デフォルトの名無しさん:2011/06/05(日) 01:35:29.79
>>99
コマンドを実行するってのは出来上がったexeを実行してるってことだろうか。
なら、永久ループしてるとか入力待ちで止まってるとかじゃないのかな

123 :118:2011/06/05(日) 02:02:44.13
>>120
違う。Dos攻撃のことじゃない。
OSのMS-DOSで勉強したらいいんじゃねってことだよ。




124 :デフォルトの名無しさん:2011/06/05(日) 02:06:34.48
denial operating system...

ログインは出来ない

125 :デフォルトの名無しさん:2011/06/05(日) 02:08:31.62
>>123
攻撃は一般に、DoSと表記するしね

126 :デフォルトの名無しさん:2011/06/05(日) 02:10:36.55
MS-DOS は日本語の表示ができないから質問者の意図に沿わない。


127 :デフォルトの名無しさん:2011/06/05(日) 02:14:13.74
できないんだ

128 :デフォルトの名無しさん:2011/06/05(日) 02:16:54.91
とりあえず、Windows でやりないなら何とかして Visual C++ を入れるべきだな。
前バージョンの 2008 でもいいし。

インストールはVCの該当スレで助けてもらって、
スタートラインに立てたらまたこっち来ればいいよ。

129 :デフォルトの名無しさん:2011/06/05(日) 02:22:30.06
>>125
何が言いたいんだよ。


130 :デフォルトの名無しさん:2011/06/05(日) 02:23:43.89
おまいら「スルーする」ということができないのか
アスペか?

131 :デフォルトの名無しさん:2011/06/05(日) 02:28:10.66
他人を気軽にアスペと呼んじゃう人が増えたよね
そっちの方が心配だわ・・・

132 :125:2011/06/05(日) 02:29:06.82
>>129
よくわからんけど、>>120-121はケーシングの揚げ足取ってんのかなぁと思ったから書いてみた。

133 :デフォルトの名無しさん:2011/06/05(日) 09:49:29.06
クリック一回で二つの実行ファイルを別々のdos画面で同時に実行させたいんだけど
どうやってもできない。
バッチファイルとか作ったりしたけどやっぱりできない。
誰か知恵を貸してくれ。

134 :デフォルトの名無しさん:2011/06/05(日) 10:14:58.40
>>133
--- test.cmd ---
start cmd.exe /c foo.exe
start cmd.exe /c bar.exe

135 :デフォルトの名無しさん:2011/06/05(日) 11:36:52.28
↓のように色んな型の変数を引数に取って、その型のサイズを表示する関数を作りたいんですけどどうすればいいですかね。

void show_size(『ここに任意の型の変数が取れるようにしたい』)
{
printf("%d", sizeof [引数に入れた変数]);
}

『 』に何て書けばいいのか調べてるんですが全然分からなくて・・・誰か教えてください。

136 :デフォルトの名無しさん:2011/06/05(日) 11:46:37.54
>>135
C言語だと関数では無理

マクロならそれっぽいのは可能
#define show_size(variable) printf("%d", sizeof(vairable))

137 :75:2011/06/05(日) 12:07:10.26
>>82,>>92
わかりました
ありがとうございます

138 :デフォルトの名無しさん:2011/06/05(日) 12:13:24.83
>>115

tredpad?

間違っていたらすいません。
treepadのことですか

139 :デフォルトの名無しさん:2011/06/05(日) 13:31:13.79
>>136
typo してるよ

140 :デフォルトの名無しさん:2011/06/05(日) 13:55:06.58
>>106
馬鹿発見

141 :デフォルトの名無しさん:2011/06/05(日) 14:12:43.98
>>138
terapad の typo だと思うよ。

142 :デフォルトの名無しさん:2011/06/05(日) 15:42:50.59
>>136
ありがとうございます!!
マクロって便利ですね。

143 :デフォルトの名無しさん:2011/06/05(日) 16:43:02.63
バブルソートでデータを並べ替えるプログラムを作りたいのですが
 番号 成績         
2001  85            2003  92
2002  90      →    2002  90
2003  92            2001  85
成績を並べ替えることはできるのですが番号を一緒に並べ替えることが出来ません・・・どなたか教えて頂けないでしょうか

144 :デフォルトの名無しさん:2011/06/05(日) 16:49:11.20
成績を入れ替えるときに一緒に番号も入れ替えればいいだけ

145 :デフォルトの名無しさん:2011/06/05(日) 16:50:44.12
これじゃ分かりにくいかな・・・
2001  90            2002  92
2002  92      →    2001  90
2003  85            2003  85
訂正します、すみません

146 :デフォルトの名無しさん:2011/06/05(日) 16:51:23.41
そういう用途のために構造体ってのがあるんだよ。

147 :デフォルトの名無しさん:2011/06/05(日) 17:32:39.66
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
このサイトのように、命令や仕様などがシンプルにまとめられているC言語の本はないでしょうか?
出来るなら、気軽に持ち運べる大きさだと嬉しいのですが

148 :デフォルトの名無しさん:2011/06/05(日) 17:54:31.97
普通に規格票
PDF 版ならノート PC に入れても重量増加 0g

金ない人は K&R

149 :デフォルトの名無しさん:2011/06/05(日) 18:27:35.09
そのHPを印刷すればいいじゃん。

150 :デフォルトの名無しさん:2011/06/05(日) 18:42:08.22
>>148
K&Rがよさそうだったのでいろいろ見てみます

>>149
印刷するには量が多いし、すぐにボロボロになってしまいそうなので

151 :デフォルトの名無しさん:2011/06/05(日) 18:45:38.70
どう見ても宣伝乙

152 :デフォルトの名無しさん:2011/06/05(日) 18:46:45.89
>>150
HTMLのファイルをPCにコピーすれば良いんじゃない?
紙ベースのドキュメントはそろそろ止めましょう

153 :デフォルトの名無しさん:2011/06/05(日) 18:52:58.28
>>152


154 :デフォルトの名無しさん:2011/06/05(日) 18:54:30.62
>>152
当方大学生でして、どうでもいい講義中に勉強するために何かあればな、と思いまして
もちろんノートPCはもってないです

155 :デフォルトの名無しさん:2011/06/05(日) 19:50:40.61
糞だな

156 :デフォルトの名無しさん:2011/06/05(日) 20:36:37.20
>>154
何を目指してるか知らないから、どこまで本気か分からないが、
プログラムを学ぼうとするなら、PC位は自分のツールとして使える様になってないと


157 :デフォルトの名無しさん:2011/06/05(日) 20:51:51.61
ノートPC(笑)なんて持ってないだろ普通w

158 :デフォルトの名無しさん:2011/06/05(日) 21:00:35.59
俺は15年ほど前、工学部の学生だったころ、自腹で20万のノートPC買ったぞ。
今なら4、5万で買えるだろ・・・

159 :デフォルトの名無しさん:2011/06/05(日) 21:04:49.91
なんか誤解?してCとかやろうとしてる人が増えたね。

160 :デフォルトの名無しさん:2011/06/05(日) 21:04:51.11
いまどきノートPC持ってない大学生の方が珍しくないか?

161 :デフォルトの名無しさん:2011/06/05(日) 21:06:13.12
Core i3とi5が出てCore2Duoが型遅れになったから中古を投げ売りしてるな
HDDを換装してWindows7を入れればまだまだ使える

162 :デフォルトの名無しさん:2011/06/05(日) 21:07:58.79
ラップトップなんて選ばないだろ。情弱じゃあるまいし。

163 :デフォルトの名無しさん:2011/06/05(日) 21:08:51.10
だよね。今やるならJAVAじゃん?なんでC?

164 :デフォルトの名無しさん:2011/06/05(日) 21:13:49.65
>>163
Cも書けないようだとプログラマとしての素養が疑われる。

165 :デフォルトの名無しさん:2011/06/05(日) 21:15:56.23
>>162
大学で使う場合もあるからね

166 :デフォルトの名無しさん:2011/06/05(日) 21:16:00.78
Java = 土方

167 :デフォルトの名無しさん:2011/06/05(日) 21:16:07.73
unsigned intより大きい整数を扱いたいとき
long intを使わないとしたら、どのようにすればいいですか?

168 :デフォルトの名無しさん:2011/06/05(日) 21:19:13.81
>>167
自前で大きい整数を扱えるような関数等を作る

169 :デフォルトの名無しさん:2011/06/05(日) 21:33:48.58
ノートPC使わない(笑)って・・・家から出たりしないのか?

170 :デフォルトの名無しさん:2011/06/05(日) 21:36:12.20
ノートPC買えないって話らしいけど。

171 :デフォルトの名無しさん:2011/06/05(日) 21:37:14.54
struct int80_t{int32_t a;uint32_t b,c;};
を用意したとして
効率とかどうでもいいんで簡単な四則演算アルゴリズムを紹介して

172 :デフォルトの名無しさん:2011/06/05(日) 21:37:18.66
>>169
普段は紙と鉛筆で問題をとく物理屋なんだよ言わせるな恥ずかしい

173 :デフォルトの名無しさん:2011/06/05(日) 21:43:11.34
なら、まず消しゴムを買わないとな

174 :デフォルトの名無しさん:2011/06/05(日) 21:55:12.29
>>169
わざわざパソコンするために出かけるのか

175 :デフォルトの名無しさん:2011/06/05(日) 21:55:53.14
>>171
足し算、引き算からやったら

176 :デフォルトの名無しさん:2011/06/05(日) 22:04:56.47
ビットシフトしたら1がいっぱいになりました
どうすればいいですか

177 :デフォルトの名無しさん:2011/06/05(日) 22:05:26.62
>>167
http://hibari.2ch.net/test/read.cgi/tech/1301553333/668
http://codepad.org/PXA5JrGF

178 :デフォルトの名無しさん:2011/06/05(日) 22:12:15.92
◆QZaw55cn4cはカス

179 :デフォルトの名無しさん:2011/06/05(日) 22:56:05.32
多倍長数はGNPとかいうやつでいい。

180 :デフォルトの名無しさん:2011/06/05(日) 22:57:40.01
GMPだ

181 :デフォルトの名無しさん:2011/06/05(日) 23:15:50.31
GIMP か。

182 :デフォルトの名無しさん:2011/06/06(月) 02:17:21.38
低燃費はGNPじゃなくTNPだぞ

183 :デフォルトの名無しさん:2011/06/06(月) 10:50:44.95
scanfて手入れでボウリングのスコアを計算するプログラムを教えて頂けますか?

184 :デフォルトの名無しさん:2011/06/06(月) 10:51:14.28
*(a + 1) + 1 // aはint型の配列

この式が返す値の型はaの次元数によらず
一定ですか?

185 :デフォルトの名無しさん:2011/06/06(月) 10:51:24.24
>>183
宿題スレの前スレか前々スレにあったよ

186 :デフォルトの名無しさん:2011/06/06(月) 10:52:01.76
>>184
一定じゃない

187 :デフォルトの名無しさん:2011/06/06(月) 10:57:14.32
いや一定でしょ

188 :デフォルトの名無しさん:2011/06/06(月) 11:00:04.03
>>186
本にa[n]は*(a+n)の糖衣構文って書いてあったのですが、これだけだと正しくないですよね。

189 :デフォルトの名無しさん:2011/06/06(月) 11:08:52.70
aがintなら、それで糖衣でしょ。

190 :デフォルトの名無しさん:2011/06/06(月) 11:10:59.55
>>187,188
次元数が違うってこういうことじゃないの?
int a[1];
int b[1][1];

191 :184:2011/06/06(月) 11:27:32.21
>>190
188=184です。次元数とはそういう意味です。

>>189
188に書いた糖衣構文はaの型がint以外でも成立します。問題はaの型ではないです。

192 :デフォルトの名無しさん:2011/06/06(月) 11:27:49.52
aがintの配列なら、どこまでいっても、中の値にどんな演算をしようと、中身の型はintだろ。
それはポインタでたどっても同じだろ。なにが聞きたいんだ??

193 :デフォルトの名無しさん:2011/06/06(月) 11:33:01.34
>>191
やっぱそうだよな、おまえら次元数の意味勘違いしてるのかと思った
int a[2][2];で
*(a + 1) + 1
したら型はint *だろ

194 :デフォルトの名無しさん:2011/06/06(月) 11:34:04.26
>問題はaの型ではないです。
そっか。配列名はアドレスだからね(塚、変数名は全部アドレスでしょ)。
インクリメントすれば、その変数の型分アドレスがインクリメントされるだけじゃんww
そのアドレスの中身は、n番目の配列の中身と同じ。当たり前じゃんw

195 :デフォルトの名無しさん:2011/06/06(月) 11:59:29.38
>>188
書名はなんですか?

196 :184:2011/06/06(月) 11:59:30.79
>>193
正解です。>>186と同意見という事ですよね。>>188についてはどうでしょうか?

>>192、194
何も間違ってはいないですが、質問内容はもっと原始的な部分です。

197 :184:2011/06/06(月) 12:03:13.33
>>195
猫Cかポインタ完全制覇かエキスパートCか
基本から学ぶC言語のどれかだったと思います。


198 :デフォルトの名無しさん:2011/06/06(月) 12:13:31.91
バカが理解できてないくせに教科書に文句つけるとかw

199 :デフォルトの名無しさん:2011/06/06(月) 12:21:53.73
>>196
多次元配列においてもその糖衣構文には合致してるよ
お前が型の扱いを理解できてないだけで

200 :デフォルトの名無しさん:2011/06/06(月) 12:27:27.07
疑問をもって解決すれば、理解は深まる。

201 : 忍法帖【Lv=4,xxxP】 :2011/06/06(月) 13:02:03.60
3["abcde"]も、*(3+"abcde")の糖衣構文だね。

202 :デフォルトの名無しさん:2011/06/06(月) 15:26:05.57
mallocとかで確保した領域のサイズをあとから知る方法ってありますか?
やはり、自分で覚えておくしかないんでしょうか?


203 :デフォルトの名無しさん:2011/06/06(月) 15:27:19.62
>>202
初心者は、stringやvectorでいいだろ。C++だがこっちのほうが簡単。

204 :デフォルトの名無しさん:2011/06/06(月) 15:31:58.18
スレタイ読み返せ

205 :デフォルトの名無しさん:2011/06/06(月) 16:41:25.74
>>202
環境依存だと思うが、規格票にはサイズを後から知る方法はどこにも見当たらない
ISO/IEC 9899:1999

206 :デフォルトの名無しさん:2011/06/06(月) 16:42:29.05
>>202
自分が要求したサイズ+アルファがあるのです

207 :デフォルトの名無しさん:2011/06/06(月) 17:10:52.56
どのくらい空き容量あれば
どのくらいの程度のプログラムを
どのくらい同時実行できるのかな・・・
さっき永遠に+1した数を表示し続ける奴をどんどん動かしてみたけど
5つぐらい動かしたところでタスクバーに動いているプログラムの表示がちょっとだけ追いつかなくなったのを見て
怖くなってすぐやめた。

208 :デフォルトの名無しさん:2011/06/06(月) 17:17:56.71
動かすものによるとしか。

209 :デフォルトの名無しさん:2011/06/06(月) 17:29:55.37
そうですか・・・
では動かすプログラムが最大でどの位メモリ使うのか
知る方法とかありませんかね?

210 :デフォルトの名無しさん:2011/06/06(月) 17:42:10.94
静的な変数だけだとするとlinkerの吐くmapでだいたいわかるかな

211 :デフォルトの名無しさん:2011/06/06(月) 17:44:54.17
cygwinを使っています。プログラムを作って
任意のファイルを読み込めるようにmain()関数が引数を取るように
int main(int argc, char *argv[])
としたのですが、今まで上手く読み込めてたのに、ちょっとコマンドライン
をいじってしまってコンパイルされるものの実行できなくなりました。
実行した瞬間にコマンドラインが改行されるだけになりました・・・
どうしたらいいでしょう?

212 :デフォルトの名無しさん:2011/06/06(月) 17:45:54.24
>>211
日本語でおk

213 :デフォルトの名無しさん:2011/06/06(月) 17:50:28.34
>>212
任意のファイルから数字を読み込んで足し算を標準出力するという
プログラムが今まで出来たのに、コマンドラインいじって、できな
くなった。ちなみに同じプログラム。コンパイルはエラーなし。

214 : 忍法帖【Lv=4,xxxP】 :2011/06/06(月) 17:54:54.76
もしかして:
プログラム名がtest.

215 :デフォルトの名無しさん:2011/06/06(月) 17:58:09.97
>>
とか
<
とかコマンドライン入れまくってちょっとcygwinおかしくなったのかな?

とにかく引数が取れない・・・

216 :デフォルトの名無しさん:2011/06/06(月) 18:00:16.13
またcygwin(笑w)かよ。
もうこれは有罪だろ。


217 :211:2011/06/06(月) 18:03:59.07
すいません、できました・・
実行ファイル名はsample.txtです。sample.datでもいいです。

ただa sample.txtやa sample.datだと無理です。以前はこれでいけました。
  a.exe samle.txt ならいけます。

何故でしょうか?高度すぎてわかりません。

218 :デフォルトの名無しさん:2011/06/06(月) 18:03:59.50
引数採るコマンドは動くのか?

219 :デフォルトの名無しさん:2011/06/06(月) 18:19:49.01
環境変数の PATHEXT だな。
これいじったんだろ。


220 :デフォルトの名無しさん:2011/06/06(月) 18:40:12.66
>>219
どういうことですか?

というかリダイレクトのコマンドが>だか>>だか<だを
色々コマンドラインにファイル名と読み込みファイル
とあわせて打ち込んだりしたからおかしくなったと思
うけど直し方分からないwwww



221 :デフォルトの名無しさん:2011/06/06(月) 18:54:10.32
>>220
そんな思い込みは捨ててさっさといわれたことをやれ

222 :デフォルトの名無しさん:2011/06/06(月) 18:58:12.29
a.exe < sample.txt > output.txt

入力リダイレクトではa.exeは上書きされないが、
出力リダイレクトであるoutput.txtは実行のたびに上書きされる。

おそらくこれらの順番がめちゃくちゃになったんだろ。
もう一度コンパイルとsample.txtを用意してやり直すべし。

223 :デフォルトの名無しさん:2011/06/06(月) 19:12:04.44
>>222
頭良すぎ。
何でそんなすぐ原因わかるんだよ・・・

とりあえずリカバリーします。
リカバリーしてcygwinダウンロードしなおす。

224 :デフォルトの名無しさん:2011/06/06(月) 19:23:42.21
まず日本語の勉強から始めるべきだと思うわめ。


225 :デフォルトの名無しさん:2011/06/06(月) 19:25:48.83
#include <stdio.h>

int main()
{
float a=7,b=3;

printf("x = 7\ny = 3\n");
printf("(1)""x / y = %.2f\n",a/b);
printf("(2)""x + y / 2 = %.0f\n",(a+b)/2);
printf("(3)""x ++ * y = %.0f\n",a++*b);
printf("(4)""x == y "" →7 == 3 =等しくない\n",a==b);
printf("(5)""x > y = 7 > 3\n",a>b);
printf("(6)""x % y = %.2f\n",a%b);
printf("(7)""(double) x / y = %f\n",(double)7/3);
printf("(8)""++ x * y = %.0f\n",++a*b);
printf("(9)""! ( x ! = y ) ""→ ! (7 ! = 3 ) = 等しくない\n");
printf("(10)"" x / y ! = 2 ""→7 / 3 ! = %.0f\n",a/b);
printf("何かキーを押してください\n");

getch();
printf("END\n");
return 0;
}

226 :デフォルトの名無しさん:2011/06/06(月) 19:28:29.49
>>225 文章が長いので分けました。連投失礼します。
>>225のprintf("(6)""x % y = %.2f\n",a%b); についてお聞きしたいのですが
x%yの計算結果を表示させたいのですが、何度コンパイルしても
""で閉じた以降の「a%d」でエラーが出ます。
この書き方は間違っているのでしょうか?色々調べて見ても
よくわかりませんでしたのでこちらに来ました。
是非お教えいただきたいです…

227 :デフォルトの名無しさん:2011/06/06(月) 19:31:16.21
floatで%はダメッ!

228 :デフォルトの名無しさん:2011/06/06(月) 19:31:48.11
""で閉じた以降の「a% b 」でした…。
書き間違い失礼しました。

229 :デフォルトの名無しさん:2011/06/06(月) 19:36:56.62
つ fmod

230 :デフォルトの名無しさん:2011/06/06(月) 19:38:11.25
>>222
<なのか>なのかはっきりしてくれww
余計におかしくなる

231 :デフォルトの名無しさん:2011/06/06(月) 19:56:57.42
直ったwwwwwwwwwwwwwwwwwwwwww
cygwinすげぇwwwww

232 :デフォルトの名無しさん:2011/06/06(月) 20:05:33.26
配列とハッシュの違いが分かりません。
データに即座にアクセスできるという点で一緒じゃないんですか?


233 :デフォルトの名無しさん:2011/06/06(月) 20:08:21.49
>>232
辞書を引く時に、200ページ目に書いてあるよというのが配列
辞書を引く時に、「か」の項に書いてあるよというのがハッシュ

234 :デフォルトの名無しさん:2011/06/06(月) 20:13:18.54
ネロに道連れにされて死んだのがパトラッシュ

235 :デフォルトの名無しさん:2011/06/06(月) 20:14:07.73
PHPだと配列=ハッシュ

236 :デフォルトの名無しさん:2011/06/06(月) 20:24:00.07
>>227
ということは新たにintで数を宣言したほうがいいですかね?

237 :デフォルトの名無しさん:2011/06/06(月) 20:45:44.08
>>236
>>229

238 : 忍法帖【Lv=4,xxxP】 :2011/06/06(月) 21:59:12.59
それ以前に、printf()系のフォーマット文字列に生の%はダメ。

239 :デフォルトの名無しさん:2011/06/06(月) 22:22:15.28
!( x ! = y ) の式の真偽を判断するソースコードを書きたいのですが
どのように書くのが良いでしょうか?
ちなみにxとyの数値はプレイヤーが入力するのではなく
決められた数値となっています。


240 :デフォルトの名無しさん:2011/06/06(月) 22:29:57.40
printf("%d\n",!( x ! = y ));

241 :デフォルトの名無しさん:2011/06/06(月) 22:39:32.00
x==yじゃだめなのか

242 :デフォルトの名無しさん:2011/06/07(火) 02:23:06.12
ファイルポインタからファイルディスクリプタを取り出すAPI
ってなかったっけ?
逆ならあったんだけど

243 :デフォルトの名無しさん:2011/06/07(火) 03:35:28.13
>>242
ファイル構造体に入ってるよ

244 :デフォルトの名無しさん:2011/06/07(火) 07:12:11.34
>>242
fileno()じゃないの?
つーか、寧ろ逆方向こそ知らない。

245 :デフォルトの名無しさん:2011/06/07(火) 18:11:35.37
ハッシュってC言語なら何で実現するの?
ヘッダとかマクロもわからん・・

246 :デフォルトの名無しさん:2011/06/07(火) 18:23:31.76
http://www.tokumaru.org/techterm/hash.html

247 :デフォルトの名無しさん:2011/06/07(火) 18:48:24.11
>>244
逆はfdopen()とかじゃね?
Winにあんのかは知らないけど。

248 :デフォルトの名無しさん:2011/06/07(火) 21:36:05.46
パソコンから入力した時間(10:20:30 のような)を
合計秒数に変換するプログラムを書きたいのですが
60秒を掛けていかないといけないから普通の加算じゃできませんよね?
どのように書けばよいでしょうか…

249 :デフォルトの名無しさん:2011/06/07(火) 21:39:24.89
60掛けてから足せばいいだろ・・・・・・・

250 :デフォルトの名無しさん:2011/06/07(火) 21:41:56.75
>>248
普通の加算でいいよ

251 :デフォルトの名無しさん:2011/06/07(火) 21:42:09.39
:で分割して
3600かけて
60かけて

252 :デフォルトの名無しさん:2011/06/07(火) 21:50:44.12
>>248
プログラムとかC言語以前の問題だろ

253 :デフォルトの名無しさん:2011/06/07(火) 22:15:29.85
>>248です。
皆さんレスありがとうございました。
私が色々勘違いしていたようです…お陰様で解決いたしました。

ちなみに上に書いたのと正反対の
パソコンから入力した秒数(1234567)を
1年2日3時間45分67秒 のように表記するソースコードを書きたいのですが
この場合どうしたらよいでしょうか。


254 :デフォルトの名無しさん:2011/06/07(火) 22:16:39.26
ちなみにソースはつくり掛けですがこんな感じです。
#include <stdio.h>

int main(void)
{
int a,b,c,d,e,f,g;
printf("秒単位の時間を入力してください。(7桁以上)\n");
scanf("%d %d %d %d %d %d %d\n",&a);
printf("%d年 %d日 %d時間 %d分 %d秒\n",a,b,c,d,e,f,g);
printf("何かキーを押して下さい\n");
getch();
printf("END\n");

return 0;
}

255 :デフォルトの名無しさん:2011/06/07(火) 22:50:15.23
>>254
1分は60秒
1時間は3600秒
1日は86400秒
1年は31536000秒

あとはわかるな?

256 :デフォルトの名無しさん:2011/06/07(火) 23:30:04.57
>>253
strftime を使う

257 :デフォルトの名無しさん:2011/06/07(火) 23:51:48.59
>>255
その程度のことしかいえないなら黙ってろ
本当はできないくせに

258 :デフォルトの名無しさん:2011/06/07(火) 23:56:27.12
それが人にものを訊ねる態度じゃねーよな。


259 :デフォルトの名無しさん:2011/06/08(水) 00:12:03.21
>>254
>>254
#include <stdio.h>

int main(void)
{
int a[5],b[5]={365*24*60*60,24*60*60,60*60,60,1};
int t,i;
printf("秒単位の時間を入力してください。(7桁以上)\n");
scanf("%d",&t);
for (i=1;i<5;i++) {
a[i]=t/b[i];
t%=b[i];
}
printf("%d年 %d日 %d時間 %d分 %d秒\n",a[0],a[1],a[2],a[3],a[4]);
printf("何かキーを押して下さい\n");
getch();
printf("END\n");

return 0;
}

260 :デフォルトの名無しさん:2011/06/08(水) 02:17:04.92
>>257
はい、本当はできません

261 :デフォルトの名無しさん:2011/06/08(水) 03:36:00.39
次のオーダー記法に関する問題が分かりません。。
自然数上の関数Sが、以下のように再帰的に定義されている。
このSについての次の問いに答えよ。
 S(0)=1, S(n)=6T( [n/2] ) + 8n
( [ n/2 ] はn/2の切捨て)
(1) S(n) = O(n^k)とはなるが、S(n) = O(n^(k-1))にはならない
自然数k>=2を示せ。
(2) 上の問いの答えkに対して、S(n)=O(n^k)となることを証明せよ。
(3) 上の問いに対する証明論法ではS(n)=O(n)の証明はできない。
どこで議論が破たんするかを示せ。

ご教授お願いします。



262 :デフォルトの名無しさん:2011/06/08(水) 03:38:33.77
>>261
T() ?
kwsk

263 :デフォルトの名無しさん:2011/06/08(水) 09:50:24.95
ほっほっ

264 :デフォルトの名無しさん:2011/06/08(水) 10:43:05.59
Tが何なのか??これ全文?

265 :デフォルトの名無しさん:2011/06/08(水) 11:31:33.33
可変引数ってのは何者なんですか?
何の役に立つのですか?

266 :デフォルトの名無しさん:2011/06/08(水) 11:37:51.57
printfは可変

267 : 忍法帖【Lv=1,xxxP】 :2011/06/08(水) 11:59:31.19
>>265
例えばprintf()のことを聞いている?
それならそれがそのまま答えだ。

268 :デフォルトの名無しさん:2011/06/08(水) 13:37:09.56
ふっほっ

269 :デフォルトの名無しさん:2011/06/08(水) 16:51:03.58
そのまま vsprintf に丸投げ後、対象バッファ加工して出力とかはやるけど
(必要に応じてパースし) va_arg() で逐次取り出すようなコードは書いたことないな

270 :デフォルトの名無しさん:2011/06/08(水) 21:32:29.98
ほっほっ

271 :デフォルトの名無しさん:2011/06/08(水) 22:52:12.83
C言語初心者でこのスレを見ながら勉強しています。
今スレを見ていてふと気になったんですが
>>259 に書いてあるコードの

for (i=1;i<5;i++) {
a[i]=t/b[i];
t%=b[i];

の部分、forの中身の意味が解りません。(計算的にも)
訳すとこれはどういうことなのでしょうか?
また、int a[5],b[5]={365*24*60*60,24*60*60,60*60,60,1};の部分も
なぜ「b」が必要なのでしょうか、aだけではダメなのでしょうか?

272 :デフォルトの名無しさん:2011/06/08(水) 23:08:20.17
ふっふっ

273 :デフォルトの名無しさん:2011/06/08(水) 23:12:15.51
>>271
年、月、日、時、分、秒でそれぞれ掛ける数を事前に求めてテーブルを作っている。
ループと配列を使う>259の遣り方が判り難いなら、単純に計算式を6セット並べればいいよ。

274 :271:2011/06/08(水) 23:14:15.38
>>273
計算式ということは普通に
printfなどの関数でも同じことができるということですか?

275 :デフォルトの名無しさん:2011/06/08(水) 23:35:24.62
関数内関数オブジェクトはOKなのに関数内関数はダメなのってどういう意味があるんですか?

276 :デフォルトの名無しさん:2011/06/08(水) 23:37:53.08
それってC++の話?

277 :デフォルトの名無しさん:2011/06/08(水) 23:44:24.38
デタッチ属性のついたスレッドにpthread_kill(0)送ると、スレッドが終了してる場合にセグメンテーション違反で落ちることがあるんだが、代替手段てない?

278 :デフォルトの名無しさん:2011/06/08(水) 23:57:55.77
>>277
入門の範囲を超えてます。該当環境または環境依存OKのスレへどうぞ。

>>274
printf()では掛け算はできません。

279 :デフォルトの名無しさん:2011/06/09(木) 00:17:46.34
訂正です。

次のオーダー記法に関する問題が分かりません。。
自然数上の関数Sが、以下のように再帰的に定義されている。
このSについての次の問いに答えよ。
 S(0)=1, S(n)=6S( [n/2] ) + 8n
( [ n/2 ] はn/2の切捨て)
(1) S(n) = O(n^k)とはなるが、S(n) = O(n^(k-1))にはならない
自然数k>=2を示せ。
(2) 上の問いの答えkに対して、S(n)=O(n^k)となることを証明せよ。
(3) 上の問いに対する証明論法ではS(n)=O(n)の証明はできない。
どこで議論が破たんするかを示せ。

ご教授お願いします。



280 :デフォルトの名無しさん:2011/06/09(木) 00:20:34.05
printf("=_%d\n", printf("_%d_",3) * printf("_*_%d_",5));




281 :デフォルトの名無しさん:2011/06/09(木) 01:58:29.28
どや顔で書いたんだろうな

282 :デフォルトの名無しさん:2011/06/09(木) 03:32:04.62
>>280
どう見ても、printf()の戻り値を掛けてますね。
まさかとは思いますが、それでprintf()で掛け算ができるといいたいわけじゃありませんよね?

283 :デフォルトの名無しさん:2011/06/09(木) 03:50:53.78
printf()で掛け算ができないの意味がわからん
掛け算の式を引数にすることもできるだろ

284 :デフォルトの名無しさん:2011/06/09(木) 05:04:27.76
>>283
>274

285 :デフォルトの名無しさん:2011/06/09(木) 11:51:29.56
>>275
GCCでは使えるから気にすんな

286 :デフォルトの名無しさん:2011/06/09(木) 11:53:48.11
>>279
背理法
数学的帰納法

287 :デフォルトの名無しさん:2011/06/09(木) 12:14:06.46
>>271
1234567秒=0年14日6時間56分7秒
1234567=0*(365*24*60*60)+14*(24*60*60)+6*(60*60)+56*60+7

1234567=0*(365*24*60*60)
+14*(24*60*60)
+6*(60*60)
+56*60
+7


288 :デフォルトの名無しさん:2011/06/09(木) 12:17:23.66
天才現る!!!!

289 :デフォルトの名無しさん:2011/06/09(木) 12:19:08.02
>>288
QZは消えたはずだが‥‥。

290 :デフォルトの名無しさん:2011/06/09(木) 12:21:05.22
>>288
>>289
だまれ低脳低学歴

291 :デフォルトの名無しさん:2011/06/09(木) 13:21:15.37
ごめんなしあ

292 :デフォルトの名無しさん:2011/06/09(木) 13:43:01.00
◆QZaw55cn4cって糞だよなぁ

293 :デフォルトの名無しさん:2011/06/09(木) 17:41:54.98
成りすましたいときはコテ外すからな。バレてないと思っているのがまた萎える。

…とレスすると、
  ↓
成りすましということにしておけば…
  ↓
以下自演ループ

だもんな。本当に役に立たないだけのクズだ。

294 :デフォルトの名無しさん:2011/06/09(木) 18:59:36.81
「QZさんよりいいコード書けるの?」が来るぞw

295 : ◆QZaw55cn4c :2011/06/09(木) 19:03:16.32
>>293
成りすましということにしておきたいのですね。

   ヘ _ ヘ
  ミ  ・ ・ ミ
   (    )〜
--------------------------------------

296 :デフォルトの名無しさん:2011/06/09(木) 19:16:56.66
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ


297 :デフォルトの名無しさん:2011/06/09(木) 19:17:58.68
AA使い始めたら、本格的に終了

298 :デフォルトの名無しさん:2011/06/09(木) 19:18:46.87
ついにAA荒らしになったかw

299 :デフォルトの名無しさん:2011/06/09(木) 19:50:24.27
よくQZって見るけどすごい人なんですか?

300 :デフォルトの名無しさん:2011/06/09(木) 19:54:08.44
すごい頭の悪いキチガイ

301 :デフォルトの名無しさん:2011/06/09(木) 20:27:01.00
おまいらキチガイはスルーしろよ、アスペが

302 :デフォルトの名無しさん:2011/06/09(木) 20:36:28.79
アスペの◆QZaw55cn4cがまたほざきだしたな

303 :デフォルトの名無しさん:2011/06/09(木) 21:02:51.99
この叩くレスの多さ、速さがたまらんね。
酉割れてるけど、それでもがんばるの?

304 :デフォルトの名無しさん:2011/06/09(木) 21:05:31.36
QZaw55cn4cは糞

305 :デフォルトの名無しさん:2011/06/09(木) 21:06:59.68
よっぽど痛い目にあわせられたんだろう。

306 :デフォルトの名無しさん:2011/06/09(木) 21:07:49.92
なんだ◆QZaw55cn4cか

307 :デフォルトの名無しさん:2011/06/09(木) 21:09:20.39
>>303
>>305

トリ付けろよクズ

308 :トリ:2011/06/09(木) 21:10:20.03
痛すぎ

309 :デフォルトの名無しさん:2011/06/09(木) 21:11:48.47
>>308
面白いねー

310 :デフォルトの名無しさん:2011/06/09(木) 21:15:37.14
>>308
その発想はなかったわwwwwwww
神wwwwwもっと評価されるべき!!!111wwwww

311 :デフォルトの名無しさん:2011/06/09(木) 21:43:17.35
緊急です・・・教えてください!!!

以下の処理を実現するための式を考えてみよう。(C言語)
(1)xの下位ビットをyへ、yはshort型とし、下位4ビット以下は1をセットする。
(2)xの下位ビットをchar型変数xの上位4ビットへ、yの下位ビットをzの下位ビットへ代入する。

312 :デフォルトの名無しさん:2011/06/09(木) 21:45:01.35
>>259
もQZなの?

313 :デフォルトの名無しさん:2011/06/09(木) 21:53:20.90
>>311
問題文省略しすぎ

(1)(2)に出てくるxの型は?下位ビットが曖昧
(2)にはxが出てくるけど、あってる?あと変数の型も明記してください。

314 :デフォルトの名無しさん:2011/06/09(木) 21:55:08.41
>>313
すみません・・・問題文にこれだけしか書いてないのです><


315 :デフォルトの名無しさん:2011/06/09(木) 22:00:05.49
>>55
お茶吹いた

316 :デフォルトの名無しさん:2011/06/09(木) 22:08:13.98
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1164136016


317 :デフォルトの名無しさん:2011/06/09(木) 22:09:18.51
>>314
問題文って言うか、前後にどういう説明があって、この問題が出されているの?
(2)には2カ所xが出るけど、この問題文の前には、何かの説明があるんでしょ?

318 :デフォルトの名無しさん:2011/06/09(木) 22:15:23.19
●ビット操作1【マスク処理:特定ビットをフィルタリング】
y=x&0x0f; ←xの下位4ビットをyへ、それ以外のビットは0

●ビット操作2【特定ビットをセット】
y|=4;   ←yのビット2を1にセット

●ビット操作3【特定ビットをクリア】
y&=~8;  ←yのビット3を0クリア

以下の処理を実現するための式を考えてみよう。(C言語)
(1)xの下位ビットをyへ、yはshort型とし、下位4ビット以下は1をセットする。
(2)xの下位ビットをchar型変数xの上位4ビットへ、yの下位ビットをzの下位ビットへ代入する。



319 :デフォルトの名無しさん:2011/06/09(木) 22:23:55.09
>>303
http://hibari.2ch.net/test/read.cgi/tech/1307166756/334

320 :デフォルトの名無しさん:2011/06/09(木) 22:27:08.98
>318
問題の体をなしていないって突き返すのが、正解では?

>(1)xの下位ビットをyへ、
・「下位ビット」とは何を指す?yへどうする?

>yはshort型とし、下位4ビット以下は1をセットする。
「下位4ビット以下」って何を指す?4ビットより下位は、とかならまだ分かるけど、どうしてほしいか不明。

>(2)xの下位ビットをchar型変数xの上位4ビットへ、yの下位ビットをzの下位ビットへ代入する。
これも「下位ビット」が何を指すのか不明。

321 :デフォルトの名無しさん:2011/06/09(木) 22:37:49.24
>>311
(1)
y=(x&0xffff)|0x0f;

(2)
x=(x&0xf)<<2;
z=y&0xff;

脳内補完して書いた。
(2)の中の、char型変数xって、もしかしてzの間違いじゃない?


322 :デフォルトの名無しさん:2011/06/10(金) 01:19:19.41
リンクするためのメイクファイルを作成したいのですが
記述方法がわかりません。

詳しくのってるサイトなど教えてもらえませんでしょうか?

またリンクするためのメイクファイルというのは 生成された oファイル分必要なのでしょうか?

323 :デフォルトの名無しさん:2011/06/10(金) 01:52:13.80
◆QZaw55cn4cはなんでメ欄ばっか使うの?クズだから?

324 :デフォルトの名無しさん:2011/06/10(金) 01:56:11.11
hoge.exe:
gcc main.o lib.o -o hoge.exe
こういう話なんだろうか…?

325 :デフォルトの名無しさん:2011/06/10(金) 01:57:12.05
>>322
コンパイラ、リンカによってコマンドが違う

makefile 一つでターゲットの数100でも200でもいける

326 :デフォルトの名無しさん:2011/06/10(金) 05:41:14.87
#include <stdio.h>

unsigned str_length(const char str[])
{
unsigned len = 0;
while (str[len])
len++;

return (len);
}

int main (void)
{
char st[100];

printf("文字列を入力してください:");
scanf("%s",st);

printf("文字列%sの長さは%uです。\n",st,str_length(st));

return 0;
}

本に載っていたプログラムです。なぜintではなくunsignedでわざわざ書かれているのでしょうか?

327 :デフォルトの名無しさん:2011/06/10(金) 06:01:31.17
符号付き整数だとまずいと思ったんじゃないの?

328 :デフォルトの名無しさん:2011/06/10(金) 09:39:36.53
unsigned って、型じゃないよね。unsigned int の間違いか?コンパイルできるのか?
と思ったけど、コンパイルできた。いいのか?w

329 :デフォルトの名無しさん:2011/06/10(金) 09:40:47.83
>>328
unsigned int の省略表記

330 :デフォルトの名無しさん:2011/06/10(金) 09:43:05.09
>>328
unsigned は unsigned intなんだよ

331 :デフォルトの名無しさん:2011/06/10(金) 09:45:17.56
省略は int な。
main(); が int なのと同様。

332 :デフォルトの名無しさん:2011/06/10(金) 09:46:05.54
>>331
死ね

333 :デフォルトの名無しさん:2011/06/10(金) 09:49:38.63
>>326
まあ好意的に解釈するなら、intでは表しきれないほど長い文字列で
オーバーフローしないようにしているとか……?

もし非負であるというlenの条件を型に組み込もうとして
unsignedにしたのであれば、それはCではやめたほうがいい発想だと思う
unsignedは暗黙の型変換絡みで直感的でない挙動を示すことがあるので、
多くの場合はintを使うのがよい

334 :デフォルトの名無しさん:2011/06/10(金) 09:54:17.99
標準strlen()の返り値はsize_tでsize_tは符号なしだから、そのに合わ
せたんじゃ?


335 :デフォルトの名無しさん:2011/06/10(金) 10:17:09.35
intが一番速く動作するよ

336 :デフォルトの名無しさん:2011/06/10(金) 10:19:32.48
unsigned == unsigned int == int unsigned
signed == int == signed int == int signed
short == signed short == short signed == signed short int == signed int short == ...

337 :デフォルトの名無しさん:2011/06/10(金) 10:22:58.84
signed char == char != unsigned char || signed char != char == unsigned char

338 :デフォルトの名無しさん:2011/06/10(金) 10:23:44.85
>>332
何で切れてんの?w

339 :デフォルトの名無しさん:2011/06/10(金) 10:28:41.89
>>338
>>328が馬鹿すぎて

340 :デフォルトの名無しさん:2011/06/10(金) 10:40:51.79
争いは同レベルの者でしか起きない

341 :デフォルトの名無しさん:2011/06/10(金) 10:49:01.04
>>340
つまりお前は>>328と同レベルなのか

342 :デフォルトの名無しさん:2011/06/10(金) 10:56:16.59
ま、言語仕様を見る限り、unsignedは型修飾子であって、>>326のような書き方は邪道ですね。

343 :デフォルトの名無しさん:2011/06/10(金) 11:06:16.66
>>342
うそつくなカス

344 :デフォルトの名無しさん:2011/06/10(金) 11:20:20.71
型修飾子としてのunsignedを仮定すると
ならユーザ定義の構造体Aに対してtypedef hoge := unsigned Aとかできるのだろうか?
どういうセマンティックになるのか?あるAが体を成していると考えたときに和算に対するinvである-を除いた代数が想定されるのか
それをわざわざ言語に組み込む程、用途は多いのだろうか
疑問は尽きない

345 :デフォルトの名無しさん:2011/06/10(金) 11:29:51.58
ANSIによると、signed、unsignedが追加されたのは整数型とある

346 : 忍法帖【Lv=3,xxxP】 :2011/06/10(金) 14:47:02.45
例えばstatic foo;と書けばstatic int foo;と書いた事になるのと同じことだ。気にするな。

347 :デフォルトの名無しさん:2011/06/10(金) 14:50:35.07
省略がいいとは限らんけどね

348 :デフォルトの名無しさん:2011/06/10(金) 15:16:45.72
6.2.5 Types
6 For each of the signed integer types, there is a corresponding (but different) unsigned
integer type (designated with the keyword unsigned) that uses the same amount of
storage (including sign information) and has the same alignment requirements. The type
_Bool and the unsigned integer types that correspond to the standard signed integer
types are the standard unsigned integer types. The unsigned integer types that
correspond to the extended signed integer types are the extended unsigned integer types.
The standard and extended unsigned integer types are collectively called unsigned integer
types.30)

ISO/IEC9899:1999にこう書いてあるんだからunsignedでいいだろ
何を揉めているんだ

349 :デフォルトの名無しさん:2011/06/10(金) 16:21:22.82
??
符号付き整数型には、キーワードunsignedで指定された、それぞれに対応する符号無し整数型がある・・・とあるだけだが?

350 :デフォルトの名無しさん:2011/06/10(金) 16:34:02.82
省略したら int ってのは基本だろJK

351 :デフォルトの名無しさん:2011/06/10(金) 17:06:09.76
>>333
直感的でない挙動って具体的に何さ?
符号の有無は最上位ビットを「最終的にどう解釈させるか?」でしかないのであって、
四則演算やビット処理にしたって、内部の処理内容は符合に関わらず同じだろう。

352 :デフォルトの名無しさん:2011/06/10(金) 17:25:21.59
じゃこれか
6.7.2 Type specifiers
2 At least one type specifier shall be given in the declaration specifiers in each declaration,
and in the specifier-qualifier list in each struct declaration and type name. Each list of
type specifiers shall be one of the following sets (delimited by commas, when there is
more than one set on a line); the type specifiers may occur in any order, possibly
intermixed with the other declaration specifiers.
? void
? char
? signed char
? unsigned char
? short, signed short, short int, or signed short int
? unsigned short, or unsigned short int
? int, signed, or signed int
? unsigned, or unsigned int ←★ここ
? long, signed long, long int, or signed long int
? unsigned long, or unsigned long int
? long long, signed long long, long long int, or signed long long int
? unsigned long long, or unsigned long long int

以下省略

353 :デフォルトの名無しさん:2011/06/10(金) 17:44:48.89
うほっ

354 :デフォルトの名無しさん:2011/06/10(金) 18:25:13.77
6.7.2 型指定子
それぞれの宣言の宣言指定子列の中で、又はそれぞれの構造体宣言及び型名の型指定子型修飾子並び
の中で、少なくとも一つの型指定子を指定しなければならない。型指定子の並びは、次に示すものの
いずれか一つでなければならない(1行に二つ以上の組がある場合、コンマで区切ってある。)。
型指定子は、いかなる順序で現れてもよく、更に、他の宣言指定子と混合してもよい。
- void
- char
- signed char
- unsigned signed char
- short, signed short, short int, signed short int
- unsigned short, unsigned short int
- int, signed, signed int
- unsigned, unsigned int
- long, signed long, long int, signed long int



混合してもいいし、順序もどーでもいいのかww

355 :デフォルトの名無しさん:2011/06/10(金) 20:37:59.52
んなツマンナイ話題より
わくわくする様なコードを引き出す効率ネタを振ってくれよ

356 :デフォルトの名無しさん:2011/06/10(金) 22:09:25.80
データ検索でハッシュ法よりはやい方法ありますか?
また大学1年ですがハッシュを知ってる僕って進度速いほうでしょうか?

皆まだ関数だの制御だの基本文法に慣れてない人が7割くらいです。

357 :デフォルトの名無しさん:2011/06/10(金) 22:11:14.45
>>356
中学生でマスターしている人もいるよ

358 :デフォルトの名無しさん:2011/06/10(金) 22:12:36.14
状況によりけり

359 :デフォルトの名無しさん:2011/06/10(金) 22:21:09.89
C言語と相性の良いグラフィックライブラリ教えてください。

360 :デフォルトの名無しさん:2011/06/10(金) 22:22:47.31
OpenGL

361 :デフォルトの名無しさん:2011/06/10(金) 22:36:18.83
>>359
BGI

362 :デフォルトの名無しさん:2011/06/10(金) 23:05:45.48
>>356
qsort()してからbsearch()するとか

363 :デフォルトの名無しさん:2011/06/10(金) 23:09:45.63
>>362
状況にもよるかもしれんけど、一般的にはバイナリサーチよりハッシュのほうが速いと思う。

364 :デフォルトの名無しさん:2011/06/10(金) 23:24:27.12
ハッシュを混ぜて速度を語ると
探索処理をどこまで事前に済ませておけるかに成るから本質的じゃないっすよ

365 :デフォルトの名無しさん:2011/06/10(金) 23:31:07.76
キーを配列添字にして、値を保存し、キーを使ってアクセス

366 :デフォルトの名無しさん:2011/06/10(金) 23:39:09.66
>>356
作ったソース晒しなよ

367 :デフォルトの名無しさん:2011/06/10(金) 23:39:47.16
>>365
ふつうのハッシュだな。

368 :デフォルトの名無しさん:2011/06/11(土) 00:07:50.99
Javaのコレクション・フレームワークみたいなものって、Cには無いんですか?C++ならありますか?

369 :デフォルトの名無しさん:2011/06/11(土) 00:09:19.71
>>368
Cは標準のやつはない。C++はある。

370 :デフォルトの名無しさん:2011/06/11(土) 00:10:59.84
サンクスコ

371 :デフォルトの名無しさん:2011/06/11(土) 00:20:52.31
八種法って、コリコリした場合の回避方法もセットで実装しないと使い物にならないんじゃないの?

372 :デフォルトの名無しさん:2011/06/11(土) 00:29:10.18
メモリは無限にあるものだから
1対1対応のハッシュにすればコリコリしない!

373 :デフォルトの名無しさん:2011/06/11(土) 00:39:18.47
ハッシュは考えることが多くてメンドクサいの
ハッシュ関数どうしようとかコリったらどうしようとか再ハッシュの閾値とか
適当に線形検索とかでやっちゃってもいいと思うの

374 :デフォルトの名無しさん:2011/06/11(土) 00:40:59.61
わざわざ自作するからでしょ・・・

375 :デフォルトの名無しさん:2011/06/11(土) 00:49:06.36
実際、データ件数が少なければ、線形で十分だよね。

376 :デフォルトの名無しさん:2011/06/11(土) 00:50:18.16
バイナリサーチもそこらのPGに作らせると高確率でバグってるって話題あったな。

377 :デフォルトの名無しさん:2011/06/11(土) 00:52:30.88
時間と人件費をかけてバグを実装するのか・・・

378 :デフォルトの名無しさん:2011/06/11(土) 00:57:28.03
次の方の仕事を用意してると言って下さい。

379 :デフォルトの名無しさん:2011/06/11(土) 00:58:35.61
今は、バグバグがはやりなんじゃあ

380 :デフォルトの名無しさん:2011/06/11(土) 01:02:12.89
バグを入れることによって次の仕事が発生する
まさに自足自給

381 :デフォルトの名無しさん:2011/06/11(土) 01:13:25.65
MSの悪口は許さんぞ。

382 :デフォルトの名無しさん:2011/06/11(土) 01:36:42.73
QZaw55cn4cはクズ

383 :デフォルトの名無しさん:2011/06/11(土) 01:40:17.75
>>351
intと混在するケース

unsigned u = 0;
if (-1 < u) {
  printf("出力されない");
}
意味的には (unsigned)-1 < 0 だと気づかないとハマる

この辺を考慮してだと思うが、C FAQでは
>オーバーフローの時の性質の明確なことが大事で負の値が不 要なら、
>対応する符号なしの整数を使え(ただし符号付と符号なしの 整数の混在には注意すること)。
としている

384 :デフォルトの名無しさん:2011/06/11(土) 01:52:31.79
>>383
それ挙動がおかしいんじゃなくて、使い方がおかしいだけじゃんかよ。
負数との比較が出てくるならちゃんとint使わなきゃダメに決まってる。

385 :デフォルトの名無しさん:2011/06/11(土) 01:57:57.98
ハマらない書き方ってのがイガイと難しいからね

386 :デフォルトの名無しさん:2011/06/11(土) 02:01:31.06
>>384
挙動がおかしいかどうかを議論する気はない
しかしCリファレンスマニュアルでも触れられてるような落とし穴ポイントだから
普通は「直感的でない」と言われるような部分だと思う

387 :デフォルトの名無しさん:2011/06/11(土) 02:01:35.92
constの正確な書き方を教えろ

388 :デフォルトの名無しさん:2011/06/11(土) 02:04:18.19
const
意識して使ったことないなあ

389 :デフォルトの名無しさん:2011/06/11(土) 02:11:53.32
正確な書き方って言われても付ける場所によって意味が変わったり変わらなかったりするけど
const int *
const int *const
int *const
int const *
int const *const
お好きなものをどうぞ?

390 :デフォルトの名無しさん:2011/06/11(土) 02:21:53.53
>>386
暗黙の型変換では、式での最上位の型に自動的に拡張される。優先順位は、
long double > double > float > unsigned long int > long int > unsigned int > int
である。つまり>>383の例ならば、
int < unsigned int
なので、左項が自動的に上位のunsigned intに拡張され、
unsigned int < unsigned int
と内部的に処理される。

391 :デフォルトの名無しさん:2011/06/11(土) 03:02:07.86
>>389
const int   *            hoge;
const int   *  const     hoge;
int        *  const     hoge;
int const   *            hoge;
int const   *  const     hoge;

とすると分かりやすいと思う
* の左側にconstがあるものは *hoge がconst
* の右側にconstがあるものは hoge がconst

392 :デフォルトの名無しさん:2011/06/11(土) 03:18:35.92
>>391
それ
わざと解かりにくくしてオマエが喜んでるだけだろ

393 :デフォルトの名無しさん:2011/06/11(土) 12:28:04.59
1兆個の数字を大小に並び替えるって、リストなら1時間くらいかかりそうだが
ハッシュだと3分くらいでできると思うんだがどうでしょう?

394 :デフォルトの名無しさん:2011/06/11(土) 12:29:45.55
>>393
頭大丈夫か?

395 :デフォルトの名無しさん:2011/06/11(土) 12:29:45.84
>>259
お願いします

396 :デフォルトの名無しさん:2011/06/11(土) 12:31:02.67
何をお願いしてるんだろう?

397 :デフォルトの名無しさん:2011/06/11(土) 12:38:31.56
馬鹿には頼んでいません

398 :デフォルトの名無しさん:2011/06/11(土) 12:40:37.08
解説してください

399 :デフォルトの名無しさん:2011/06/11(土) 12:40:48.55
いやです

400 :デフォルトの名無しさん:2011/06/11(土) 12:41:16.91
>>394
1兆だから桁数は平均7だろ。
リストのデータに達する時間をTとしたらハッシュの場合(7/500000000000)T

500000000000/7倍ハッシュのほうが速いってことでOKですか?





401 :デフォルトの名無しさん:2011/06/11(土) 12:44:12.93
なぜ桁数が関係してくるんだろう?

402 :デフォルトの名無しさん:2011/06/11(土) 12:45:49.33
>>401
桁ごとに線形リスト作ってるから。
あれ違うっけ?

403 :デフォルトの名無しさん:2011/06/11(土) 12:48:46.64
そうだよばかども

404 :デフォルトの名無しさん:2011/06/11(土) 12:49:53.47
ハッシュは文字列以外にしか有効じゃないのかな?


405 :デフォルトの名無しさん:2011/06/11(土) 12:50:04.65
1兆個の整数を3分でソートできるアルゴリズムがあると聞いて

406 :デフォルトの名無しさん:2011/06/11(土) 12:54:22.27
え?w3分じゃ速いんですか?


407 :デフォルトの名無しさん:2011/06/11(土) 12:58:41.78
ハッシュっていうと考え方だけの話で
実装の仕方によって性能はちがうんだと思ってたんだが
間違ってる?

408 :デフォルトの名無しさん:2011/06/11(土) 13:13:52.28
1兆舐めすぎだろ1つ4バイトだとして

4 000 000 000 000バイト = 3 725.2903 ギガバイト

のデータを3分でソートしちゃうの?

409 :デフォルトの名無しさん:2011/06/11(土) 13:28:12.55
周波数を指定して音を鳴らしたいのですがBeepだと特定の環境ではマザーボードから音が出てしまうの
ヘッドホンで聞ける音として出したいのですがそういう関数はございますか?

410 :デフォルトの名無しさん:2011/06/11(土) 13:36:56.65
ございません

411 :デフォルトの名無しさん:2011/06/11(土) 13:57:22.16
winAPI

412 :デフォルトの名無しさん:2011/06/11(土) 13:58:44.56
>>409
スレ違いなのでこちらへどうぞ

Win32API質問箱 Build94
http://hibari.2ch.net/test/read.cgi/tech/1306687231/

413 :デフォルトの名無しさん:2011/06/11(土) 14:06:42.89
そちらで効いてきます
誘導ありがとうございます

414 :デフォルトの名無しさん:2011/06/11(土) 14:11:47.36
>>407
それ言い出すと、どんなアルゴリズムでもそうだからな。
大まかな話なら「ハッシュはO(1)でバイナリサーチはO(log2N)でハッシュのほうが速い」でいいよ。


415 :デフォルトの名無しさん:2011/06/11(土) 15:41:25.06
>>390
なんで繰り返したの?補足?

>>392
わかりにくい?逆に>>392はどう理解してるの?

416 :デフォルトの名無しさん:2011/06/11(土) 20:55:10.99
>>415
「直感的でない」の意味が分からん。

417 :デフォルトの名無しさん:2011/06/11(土) 22:25:12.30
質問がありますのでお願いします。

少々理由があってプログラムの勉強(C言語)を1からやらなければならなくなりました。
そこで質問ですが、C言語を学ぶ上で数学の知識は必要でしょうか?確か高校レベルな数学知識が必要だった気がしたのですがどの辺りを学べばいいかアドバイスお願いします

418 :デフォルトの名無しさん:2011/06/11(土) 22:28:14.93
C言語だけなら要らない
C言語で暗号を扱いたいなら暗号の知識がいるし
C言語で3Dを扱いたいなら3Dの知識がいるし
C言語で数学の計算をしたいなら数学の知識がいるというだけ

419 :デフォルトの名無しさん:2011/06/11(土) 22:30:08.62
あ?プログラミング自体が数学だボケ
大学からやり直せ

420 :デフォルトの名無しさん:2011/06/11(土) 22:30:11.63
数学的帰納法が分かっていれば再帰処理が書きやすくなるかも

421 :デフォルトの名無しさん:2011/06/11(土) 22:35:17.97
算数レベルの知識しか無かった当時小学生の俺でもC言語は使えていたから
C言語を学ぶのに数学の知識が要らないのは確かである
プログラミング自体が数学だということが問題なのではない

422 :デフォルトの名無しさん:2011/06/11(土) 22:36:58.98
>>421
こういう馬鹿にならないためにも本をいっぱい読もう
終わり

423 :デフォルトの名無しさん:2011/06/11(土) 22:38:12.03
数学の知識が必要だと言われたとして、Cを勉強せずに、まず数学の復習からはじめるんだろうか、この人・・

424 :デフォルトの名無しさん:2011/06/11(土) 22:38:47.44
天才なのか、「使える」の基準が著しく低いのか不明だ

425 :デフォルトの名無しさん:2011/06/11(土) 22:44:15.54
論理的思考を抽象的な意味で数学だと言うなら、必要だということになるかもしれないが、
むしろ日本語の読解力のほうが必要な気がする

426 :デフォルトの名無しさん:2011/06/11(土) 22:47:32.25
>>425
英語じゃだめなんですか?

427 :デフォルトの名無しさん:2011/06/11(土) 22:49:29.92
英語の本で勉強するの?
まぁ別にそれでもいいよ

428 :デフォルトの名無しさん:2011/06/11(土) 22:56:02.25
実に不思議な質問だ

429 :デフォルトの名無しさん:2011/06/11(土) 23:01:08.48
数学は必要なくても
高校数学くらいさくさく理解できる程度の知能は必要


430 :デフォルトの名無しさん:2011/06/11(土) 23:10:38.96
勉強し始めてみればいいだけだよね
躓くならそこで立ち止まって他の必要なことを勉強すればいい

431 :デフォルトの名無しさん:2011/06/12(日) 10:11:55.68
>>412
http://hibari.2ch.net/test/read.cgi/tech/1306687231/274

432 :デフォルトの名無しさん:2011/06/12(日) 10:48:56.18
構造体の中の、char 型ポインタのアドレスについて教えてください
下記のプログラムを実行すると
Address 1 の値とAddress 2 の値が同じになってしまいます。
脳内では、例えばAddress 1 が0x0000h だとすると、Address 2は0x0005h
と表示したいのですが、頭が悪くてできません。宜しくオナガイシマス。
#include <stdio.h>
typedef struct _IplImage
{
int nSize;
char *imageData;
}
IplImage;

int main()
{
char *p;
IplImage image = {10, "abcdefghijklnmopqrstuvwxyz"};
IplImage *pIplImage;
pIplImage = ℑ
p = &pIplImage->imageData[0];
printf("Address 1 = %x\n", &p);
printf("Value = %s\n", p);
p = &pIplImage->imageData[5];
printf("Address 2 = %x\n", &p);
printf("Value = %s\n", p);
return 0;
}

433 :デフォルトの名無しさん:2011/06/12(日) 10:54:41.18
&pじゃなくてpを表示させないと

434 :デフォルトの名無しさん:2011/06/12(日) 10:54:58.26
>pIplImage = ?

ってなんだw

435 :デフォルトの名無しさん:2011/06/12(日) 10:57:32.02
>>432
欲しいのは「pが指しているアドレス」じゃないの?
だったら&pじゃなくてpだよ。

436 :デフォルトの名無しさん:2011/06/12(日) 10:59:49.00
&image;でℑが出るとは知らなかったな

437 :デフォルトの名無しさん:2011/06/12(日) 11:01:13.23


438 :デフォルトの名無しさん:2011/06/12(日) 11:04:19.63
>>434
どんな環境ですか?

439 :デフォルトの名無しさん:2011/06/12(日) 11:08:50.19
Wao!
できました、皆さんありがとう
pIplImage = ℑ
ですが、偶然ですなんでだろう^^
"pIplImage = ℑ"

440 :デフォルトの名無しさん:2011/06/12(日) 11:14:06.93
面白いですね^^
pIplImage = ℑ
ピー アイ(大文字) ピー エル アイ(大文字) エム エー ジー イー 半角スペース イコール 半角スペース アンパサンド アイ エム エー ジー イー セミコロン
です

441 :デフォルトの名無しさん:2011/06/12(日) 11:20:55.75
>>259
おねがいします

442 :デフォルトの名無しさん:2011/06/12(日) 11:23:43.40
断る。

443 :デフォルトの名無しさん:2011/06/12(日) 12:08:00.19
& h e l l i p ;




444 :デフォルトの名無しさん:2011/06/12(日) 14:44:26.72
今日、栄のジュンク堂書店いってくる(´・(エ)・`)

445 :417:2011/06/12(日) 15:40:35.12
アドバイスありがとうございます。こちらが勘違いしていたみたいです

446 :デフォルトの名無しさん:2011/06/12(日) 18:06:36.78
C言語なら俺に聞けの「俺」って誰ですか?

447 :デフォルトの名無しさん:2011/06/12(日) 18:17:33.19
俺だよ、俺。

教えてやるから、金振り込んでくれよ。

448 :デフォルトの名無しさん:2011/06/12(日) 18:20:54.46
いやいや俺だよ、俺

449 :デフォルトの名無しさん:2011/06/12(日) 18:37:06.77
>>1001だよ

450 :デフォルトの名無しさん:2011/06/12(日) 22:00:33.66
昔はまなちゃんが教えてくれるスレとかお姉さんが教えてくれるスレとかあったな。

451 :デフォルトの名無しさん:2011/06/12(日) 22:08:18.71
単発ネタならよかったんだが、しつこい奴もいたな

452 :デフォルトの名無しさん:2011/06/12(日) 22:52:33.76
mainの中にstrftime()をif分岐で3パターン作っています(1なら標準、2ならグリニッジ、3ならstrftimeで取得)。
このとき、strftimeの%Yを書く部分をfgetsで取得したキーボードからの文字列で動作させているのですが、
VC6.0で起動させたところ、if文に入れなければ動作しますが、if文の中に入れて動かすとエラーでプログラムが強制終了されます。
何の原因が考えられるでしょうか?

453 :デフォルトの名無しさん:2011/06/13(月) 00:15:36.68
日本語がとっちらかっている。おそらくコードもとっちらかっているのだろう。

454 :デフォルトの名無しさん:2011/06/13(月) 11:41:47.65
◆QZaw55cn4cはクズ

455 :デフォルトの名無しさん:2011/06/13(月) 12:50:29.14
ほっほっ

456 :デフォルトの名無しさん:2011/06/13(月) 12:59:10.21
ふっほっ

457 :デフォルトの名無しさん:2011/06/13(月) 13:10:57.53
(「・ω・)「 ガオー

458 :デフォルトの名無しさん:2011/06/13(月) 13:45:04.29
ぶはっ!選ぶはっ!

459 :デフォルトの名無しさん:2011/06/13(月) 13:51:33.15
>>452
VC6.0は標準C++と変数のスコープが違っていただろ
その当たりのバグじゃないのか?

460 :デフォルトの名無しさん:2011/06/13(月) 20:34:15.57
(゚σ ゚)ホジホジ

461 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/13(月) 22:56:32.13
おい!web上で使えるSVNのサービスってないのか。あったら教えてください

462 :デフォルトの名無しさん:2011/06/13(月) 22:58:52.37
googlecodeとかってこと?

463 :デフォルトの名無しさん:2011/06/13(月) 23:01:23.46
C言語をはじめたばかりであまりわからないのですが、
ビットシフトはなんの役に立つのでしょうか?

464 :デフォルトの名無しさん:2011/06/13(月) 23:03:14.12
*2
/2
はビットシフトで置き換えられる。

465 :デフォルトの名無しさん:2011/06/13(月) 23:10:38.31
>>463
フラグ操作

466 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/13(月) 23:10:53.51
githubのsvn版みたいのないすか
>>463
bmpファイルをfopenで直接読み込んで色データを取り出したいときとか

467 :デフォルトの名無しさん:2011/06/13(月) 23:16:13.16
GoogleCode、SourceForgeなどなど

468 :デフォルトの名無しさん:2011/06/13(月) 23:24:50.09
a(){
int i=0;
L:
printf("%d\n", i++);
goto L;
}

main(){
a();
}

これを実行すると延々と数が増加していく。
これを、a()に変更を加えずに、a()の処理が100ms毎に一時停止と再開を繰り返すようにするには、どうしたらいいですか?

469 :デフォルトの名無しさん:2011/06/13(月) 23:26:41.38
>>468
むりだよーん

470 :デフォルトの名無しさん:2011/06/13(月) 23:31:45.42
別スレッドとか別プロセスを作ってそっちから開始停止を操作する

printfを自分で定義して100msごとに〜って言う動作をさせる(笑)

471 :デフォルトの名無しさん:2011/06/13(月) 23:44:17.95
アスペクト指向を使うとかしか思い浮かばない

472 :デフォルトの名無しさん:2011/06/14(火) 00:15:56.13
先頭に
#include <unistd.h>
#define printf usleep(100000); printf
を追加

473 :デフォルトの名無しさん:2011/06/14(火) 06:05:31.83
シミュレーションのプログラムを実行したいのですが、次のようなエラーが出てしまい実行できません。
少し調べたところ、何かをリンクできていないようです。
しかし、それが一体何なのか分かりません。
どのようにすればよいのでしょうか?

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
mcco.c:
警告 W8070 mcco.c 53: 関数は値を返すべき(関数 main )
警告 W8004 mcco.c 142: 'number' に代入した値は使われていない(関数 OMonteCarlo )
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: 外部シンボル '_sgenrand' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_sendconstantlattice' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_sendrandomlattice' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_onespeciesgathermetropolis' が未解決(C:\MYSRC\MCCO.OBJ が
参照)
Error: 外部シンボル '_getaftermoveposition' が未解決(C:\MYSRC\MCCO.OBJ が参照)

Error: 外部シンボル '_probofOhoppingCO' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_probofCOreaction' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_genrand' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_changespecies' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_probofCOexist' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_changetotalvalue' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_Arrhenius' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_returndeltatime' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_duplicatelattice' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_savemfile' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_randomnumber' が未解決(C:\MYSRC\MCCO.OBJ が参照)
Error: 外部シンボル '_countspecies' が未解決(C:\MYSRC\MCCO.OBJ が参照)

474 :デフォルトの名無しさん:2011/06/14(火) 07:14:20.75
ソースファイル1つだけじゃないんだろ。

bcc32 *.c

とかやってみたら?

475 :デフォルトの名無しさん:2011/06/14(火) 09:19:17.04
リンク以前にコンパイルできてないじゃん。一番最初の警告を解決しろよ。

476 :デフォルトの名無しさん:2011/06/14(火) 09:35:49.70
えっ

477 : 忍法帖【Lv=5,xxxP】 :2011/06/14(火) 09:45:44.55
>>475
どう見ても、コンパイル完了後、リンクしようとして出たエラーですが。

478 :デフォルトの名無しさん:2011/06/14(火) 10:04:21.27
◆QZaw55cn4cは糞

479 :デフォルトの名無しさん:2011/06/14(火) 10:08:01.19
すみません、
痴漢バスの千尋のほかの作品や他の女優名がわからないでしょうか?
誰か詳しい方お願いします

480 :デフォルトの名無しさん:2011/06/14(火) 10:17:06.84
>>479
http://studiokingyo.fc2web.com/

481 :デフォルトの名無しさん:2011/06/14(火) 10:39:58.08
bcc32はDLL関連だとしたらめんどくさいよ。

482 :デフォルトの名無しさん:2011/06/14(火) 12:26:36.10
cのユニットテストって何を使えばばいいんでしょうか?
apacheのモジュール開発なんだけど

483 :デフォルトの名無しさん:2011/06/14(火) 12:29:49.00
だから俺に聞けって誰だよ
誰に聞けばいいんだよ

484 :デフォルトの名無しさん:2011/06/14(火) 12:49:46.55
オレオレ

485 :デフォルトの名無しさん:2011/06/14(火) 13:17:32.87
>>484
詐欺

486 :デフォルトの名無しさん:2011/06/14(火) 20:21:29.51
>>480
すげえ、参考になった

487 :デフォルトの名無しさん:2011/06/14(火) 21:06:17.88
>>480>>486
自作自演すんなみっともない

488 :デフォルトの名無しさん:2011/06/14(火) 21:09:10.23
>>480
ありがとうございます!
高度情報が豊富で助かります

489 :デフォルトの名無しさん:2011/06/14(火) 21:12:08.78
糞サイトのURL貼るな

490 :デフォルトの名無しさん:2011/06/14(火) 21:15:09.22
>>480に技術力で劣っている人間は多いだろうが、嫉妬で叩くのはくれぐれもやめたまえよ

491 :デフォルトの名無しさん:2011/06/14(火) 21:37:07.94
このサイトが糞だったらMSDNは糞以外だはw

492 :デフォルトの名無しさん:2011/06/14(火) 21:43:34.35
>>491
無理せず母国語でおk

493 :デフォルトの名無しさん:2011/06/14(火) 21:46:28.88
釣れたw

494 :デフォルトの名無しさん:2011/06/14(火) 22:04:58.98
プレイヤーが整数を4つ打ち込んで
その中の最大値と最小値を出すプログラムを書きたいのですが
どうしても作れません…
elseを使わなくてはいけないのですが…どのように書いたらいいでしょうか?

495 :デフォルトの名無しさん:2011/06/14(火) 22:09:59.29
ソート使うのありなら簡単
なくても簡単

496 :デフォルトの名無しさん:2011/06/14(火) 22:13:06.82
#include <stdio.h>

int main(void)
{
int a;
int b;
int c;
int d;
int x;
     printf("1つ目の整数を入力せよ\n");
scanf("%d",&a);
printf("2つ目の整数を入力せよ\n");
scanf("%d",&b);
printf("3つ目の整数を入力せよ\n");
scanf("%d",&c);
printf("4つ目の整数を入力せよ\n");
scanf("%d",&d);
  printf("【 %d , %d , %d , %d 】\n",a,b,c,d);
  if(a == '>')
  {
  printf("最大値は、%d\n",a>b);
}
else if (a)
  printf("最大値は、%d \n",a>b);
  printf("何かキーを押して下さい\n");
  getch();
  printf("END\n");
  return 0;
}

497 :デフォルトの名無しさん:2011/06/14(火) 22:13:37.57
すごく初歩的なのですが

#include <stdio.h>

int main()
{
printf("1+2+3+4+5\n");

return 0;
}

これだと1+2+3+4+5と表示されるのですが
計算させるにはどうしたらいいんでしょうか?

498 :デフォルトの名無しさん:2011/06/14(火) 22:14:09.37
上記が作りかけのソースです。
ソート?というのはまだ習っていないので恐らく使わないと思います…


499 :デフォルトの名無しさん:2011/06/14(火) 22:15:38.84
>>497
printf("%d",1+2+3+4+5);


500 :デフォルトの名無しさん:2011/06/14(火) 22:15:39.65
>>497
printf("1+2+3+4+5\n");

printf("%d\n", 1+2+3+4+5);

501 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/14(火) 22:17:59.30
構って欲しいからって馬鹿の振りするのやめようよ

502 :デフォルトの名無しさん:2011/06/14(火) 22:19:57.72
>>499
>>500

できました!ありがとうございます。

503 :デフォルトの名無しさん:2011/06/14(火) 22:48:33.61
>>496
#include <stdio.h>

int main(void)
{
int a[4];
int i;
int max;
int min;
for(i=0;i<4;i++) {
printf("%dつ目の整数を入力せよ\n", i+1);
scanf("%d",&a[i]);
}
printf("【 %d , %d , %d , %d 】\n",a[0],a[1],a[2],a[3]);
for (i=1,max=a[0],min=a[0];i<4;i++) {
if(max<a[i])
max=a[i];
if(min>a[i])
min=a[i];
}
printf("最大値は、%d \n",max);
printf("最小値は、%d \n",min);
printf("何かキーを押して下さい\n");
getch();
printf("END\n");
return 0;
}

504 :デフォルトの名無しさん:2011/06/14(火) 23:05:28.35
>>503
回答ありがとうございます。
ちょっと色々自分で調べてたのですが、
ソート?の解釈は繰り返し文ということでよいでしょうか?
また、>>503様が書いてくださった「max」等の関数を
まだ習っていない状態なのですが、
(現在printf scanf if for程度までは習ってます)
何か別のものに置き換えることは可能なのでしょうか…。

505 :デフォルトの名無しさん:2011/06/14(火) 23:35:40.21
要素数5の配列aを順番逆にして配列bにコピーしたいんですがどうしたらいいですか?
変数tempなりをつくって入れ替え処理でしょうか?
お願いします。

506 :デフォルトの名無しさん:2011/06/14(火) 23:42:33.67
>>505
for (i=0;i<5;i++)
b[4-i]=a[i];

507 :デフォルトの名無しさん:2011/06/14(火) 23:43:23.77
>>504
もう一度よく復習をしよう
変数の宣言と四則演算あたりから

508 :デフォルトの名無しさん:2011/06/14(火) 23:45:47.02
>>480
すごい!

509 :デフォルトの名無しさん:2011/06/14(火) 23:51:41.89
>>506
出来ました。
考え方を教えてください

510 :デフォルトの名無しさん:2011/06/14(火) 23:53:32.69
>>509
数オリの問題で頭を鍛えるのだ

511 :デフォルトの名無しさん:2011/06/14(火) 23:56:18.60
>>510
よく考えると理解できました。
ありがとうございます

512 :デフォルトの名無しさん:2011/06/15(水) 00:28:59.15
>>480

これはもっと評価されるべき

513 :デフォルトの名無しさん:2011/06/15(水) 00:56:08.33
>>504 else文を使う必要がある、と書いているけど?要件を満たしていないけどOKなの?

514 :デフォルトの名無しさん:2011/06/15(水) 01:46:56.67
C言語 Linux gcc です。
クイックソートで移動した回数を記録するプログラムを作っているのですが
再帰呼び出しのたびに回数をゼロで初期化してしまっているみたいです。
どのように直せばいいですか。

http://codepad.org/JUNth3NB

515 : 忍法帖【Lv=5,xxxP】 :2011/06/15(水) 01:53:02.88
>>514
static int count = 0;

516 :デフォルトの名無しさん:2011/06/15(水) 01:54:29.63
staticにするか外に出すかパラメータ化する

517 :デフォルトの名無しさん:2011/06/15(水) 09:30:06.73
if (low < j)
count += sort_quick(low, j, array); // 前半部についてソート
if (i < high)
count += sort_quick(i, high, array); // 後半部についてソート

518 :デフォルトの名無しさん:2011/06/15(水) 19:56:33.35
>>513
昨夜の>>504です

関数も習っていませんし、elseも使っていない状態なので
とても申し上げにくいのですがOKじゃないですね…
一晩考えましたがやっぱりよくわかりませんでした。
どのように書くべきでしょうか…

519 :デフォルトの名無しさん:2011/06/15(水) 20:12:51.13
>>518
最大数の場合、4つの数を比較して、一番大きいのを選び出さないといけないよね?
最低限、比較して、判定する if は使わないといけない。 これを使ってよければ、
1.最初に4つの数を、それぞれを変数a、b、c、dに格納する。
2.maxとminの変数を用意する。
3.maxとminにaを代入する。
4.maxとminをそれぞれ、bと比較する。
5.maxよりbが大きければ、maxにbの値を代入する。
6.minよりbが小さければ、minにbの値を代入する。

以下、4.〜6.と同様の処理を、cとdで行う。

最後まで行うと、maxとminには4つの数の最大数、最少数が入っているので、それを表示する。

文章で書くとこんな感じかな。

520 :デフォルトの名無しさん:2011/06/15(水) 20:33:39.27
何行目がわからないんだ?
いままでやったこと復習しろよ

521 :デフォルトの名無しさん:2011/06/15(水) 20:35:55.34
>>518
#include <stdio.h>

int main(void)
{
int a,b,c,d;
int max,min;
printf("1つ目の整数を入力せよ\n"); scanf("%d",&a);
printf("2つ目の整数を入力せよ\n"); scanf("%d",&b);
printf("3つ目の整数を入力せよ\n"); scanf("%d",&c);
printf("4つ目の整数を入力せよ\n"); scanf("%d",&d);
printf("【 %d , %d , %d , %d 】\n",a,b,c,d);
max = a; min = a;
if (b > max) max = b; if (b < min) min = b;
if (c > max) max = c; if (c < min) min = c;
if (d > max) max = d; if (d < min) min = d;
printf("最大値は、%d \n",max);
printf("最小値は、%d \n",min);
return 0;
}


522 :デフォルトの名無しさん:2011/06/15(水) 20:48:11.54
else使えよ

523 :デフォルトの名無しさん:2011/06/15(水) 20:50:13.04
使わないといけないんだ。ごめんな

524 :デフォルトの名無しさん:2011/06/15(水) 20:54:14.58
>>473です

>>474さん
ご指摘ありがとうございます。返事が遅くなってごめんなさい。
言われたように「*.c」で実行したところ、エラーが消えて次のような警告だけになりました。


c:\mysrc>bcc32 *.c
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
data.c:
mcco.c:
警告 W8070 mcco.c 53: 関数は値を返すべき(関数 main )
警告 W8004 mcco.c 142: 'number' に代入した値は使われていない(関数 OMonteCarlo )
mechanism.c:
警告 W8057 mechanism.c 293: パラメータ 'lattice' は一度も使用されない(関数 getaf
termoveposition )
potential.c:
警告 W8004 potential.c 36: 'Onumber' に代入した値は使われていない(関数 probofCOr
eaction )
警告 W8004 potential.c 58: 'Onumber' に代入した値は使われていない(関数 probofOho
ppingCO )
random.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland

525 :デフォルトの名無しさん:2011/06/15(水) 20:55:48.22
>>524の続きです
そのアウトプットはdata.exeとdata.tdsでしたが、一応実行したところ次のように表示されました。


「please check the command line!!」


しかし、「please check the command line!!」という表現はMCCO.cファイルのprintfにしか含んでいないので、
なぜこれがdata.exeを動かしてでてくるのかわかりません。
私自身C的外れなことをやっているのかもしれませんが、
もしこの僅かな情報から何か示唆して頂ける方がいましたら教えて頂きたいです。
よろしくお願いします。

526 :デフォルトの名無しさん:2011/06/15(水) 21:02:21.77
main関数がどこにあるのかしらんが、コマンドラインのチェック処理がMCCO.cのなかにあるんでないの
その調子で続けるならエスパースレ推奨

527 :デフォルトの名無しさん:2011/06/15(水) 21:16:17.36
構造体配列の検索にbsearch関数を使用すると検索可能なのですが、lsearch関数(lfind)を使用すると
セグメンテーション違反が出力されてしまいます。
配列自体は要素が少なく、線形探索で実現するためにlfindを使用したいのですが、
セグメンテーションが出力される要因がありましたら教えていただきたいと思います。

528 :デフォルトの名無しさん:2011/06/15(水) 21:21:17.59
>>518
else使うように直したよ
#include <stdio.h>

int main(void)
{
int a,b,c,d;
int max,min;
printf("1つ目の整数を入力せよ\n"); scanf("%d",&a);
printf("2つ目の整数を入力せよ\n"); scanf("%d",&b);
printf("3つ目の整数を入力せよ\n"); scanf("%d",&c);
printf("4つ目の整数を入力せよ\n"); scanf("%d",&d);
printf("【 %d , %d , %d , %d 】\n",a,b,c,d);
max = a; min = a;
if (b > a) {
if (c > b) if (d > c) max = d; else max = c; else if (d > b) max = d; else max = b;
} else {
if (c > a) if (d > c) max = d; else max = c; else if (d > a) max = d; else max = a;
}
if (b < a) {
if (c < b) if (d < c) min = d; else min = c; else if (d < b) min = d; else min = b;
} else {
if (c < a) if (d < c) min = d; else min = c; else if (d < a) min = d; else min = a;
}
printf("最大値は、%d \n",max);
printf("最小値は、%d \n",min);
return 0;
}


529 :528:2011/06/15(水) 21:24:33.47
>max = a; min = a;
これいらない。消しておいてください。

530 :デフォルトの名無しさん:2011/06/15(水) 21:25:06.93
変なロジックになったwww

531 :デフォルトの名無しさん:2011/06/15(水) 22:51:10.87
>>527
lsearch() は、マッチする要素を見つけられなかったとき、配列の最後に key をつけ加える。そして *nmemb を 1 ふやす。したがって、この関数を使用
する際には、マッチする要素が存在するか、もしくは配列に要素を追加するための領域があるか、を把握しておく必要がある。

これは?

532 :デフォルトの名無しさん:2011/06/16(木) 02:25:11.60
なんでcにはbyte型がないの?
sizeof (char)が必ず1になるから、
malloc等の引数でイチイチ n * sizeof (char)とか書かなくていい、
いや、書いたほうがいいとかのクソ議論が起こらないはず。byteなら。
さらにchar四文字、byte四文字でタイプ数は増えたりもしないし。

想像するに、
・そんなに欲しけりゃtypedefしれ
・1byteが8bitというのも当時は定番じゃなかった?から、抽象的にcharとゆっといた。

とか?

533 :デフォルトの名無しさん:2011/06/16(木) 04:02:53.15
用途で名前付けただけだろ。
integer → int
character → char


534 :デフォルトの名無しさん:2011/06/16(木) 04:06:09.27
逆にbyte型って他の言語にあるの?

535 :デフォルトの名無しさん:2011/06/16(木) 04:16:02.21
今更、逝っても何も変わらないだろうに、俺俺言語作るしか

536 :デフォルトの名無しさん:2011/06/16(木) 05:00:31.98
>>534
あるよ

537 :デフォルトの名無しさん:2011/06/16(木) 05:03:23.86
ないよ

538 :デフォルトの名無しさん:2011/06/16(木) 05:06:45.41
汗?

539 :デフォルトの名無しさん:2011/06/16(木) 12:08:22.74
すいません、昔のベーシック言語でいうところのcls(画面をクリアする)コマンドというか関数はありますか?

540 :デフォルトの名無しさん:2011/06/16(木) 13:18:29.39
横×縦の数のスペースを出力すれば良い。
ボーランド系なら clrscr() 使え。
Win98 までなら "\x1b[2J" を出力しても良い。
system("cls"); でも良いな。
*BSD or 犬糞なら system("clear");

541 :539:2011/06/16(木) 13:18:54.57
他のスレへ移動するため539の質問を撤回します

542 :539:2011/06/16(木) 13:20:19.97
>>540
被りました、どうも
回答ありがとうございました

543 :デフォルトの名無しさん:2011/06/16(木) 13:31:36.60
その辺やるならボーランドが楽だよな。
カーソル移動や画面制御等いろいろ用意されてる。
conio.h 見るだけで使い方も大体解るからすぐ使えるし。
Turbo-C 2.0 でも BCC 5.5 でも共通だから移植も一発だし。


544 :デフォルトの名無しさん:2011/06/16(木) 18:51:44.24
C言語やってるんですがジスコードとアスキーコードの違いがわかりません・・
どういうことでしょう?

545 :デフォルトの名無しさん:2011/06/16(木) 18:53:47.48
コンピュータの世界では文字はすべて番号で管理されている

546 :デフォルトの名無しさん:2011/06/16(木) 18:59:44.68
>>545
デコメみたいに絵文字はどうなんですか?

547 :デフォルトの名無しさん:2011/06/16(木) 19:20:19.19
>>544
aciiはアメリカの文字コード
jisはaciiを拡張して、カタカナも表示出来るようにしたもの

shift_jisは(ry


548 :デフォルトの名無しさん:2011/06/16(木) 19:23:26.58
>>546
絵文字であっても例外は在りません
と言うか、普通の文字のフォントもビットマップです

要するに、この番号はこの絵(見た目は文字)を表示しろ。と命令してる訳ですね


549 :デフォルトの名無しさん:2011/06/16(木) 19:23:57.43
>>547
プログラミングではjisって何バイトですか?
charが1byteだから1byte?

後プログラミング環境で一番簡単なのはどれですか?
visual studioはオプションが多すぎて全く理解ができないので
初心者にも分かりやすい奴お願いします。

550 :デフォルトの名無しさん:2011/06/16(木) 19:30:57.04
文字コードの話
http://euc.jp/i18n/charcode.ja.html

551 :デフォルトの名無しさん:2011/06/16(木) 19:35:53.71
>>549
まず、shift_jisとjisは違うという事から、覚えて置いてください

jisはaciiが7bitしか使わないので、余った部分にカタカナを詰め込んだ文字コードで、8bit(1byte)です

shift_jisは漢字も使えるように拡張したもので、2byteです

プログラミング環境で一番簡単なものと言うのは分かりません
英語しか表示出来ないaciiでしょうか。。。

日本語は表示するだけなら、特に難しい事は無いですが、文字列処理の時は、どの文字コードでも鬼門です


552 :デフォルトの名無しさん:2011/06/16(木) 19:35:55.64
>>532
byteでロジック考えるようなところにはマシン語使ってたから

553 :デフォルトの名無しさん:2011/06/16(木) 19:42:31.67
>>551
ありがとう、jisとaciiってそもそも何なんですか?Osに組み込まれた規格なのでしょうか?
例えばwindows95だと何規格なんでしょうか?

554 :デフォルトの名無しさん:2011/06/16(木) 19:43:26.21
>>532
被る機能は作らないとか言う精神が有ったらしい
この場合、char = byteだからな
気に食わないなら、#defineで別名作ればおkって文化だった


555 :デフォルトの名無しさん:2011/06/16(木) 19:48:10.67
自分で調べる気がない人が...

556 :デフォルトの名無しさん:2011/06/16(木) 19:48:33.41
>>553
え。。。
文字の規格ですが。。。
この番号はこの文字っていうルールが企画ごとに違うのです

OSとかは規格とは関係なくて、私たちが気にするのは、どのOSやどのアプリがどの文字コードをサポートしてるか?です
それに合わせて作るだけです

期待のunicodeもmsだけ独自になってて、元の木阿弥です


557 :デフォルトの名無しさん:2011/06/16(木) 19:53:52.23
>>556
ありがとうございます、よくわかりました。
C言語の場合アスキーコードに対応していますか?

558 :デフォルトの名無しさん:2011/06/16(木) 19:57:33.44
>>557
C言語にはそもそも文字コードの概念が無い、だから対応も糞もない
現実的な話だと大抵の環境でアスキーコードだと決め打ちでいける

559 :デフォルトの名無しさん:2011/06/16(木) 20:01:11.04
文字コードの概念ないと文字化けしないんですか?
文字ライブラリからC言語によって文字を呼び出すわけでしょ?

560 :デフォルトの名無しさん:2011/06/16(木) 20:04:18.68
>>557
ええっと。。。
コンパイラに依存するとしか。。。

まあ、aciiはjis,shift_jis,ecu,unicodeなど、あらゆる文字コードの元になってるので、まずaciiコードを表示出来ない環境は在りませんが。。。。

今時、aciiで不便に感じない環境はクレジット端末の通信データとか、ATMに通信データとか、そんなのぐらいですよ?


561 :デフォルトの名無しさん:2011/06/16(木) 20:07:23.91
>>559
cだけでなく、あらゆる言語は、文字列として扱われる数字の列を流してるだけです

流れてきた数字の列をどう表示するかは、OSやアプリに依存します


562 :デフォルトの名無しさん:2011/06/16(木) 20:09:55.84
ctype.h 系列の is_〜 は…

563 :デフォルトの名無しさん:2011/06/16(木) 20:13:39.99
あのさ、aciiじゃなくて、asciiな。

564 :デフォルトの名無しさん:2011/06/16(木) 20:16:14.15
>>563
お、あんがと
何か綴り違ったよな〜とは思ってたんだ(けど、分れば良いやというノリだった)


565 :デフォルトの名無しさん:2011/06/16(木) 20:18:00.82
自信満々で嘘を教えてるぞ
2chらしいっちゃらしいがw

566 :デフォルトの名無しさん:2011/06/16(木) 21:17:27.92
[1]C言語
[2]本文
以下のLED 7セグメント(4桁)を制御するプログラムを作成してください
(1) 入力に+ キー1つをもち、1桁だけのカウンタを作成する。

(2) スイッチのチャタリング防止のために、20msec程度の間に1msec
間隔で連続5回程度ON状態を検出したらONにする関数を追加する。

(3) スイッチのチャタリング防止の機能を拡張すると、長押しの動作の
判定が可能になる。長押し(1秒以上)でカウンタが「ゼロ」になるように拡張する。

(4) 500msecの間に2回ONを検知したらダブルクリックである機能を追加
する。ダブルクリックでは、自動的にカウントアップする動作を行うこと。
もう一度ダブルクリックで停止、ダブルクリックで再開、長押しでリセットする。

(5) 実験1〜4で実現した機能をさらに活用して、4桁のカウンタを作る。
このとき長押し、ダブルクリックの機能も残す。
4桁の7セグを直接制御するため、 ダイナミック点灯の考え方を使って4桁表示を行う。
7セグを制御する7ポート(例:RBO〜6)と表示する桁を制御する4ポート
(例:RAO〜3)を利用する。
表示桁の切り替えを5msecで行い、そのタイミングでその桁に表示する数値を切り
 替える。

[3] 環境
[3.1]Windows Vista
[3.2]Visual Studio 2008
[3.3]C言語
[4]6月21日
[5]使用したPICは、16F84です
ヒントだけでも、よろしくおねがします


567 :デフォルトの名無しさん:2011/06/16(木) 21:20:35.81
>>532
そうだね。
byteとかwordとか各企業で適当に決める単位だから。

568 :デフォルトの名無しさん:2011/06/16(木) 21:24:29.34
>>566
宿題とか課題とかは自分でやりなさい

569 :デフォルトの名無しさん:2011/06/16(木) 21:37:51.82
>>547-560
めちゃくちゃいってやがる……
なるべく自分で調べる癖つけといたほうがいいぞ……


570 :デフォルトの名無しさん:2011/06/16(木) 21:57:26.66
>>586
ヒントだけでもいいので、お願いします。
本当に、困っています。助けて下さい。

571 : 忍法帖【Lv=6,xxxP】 :2011/06/16(木) 22:12:53.80
ヒント:
スレ違い

572 :デフォルトの名無しさん:2011/06/16(木) 22:13:21.62
ヒント:
C/C++の宿題片付けます 149代目
http://hibari.2ch.net/test/read.cgi/tech/1307166756/l50

573 :デフォルトの名無しさん:2011/06/16(木) 23:02:54.95
PICの制御なんて、専用ライブラリを使うんじゃないのか??
仕様もなにも分からないのに・・・こんな場違いな質問してる人って・・

574 :デフォルトの名無しさん:2011/06/16(木) 23:14:14.58
専ブリもくそも、C でさえ過保護という世界

575 :デフォルトの名無しさん:2011/06/16(木) 23:41:27.58
とあるコマンドの(サブ)オプションをヘッダに定義するのですが、
メンテ・拡張しやすくする為に悩んでいます。
イメージは以下で、AとかBとか区別しています。
皆さんならどう判り易く宣言しますか?

cmd optA ← サブオプションは受け付けない
cmd optB ← サブがなくとも実行可能
cmd optB suboptα ← サブがありでも実行可能
cmd optC ← サブがなくとも実行可能
cmd optC suboptβ ← サブがありでも実行可能
cmd optC suboptγ ← 複数のサブがありでも実行可能

・enumでopt, suboptを個別に羅列宣言をする。
・構造体配列にガシガシ書き込む。

576 :デフォルトの名無しさん:2011/06/17(金) 01:42:19.19
手の甲が痒いのですが、どうしたらいいですか?

577 :デフォルトの名無しさん:2011/06/17(金) 01:44:53.98
>>575
getopt() は使わないの?

578 :デフォルトの名無しさん:2011/06/17(金) 04:49:55.04
アナルが痒いのですが、どうしたらいいですか?

579 :デフォルトの名無しさん:2011/06/17(金) 05:26:17.93
「アナル」は形容詞形だろ。
名詞として使うなら「アヌス」と言え。


580 :デフォルトの名無しさん:2011/06/17(金) 05:28:05.25
アルコール入りのウェットティッシュで拭くといいよ。


581 :デフォルトの名無しさん:2011/06/17(金) 06:21:41.85
なに?!じゃぁ、ナチュラルハイのアナル崩壊シリーズや、S1のアナル舐めシリーズは、
アヌス崩壊、アヌス舐め、が正解なんだな!! 勉強になるスレだなぁ・・・

582 :デフォルトの名無しさん:2011/06/17(金) 06:23:29.15
ちなみにanalの発音はアナルよりもエイノーなんだな。
http://ja.forvo.com/word/anal/

583 :デフォルトの名無しさん:2011/06/17(金) 06:27:44.60
ヘッダーファイルの使い方についての質問です。
これまでヘッダーの中身に関数の定義を書いてたのですが、
ヘッダーの中身をプロトタイプだけにする事はできるのでしょうか?
main関数が書いてあるファイルには、main関数以外書きたくないので、
プロトタイプ、関数定義、main関数、で三つのファイルに分けたいのですが、この場合どのようにコンパイルしたら良いのでしょうか?

584 :デフォルトの名無しさん:2011/06/17(金) 06:44:55.28
関数定義とは関数本体のことですよね?main関数と関数定義の .c ファイル、
プロトタイプの .h ファイルを作成して、.c をコンパイル&リンクすれば・・・
分割コンパイルって知ってます?

585 :デフォルトの名無しさん:2011/06/17(金) 08:11:21.68
spinlock.c
http://codepad.org/BTSjtGoJ

Makefile
http://codepad.org/M5uycMeC

0.33秒毎に数を増やしながら表示してきます。
これのspinlock()は、単純にwhileの空ループですが、
この空ループが、コンパイルオプションの最適化によって無効にされてしまうことがあるようです。
試しに make OPT=-O2 でコンパイルしてみると、動かなくなります。(make だけなら動く)

586 :585:2011/06/17(金) 08:16:00.07
これを回避するために
static
void spinlock(gboolean* lock_flag)
{
    while(*lock_flag == TRUE) {
        g_usleep(0);
    }
}
とすれば、今度は make OPT=-O2でも whileが変な最適化されずに動くようです。

シングルスレッドの時には無害だった最適化が、マルチスレッドだと有害になることがあるので、厄介だと思いました。
while(flag){} が最適化で無効にされるのは厄介だと感じます

587 :585:2011/06/17(金) 08:19:18.36
もしかして、複数スレッドでの並列実行が前提のソースをコンパイルする場合は、
コンパイルオプションに特別なフラグを指定する作法とかがあるのでしょうか?
(whileの例以外にも、まだまだ知らない副作用が潜んでそうで不安です…)

もしあるのなら、教えてくれるとありがたいです。(使用コンパイラー gcc4.5)

588 :デフォルトの名無しさん:2011/06/17(金) 09:06:05.33
>>587
つ void spinlock(volatile gboolean* lock_flag)

589 : 忍法帖【Lv=6,xxxP】 :2011/06/17(金) 09:19:14.45
>>587
つ[volatile]
最適化を抑制するだけならこれで充分。
問題は、本当にそれだけでいいか、だ。

590 :デフォルトの名無しさん:2011/06/17(金) 09:26:40.72
>>582
adelasa (スペイン の 女性)
官能的すぎるやろw

591 :デフォルトの名無しさん:2011/06/17(金) 09:34:27.45
このスレ、組み込み系の人、多いんですか?

592 :585:2011/06/17(金) 09:45:36.52
>>588
>>589
ありがとうございます。動きました!
volatileの有用性を始めて実感しました。こうやって使うんですね。

593 :デフォルトの名無しさん:2011/06/17(金) 09:48:24.67
>問題は、本当にそれだけでいいか、だ。
この指摘は重い

594 :585:2011/06/17(金) 09:58:48.55
>>583
当方5+-2の3なので、なるべく細かく分割して作ってくタイプです。
半年後に混乱しないように、局所的な関数はなるべくstaticにして隠したり。コメント無くても読めるくらい単純にしたり。
main.c http://codepad.org/be9KI52Q
print_number.c http://codepad.org/LPoCWeLD
print_number.h http://codepad.org/L6gxiwfE
timer.c http://codepad.org/peDAoKYO
timer.h http://codepad.org/gkQDzl5P
Makefile http://codepad.org/6HGifLbg

595 : 忍法帖【Lv=6,xxxP】 :2011/06/17(金) 10:40:17.45
あんまり細かいと、関数間最適化が効かないぞ。
まぁ、オブジェクト間最適化すればいいんだけれど。

596 :デフォルトの名無しさん:2011/06/17(金) 11:33:57.31
あぁ、次はリンクタイムコード生成だ・・・・

597 :585:2011/06/17(金) 11:37:37.78
>>593
並列処理は、バグの結果が怪奇現象だし、バグの再現も10回に1回しか成功しなかったり
自分にとっては未知すぎます

しかしながら、シングルスレッド性能は現状で頭打ちですし、今後はコアばかり増える方向だとCNETで読みました
セレロン級ですら12コアな時代が来たら、さすがに性能を活かせなくて焦りそうなので、今のうちに無理やり使って徐々に慣れておこうかと

並列でまた何か分からないことがあったら、再び質問させて頂こうかと思ってます
その際にはまた知識を分けて下さると助かります。volatileありがとうございました

598 :デフォルトの名無しさん:2011/06/17(金) 11:43:48.01
無意味な分散は逆効果だぞ。

599 :デフォルトの名無しさん:2011/06/17(金) 15:00:58.31
ソース aaa.c に記述されてる関数を
ソース bbb.c に記述されてる関数から呼び出す場合、
宣言にextern付けときゃ何とかなるって考えは間違ってる?

---aaa.h---
extern void aa(void);

---aaa.c---
#include"aaa.h"
void aa(void) {
...
}

---bbb.c---
#include"aaa.h"
void bb(void) {
...
aa();
...
}

600 :デフォルトの名無しさん:2011/06/17(金) 15:09:19.49
>>599
ただしい。
おれは面倒くさいからexternつけないけど。

601 :デフォルトの名無しさん:2011/06/17(金) 15:13:37.72
>>585
やりたいことはわかるけど
変数参照だとハマるよ
mutexとか使うんだとお思うけど

602 :デフォルトの名無しさん:2011/06/17(金) 19:14:14.73
i=atoi(s+1);
while(*(++s+1));

このwhile文がどういう働きをしてるのか分からないんだけどなにこれ?

603 :デフォルトの名無しさん:2011/06/17(金) 19:15:03.13
未定義

604 :デフォルトの名無しさん:2011/06/17(金) 19:15:59.56
意味のない時間稼ぎ?

605 :デフォルトの名無しさん:2011/06/17(金) 19:19:33.65
終端のいっこ前まで移動してるんだろう

606 :デフォルトの名無しさん:2011/06/17(金) 20:59:25.07
どうして未定義や不定は定義しないのですか?

607 :デフォルトの名無しさん:2011/06/17(金) 21:01:47.42
as isだから

608 :デフォルトの名無しさん:2011/06/17(金) 21:46:03.22
効率至上主義だから

609 :デフォルトの名無しさん:2011/06/17(金) 23:28:49.74
>>579

勉強になったよ。
って本当か?

610 :デフォルトの名無しさん:2011/06/17(金) 23:32:47.31
ネットで調べられないほどの情弱なら、英語の辞書くらいもっとけ

611 :デフォルトの名無しさん:2011/06/17(金) 23:33:40.41
>>599

そうそう。

変数はかならずexternが必要なんだよね。
関数はどちらでもいい。

そこらへん
俺はこれでスッキリしたよ。

c言語 入門書の次に読む本

612 :デフォルトの名無しさん:2011/06/17(金) 23:50:13.86
>>602
こんなの動かしてみれば見えてくるかもね
int main(){
int i;
char a[] = "12345";
char *s = a;

i=atoi(s+1);
while(*(++s+1)){printf("%c %p %s\n",*(s+1),s,s);};

printf("%c %p %s\n",*(s+1),s,s);
return 0;
}

613 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/17(金) 23:51:38.27
その本の作者の姿勢は素晴らしいね
>なんとか国産の良質の専門書を出すことで,日本のコンピュータ技術の発展に(及ばずながら)力になれればなあ.そんな思いでぼくは本を書いている.
>(ここで「お前ひとりがそんなことしても何も変わらないよ」なんてくだらないことを言うやつはパンチだ!)
>専門書を書くことは,その労力から考えると,ぜんぜん割に合わない作業だ.お金がほしいならば,
>本なんぞ書いていないでその時間で残業でもバイトでもしたほうが,よっぽど確実に儲かります
>(これは本当です.一度試しに時給を計算してみましたが,計算したことを後悔するぐらいトホホな金額になりました).
>本を書くというのは,天塩にかければかけるほど,時給は安くなるんです.
>だってどんなに手をかけて品質を上げても,1冊書いての収入はあまり変わんないからね.
>そしてその収入は,印税として支払われるので基本的に後払いだ.たとえば書くのに4年かかったら,最初の頃の労働の対価が得られるのは4年後ということだ.
>時給がトホホで,支払いは4年後なんていうバイトがあったところで,やる気になるだろうか?
>それでもなんで天塩にかけて採算度外視で書くかというと,上に書いたようないろんな思いがあるからだ.



614 :デフォルトの名無しさん:2011/06/18(土) 00:29:31.75
#ifdef DEBUG
#define DEBUG_PRINT printf
#else
#define DEBUG_PRINT (void)
#endif

{
DEBUG_PRINT("var is %d", var):
}
手元の環境だと、DEBUG を無効にしてビルドした場合に何も出力されなくなったのですが、
このようなマクロの使い方は環境依存でしょうか?あるいは言語仕様でサポートされていますか?


615 : ◆QZaw55cn4c :2011/06/18(土) 01:28:18.81
>>611
かならずしもそうではない。
初期化しなければ変数でもいらないし、ヘッダにかいてもいい。
http://pc12.2ch.net/test/read.cgi/tech/1201153965/139
つ tentative definition

616 :デフォルトの名無しさん:2011/06/18(土) 01:30:37.86
>>613
kwsk
あと、啓蒙書を書いてもらえるのもうれしい。

617 :デフォルトの名無しさん:2011/06/18(土) 02:10:52.09
>>584
>>594
ありがとうございます!
できるようになりました

618 :デフォルトの名無しさん:2011/06/18(土) 02:26:47.26
>>614
問題ない。
無効な式になるってだけ。
適当に
100;
とか書いてるのと同じになる。

619 :デフォルトの名無しさん:2011/06/18(土) 04:19:03.08
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ


620 :デフォルトの名無しさん:2011/06/18(土) 06:49:14.88
すいません、質問なんですが、ひらがなってエスケープシーケンスでしょうか?
頓珍漢な質問してすいません・・C言語でエスケープシーケンスという言葉が出てきた
のでつい。

621 :デフォルトの名無しさん:2011/06/18(土) 07:54:17.71
>>613
姿勢はすばらしいかもしれないが、「天塩」なんて書いてる奴は
書籍書くべきじゃないと思う。

622 : 忍法帖【Lv=7,xxxP】 :2011/06/18(土) 09:09:29.30
>>621
激しく同意

623 :デフォルトの名無しさん:2011/06/18(土) 09:46:19.93
出力するエディタによって改行の指示がちゃんとされていて
改行されてるエディタと、改行されないエディタがあるのですが
どういうことでしょうか?同じプログラムです。
\n

624 :デフォルトの名無しさん:2011/06/18(土) 09:54:39.04
>>623
文字コードをうまく判別できない欠陥エディタ
単に改行が文字として表示されていないだけでエディタの設定の問題

どちらか好きな方を選びたまえ

625 :デフォルトの名無しさん:2011/06/18(土) 09:58:00.42
そもそも、エディタに出力されるわけではないだろ。

626 :デフォルトの名無しさん:2011/06/18(土) 10:18:22.09
>>625
メモ帳、ワードパッドに出力されてますが?

627 :デフォルトの名無しさん:2011/06/18(土) 10:23:33.28
そいつはエロいな!ペロペロ^^

628 :デフォルトの名無しさん:2011/06/18(土) 10:54:15.83
この場合、
×エディタに出力
○ファイルに出力し、そのファイルをエディタで開く
だろ。
もし仮に、直接エディタに出力していると言うならそれは環境依存の技術だから最早スレ違いだろ。

629 :デフォルトの名無しさん:2011/06/18(土) 11:01:11.48
>>628
すいません
ファイル=記号列の集まりってことでOKですか?

630 :デフォルトの名無しさん:2011/06/18(土) 11:19:49.33
ダメだこりゃ。

631 :デフォルトの名無しさん:2011/06/18(土) 11:26:10.69
>>629
おまいはエディタで何を開いてるの?
ファイル以外のものを開いているとでもいうの?

632 :デフォルトの名無しさん:2011/06/18(土) 11:31:41.86
>>631
全てのものファイルですよね・・・
アプリケーションにしろ文書にしろ・・
出力はプログラムによる結果であって・・

間違ってますか?

633 :デフォルトの名無しさん:2011/06/18(土) 11:35:36.68
ファイルシステムは?それもプログラムだから元はファイル?
じゃあそのファイルを管理するファイルシステムは?
鳥か卵か

634 :デフォルトの名無しさん:2011/06/18(土) 11:41:02.11
今世界中からコンパイラのバイナリが消えたらどうなるの?
C言語コンパイラってC言語(とか他の言語)で書かれてるんだよね?

635 :デフォルトの名無しさん:2011/06/18(土) 12:00:01.62
誰かが一回手動でコンパイルすればいい。

636 :デフォルトの名無しさん:2011/06/18(土) 12:01:11.08
バカがくだらないこと考えても時間の無駄

637 :デフォルトの名無しさん:2011/06/18(土) 12:05:44.27
今世界中からコンピュータが消えたらどうなるの?
コンピュータってコンピュータ使って作られてるんだよね?

638 :デフォルトの名無しさん:2011/06/18(土) 12:13:55.22
誰がこまどり殺したの?

639 :デフォルトの名無しさん:2011/06/18(土) 12:27:37.40
>>620
\n=改行
\t=タブ

みたいに、画面制御用の文字コードをC言語(系列)ではエスケープシーケンスで提供してる

エスケープシーケンスってのは\で始まる記号の事


640 :デフォルトの名無しさん:2011/06/18(土) 12:28:48.50
とは限らない。

641 :デフォルトの名無しさん:2011/06/18(土) 12:32:08.16
揚げ足をとるつもりはなくて言われてみてふと疑問を覚えたんだが
行末に\を使った場合ってエスケープシーケンスとは呼ばないよね?
それとも呼ぶの?

642 :デフォルトの名無しさん:2011/06/18(土) 12:34:09.56
>>639
逆じゃないんですか?
エスケープシーケンスを\nや\tで提供してるんじゃないんですか?

643 :デフォルトの名無しさん:2011/06/18(土) 12:38:35.37
>>632

全てのものがファイルかどうかは分からないが、
エディタで開けるものはファイルなんじゃないの?

[ファイル]→[開く]みたいな手順で開いてるだろ?
それで開けるものは「=ファイル」だろ?

644 :デフォルトの名無しさん:2011/06/18(土) 13:02:08.57
>>641
vbとかではそう言うの有ったけど、cにも有ったっけ。。。?
有ったとしたら、多分言わないんだろうけど


645 :デフォルトの名無しさん:2011/06/18(土) 13:02:18.34
nul con aux prn lpt

646 :デフォルトの名無しさん:2011/06/18(土) 13:08:04.81
nul o lp


647 :デフォルトの名無しさん:2011/06/18(土) 13:10:55.42
>>642
改行とか、タブは特殊文字って習ったんだが。。。
もう本が無いから正確には書けないが、\[の後に英数字4文字くらい入れて表示する文字の色とかも変えられたし

エスケープシーケンスは特殊文字を表す文字の総称だと思うんだけど


648 :デフォルトの名無しさん:2011/06/18(土) 13:27:55.15
>>647
あぁhtml思い出しました。

例えば認識できない文字が文字化けしたら
文字化けの部分はエスケープシーケンスといいますか?

649 :デフォルトの名無しさん:2011/06/18(土) 13:32:54.86
>>648
それは文字コードのエンコードが違ってるだけですよね
エスケープシーケンスと何の関係が?


650 :デフォルトの名無しさん:2011/06/18(土) 13:34:52.60
漢字表示が出来ない端末で漢字を表示しようとしたら、文字化けするだろうね。
表示できない部分はエスケープシーケンスだとは限らないだろうけど。


651 :デフォルトの名無しさん:2011/06/18(土) 13:41:53.17
\x30 = '0'
\x31 = '1'
\x32 = '2'

エスケープシーケンスで普通の文字も表示出来るし、特殊文字そのものの事をエスケープシーケンスとは言わないよ


652 :デフォルトの名無しさん:2011/06/18(土) 13:51:34.30
>>651
それはC言語の場合じゃね?

\x30=\x30でしょ?

653 :デフォルトの名無しさん:2011/06/18(土) 14:03:23.84
ebcdicのことでも話したいの?

654 :デフォルトの名無しさん:2011/06/18(土) 14:42:58.89
C言語の勉強中、ふと思ったのですが…
例えば再帰の時なんてそうですが、関数の中で関数を呼び出すとき、
戻るべき位置というのは多分メモリのどこかに記憶されていますよね?
だとしたら、あまりその量を増やすのは好ましくない気がするのですが、
どの程度なら許容範囲なのでしょうか?

655 :デフォルトの名無しさん:2011/06/18(土) 14:50:11.86
環境にもよるが一万や二万程度なら全く問題ない。

656 :デフォルトの名無しさん:2011/06/18(土) 14:51:00.62
そのとおりで、再起し続けるとメモリ(スタック)が足りなくなって
スタックオーバーフローでプログラムが落ちる
個人的にはそうならなければ許容範囲としていいと思ってるがどうなんだろう

657 :デフォルトの名無しさん:2011/06/18(土) 14:51:39.56
>>654
パズルとかを再帰で解こうとすると、
あっというまにスタックを使い果たして落ちる。
チョコチョコっとした遊びのフィボナッチ数列出して喜ぶのが再帰の本当の用途。

658 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/18(土) 15:26:38.94
再帰はプログラムの練習問題でしか使わないscanfみたいなもん

659 :デフォルトの名無しさん:2011/06/18(土) 15:30:35.21
そうでもないけど

660 :デフォルトの名無しさん:2011/06/18(土) 15:33:19.17
linuxのカーネルとかでも再帰使ってる部分あったりすんのかな?

661 :デフォルトの名無しさん:2011/06/18(土) 15:43:43.78
>>657
へーそうなのかー

662 :デフォルトの名無しさん:2011/06/18(土) 15:45:01.87
>>654
戻るべき位置に加えてローカル変数+αがスタックに記憶される。
だから一万や二万とか言ってる奴は単なるアホ。

663 :デフォルトの名無しさん:2011/06/18(土) 15:45:36.23
クィックソートやマージソートなんかやめてヒープソートを使えってことですか

664 :デフォルトの名無しさん:2011/06/18(土) 15:56:23.38
>>652

pythonでもこうだけど。。。
%xと間違ってないかい?


665 :デフォルトの名無しさん:2011/06/18(土) 15:56:31.14
クイックソートも非再帰で書ける。

再帰処理のクイックソート vs 非再帰処理のクイックソート :: drk7jp
ttp://www.drk7.jp/MT/archives/000995.html

666 :デフォルトの名無しさん:2011/06/18(土) 15:57:37.13
再帰は再帰でも末尾再帰形式はループを使う形式と1対1対応するから
そういうのならふつーのコンパイラなら最適化でcallが消える筈

667 : ◆QZaw55cn4c :2011/06/18(土) 16:17:00.07
>>658
そうでもないようですよ。たとえば、
(1 + 3) * (2 + 4)
等の代数式の値を評価する方法は、非再帰で記述するのは困難。というか私はしたくない。
平衡二分木(赤黒木/AVL木)を扱うとき、非再帰で書け、というのは罰ゲームの一種だと思います。

再帰の深さが想定可能でかつそれが実用的に問題ないのであれば、再帰で記述するのもあり、だと思います。
なお理論面では繰り返しよりも再帰の方が重要です。

668 :デフォルトの名無しさん:2011/06/18(土) 16:51:50.90
3271,4352,8441の並び替え
1の位が小さい順に3271,8441,4352
10の位が小さい順に8441,4352,3271
100の位が小さい順に3271,4352,8441
1000の位が小さい順に8441,4352,3271
バケツ法で並び替えをするプログラミングを作る課題なんですが、
(課題は重複なしの整数20個を小さい順に並べる)
とりあえず10で割ってあまりが、1,2,1で1の位を並べ替えようと
したのですが、全然分かりません。異なる4桁の整数でも1の位が同じ
だったり10の位が同じだったりするので、バケツに入れるとかが
どうするのか分かりませ。教えてください。

669 :デフォルトの名無しさん:2011/06/18(土) 17:01:41.49
バケツはすげーど。最速の一つだど。
重複無しで、範囲が決まってる整数を扱うにはね。

char でっかいバケツ[1000] = {0}; // とりあえず小さい型としてcharつかってみる。boolがあればそれつかう。
でっかいバケツ[3271] = 1; // バケツに入れる。ゼロ以外。区別できればよい。
でっかいバケツ[4352] = 1;
でっかいバケツ[8441] = 1;

for (int i = 0; i < バケツサイズ; i++)
if (でっかいばけつ[i] != 0) print でっかいばけつ[i]

コツは掴んでいただけただろうか。

670 :デフォルトの名無しさん:2011/06/18(土) 17:44:49.95
>>662
それを含めて一万や二万は問題ないと言ってるんだが。
おまえ実際に使ったことないだろ?w

671 :デフォルトの名無しさん:2011/06/18(土) 17:53:51.87
体験を伴わない知識って
役に立たないから困るよね


672 :デフォルトの名無しさん:2011/06/18(土) 18:01:12.77
単に具体的に数値で話さないから齟齬が生じてるだけな気がするが
VCで1Mらしいから、2万で超えるには50byte必要
微妙だね

673 :デフォルトの名無しさん:2011/06/18(土) 18:08:40.22
>>670
#inc,ude <stdio.h>
static void foo(const int nest){
char x[1000*1000*1000];
x[0] = nest;
printf("%d\n", nest);
foo(nest + 1);
}
int main(){foo(0);}

これで、表示が一万以上いける環境書いてみな。

674 :デフォルトの名無しさん:2011/06/18(土) 18:09:42.62
上でエスケープシーケンスについて揉めていたが、エスケープシーケンスという
言葉の意味を考えれば全て自明だと思うんだが

人生に疲れました
どうすればいいですか

675 :デフォルトの名無しさん:2011/06/18(土) 18:14:29.90
横からだが char x[1000]; にしたとしても、1941を表示してオチてるな。
環境?はWindowsXP
コンパイラはgcc バージョン 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)

676 :デフォルトの名無しさん:2011/06/18(土) 18:36:28.23
>>673
なぜそこで末尾再起のプログラム書くんだよ
最適化したらいくらでも(200000程度は確認)表示続いたぞ
cygwin の gcc version 4.3.4 20090804 (release) 1 (GCC)

677 :デフォルトの名無しさん:2011/06/18(土) 18:36:46.04
末尾再帰

678 :デフォルトの名無しさん:2011/06/18(土) 18:41:39.80
C言語って配列の列まるごと代入とか演算できないんスかね?
要素ごとにやらなきゃダメすか?


679 :デフォルトの名無しさん:2011/06/18(土) 18:47:09.14
>>676
まあ、意図はわかるだろ。

680 :デフォルトの名無しさん:2011/06/18(土) 18:52:21.77
現実的でない無意味なコードの意図かw

681 :Perl忍者:2011/06/18(土) 19:12:05.86
みんな
LL系言語
C言語のみんなこれフォロー
http://d.hatena.ne.jp/sugyan/20110616/1308203734

ここに乗ってるのフォローしてくださいお願いします

お願いですC言語のみなさんおねがいです
フォローしてください
お願いです 生活かかってます

682 :Perl忍者:2011/06/18(土) 19:12:26.75
>>680
フォローしてください
みんなこれフォロー
http://d.hatena.ne.jp/sugyan/20110616/1308203734

ここに乗ってるのフォローしてくださいお願いします

お願いですjavascriptのみなさんおねがいです

683 : 忍法帖【Lv=7,xxxP】 :2011/06/18(土) 19:12:43.65
実際、ディレクトリ構造の探索なんかは普通に再帰で書くがな。
千なんて単位で再帰するようなプログラムはおいそれとは書けないが。

684 :デフォルトの名無しさん:2011/06/18(土) 19:17:13.66
みんなこれフォロー

「今すぐフォローすべきPerl界のスーパーエンジニア」

http://d.hatena.ne.jp/sugyan/20110616/1308203734

ここに乗ってるのフォローしてくださいお願いします

お願いですRuby のみなさんおねがいです

685 :デフォルトの名無しさん:2011/06/18(土) 20:20:55.00
>>680
ごめん、理解力ない奴の相手する気はないんでな。

686 :デフォルトの名無しさん:2011/06/18(土) 20:32:29.22
>>685
すまん、ちょっと理解できないから意図を教えてくれ

>>670の「一万や二万は問題ない」に対して、
>>673で「一万以上いける環境書いてみな。」と言って
暗に一万以上いける環境なんてねーよって言ってるんだよな?
>>676でそうなってないことを指摘されて言いたいことがいえてないだけに見えるんだが違うのか?

687 :デフォルトの名無しさん:2011/06/18(土) 20:36:48.71
使ってない領域をムダに大量に突っ込んで再帰できないとか言われてもw

688 :デフォルトの名無しさん:2011/06/18(土) 20:39:27.95
というか再帰でスタック使い果たしたこと無い奴なんているのか?

689 :デフォルトの名無しさん:2011/06/18(土) 20:49:00.87
>>686
>>>676でそうなってないことを指摘されて言いたいことがいえてないだけに見えるんだが違うのか?

>>673 のコードは最適化オプションを付けてコンパイルすると、
コンパイラが勝手に再帰をループに変更してくれる(つまり
スタックを消費しない)、末尾呼び出しというタイプの再帰だから
ノーカウントだねって話だよ。

通常の再帰なら >>662 が書いている通り、ループの回数だけに
依存する問題ではない。

690 :デフォルトの名無しさん:2011/06/18(土) 20:50:46.42
あ、そんな事はわかってるか。スマソ。

691 :デフォルトの名無しさん:2011/06/18(土) 20:59:52.95
そもそも一万や二万って単位は何だよバイトか?回数か?
質問者は量を聞いてるぞ?
その辺はっきりしてないと解釈さまざまだろ

692 :デフォルトの名無しさん:2011/06/18(土) 21:24:28.55
ばーか

693 :Perl忍者:2011/06/18(土) 21:34:21.40
お願いしますフォローしてください

694 :デフォルトの名無しさん:2011/06/18(土) 22:02:42.96
>>686-687
単に難癖つけてるだけならまだわかるけど、マジで言ってるなら
>>689 の指摘通り単なるアホだぞ。

>>691
解釈どうのこうの以前に、プログラムの内容と環境しだいだろ。

695 :デフォルトの名無しさん:2011/06/18(土) 22:03:58.60
NTLを使ってGF(2^4)上の多項式を定義したいのですがうまくいきません。
SetCoeff(a,5,4);
とかやっても5時の係数が4になってくれません。
例が少ないのでどうしたらいいのかもわかりません。
どなたかNTLライブラリの使い方を知っている人がいたら教えてください。
よろしくお願いします。

696 :デフォルトの名無しさん:2011/06/18(土) 22:51:21.76
>>695
入門の域を越えた質問は、該当ライブラリのスレか環境依存対応スレの方が回答が付き易いかと。

697 :デフォルトの名無しさん:2011/06/18(土) 23:00:14.03
◆QZaw55cn4cは糞

698 :デフォルトの名無しさん:2011/06/18(土) 23:19:11.03
>678
ポインタと要素数渡すのが普通じゃね?
構造体で固めて渡すって手段もあるけど。

699 :デフォルトの名無しさん:2011/06/18(土) 23:24:58.93
PC-88のBASICからのマシン語コールのスタック容量は16バイトだったっけ。
8回PUSHしたらもういっぱいorz


700 :デフォルトの名無しさん:2011/06/18(土) 23:33:47.49
当時はスタックも自前で用意するのが当たり前。

701 :デフォルトの名無しさん:2011/06/19(日) 00:01:34.12
BASIC からマシン語呼び出す場合は BASIC のスタックが前提
SP を単なる 16bit レジスタとして目的外使用もするが原状回復して戻る

702 :668:2011/06/19(日) 01:02:06.85
これってバケツソートになってますか?
#include<stdio.h>
#define N 50//itablに入力した数字が50以下だから
int main(void){
int itabl[]={40,19,31,49,35};//重複すると使えない
int count[N]={0};
int k,i;
int max=0;
printf("before\n");
for(k=0;k<5;k++){
printf("%d\n",itabl[k]);
}
for(i=0;i<5;i++){
count[itabl[i]]+=1;
if(itabl[i]>max)
max=itabl[i];
}
printf("\n");
for(i=0;i<50;i++){
printf("count[%d]=%d\n",i,count[i]);
}
printf("\n");

703 :668:2011/06/19(日) 01:04:40.75
続き
k=0;
for(i=max;i>=0;i--){
if(count[i]>0){
itabl[k]=i;
k=k+1;}
}
printf("after\n");
for(i=0;i<5;i++){
printf("%d\n",itabl[i]);
}

return 0;
}

704 :デフォルトの名無しさん:2011/06/19(日) 19:04:04.09
グローバル変数で
int a=1;

static int a=1;
の違いってある?


705 :デフォルトの名無しさん:2011/06/19(日) 20:25:54.07
まずは、C言語 ファイルスコープ あたりでググってくれ。

706 :デフォルトの名無しさん:2011/06/19(日) 20:46:45.36
どう違って欲しいんだい?

707 :デフォルトの名無しさん:2011/06/19(日) 21:16:19.97
たとえばスタックに積まれるか積まれないかとか。

708 :デフォルトの名無しさん:2011/06/19(日) 21:33:23.59
後者はグローバルじゃねーよ。

709 :デフォルトの名無しさん:2011/06/19(日) 21:49:44.38
>708
エラーとか出ないけど(VC2008で確認)。

710 :デフォルトの名無しさん:2011/06/19(日) 21:53:08.22
違うことがわかった後はどう...

711 :デフォルトの名無しさん:2011/06/19(日) 22:03:31.78
「情弱」と言われる確率が減る。

712 :デフォルトの名無しさん:2011/06/19(日) 22:14:12.04
>>708
そのレスは流石に色々まずいんじゃないか?

713 :デフォルトの名無しさん:2011/06/19(日) 22:33:57.90
「情弱」からの脱皮は、まともに検索(識別)できるところからじゃあ

714 :デフォルトの名無しさん:2011/06/19(日) 22:38:17.54
>>712
何がだよ? >>704に対するレスだぞ?

715 :デフォルトの名無しさん:2011/06/19(日) 22:51:50.92
グローバル変数の
int a = 1;

グローバル変数の
static int a = 1;
の違いを聞いてるんだろ

716 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/19(日) 23:00:17.51
ファイルスコープになるかどうか

717 :デフォルトの名無しさん:2011/06/19(日) 23:20:09.46
両方共、グローバル変数っていってる時点で...

718 :デフォルトの名無しさん:2011/06/19(日) 23:32:49.73
時点でなに?

言いたいことがあるなら、はっきり言った方がいいぞ。

719 :デフォルトの名無しさん:2011/06/19(日) 23:33:26.26
後者はグローバルじゃねーつってんだろボケ

720 :デフォルトの名無しさん:2011/06/19(日) 23:36:57.95
じゃあなんなんだよ。

721 :デフォルトの名無しさん:2011/06/19(日) 23:36:58.61
静的グローバル変数がグローバルじゃなかったらなんなのよ

722 :デフォルトの名無しさん:2011/06/19(日) 23:43:01.22
#include<stdio.h>
static int a=1;
void main()
{
printf("%d\n",a);
}

変数aがグローバル変数で無いならなんなの?


723 :デフォルトの名無しさん:2011/06/19(日) 23:44:48.35
グローバルって、そういう言い方するのかいな
ファイル分割とかやったことなさそう

724 :デフォルトの名無しさん:2011/06/19(日) 23:46:12.64
int a; //グローバル変数。外部に公開される。
static int b; //静的変数。値が保持される。
func(){
 static int c; //変数b同様。func内のみ参照可能。
 {
  static int d; //変数c同様。{ } 内のみ参照可能。
 }
}


725 :デフォルトの名無しさん:2011/06/19(日) 23:47:56.94
>>723
ひょっとして上の方のファイルスコープというキーワードが見えてない人なの?

726 :デフォルトの名無しさん:2011/06/19(日) 23:50:46.49
意味がわかってないのが質問してるからだろ

727 :デフォルトの名無しさん:2011/06/19(日) 23:54:02.75
>>724
bとcdのstaticは意味が違うだろ

728 :デフォルトの名無しさん:2011/06/19(日) 23:55:34.36
>>727
一緒。

729 :デフォルトの名無しさん:2011/06/19(日) 23:57:50.81
いや、>>704 の質問は別に変じゃないし、>>705 の言うように
ググレばそれなりの回答にたどりつくと思う。

むしろ意味わかってないのは >>708 だと思う。

730 :デフォルトの名無しさん:2011/06/19(日) 23:59:47.41
大域スコープ (global scope)
プログラムの「全体」から見えるスコープのこと。このスコープに属する変数は大域変数といわれる。
BASICのような単純な言語では大域スコープしか存在しない場合がある。

ファイルスコープ (file scope)
大域スコープと似ているが、プログラムを記述したファイルの内側でのみ参照できるスコープ。
プログラムが複数のファイルから構成される場合は他のファイルから参照することはできない。

ローカルスコープ (local scope)
ある関数やブロックの範囲内に限定されたスコープのこと。
何を持って範囲を与えるかは言語により様々だが、
一般に入れ子のローカルスコープは外側を参照できるのが普通である。
このとき兄弟関係にあるスコープは見えない。

731 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/20(月) 00:00:38.17
静的グローバル変数なんて用語もあるんだな

732 :デフォルトの名無しさん:2011/06/20(月) 00:01:22.46
プログラムのどこからでも参照できる変数がグローバル変数じゃないの?
ファイルスコープのグローバル変数って矛盾するでしょ

733 :デフォルトの名無しさん:2011/06/20(月) 00:10:37.25
externつけなくても他ソースから参照できるの?

734 :デフォルトの名無しさん:2011/06/20(月) 00:11:51.97
>>732
じゃあ、なんて呼んでんの?
ただのstatic変数とはあきらかに違う変数だけど

735 :デフォルトの名無しさん:2011/06/20(月) 00:15:00.06
だからただの static だっつの。
参照できる範囲が違うだけ。
グローバルは「外部から」参照できるって点が違う。
まったく別物。


736 :デフォルトの名無しさん:2011/06/20(月) 00:16:50.51
>>733
関数はでける
変数はexternつけないとでけない
externついた変数はカッコ悪いと思われることがある

737 :デフォルトの名無しさん:2011/06/20(月) 00:19:25.52
>>724の例で言えば、bはfunc()内で参照できるわけだど、これは「ただの」staticにはできなことだろ

738 :デフォルトの名無しさん:2011/06/20(月) 00:20:20.21
extern を付けるのは参照する側。実体は別にあるという意味だろ。
だからグローバル変数には extern は付かない。

739 :デフォルトの名無しさん:2011/06/20(月) 00:24:28.77
>>737
何をいってんだよ。

740 :デフォルトの名無しさん:2011/06/20(月) 00:32:10.52
だいぶ混乱していけど、C言語規格上、グローバル変数という用語は「無い」。

ただし慣習的にプログラムの全領域からアクセスできる変数を、グローバル変数と呼んでいる。

>724では、aはグローバル変数だろうけど、bもグローバル変数かもしれない。
プログラムの翻訳単位が>724だけであればbをグローバル変数と呼んで構わないだろう。

Cの規格上では、すべての関数の外部で宣言された変数は外部結合を持ち、
staticが付いた変数は内部結合を持つ。

グローバルか否かを議論しても仕方ない。

それが分かっている人と、分かっていない人の議論がかみ合っていない。

741 :デフォルトの名無しさん:2011/06/20(月) 00:33:38.13
VCで >722 のソースと
#include<stdio.h>
void test2(void)
{
printf("%d\n",a);
}

というソースを(拡張子は.c)同じプロジェクトに入れてコンパイルしたら
error C2065: 'a' : 定義されていない識別子です。
と言われた。
staticとっても言われた。

追加したほうのソースに
extern int a;
を書き加えたらstatic無しはコンパイル完了。
staticありは
error LNK2001: 外部シンボル "_a" は未解決です。
と言われた。

なんとなく違いがわかりました。


742 :デフォルトの名無しさん:2011/06/20(月) 01:02:27.85
超初心者ですみません。

#include<stdio.h>

int main(void)
{
double num;
printf("%fテステス\n",3.14);
printf("小数を入力しなさい\n");
scanf("%if",&num);
printf("入力された小数は%fです\n",num);

return 0;
}

と作成し、実行したのですが、
scanfで読み込ませた側の数値が
http://www.dotup.org/uploda/www.dotup.org1716590.jpg
うまく出力されません(つω;)一体どうしたら解決するのでしょうか?

743 :デフォルトの名無しさん:2011/06/20(月) 01:07:32.81
scanf("%if" → scanf("%lf"

744 :デフォルトの名無しさん:2011/06/20(月) 01:12:23.04
うわああああ
そういうことだったのか;;
長時間悩んでたなんて恥ずかしいorz
助かりました ありがとうございます!

745 : ◆QZaw55cn4c :2011/06/20(月) 02:23:18.30
>>736
>>615
わたしゃ、extern なんて金輪際使ったことはない‥‥‥。いいのか、これで?

746 :デフォルトの名無しさん:2011/06/20(月) 02:26:56.20
変数にexternつけることはよっぽどのことがないとやらないな

747 :デフォルトの名無しさん:2011/06/20(月) 02:36:02.48
使えるものは使う。

748 :デフォルトの名無しさん:2011/06/20(月) 02:43:10.11
extern なんて使わないほーが楽チンなんですけど‥‥ヘッダに int global; (×int global = 1)とか書けて。

749 :デフォルトの名無しさん:2011/06/20(月) 02:52:03.73
そういうグローバル変数の使い方をどこで覚えたんかね

750 :デフォルトの名無しさん:2011/06/20(月) 03:03:42.79
>>749
http://pc12.2ch.net/test/read.cgi/tech/1201153965/139

751 :デフォルトの名無しさん:2011/06/20(月) 03:18:15.07
ヘッダにグローバル変数ってのはBASIC的な使い方で一時嫌われてたんだけどね。
今時のパソコン環境なら関数で隠蔽しても遅くならんだろうし

VBとかだとめんどくさいからどうしてもつかちゃうんだよね(やりたくないけど)

752 :デフォルトの名無しさん:2011/06/20(月) 03:35:18.72
>>751
確かに、どこからでも触れる(可能性のある)変数を、お手軽に宣言してしまうことが可能ですからね。読まなきゃならない側にとっては恐怖でしょうね。
こういった場合に備えて、お手軽にクロスリファレンスをとるには、どうすればいいのでしょうか。

753 :デフォルトの名無しさん:2011/06/20(月) 03:48:44.90
クロスリファレンスはリンカでしょ、最近のはどこまで面倒みてくれるかしらないけど

グローバル変数も変更箇所(出来ればひとつのファイル内)と参照箇所を分ければ
使えないことはないけど(ハマらないってことで)
そこまで考えてやれるかどうかだと

入門レベルの人の判断次第かな(その後地獄を見たくなければ)

754 :デフォルトの名無しさん:2011/06/20(月) 04:06:00.34
>>753
リンカだと(static をつけていない)関数も引っ張ってくるんじゃなかったかな?
できれば、変数だけをソースファイル名+論理行でいいから引っ張ってくれると、とってもうれしいのですが。

コールバック関数に値を渡すときには、どうしてもファイルスコープな、あるいは別モジュール宛てだったら全部に見える変数に、あー、してしまったりするんですけれども、やっぱりまずいですよね。
(途中の経路はまったく触れない)コールバック関数に、飛び越すように値を渡すにはどうすればいいでしょうね。

755 :デフォルトの名無しさん:2011/06/20(月) 05:26:22.71
関数は極力 static 付けるようにしてるよ。

756 :デフォルトの名無しさん:2011/06/20(月) 08:40:13.88
コールバック関数の引数に変数のポインタ渡しとか
C++かいな?

757 :デフォルトの名無しさん:2011/06/20(月) 09:09:22.77
>>754
コールバック関数とデータをまとめて構造体に包んで渡す

758 :デフォルトの名無しさん:2011/06/20(月) 09:23:39.89
やっぱり言語としてはJavaの方が完成度高いなぁ・・

759 :デフォルトの名無しさん:2011/06/20(月) 09:32:35.08
それを言ったらC#のほうが上なわけで。

760 :デフォルトの名無しさん:2011/06/20(月) 09:42:56.50
比較的シンプルなシンタックスを持つ
ポータブルアセンブラ以上のことをCに望むな

761 :デフォルトの名無しさん:2011/06/20(月) 13:11:30.18
Cでゲームつくれないの?
自作関数を駆使したらcuiのゲームくらいはつくれますか?

762 :デフォルトの名無しさん:2011/06/20(月) 13:14:39.86
>>761
生産性の問題だろ

763 : 忍法帖【Lv=8,xxxP】 :2011/06/20(月) 13:38:37.05
幾らでもあるよ。

764 :デフォルトの名無しさん:2011/06/20(月) 15:36:13.53
<<742
以前にもそういう質問があったから質問する前に
前レスをしっかり見よう。
と、質問した人間が申しております。

765 :デフォルトの名無しさん:2011/06/20(月) 15:59:29.25
二分木で
各ノードに値をいれる方法をおしえてくださいm

766 :デフォルトの名無しさん:2011/06/20(月) 16:03:57.39
Node.var = value;


767 :デフォルトの名無しさん:2011/06/20(月) 17:03:03.30
まず再帰使って書いてみ

768 :デフォルトの名無しさん:2011/06/20(月) 19:22:41.63
>>757
それは、途中をいじれる場合だと。

たとえば、
int pascal WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pCmdLine, int nCmdShow) { .. }
の hInstance を
WNDCLASS winc;
winc.lpfnWndProc = WndProc;
RegisterClass(&winc)
CreateWindow()
を経て、
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wp, LPARAM lp) {

switch (msg) {
case WM_CREATE:
のところで使いたい、たとえば、LoadIcon(hInstance, 12345) としたくても、なかなか思いつかないわけで。
んー、なんかあった気もするけど忘れてしまった‥‥‥。



769 :デフォルトの名無しさん:2011/06/20(月) 19:27:50.76
ちがった、
LoadIcon(hInstance, MAKEINTRESOURCE(12345));
だったね、たしか。

770 :デフォルトの名無しさん:2011/06/20(月) 23:51:34.90
func(a) > func(b) ? func(a) : func(b)

みたいない処理って、一度ローカル変数にキャッシュした方がいい?
それともコンパイラを信じて任せた方がいい?

771 :デフォルトの名無しさん:2011/06/20(月) 23:59:39.35
funcがよほど簡単な処理でない限り最適化してくれないでしょ

772 :デフォルトの名無しさん:2011/06/21(火) 00:04:06.86
するよ

773 :デフォルトの名無しさん:2011/06/21(火) 00:05:20.56
一方俺は、
int max(int a, int b)みたいな関数を用意して、
= max(func(a), func(b))とした。

774 :デフォルトの名無しさん:2011/06/21(火) 00:06:01.93
funcの中身によっては1回だけ呼ぶようにしちゃうと結果が変わる場合がある
んだけどそこまで見て最適化してくれるものなのか?

775 :デフォルトの名無しさん:2011/06/21(火) 01:34:04.37
void型の変数でもreturn文は必要?


776 :デフォルトの名無しさん:2011/06/21(火) 01:35:13.61
デバッグしないなら必要
じゃない

777 :デフォルトの名無しさん:2011/06/21(火) 01:42:43.72
???

人のソースコード見てると、return文を書いてる人と書いてない人様々。
ようは好みの問題?

778 :デフォルトの名無しさん:2011/06/21(火) 02:07:13.70
>>777
デバッグするならあった方が便利。

779 :デフォルトの名無しさん:2011/06/21(火) 02:08:55.49
気の効いた奴だと関数の最後の}で止められたような?

780 :デフォルトの名無しさん:2011/06/21(火) 02:27:04.43
)[1] プログラミング演習
[2] 問題:1.以下のプログラムと等価になる様にprintf();内の穴埋め箇所を記述せよ。
等価したいプログラム
if( !(gender==1 || age >=20 ) )
printf("穴埋め1 \n");
if( !(!(gender==1) || age >=20) )
printf("穴埋め2 \n");
if( !(!(gender==1) || !(age >=20 ) )
printf("穴埋め3 \n");
if( !( gender==1) || !(age >=20) )
printf("穴埋め4 \n");

[3] 環境
 [3.1] windouws
 [3.2] gcc
 [3.3] C言語
[4] 本日6月21日08時30分まで。
[5] 急ぎです;c言語の問題です。おねがいします;


781 :デフォルトの名無しさん:2011/06/21(火) 02:29:07.58
あと、もうひとつ問題
2.201003121(10進数9桁)、性別(男:1、女:2)、年令(未成年:0,成年:1,高齢:2,後期高齢:3)、
職業(無:0、有:1)で個々人が16分類される。それぞれを数字(コード)で入力させ、
その人の状態を一旦ディスプレイに表示し、if文を使って、自然な文章で最後に表示するプログラムを作れ

782 :デフォルトの名無しさん:2011/06/21(火) 02:54:37.64
>>780 >>781
http://hibari.2ch.net/test/read.cgi/tech/1307166756/
誤爆?


783 :デフォルトの名無しさん:2011/06/21(火) 02:56:22.28
>>780-781
宿題スレへ。

>>774
一般的に、関数呼び出しの回数を変更する最適化は行なわないよ。
その関数が同じコンパイル単位内にある場合は、やるかもしれない。

784 :デフォルトの名無しさん:2011/06/21(火) 03:59:56.35
関数呼び出しによる副作用がないことを明言できればいいのにね。
RDBMSのストアドファンクションなんかだとそういうのがあったりするんだけど

785 :デフォルトの名無しさん:2011/06/21(火) 09:59:22.95
>>770 の式ってショートサーキット発生しないの?
条件式成立時 func(a) 2回呼び出し func(b) 1回呼び出し
条件式非立時 func(a) 1回呼び出し func(b) 2回呼び出し

786 :785:2011/06/21(火) 10:00:47.67
意味不明だ。 忘れてくれー

787 :デフォルトの名無しさん:2011/06/21(火) 10:01:46.72
>それともコンパイラを信じて任せた方がいい?
お前の書き方が信じられない

788 :デフォルトの名無しさん:2011/06/21(火) 11:39:02.92
RHEL5.6で、SIGCHLDにSIG_IGN付けてsystemをコールすると必ず関数が失敗するんだが、
何が公式の情報ってないのかな?


789 :デフォルトの名無しさん:2011/06/21(火) 12:58:25.44
システムコールの話って、このスレの守備範囲?

790 :デフォルトの名無しさん:2011/06/21(火) 13:08:04.49
>>789
範囲外

791 :デフォルトの名無しさん:2011/06/21(火) 16:02:49.36
使い方間違ってるだけでしょ

792 :デフォルトの名無しさん:2011/06/21(火) 20:48:20.85
>>788
当たり前だ。どのカーネルでも同じ動作だ。
systemの戻り値がなんなのか考えたことはあるのか?

793 :デフォルトの名無しさん:2011/06/21(火) 21:07:57.28
スパコン京すげーなおい・・・1秒で8300兆ってwwww
このスパコンなら1兆個の数字のバブルソートも1秒以下でできるってこと
ですか?



794 :デフォルトの名無しさん:2011/06/21(火) 21:11:33.08
>>793
バブルソートを甘く見てるんじゃないかい?

795 :デフォルトの名無しさん:2011/06/21(火) 21:13:17.13
せっかくのスパコンでバブルソートなんて動かしたら祟られるぞ。

796 :デフォルトの名無しさん:2011/06/21(火) 21:15:33.56
32bit 整数を 1 兆個並べると 4TB か...

797 :デフォルトの名無しさん:2011/06/21(火) 21:18:22.27
バブルソートを並列化したアルゴリズムを考えることはできるが、
非常に効率が悪く実用的ではない

798 :デフォルトの名無しさん:2011/06/21(火) 21:20:58.06
  |ミ,  /  `ヽ /!    ,.──、
  |彡/二Oニニ|ノ    /三三三!,       |!
  `,' \、、_,|/-ャ    ト `=j r=レ     /ミ !彡      ●
T 爪| / / ̄|/´__,ャ  |`三三‐/     |`=、|,='|    _(_
/人 ヽ ミ='/|`:::::::/イ__ ト`ー く__,-,  、 _!_ /   ( ゚ω゚ )
/  `ー─'" |_,.イ、 | |/、   Y  /| | | j / ミ`┴'彡\ '    `
   バブルソート     マージソート   シェルソート  クイックソート

バブルソート「俺に勝てるやつはいない!」

799 :デフォルトの名無しさん:2011/06/21(火) 21:24:23.77
>>798
っ ボゴソート

800 :デフォルトの名無しさん:2011/06/21(火) 21:41:31.17
量子コンピュータなら一瞬だよ

801 :デフォルトの名無しさん:2011/06/21(火) 21:43:02.87
>>800
並列化できない問題に対しては早くならないだろ

802 :デフォルトの名無しさん:2011/06/21(火) 21:46:14.31
>>801
勉強が足りないね

803 :デフォルトの名無しさん:2011/06/21(火) 21:47:17.95
夢みたいなことを

804 :デフォルトの名無しさん:2011/06/21(火) 21:51:56.88
スパゲッティソート!

805 :デフォルトの名無しさん:2011/06/21(火) 21:54:35.63
どんだけ魔法扱いだよ
グローバーのアルゴリズムとかを見れば分かるが
量子アルゴリズムにも厳然たる計算量の限界がある

806 :デフォルトの名無しさん:2011/06/21(火) 21:55:52.87
> 計算量の限界がある
あるならいいじゃない
ないから大変なんじゃない

807 :デフォルトの名無しさん:2011/06/21(火) 22:02:29.69
思うんだが人間の妄想をそのまま具現化したら時間量0じゃないか?
たとえば人間が1無量大数だと言い張れば、無量大数になる。

そういう技術って無理かな?

808 :デフォルトの名無しさん:2011/06/21(火) 22:05:32.58
>>807
>そういう技術って無理かな?

目を瞑ればいい

809 :デフォルトの名無しさん:2011/06/21(火) 22:05:44.61
処理を待つ人間の主観的経過時間を停止しておく、とか

810 :デフォルトの名無しさん:2011/06/21(火) 22:07:04.08
脳に電極刺す

811 :デフォルトの名無しさん:2011/06/21(火) 22:09:39.14
違うって、思い込みだけで量的なものを制御できないのかな?
例えば夢で3個のりんごが机にあるのを発見する。
風が吹いて1個が机から落ちて2個になった。

夢だから
りんごがあるのも
風が吹くのも
りんごが落ちるのも思い込み
だけど思い込みなのに辻褄はあっている。


>>809
それすごいな。結局早いか遅いかってのは主観なんだよな。
客観を制御できたら主観ってどうなるんだろ。

812 :デフォルトの名無しさん:2011/06/21(火) 22:18:04.16
>>770
キャッシュすべき
コンパイラを信じるならおまえ自身がいらない

813 :デフォルトの名無しさん:2011/06/21(火) 22:21:03.10
ハッシュの方法が分かりません。数字10000個をハッシュによって保存したいです。
どうしたらいいですか?サイト教えてください・・・

814 :デフォルトの名無しさん:2011/06/21(火) 22:28:02.02
1つのPCに対してcpuは1個
それに対して人間は
1つの脳に対して細胞が150億個

人間がいかに優れた高性能コンピュータであるかが分かるな。
人間の脳ってどうなってんだろ・・・

815 :デフォルトの名無しさん:2011/06/21(火) 22:30:39.77
>>814
細胞換算ならトランジスタ数で比較したら?

816 :デフォルトの名無しさん:2011/06/21(火) 22:31:24.93
>>814
リフレッシュ回路に問題のある DRAM で動いている「高性能コンピュータ」

817 :デフォルトの名無しさん:2011/06/21(火) 22:39:35.01
Core i7のトランジスタ数は7億3100万
それに対して人間の脳は細胞が150億個

人間がいかに優れた高性能コンピュータであるかが分かるな。
人間の脳ってどうなってんだろ・・・

818 :デフォルトの名無しさん:2011/06/21(火) 22:41:27.00
コンピュータも、0と1だけじゃなく、3段なり4段でデータを処理すると、
もっと違う世界があるかも知れないな


819 :デフォルトの名無しさん:2011/06/21(火) 22:43:31.93
自分のマイクロプログラムを自身で書き換え、
状況に応じて最適化してくような事ができれば、
面白いかな

820 :デフォルトの名無しさん:2011/06/21(火) 23:23:59.64
>>818
それ普通にMLCなだけだろ

821 :デフォルトの名無しさん:2011/06/21(火) 23:34:01.71
>>785
ショートサーキットには入らないけど、そうなるね。

822 :デフォルトの名無しさん:2011/06/21(火) 23:58:54.32
>>819
ソニーのMDプレイヤーにFPGAを使った、まさにそう言う製品があったような・・・

823 :デフォルトの名無しさん:2011/06/22(水) 00:33:26.20
>>792
あら?
カーネル2.6と2.4じゃ動作が違うんですが・・・
ご存じない?


824 :デフォルトの名無しさん:2011/06/22(水) 00:54:45.65
>>823
何得意げに言ってんだバカ。いまどき2.4の話なんて誰がするかボケ。

825 :デフォルトの名無しさん:2011/06/22(水) 03:55:41.42
>>824
どのカーネルでもw

826 :デフォルトの名無しさん:2011/06/22(水) 07:55:58.91
おまえら般若心経でも読んでこいよw


827 :デフォルトの名無しさん:2011/06/22(水) 07:58:23.58
null法僧

828 :デフォルトの名無しさん:2011/06/22(水) 08:07:51.19
systemなんたらの人はソース晒しなよ

829 :デフォルトの名無しさん:2011/06/22(水) 14:09:06.72
そろそろ
変数a, bの値を入れ替えるベストな方法を教えてください

830 :デフォルトの名無しさん:2011/06/22(水) 14:29:53.50
間接参照で持ってポインタを入れ替える
整数型縛りならベクトル化したxor swap

831 :デフォルトの名無しさん:2011/06/22(水) 14:42:04.17
バケットソートより速いソートを教えてください

832 :デフォルトの名無しさん:2011/06/22(水) 14:45:52.70
>>831
http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%83%88

833 :デフォルトの名無しさん:2011/06/22(水) 16:29:53.04
つまり、バケットが最速と

834 :デフォルトの名無しさん:2011/06/22(水) 17:15:13.45
ベストな方法の定義は?

835 :デフォルトの名無しさん:2011/06/22(水) 17:21:44.20
安い早いうまい

836 :デフォルトの名無しさん:2011/06/22(水) 17:22:34.02
バケットソートよりさらに適用条件が厳しくていいならあるけどw

837 :デフォルトの名無しさん:2011/06/22(水) 17:43:54.22
運に自信があるならボゴソート一択

838 :デフォルトの名無しさん:2011/06/22(水) 17:50:35.05
>>837
それはそもそも速いソートって言わないだろ

839 :デフォルトの名無しさん:2011/06/22(水) 17:56:02.90
>>836
まじで?

バイトニックソートとか言わないよね?

840 :デフォルトの名無しさん:2011/06/22(水) 17:57:16.83
>>838
「速い」を定義してくれ。

841 :デフォルトの名無しさん:2011/06/22(水) 18:05:24.36
× 運に自信があるならボゴソート一択
○ 運に自信があるならソートする必要すらない

842 :デフォルトの名無しさん:2011/06/22(水) 18:10:17.84
>>839
ソート済みリストに要素追加してソートするときのような、ソート前に並びが決まってるような処理ならオーダーはlog(n)になるはず(二分探索して挿入してるだけなんだから)
別にあまり意味のあることじゃない

これ言い出したらソートされてるものをソートする時はとか言い出してきそうだし

843 :デフォルトの名無しさん:2011/06/22(水) 18:47:49.01
手続き型言語なら基本改良型のクイックソート使っとけばベター

844 :デフォルトの名無しさん:2011/06/22(水) 18:50:10.25
>>843
スタックがあふれましたぁ。

845 :デフォルトの名無しさん:2011/06/22(水) 18:52:44.78
ヒープに作った自前のスタック構造使って再帰をループに展開しとけ

846 :デフォルトの名無しさん:2011/06/22(水) 18:55:55.35
>>845
自前で用意したヒープ上のスタック構造が「想定外」の入力であふれましたぁ。

847 :デフォルトの名無しさん:2011/06/22(水) 21:13:45.03
>>842
意味ない事をわざわざ書き込むなよwww


848 :デフォルトの名無しさん:2011/06/22(水) 21:22:52.65
下で"-dog"は検索可能だが2つ目(-cat)が検索出来ません。
何が原因ですか?
enum mode {dog=0,cat,};
struct table {int key; char *opt;};
static struct table opt1[] = {
{.key=dog,.opt="-dog",},{.key=cat,.opt="-cat",},
};
***
int cmp(const void *m1, const void *m2){
〜省略〜
return strcmp(mi1->opt, mi2->opt);}
*** main
struct table key; key.opt=argv[1];
lfind(&key,opt1,(size_t*)opt1,sizeof(struct table),(int(*)(const void*, const void*))cmp);

849 :デフォルトの名無しさん:2011/06/22(水) 21:36:28.21
◆QZaw55cn4cは糞

850 :デフォルトの名無しさん:2011/06/22(水) 23:40:44.80
0のものを1にするのに
インクリメントと1代入どっちが速いの?

851 :デフォルトの名無しさん:2011/06/22(水) 23:41:21.55
ごめんC++のほうだった
ほかでききます

852 :デフォルトの名無しさん:2011/06/23(木) 06:33:48.98
まず、0であるという確認が必要な分、インクリメンコが遅いな。
1代入なら代入だけだし。

853 :デフォルトの名無しさん:2011/06/23(木) 07:16:10.06
xor eax,eax
inc eax

mov eax,1

昔いじったスパコンは0クリアは常に0が入ってるレジスタをコピーしてた。
どっちが早いんだろうねぇ。

854 :デフォルトの名無しさん:2011/06/23(木) 07:53:44.87
>まず、0であるという確認が必要な分、インクリメンコが遅いな。
なんで確認が必要なんだ。

>1代入なら代入だけだし。
即値が必要な分、遅いCPUもあるね。

>xor eax,eax
「0のものを1にする」ってのは、一旦0にするという意味なのか?

>昔いじったスパコンは0クリアは常に0が入ってるレジスタをコピーしてた。
そのスパコンには、レジスタ間xorみたいなインストラクションがなかったんでね?

>どっちが早いんだろうねぇ。
まぁ、どの途誤差だ。

855 :デフォルトの名無しさん:2011/06/23(木) 08:21:25.20
ゼロレジスタ

RISCなど、特に3オペランド命令に対応するマイクロプロセッサで用意されることの多いレジスタで、
一般には汎用レジスタの一つをゼロレジスタとする。

例えば、R0?R31まで32個用意される汎用レジスタのうち、R0をゼロレジスタとするような製品がある。

こうして、3オペランド命令しかない中でも、オペランドが二つで充分な演算をする際にゼロレジスタを用いることで
演算を行なうことができる。例えば、A←Bという代入命令は、A←B+0という加算命令で書くことができる。



856 :デフォルトの名無しさん:2011/06/23(木) 09:16:35.34
ゼロウィングはAYBばかりが有名になってしまっているけど
ゲームの方もちゃんと面白いんだぞ!

857 :デフォルトの名無しさん:2011/06/23(木) 11:41:51.27
3つの条件式があって1つだけが偽の場合実行する方法ってどんなですか?

858 :デフォルトの名無しさん:2011/06/23(木) 11:43:12.95
俺のやり方が一番簡明

859 :デフォルトの名無しさん:2011/06/23(木) 11:49:24.85
p && !q && !r を巡回させた物3つ作ってそれをor演算
または式の結果をビット列にpackしてpopcount == 1

860 : 忍法帖【Lv=9,xxxP】 :2011/06/23(木) 11:52:55.97
>>857
if (
! cond0 && cond1 && cond2 ||
! cond1 && cond2 && cond0 ||
! cond2 && cond0 && cond1) ;

861 : 忍法帖【Lv=9,xxxP】 :2011/06/23(木) 11:57:38.53
unsigned foo = (cond0 << 0) | (cond1 << 1) | (cond2 << 2);
if (foo == 6 || foo == 5 || foo == 3) ;

862 :デフォルトの名無しさん:2011/06/23(木) 12:00:58.61
if (exp1+exp2+exp3==2)

863 :デフォルトの名無しさん:2011/06/23(木) 12:02:39.39
int True2=!(0)*2;
if( (cound0+cond1+cond2)==True2) {
...
};

99%バグる。


864 :デフォルトの名無しさん:2011/06/23(木) 12:03:24.11
>>862
それだとごくまれに失敗しないか?

865 :デフォルトの名無しさん:2011/06/23(木) 12:08:37.08
くだらない

866 :デフォルトの名無しさん:2011/06/23(木) 12:12:50.78
>>865
何を期待しているの?

867 :デフォルトの名無しさん:2011/06/23(木) 12:16:42.75
C言語でソケットのUDP通信使って相互通信してる場合、
送信データの未到達判定には送信データにシーケンス番号付与が1番いいの?

後、未到達を感知したら即再送していいのかな?
ウエイトいれた方がいいの?


868 :デフォルトの名無しさん:2011/06/23(木) 12:20:24.74
>>866
下剤じゃね?

869 :デフォルトの名無しさん:2011/06/23(木) 12:21:40.63
>>868
おもしろい

870 :デフォルトの名無しさん:2011/06/23(木) 12:30:28.55
>>867
うん
いや

871 :デフォルトの名無しさん:2011/06/23(木) 12:40:51.79
なんで再送制御を自前で実装するんだろう・・・だったらTCP使えと

872 :デフォルトの名無しさん:2011/06/23(木) 13:20:02.51
昨日なんでswitch〜case文が{}ブロックじゃなくてbreakなんだとかいう低脳とであった

873 :デフォルトの名無しさん:2011/06/23(木) 13:22:35.47
フォールスルー知らなきゃそう思っても不思議じゃないんじゃない?

874 :デフォルトの名無しさん:2011/06/23(木) 13:24:59.08
LANだとUDP速いけど、インターネットだとTCPと大差ないって話を聞いたことがある。
実験したことはないけど。

875 :デフォルトの名無しさん:2011/06/23(木) 13:26:34.34
>>871
17ミリ秒間隔で、データの送受信が出来るならTCP使ってるよw


876 :デフォルトの名無しさん:2011/06/23(木) 13:30:10.88
>>868
くだらない

877 :デフォルトの名無しさん:2011/06/23(木) 13:31:34.23
>>373
知っててもこの仕様どうよって感じ。

878 :デフォルトの名無しさん:2011/06/23(木) 13:33:47.41
どっちも一緒だろ。どうせ欠損データ再送したりするんだし。


879 :デフォルトの名無しさん:2011/06/23(木) 14:16:00.68
スレチだがTCPとUDPの中間ぐらいのが欲しいことがあるな
・UDPほど早くないけど TCPよりは早いかもしれない
・ストリームではなくデータグラム

880 :デフォルトの名無しさん:2011/06/23(木) 14:18:11.79
>>872
よくわからんので解説頼む

881 :デフォルトの名無しさん:2011/06/23(木) 14:18:36.37
>>879
SCTP

882 :デフォルトの名無しさん:2011/06/23(木) 14:18:53.57
TCPはconnectionを確立した直後は遅いけど、様子をみながらだんだん早くなるんだよw

883 :デフォルトの名無しさん:2011/06/23(木) 14:30:09.22
>>881
d

概要はこんなのか
ttp://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/sctpcharacteristics.html
おもしろそうだ

884 :デフォルトの名無しさん:2011/06/23(木) 14:45:57.32
>>875
できる

885 :デフォルトの名無しさん:2011/06/23(木) 15:00:13.80
>>880
昨日低脳とであった

886 :デフォルトの名無しさん:2011/06/23(木) 21:13:17.16
ウルルンかよ

887 :デフォルトの名無しさん:2011/06/23(木) 23:27:49.11
XTP?

888 :デフォルトの名無しさん:2011/06/24(金) 12:31:16.15
ほっほっ

889 :デフォルトの名無しさん:2011/06/24(金) 20:15:52.97
ds

890 :デフォルトの名無しさん:2011/06/24(金) 20:17:54.74
main以外の関数の中で、別の関数を呼び出す時

void kansu(void){
void kansu2(void);
}

としてもエラーがでないのは何故ですか?
正しく実行されないけれども。

891 :デフォルトの名無しさん:2011/06/24(金) 20:20:07.32
>>890
関数宣言だから

892 :デフォルトの名無しさん:2011/06/24(金) 20:24:47.84
>>891
どういうこと?

893 :デフォルトの名無しさん:2011/06/24(金) 20:27:44.06
そのまんまなんだが・・・・・・
引数なし返り値無しののkansu2っていう関数を宣言してる

894 :デフォルトの名無しさん:2011/06/24(金) 20:28:55.90
>>893
じゃぁ何で main内で宣言したらエラーになるんですか?

895 :デフォルトの名無しさん:2011/06/24(金) 20:30:43.24
>>894
お前が馬鹿だからっていうか
他のところでエラーだしてるんだよ

896 :デフォルトの名無しさん:2011/06/24(金) 20:33:54.93
>>894
ウチはエラー出ないよ?

% cat foo.c
int main() { void foo(void); }
% gcc -std=c99 -W -Wall foo.c
%

897 :デフォルトの名無しさん:2011/06/24(金) 20:35:28.55
宣言する位置が悪いんだろ

898 :デフォルトの名無しさん:2011/06/24(金) 20:40:26.46
呼び出しだと思ってるみたいだから先頭以外にあるんだろうな

899 :デフォルトの名無しさん:2011/06/24(金) 20:43:41.77
>>895
いや、関数呼び出すときにね、kansu(void);だと
エラーがでる。

kansu();
だとエラーがでなくて単位は取れた。

900 :軟骨 ◆Hone.S333c :2011/06/24(金) 20:46:42.98
関数の呼び出しと宣言の違いが分かってない予感

901 :デフォルトの名無しさん:2011/06/24(金) 20:46:52.04
>>899
いやってなんだよwwwwwww
main内に移したからじゃねーだろーが禿
死ね

902 :デフォルトの名無しさん:2011/06/24(金) 20:47:31.98
>>899
voidの扱いはそういうもんだと丸暗記しとけ

903 :デフォルトの名無しさん:2011/06/24(金) 20:51:59.31
>>900
宣言は型を書かなければならない。でしょ?

904 :デフォルトの名無しさん:2011/06/24(金) 20:54:24.67
すいません、なんとなく分かりました。



905 :デフォルトの名無しさん:2011/06/24(金) 20:57:35.04
割り算はpowでやってもいいでしょうか?
例えばpow(3,-1)だと1/3と一緒ですか?

906 :デフォルトの名無しさん:2011/06/24(金) 21:05:28.38
powの方が複雑な処理してるから、素直に割り算にすべき

907 :デフォルトの名無しさん:2011/06/24(金) 21:12:22.85
>>906
powだと間違い?

908 :デフォルトの名無しさん:2011/06/24(金) 21:17:37.20
1/3は0になっちゃう・・・
0.00000e+00

orz・・・

909 :デフォルトの名無しさん:2011/06/24(金) 21:22:48.26
1.0/3

910 :デフォルトの名無しさん:2011/06/24(金) 21:26:14.17
>>909
それならpowのほうがいいな・・・
pow(3,-1)=0.333333

911 :デフォルトの名無しさん:2011/06/24(金) 21:32:26.90
アホすぎて話になんないw

912 :デフォルトの名無しさん:2011/06/24(金) 21:41:06.10
例えば3.234と1.3423の割り算をするときは
3.234/1.3423でいいんですか?

913 :デフォルトの名無しさん:2011/06/24(金) 22:39:42.49
>>912
それで望んだ通りの結果が得られるのなら、それでいいだろ。

914 :デフォルトの名無しさん:2011/06/24(金) 23:55:28.65
ここでいいのかな。

C言語のプログラムで、別のモニタやらテレビに出力したいんですが、ソフトだけで可能なんでしょうか。


915 :デフォルトの名無しさん:2011/06/25(土) 00:03:16.41
>>914
可能です。この前もそういうソフト作って納品しました。

916 :デフォルトの名無しさん:2011/06/25(土) 01:17:37.66
>>914
不可能です

>>915
おまえは虚言癖を治療しろw

917 :デフォルトの名無しさん:2011/06/25(土) 01:23:05.82
>>914
質問の意味が分かりません
接続されていないモニタやらテレビに「念写」したいということでしょうか?

918 :デフォルトの名無しさん:2011/06/25(土) 01:38:42.76
>>917
そうです、ソフトだけで可能なんでしょうか?

919 :914:2011/06/25(土) 01:41:46.40
知らないなら無理して答えなくて結構です。

920 :デフォルトの名無しさん:2011/06/25(土) 01:46:20.01
ハード的な条件が出んことには、頓珍漢な答えが出るだけでしょ

921 :914:2011/06/25(土) 11:05:10.29
ハード的な知識もありません。
わかんないけど、PCに繋いでいるようなモニタの端子(規格しらん)に信号を送ればうつるんでしょう?
別マシンから、なんらかのケーブルで繋いで、Cのプログラムで信号送れますかとか。ライブラリはなに使いますとか接続は何でつなぐとか。
なかんじです。
テレビだったら、なんつーケーブルでつなぐとか…
すべてあいまいなうすい感じでさーせん。

922 :デフォルトの名無しさん:2011/06/25(土) 11:08:38.48
バーカ

923 :デフォルトの名無しさん:2011/06/25(土) 11:13:31.38
ま、とっちらかってるあたりが入門者らしい、といえばらしい

924 :デフォルトの名無しさん:2011/06/25(土) 11:18:55.90
とりあえずマルチディスプレイって物を知ってるのだろうか

925 :デフォルトの名無しさん:2011/06/25(土) 11:30:18.73
VRAMを書き替えるだけだよ。


926 :デフォルトの名無しさん:2011/06/25(土) 12:17:08.10
>>921
そもそもなんでそんな話になったのか辺りから詳しく。
それによって、回答も変わってくる。

927 :デフォルトの名無しさん:2011/06/25(土) 12:44:24.74
懐かしのRFコンバータが必要だったりして

928 :デフォルトの名無しさん:2011/06/25(土) 14:14:01.43
今猛烈に眠いし、小便したいし、左手がなぜかズキズキするんだけど
どうしたらいいですか?

929 :デフォルトの名無しさん:2011/06/25(土) 14:15:05.82
死んだら全部解決するんじゃないだろうか

930 :928:2011/06/25(土) 14:17:26.18
自決しました

931 :デフォルトの名無しさん:2011/06/25(土) 14:56:12.77
>>930ちょっとだけわろた

932 :デフォルトの名無しさん:2011/06/25(土) 15:12:45.37
WinG知らねーとかゆとりすぎだろ。

933 :デフォルトの名無しさん:2011/06/25(土) 15:39:17.98
自演臭がプンプンする

934 :デフォルトの名無しさん:2011/06/25(土) 16:43:43.79
画面を使ったプログラムを作りたいんですが、
ソフト使った方がいいですか?
ソースコードで作った方が良いのですか?

935 :デフォルトの名無しさん:2011/06/25(土) 16:47:24.95
日本語でどうぞ

936 :デフォルトの名無しさん:2011/06/25(土) 16:49:59.90
その使いたいソフトって何よ?

937 :デフォルトの名無しさん:2011/06/25(土) 16:57:23.26
>>934
画面のデザインのこといってるのなら、IDE環境でやったら

938 :934:2011/06/25(土) 17:01:40.01
分かりにくくてすみません
画面を使った開発をしたいんですが どうしてますか?

939 :デフォルトの名無しさん:2011/06/25(土) 17:03:13.02
>>937
ありがとうございます 参考にさせて頂きます。

940 :デフォルトの名無しさん:2011/06/25(土) 17:08:24.65
画面を使わずに開発ってすごいな。
聾唖の方なのかな。


941 :デフォルトの名無しさん:2011/06/25(土) 17:14:47.45
学生のときの教養のFORTRANがソース入力マークカードで出力はラインプリンタだったなぁ

942 :デフォルトの名無しさん:2011/06/25(土) 17:15:07.87
変なツッコミするなよ
ど素人さんなんだから

943 :デフォルトの名無しさん:2011/06/25(土) 17:19:43.19
さすがに難解すぎるだろ。


944 :デフォルトの名無しさん:2011/06/25(土) 17:20:54.69
聾唖と画面を使わないの関係がわからないw

945 :デフォルトの名無しさん:2011/06/25(土) 17:25:03.02
実際に耳栓してギャグボールつけてみると良く分かる
目は見えるんだな、と。

946 :デフォルトの名無しさん:2011/06/25(土) 19:09:44.01
ハードにビデオチップとVRAMが載っててCPUから操作可能で、
そのハード用のC言語コンパイラと資料があれば可能でしょう。

947 :デフォルトの名無しさん:2011/06/25(土) 19:13:39.61
画面を使った開発というのが何をさしているのか伝わってない
画面を使った開発と画面を使わない開発ってそれぞれどんなものを思い浮かべているのか?

948 :デフォルトの名無しさん:2011/06/25(土) 19:19:35.81
>>947
sui

949 :デフォルトの名無しさん:2011/06/25(土) 19:22:39.71
GUIとCUIのほかにSUIって言葉もあるんだな
何の略か分からなくて調べてしまった

950 :デフォルトの名無しさん:2011/06/25(土) 19:31:49.16
同じ SUI でも日本語版ウィキペと英語版で指してる物が違うんだな

951 :デフォルトの名無しさん:2011/06/25(土) 19:37:59.94
934 と 938 は明らかに言ってることがブレてる
どっちに答えるかによって内容が全然ちがう

952 :デフォルトの名無しさん:2011/06/25(土) 20:14:06.78
すいません、教えてください。
複数の翻訳単位でインクルードされているヘッダファイルがあって、
const char* はextern をつけているからコンパイルエラーがでないのですが
extern をつけていないenumが多重定義エラー出ないのはなぜでしょうか?

953 :デフォルトの名無しさん:2011/06/25(土) 20:21:29.83
enumは外部リンケージを持たないから

954 :デフォルトの名無しさん:2011/06/25(土) 21:01:24.03
const char const *
にすると出なくなるよ

955 :デフォルトの名無しさん:2011/06/25(土) 21:04:40.15
enumは定数を決めてるだけだからでしょ

956 :デフォルトの名無しさん:2011/06/25(土) 21:20:00.03
main関数の中でWinMain関数使おうとしたらうまくいかなかったんですけど
もしかして1つのソースファイル内でCとAPIを一緒に使うことってできないんですか?

957 :デフォルトの名無しさん:2011/06/25(土) 21:21:12.70
うまくいかなかったって具体的にいえよ

958 :デフォルトの名無しさん:2011/06/25(土) 21:28:38.83
WinMainの引数int nCmdShowでコンパイルエラー
cannot use local functions
、です。
余計なことは、というか何もしないプログラムですが・・・


959 :デフォルトの名無しさん:2011/06/25(土) 21:29:31.89
>>957
言葉足らずでごめんなさい。
正常にできなかったってことです。

960 :デフォルトの名無しさん:2011/06/25(土) 21:30:22.99
WinMainを宣言してるのかWinMainを呼び出しているのか

961 :デフォルトの名無しさん:2011/06/25(土) 21:32:28.82
>>960
修行して出直します。

962 :デフォルトの名無しさん:2011/06/25(土) 21:38:48.26
>>961
二度とくんな

963 :962:2011/06/25(土) 21:42:25.68
知らない人は無理してレスしてくださらなくて結構です。

964 :デフォルトの名無しさん:2011/06/25(土) 22:29:55.81
>>956
mainとWinMainはどっちかしか呼べんだろ
それ以外の関数は、どっちのメイン関数書いたコードからでも呼べるものもある
基本的に、GUI/CUIに依存してない関数は相互に呼び出せる

試しにmain関数からMessageBox関数呼んでみれ


965 :デフォルトの名無しさん:2011/06/25(土) 23:12:19.19
WinMainだって単なる関数なんだからmainから呼べるだろ

966 : [―{}@{}@{}-] デフォルトの名無しさん:2011/06/25(土) 23:19:18.29
釣りばっかりのつまらないスレになったな
それだけ人との接触が少ない孤独な人間が増えていると言うことだろうか

967 :デフォルトの名無しさん:2011/06/26(日) 00:06:51.33
お前らこれ読め

> cannot use local functions

968 :デフォルトの名無しさん:2011/06/26(日) 07:03:07.57
http://www1.kcn.ne.jp/~ykotani/konnan/2006/taiwan-american.jpg
http://www.argojp.com/eigyoubu/10060924_02.jpg


969 :デフォルトの名無しさん:2011/06/26(日) 11:07:27.23
http://studiokingyo.fc2web.com/

970 :デフォルトの名無しさん:2011/06/26(日) 12:39:28.31
>>969
× プログラマー  → ○ プログラマ
× アルツハイマー → ○ アルツハイマ
× ぷよぷよフィーバー → ○ ぷよぷよフィーバ
× アクセスカウンター → ○ アクセスカウンタ


971 :デフォルトの名無しさん:2011/06/26(日) 13:18:55.23
Windows は伸ばし棒入れる方向に向かってるんだよね
どうしたものか

972 :デフォルトの名無しさん:2011/06/26(日) 13:24:59.79
>>971
文科省に文句言えよ

973 :デフォルトの名無しさん:2011/06/26(日) 13:30:07.98
>>972
文句言いたいわけじゃないよ
どうしようかなって悩んでるだけだよ

974 :デフォルトの名無しさん:2011/06/26(日) 14:14:20.83
>>964
呼べるよタコ助

975 :デフォルトの名無しさん:2011/06/26(日) 14:17:43.24
どちらでもいい。
但しどちらかに統一しろ。混ぜるな。


976 :デフォルトの名無しさん:2011/06/26(日) 14:48:53.07
>>972
JIS 関連だから、経産省じゃね?

977 :デフォルトの名無しさん:2011/06/26(日) 14:51:55.78
ちがうよ

978 :デフォルトの名無しさん:2011/06/26(日) 14:52:35.99
全然ちがうよ

979 :デフォルトの名無しさん:2011/06/26(日) 15:20:23.96
>>973
悩むことかよ。文科省が伸ばせっつってんだから伸ばしとけ。

980 :デフォルトの名無しさん:2011/06/26(日) 17:55:33.99
そもそも長音記号の削除は、主観で決められたようないいかげんなものだから(木村泉氏の著作で読んだことがある)、悩むことじゃない。
統一しておけば問題ない。

981 :デフォルトの名無しさん:2011/06/26(日) 18:50:02.39
なぜ正常終了なら返す値を0にしているかわかっていない低脳は死ね

982 :デフォルトの名無しさん:2011/06/26(日) 19:20:48.91
>>981
低レベルだな

983 :デフォルトの名無しさん:2011/06/26(日) 19:27:13.58
長方形の中心Oを基準にしてθ角度回転させたあとの各点の座標(X,Y)を
どのような計算で求められるのかで迷ってます
ぜひ教えてください

984 :デフォルトの名無しさん:2011/06/26(日) 19:28:22.58
こーこーせーれべるのすーがくをやってください

985 :デフォルトの名無しさん:2011/06/26(日) 19:45:03.78
角度をラジアンに変換して、三角関数で求めてください。そしてお引き取りください。

986 :デフォルトの名無しさん:2011/06/26(日) 19:54:04.80
各点の座標から中心の座標を引く
それによって得られたベクトルを回転させる
回転させたベクトルに中心の座標を足す

987 :デフォルトの名無しさん:2011/06/26(日) 19:55:56.03
>>984
>>985
>>986
反応するなクズ

988 :デフォルトの名無しさん:2011/06/26(日) 19:58:24.37
>>987
ようクズ、元気か?

989 :デフォルトの名無しさん:2011/06/26(日) 20:26:00.15
これは>>987=>>1で、俺の仕事取るな!って事でおk?
(スレタイ=C言語なら俺に聞け)


990 :デフォルトの名無しさん:2011/06/26(日) 21:01:14.88
次スレ立てます

991 :デフォルトの名無しさん:2011/06/26(日) 21:03:25.97
次スレ立てました
C言語なら俺に聞け(入門編)Part 86
http://hibari.2ch.net/test/read.cgi/tech/1309089793/

992 :デフォルトの名無しさん:2011/06/26(日) 21:05:15.20
うめていい?

993 :デフォルトの名無しさん:2011/06/26(日) 21:06:51.16
パディング

994 :デフォルトの名無しさん:2011/06/26(日) 21:31:12.68
0xCAFEBABE

995 :デフォルトの名無しさん:2011/06/26(日) 21:32:46.10
ここで聞けばいいかわからないのですが
キャッシュメモリの特性との関係を調べるためにCで書く課題です
gettimeofday関数を使って演算時間を調べるというものなのですがここで聞いてもいいんでしょうか?

996 :デフォルトの名無しさん:2011/06/26(日) 21:35:25.79
>>995
>>1をよめ

997 :995:2011/06/26(日) 21:42:51.88
読みましたがいまいちわかりません
宿題スレにいけばいいんでしょうか?

998 :デフォルトの名無しさん:2011/06/26(日) 21:55:07.43
丸投げするなら宿題スレへ
ある程度具体的に質問したいならここで聞いてみれば答えが帰ってくるかも

うめ

999 :デフォルトの名無しさん:2011/06/26(日) 23:23:32.41
課題かもしれないけど、ロジックをパクりたいわけじゃなく、関数の使い方を聞きたいだけじゃないの?

1000 :デフォルトの名無しさん:2011/06/26(日) 23:26:08.24
次スレへGo!

C言語なら俺に聞け(入門編)Part 86
http://hibari.2ch.net/test/read.cgi/tech/1309089793/

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

204 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)