トップページ⇒tech
1001コメント256KB

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

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん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/
0002デフォルトの名無しさん2011/05/30(月) 07:44:54.02
>>1ガッ
0003デフォルトの名無しさん2011/05/30(月) 07:57:28.28
糞スレ
00049922011/05/30(月) 10:38:42.31
前スレの

>994

ありがとうございます

参考にします
0005デフォルトの名無しさん2011/05/30(月) 17:37:42.02
Cがjavaより遅いって本当ですか?
http://twitter.com/#!/BrightGenerous/status/73926671329271808
0006デフォルトの名無しさん2011/05/30(月) 18:18:22.19
>>5
ヘボが書いたものは長大で遅くてバグだらけ
出来る人が書いたものを使ったほうが早くなるのは当然
0007デフォルトの名無しさん2011/05/30(月) 18:28:41.09
大前提として、プログラミング言語の実行速度の
性能差は高々定数倍。
アルゴリズムの選択を間違えるとオーダーで遅くなる場合があるから
そういうこともある。
0008デフォルトの名無しさん2011/05/30(月) 18:36:47.99
同じ奴が書いて比較しないと意味ないだろう
0009デフォルトの名無しさん2011/05/30(月) 19:12:52.68
それだとコンパイラ次第じゃね?
個人的にはiccよりJavaが速かったことは無いわ。
0010デフォルトの名無しさん2011/05/30(月) 19:34:45.73
関数の途中でエラーが出たらmain関数に処理を戻したいんですがreturn文以外に方法ないですか?
0011 忍法帖【Lv=1,xxxP】 2011/05/30(月) 19:37:21.57
>>10
longjumpと言う手もないではないのですが、
ろくなもんじゃないので大人しくreturnで済ますのが無難です。
0012デフォルトの名無しさん2011/05/30(月) 19:38:10.84
>>11
なるほどありがとうございました!
0013デフォルトの名無しさん2011/05/30(月) 20:27:26.69
関数ポインタの利点、使い道を教えてください
プロトタイプ宣言すれば別のファイルからでも関数呼び出せますよね?
ポインタを使う意味ってなんですか
0014デフォルトの名無しさん2011/05/30(月) 20:34:02.17
>>13
実行時に呼び出す関数変えられるじゃん。
0015デフォルトの名無しさん2011/05/30(月) 20:37:34.46
テーブルjmpとか知ってる?
0016デフォルトの名無しさん2011/05/30(月) 20:37:50.93
>>13
関数ポインタを使えば、関数の名前を知らなくても関数を呼び出せるでしょ。

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

GUI ライブラリの側で予めコールバック関数の名前を決めておいて、
ライブラリのユーザはその名前で関数を作るという事も出来るけど、
その方法だと、同じボタンを複数作りたい時に破綻する。
0017デフォルトの名無しさん2011/05/30(月) 20:55:10.01
コールバック関数だと、わかりにくいのでは?
0018 忍法帖【Lv=1,xxxP】 2011/05/30(月) 21:35:44.41
つ[qsort()]
0019デフォルトの名無しさん2011/05/30(月) 22:21:35.87
つ bsearch()
0020デフォルトの名無しさん2011/05/30(月) 22:41:20.43
たまにはsignalの事も思い出してあげてください
0021デフォルトの名無しさん2011/05/31(火) 20:56:08.12
C言語入門〜みたいな本をよんで一応基本的な書き方は覚えたんですが次にどんな事を学習していけばいいのかがわからず困っています。
なにかおすすめな参考書でも教えていただけないでしょうか。
0022デフォルトの名無しさん2011/05/31(火) 21:10:12.25
文字列において改間は何コードになるんですか?

例えばbig appleという文字列がありますよね?
gとaの間の文字は何ですか?
0023デフォルトの名無しさん2011/05/31(火) 21:16:54.91
>>21
アルゴリズムとデータ構造の勉強
0024デフォルトの名無しさん2011/05/31(火) 22:03:23.52
>>22
スペースキーを押したらスペース、タブキーを押したらタブ
0025デフォルトの名無しさん2011/05/31(火) 22:20:41.99
>>24
空白ってことか。
0026 忍法帖【Lv=2,xxxPT】 2011/05/31(火) 22:24:43.82
>>22
改間って何ですか?
0027デフォルトの名無しさん2011/05/31(火) 22:28:26.51
>>21

自分で何か作るとよい。

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

おすすめです。
0028デフォルトの名無しさん2011/05/31(火) 22:36:25.57
>>23
>>27
教えていただきありがとうございます。
アルゴリズムの本はもっているのでそれを読みつつ紹介してもらったので勉強をしようと思います。
0029デフォルトの名無しさん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
ってでた
0030デフォルトの名無しさん2011/06/01(水) 06:43:24.26
キャストすんなボケが
0031デフォルトの名無しさん2011/06/01(水) 06:58:52.15
キャストしなくてもintだろw
0032デフォルトの名無しさん2011/06/01(水) 16:26:44.26
ビットシフトで1がいっぱいになっちゃいます
どうすればいいですか
0033デフォルトの名無しさん2011/06/01(水) 17:15:31.28
>>32
一杯になったら出しちゃえば?
0034 忍法帖【Lv=3,xxxP】 2011/06/01(水) 18:13:56.95
出ちゃう〜ってかw
0035デフォルトの名無しさん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;
}
0036デフォルトの名無しさん2011/06/01(水) 20:12:46.58
1f → lf
0037デフォルトの名無しさん2011/06/01(水) 20:13:53.15
scanf("%1f", &num);
 ↓
scanf("%lf", &num);
0038デフォルトの名無しさん2011/06/01(水) 20:21:48.26
>>36〜37
解決しました。lと1読み間違えてましたw
ありがとうございました。
0039デフォルトの名無しさん2011/06/01(水) 21:05:58.31
>>38
こういう理不尽なバグを回避するためにフォント選んだ方がいいよ。
1とl、0とOの区別が付かないフォントもあるでの。
0040デフォルトの名無しさん2011/06/01(水) 23:51:16.71
void型の関数でreturnするのは変ですか?
戻り値に注目しないにしてもintでreturn 0するほうが書き方としてはいいですか?
0041デフォルトの名無しさん2011/06/01(水) 23:56:42.17
#include<stdio.h>
main()
{

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

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



0042デフォルトの名無しさん2011/06/01(水) 23:59:20.45
>>41
エラーメッセージも読めない奴に教える意味は無い
0043デフォルトの名無しさん2011/06/02(木) 00:01:45.07
#include <stdbool.h>
と
int main()
あたりで
0044デフォルトの名無しさん2011/06/02(木) 00:05:12.17
せっかくコンパイラが丁寧にエラー内容を教えてくれてるのに
無視して 2ch に聞きに来るとかコンパイラが可哀想過ぎる
人としてどうなのよ
0045デフォルトの名無しさん2011/06/02(木) 00:16:38.27
>>40
誰も書き込んでないから返事してやるよ
別に変じゃないとおもうぞ ってか俺もvoid型でもreturn いれている
まぁ人によってはいらないっていうヤツもいるだろうが、
そこで関数を終了し、処理を返しているってはっきり記述できるし

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

いろいろ言語の細かいところに行くとどっちがいいとかあるかもしらんだが
そんな事で一々悩むつもりない。
自分だけで使うなら自分がわかればいい。
0046デフォルトの名無しさん2011/06/02(木) 01:45:52.28
void型の関数にどうやってreturnするん?
return ()とか?
0047デフォルトの名無しさん2011/06/02(木) 01:59:53.06
関数の途中で、打ち切って戻る時?
0048デフォルトの名無しさん2011/06/02(木) 06:13:54.82
>>46
なぜ括弧をつける
0049デフォルトの名無しさん2011/06/02(木) 10:24:26.98
>>46
return;
0050デフォルトの名無しさん2011/06/02(木) 17:22:05.87
ビターン
0051デフォルトの名無しさん2011/06/02(木) 19:27:45.27
c言語のエディタでお勧めはなんですか?

・あるといい
関数にプルダウンでアクセスできる
0052デフォルトの名無しさん2011/06/02(木) 19:34:31.41
プログラムの実行中に開けていたファイルが開けなくなったんだけども
何が原因なんですかね。
0053デフォルトの名無しさん2011/06/02(木) 19:37:53.48
すみません。解決しました。
前の関数の中のファイルがとじられてなかった
0054デフォルトの名無しさん2011/06/02(木) 20:01:14.74
>>51
道具に使われることは考えないほうがいいよ
0055デフォルトの名無しさん2011/06/03(金) 02:27:48.15
>>51
環境を書いてないね。
Windowsならvimで、linuxならvimかな。
BSDやmacもvimでいいとおもう。
0056デフォルトの名無しさん2011/06/03(金) 20:17:33.43
あるフォルダ内に置いたCで作られた実行ファイルから取得できる
そのフォルダ内の情報ってどういうのがありますか?
0057デフォルトの名無しさん2011/06/03(金) 21:16:40.20
よーわからんけど、実行された時のフルパスを使えばいいんでないかい
0058デフォルトの名無しさん2011/06/03(金) 22:19:01.67
よー判らんけど、ファイルシステムのことはAPI使わんと判らんよ。
0059デフォルトの名無しさん2011/06/03(金) 22:36:14.22
出力結果をテキストファイルに出すコマンドて何でしたっけ?
fprintfとかじゃなくて、結果を丸ごとテキストファイルに出力したいです。

プログラムはprogram.c
出力させたい空のファイルをprogram.txt
とします。
0060デフォルトの名無しさん2011/06/03(金) 22:40:51.14
>>59
>
0061デフォルトの名無しさん2011/06/03(金) 22:42:47.62
>>60
program.c program.txt >ですか?
良く分かりません・・・すいません。
0062デフォルトの名無しさん2011/06/03(金) 22:46:40.65
残念
コマンドではなくリダイレクトでしたあばばばばあばbっばばばばばb
0063デフォルトの名無しさん2011/06/03(金) 22:55:59.54
>>61
使ってるOSとかコンパイラとか分かる?
0064デフォルトの名無しさん2011/06/03(金) 22:56:27.13
シェルスクリプトのコマンドが知りたいだけなのに
検索でfprintf引っかかり・・・うざすぎワロタ

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

ありがとうございます。
0067デフォルトの名無しさん2011/06/03(金) 23:07:21.86
>>51
環境を書いてないね。
Windows だったら xyzzy の一択。これ、Linux や *BSD に移植してくれないかなあ。
mac のことはよく知らない。
0068デフォルトの名無しさん2011/06/04(土) 00:33:20.75
パチンコ禁止デモ

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

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

パチンコを死守する北朝鮮系ヤクザとシャブ中社長!!!
0069デフォルトの名無しさん2011/06/04(土) 01:35:58.19
`;:゙;`;・(゚ε゚ )ブッ!! なんだこのスレ・・・ C言語の前に日本語勉強汁!!
0070デフォルトの名無しさん2011/06/04(土) 02:46:04.60
>>67
emacsと比べてそんなにいいの?
0071デフォルトの名無しさん2011/06/04(土) 06:54:33.33
>>70
エディタ内のカットバッファをGUIのクリップボードと分離して独立して扱えるのはemacsより気が利いているかもしれない。
emacsと違って、単にエディタだから単純には較べられないけどね。
0072デフォルトの名無しさん2011/06/04(土) 07:12:48.70
emacs とその眷属は操作体系のデザインが悪いから好きじゃないな。
vi 類の方がまだマシ。
0073デフォルトの名無しさん2011/06/04(土) 10:31:42.40
>>71
おまい、emacs使ったこと無いだろ
0074デフォルトの名無しさん2011/06/04(土) 10:37:35.80
宗教談義はそのへんでやめましょう
0075デフォルトの名無しさん2011/06/04(土) 17:53:31.06
static変数/static関数はヘッダファイルに記述しないのが一般的なのですか?
→つまり、ヘッダファイルはpublicなものしか書かないのが普通?
0076 [―{}@{}@{}-] デフォルトの名無しさん2011/06/04(土) 18:12:28.13
static使ってるとそのオブジェクトを複数生成するのが不可能になるから
オブジェクト指向という考え方からすると使うべきじゃないね
0077 ◆QZaw55cn4c 2011/06/04(土) 18:47:06.09
>>75
ヘッダーファイルは複数の c のモジュール(コンパイル単位)で参照されるものだから、一つのコンパイル単位で完結する性質の static 変数/static 関数を記述する場所ではない。
0078デフォルトの名無しさん2011/06/04(土) 19:03:13.26
strlenにchar*型と配列を入れるときなのですが
後者の場合正しく出ないんです・・・
何故ですか?

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

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


>>77
つまり、staticはヘッダファイルに書くべきじゃないってことですか?
0082772011/06/04(土) 20:32:07.19
>>81
通常の使い方では static な変数/関数をヘッダに書くことはないと思います。
というか、>>77 で述べたとおりで、思いつかないのです。
0083デフォルトの名無しさん2011/06/04(土) 21:24:26.19
>.79
fgetsで読み込んだ場合

例えば
abc def

をchar*pがさすとき
strlen(p)はどうなりますか?
0084デフォルトの名無しさん2011/06/04(土) 21:33:25.78
7か8じゃね?
0085デフォルトの名無しさん2011/06/04(土) 21:34:57.09
>>83
自分でやってみて、それが思った事と違うなら相談してみたら?
0086デフォルトの名無しさん2011/06/04(土) 21:39:32.12
>>85
DFASD
sdfsd
dsd
fd

テキストファイルです
上から順番に
7
7
5
2
です。
全く分かりません・・・解析してください。
0087デフォルトの名無しさん2011/06/04(土) 21:41:13.64
>>86
読み込むテキストファイルの改行コードが CR+LF
fopen するときにバイナリモードで開いている
0088デフォルトの名無しさん2011/06/04(土) 21:41:27.10
改行が\r\nなんだろうな
改行が二文字でカウントされてるんだよ
0089デフォルトの名無しさん2011/06/04(土) 21:42:05.50
>>86
それじゃ分からない。ソースを一緒に晒してみて
0090デフォルトの名無しさん2011/06/04(土) 21:48:41.97
>>88
あぁなるほど。たぶんそれですね。
ただナル文字って配列の場合でもchar*の場合でも
strlenでは無視されるんですよね。助かります。
0091デフォルトの名無しさん2011/06/04(土) 23:05:07.91
C言語を始めよう!とLSIC-86試食版を使ってプログラムを打っていたのですが
突然コマンドを実行すると「コンパイル開始」の表示のままで止まるようになりました。
それまではきちんとプログラムが再生されていたのですが…
また、コマンドを実行する度「C言語を始めよう!」のフォルダ内に
TMPファイル(0バイト)が作成されるようになりました。
どのようにすれば元通りになるでしょうか?
0092デフォルトの名無しさん2011/06/04(土) 23:06:09.35
>>75

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

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

調べてみよう。
0093デフォルトの名無しさん2011/06/04(土) 23:11:30.99
>>91
状況がよくわかりません。参考にした資料/URL を教えてください。
あと、今日日、LSI-C はちょっと古すぎます。別のコンパイラのほうがいいでしょう。gcc とか visual c++ とか、ちょっとふるいけれども borland c++5.5.1 とか。
0094デフォルトの名無しさん2011/06/04(土) 23:26:33.18
せめて Turbo C 2.01 使えよ。
開発環境も付属だからそのまま使えるぞ。
試食版みたいな変な制限もないし。
0095デフォルトの名無しさん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箇所がうまく見つけられませんでした…
0096デフォルトの名無しさん2011/06/04(土) 23:38:08.83
>>94
レスありがとうございます。
今Turbo C 2.01について調べていたのですが、
これは日本語でも使えるのでしょうか?
英語のサイトが多くて導入が難しそうに見えたので…
0097デフォルトの名無しさん2011/06/04(土) 23:50:01.22
>>95
了解。
で、プログラムの「再生」という言い回しは普通しないので、状況が伝わってきません。

コンパイルはうまくいっていますか?
コンパイルの結果生成した .exe ファイルが実行できないということですか?
0098デフォルトの名無しさん2011/06/04(土) 23:54:18.31
関数の中で変数を使う場合、関数の前半で変数が定義されてる場合
関数を呼び出すほど変数のメモリを食うのですか?
0099デフォルトの名無しさん2011/06/04(土) 23:57:30.90
>>97
すみません、初心者なもので言葉が結構足りてなさそうですね…申し訳ないです。
コンパイルは開始と終了がきちんと出てますので、成功しています。
ただコマンドを実行すると開始表示をしたままで止まってしまいますので
まさしく仰られている通りの状態かと思います。
0100デフォルトの名無しさん2011/06/05(日) 00:07:52.00
>>98
最適化すると変数でメモリを食わなくなることがある
0101デフォルトの名無しさん2011/06/05(日) 00:11:08.51
>>95
Visual C++ 2010 Expressじゃだめなん?
0102デフォルトの名無しさん2011/06/05(日) 00:13:49.75
僕も、Visual C++ 2010 Express でいいと思います。もしくはCygwinのgccをおすすめします。
>>95 のリンクの人は現役のプログラマとは思えません。LSI-Cってwww
書かれていることが古く、ソースも下手クソ。参考にしないほうがいいです。
0103デフォルトの名無しさん2011/06/05(日) 00:14:20.65
初心者は日本語とか手を出さない方が良いんじゃね?
ASCIIオンリーで一通りやってみたら?
日本語だってローマ字を使えば書けるんだし。
0104デフォルトの名無しさん2011/06/05(日) 00:22:59.98
>>101
>>102
実はスペックが足りないのか原因がよくわからないのですが、
DLが何度やっても完了されないのでそちらの利用を諦めたんです…
0105デフォルトの名無しさん2011/06/05(日) 00:24:37.17
>>100
そういうことを聞いてるんじゃなくて・・一般的な話です。
0106デフォルトの名無しさん2011/06/05(日) 00:27:30.62
>>105
最適化なしだとスタックに変数が割り当てられるといって欲しいのかな?
コンパイラ依存の...
0107デフォルトの名無しさん2011/06/05(日) 00:28:08.51
初心者の前の入門スレなのに、どうでもいい知識はまじでいらん。
0108デフォルトの名無しさん2011/06/05(日) 00:30:32.08
>>106
そうです。
0109デフォルトの名無しさん2011/06/05(日) 00:31:48.26
>>104
こういったムックの付録を利用したらどうでしょう。内容も初心者も対象にしていますし。
ttp://ec.nikkeibp.co.jp/item/books/188550.html
0110デフォルトの名無しさん2011/06/05(日) 00:33:38.96
>>104
一回PC再起動してから試してみたら
0111デフォルトの名無しさん2011/06/05(日) 00:35:32.15
じゃあ、
Borland C++ Compiler 5.5 か
LCC-Win32 辺りが良いんじゃね?
後者はタダでは商用不可なんで注意な。個人使用なら無償だが。
0112デフォルトの名無しさん2011/06/05(日) 00:41:19.28
タダでは商用不可ってどういう意味だ?
0113デフォルトの名無しさん2011/06/05(日) 00:41:46.08
tccで十分ですよ
0114デフォルトの名無しさん2011/06/05(日) 00:42:45.86
わざわざ廃れた処理系を提示して、言語以前の段階で挫折させようとしているとしか思えない
0115デフォルトの名無しさん2011/06/05(日) 00:48:22.24
cygwinは端末のウインドウがとりあえず開いてエラーとかハプニングで
閉じる事がないから使いやすい。誤ったコマンドライン入れたらバグ起こすけど。


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

0116デフォルトの名無しさん2011/06/05(日) 00:52:25.64
王道だな
0117デフォルトの名無しさん2011/06/05(日) 00:53:02.51
一番良いのは Vine Linux をフルインストールすることだな。
これなら間違いはない。
0118デフォルトの名無しさん2011/06/05(日) 01:03:19.49
それなら最初からDosで勉強したほうがいいだろ。
0119デフォルトの名無しさん2011/06/05(日) 01:10:38.54
本当にCを理解したいなら、アセンブラをやるべきだろ。
0120デフォルトの名無しさん2011/06/05(日) 01:25:13.61
Dosで勉強?どこかをサイバー攻撃しろと?
0121デフォルトの名無しさん2011/06/05(日) 01:27:31.91
>>118
なんでDだけ大文字にしたの?
0122デフォルトの名無しさん2011/06/05(日) 01:35:29.79
>>99
コマンドを実行するってのは出来上がったexeを実行してるってことだろうか。
なら、永久ループしてるとか入力待ちで止まってるとかじゃないのかな
01231182011/06/05(日) 02:02:44.13
>>120
違う。Dos攻撃のことじゃない。
OSのMS-DOSで勉強したらいいんじゃねってことだよ。


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

ログインは出来ない
0125デフォルトの名無しさん2011/06/05(日) 02:08:31.62
>>123
攻撃は一般に、DoSと表記するしね
0126デフォルトの名無しさん2011/06/05(日) 02:10:36.55
MS-DOS は日本語の表示ができないから質問者の意図に沿わない。
0127デフォルトの名無しさん2011/06/05(日) 02:14:13.74
できないんだ
0128デフォルトの名無しさん2011/06/05(日) 02:16:54.91
とりあえず、Windows でやりないなら何とかして Visual C++ を入れるべきだな。
前バージョンの 2008 でもいいし。

インストールはVCの該当スレで助けてもらって、
スタートラインに立てたらまたこっち来ればいいよ。
0129デフォルトの名無しさん2011/06/05(日) 02:22:30.06
>>125
何が言いたいんだよ。
0130デフォルトの名無しさん2011/06/05(日) 02:23:43.89
おまいら「スルーする」ということができないのか
アスペか?
0131デフォルトの名無しさん2011/06/05(日) 02:28:10.66
他人を気軽にアスペと呼んじゃう人が増えたよね
そっちの方が心配だわ・・・
01321252011/06/05(日) 02:29:06.82
>>129
よくわからんけど、>>120-121はケーシングの揚げ足取ってんのかなぁと思ったから書いてみた。
0133デフォルトの名無しさん2011/06/05(日) 09:49:29.06
クリック一回で二つの実行ファイルを別々のdos画面で同時に実行させたいんだけど
どうやってもできない。
バッチファイルとか作ったりしたけどやっぱりできない。
誰か知恵を貸してくれ。
0134デフォルトの名無しさん2011/06/05(日) 10:14:58.40
>>133
--- test.cmd ---
start cmd.exe /c foo.exe
start cmd.exe /c bar.exe
0135デフォルトの名無しさん2011/06/05(日) 11:36:52.28
↓のように色んな型の変数を引数に取って、その型のサイズを表示する関数を作りたいんですけどどうすればいいですかね。

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

『 』に何て書けばいいのか調べてるんですが全然分からなくて・・・誰か教えてください。
0136デフォルトの名無しさん2011/06/05(日) 11:46:37.54
>>135
C言語だと関数では無理

マクロならそれっぽいのは可能
#define show_size(variable) printf("%d", sizeof(vairable))
0137752011/06/05(日) 12:07:10.26
>>82,>>92
わかりました
ありがとうございます
0138デフォルトの名無しさん2011/06/05(日) 12:13:24.83
>>115

tredpad?

間違っていたらすいません。
treepadのことですか
0139デフォルトの名無しさん2011/06/05(日) 13:31:13.79
>>136
typo してるよ
0140デフォルトの名無しさん2011/06/05(日) 13:55:06.58
>>106
馬鹿発見
0141デフォルトの名無しさん2011/06/05(日) 14:12:43.98
>>138
terapad の typo だと思うよ。
0142デフォルトの名無しさん2011/06/05(日) 15:42:50.59
>>136
ありがとうございます!!
マクロって便利ですね。
0143デフォルトの名無しさん2011/06/05(日) 16:43:02.63
バブルソートでデータを並べ替えるプログラムを作りたいのですが
 番号 成績         
2001  85            2003  92
2002  90      →    2002  90
2003  92            2001  85
成績を並べ替えることはできるのですが番号を一緒に並べ替えることが出来ません・・・どなたか教えて頂けないでしょうか
0144デフォルトの名無しさん2011/06/05(日) 16:49:11.20
成績を入れ替えるときに一緒に番号も入れ替えればいいだけ
0145デフォルトの名無しさん2011/06/05(日) 16:50:44.12
これじゃ分かりにくいかな・・・
2001  90            2002  92
2002  92      →    2001  90
2003  85            2003  85
訂正します、すみません
0146デフォルトの名無しさん2011/06/05(日) 16:51:23.41
そういう用途のために構造体ってのがあるんだよ。
0147デフォルトの名無しさん2011/06/05(日) 17:32:39.66
http://www5c.biglobe.ne.jp/~ecb/c/c00.html
このサイトのように、命令や仕様などがシンプルにまとめられているC言語の本はないでしょうか?
出来るなら、気軽に持ち運べる大きさだと嬉しいのですが
0148デフォルトの名無しさん2011/06/05(日) 17:54:31.97
普通に規格票
PDF 版ならノート PC に入れても重量増加 0g

金ない人は K&R
0149デフォルトの名無しさん2011/06/05(日) 18:27:35.09
そのHPを印刷すればいいじゃん。
0150デフォルトの名無しさん2011/06/05(日) 18:42:08.22
>>148
K&Rがよさそうだったのでいろいろ見てみます

>>149
印刷するには量が多いし、すぐにボロボロになってしまいそうなので
0151デフォルトの名無しさん2011/06/05(日) 18:45:38.70
どう見ても宣伝乙
0152デフォルトの名無しさん2011/06/05(日) 18:46:45.89
>>150
HTMLのファイルをPCにコピーすれば良いんじゃない?
紙ベースのドキュメントはそろそろ止めましょう
0153デフォルトの名無しさん2011/06/05(日) 18:52:58.28
>>152
0154デフォルトの名無しさん2011/06/05(日) 18:54:30.62
>>152
当方大学生でして、どうでもいい講義中に勉強するために何かあればな、と思いまして
もちろんノートPCはもってないです
0155デフォルトの名無しさん2011/06/05(日) 19:50:40.61
糞だな
0156デフォルトの名無しさん2011/06/05(日) 20:36:37.20
>>154
何を目指してるか知らないから、どこまで本気か分からないが、
プログラムを学ぼうとするなら、PC位は自分のツールとして使える様になってないと
0157デフォルトの名無しさん2011/06/05(日) 20:51:51.61
ノートPC(笑)なんて持ってないだろ普通w
0158デフォルトの名無しさん2011/06/05(日) 21:00:35.59
俺は15年ほど前、工学部の学生だったころ、自腹で20万のノートPC買ったぞ。
今なら4、5万で買えるだろ・・・
0159デフォルトの名無しさん2011/06/05(日) 21:04:49.91
なんか誤解?してCとかやろうとしてる人が増えたね。
0160デフォルトの名無しさん2011/06/05(日) 21:04:51.11
いまどきノートPC持ってない大学生の方が珍しくないか?
0161デフォルトの名無しさん2011/06/05(日) 21:06:13.12
Core i3とi5が出てCore2Duoが型遅れになったから中古を投げ売りしてるな
HDDを換装してWindows7を入れればまだまだ使える
0162デフォルトの名無しさん2011/06/05(日) 21:07:58.79
ラップトップなんて選ばないだろ。情弱じゃあるまいし。
0163デフォルトの名無しさん2011/06/05(日) 21:08:51.10
だよね。今やるならJAVAじゃん?なんでC?
0164デフォルトの名無しさん2011/06/05(日) 21:13:49.65
>>163
Cも書けないようだとプログラマとしての素養が疑われる。
0165デフォルトの名無しさん2011/06/05(日) 21:15:56.23
>>162
大学で使う場合もあるからね
0166デフォルトの名無しさん2011/06/05(日) 21:16:00.78
Java = 土方
0167デフォルトの名無しさん2011/06/05(日) 21:16:07.73
unsigned intより大きい整数を扱いたいとき
long intを使わないとしたら、どのようにすればいいですか?
0168デフォルトの名無しさん2011/06/05(日) 21:19:13.81
>>167
自前で大きい整数を扱えるような関数等を作る
0169デフォルトの名無しさん2011/06/05(日) 21:33:48.58
ノートPC使わない(笑)って・・・家から出たりしないのか?
0170デフォルトの名無しさん2011/06/05(日) 21:36:12.20
ノートPC買えないって話らしいけど。
0171デフォルトの名無しさん2011/06/05(日) 21:37:14.54
struct int80_t{int32_t a;uint32_t b,c;};
を用意したとして
効率とかどうでもいいんで簡単な四則演算アルゴリズムを紹介して
0172デフォルトの名無しさん2011/06/05(日) 21:37:18.66
>>169
普段は紙と鉛筆で問題をとく物理屋なんだよ言わせるな恥ずかしい
0173デフォルトの名無しさん2011/06/05(日) 21:43:11.34
なら、まず消しゴムを買わないとな
0174デフォルトの名無しさん2011/06/05(日) 21:55:12.29
>>169
わざわざパソコンするために出かけるのか
0175デフォルトの名無しさん2011/06/05(日) 21:55:53.14
>>171
足し算、引き算からやったら
0176デフォルトの名無しさん2011/06/05(日) 22:04:56.47
ビットシフトしたら1がいっぱいになりました
どうすればいいですか
0177デフォルトの名無しさん2011/06/05(日) 22:05:26.62
>>167
http://hibari.2ch.net/test/read.cgi/tech/1301553333/668
http://codepad.org/PXA5JrGF
0178デフォルトの名無しさん2011/06/05(日) 22:12:15.92
◆QZaw55cn4cはカス
0179デフォルトの名無しさん2011/06/05(日) 22:56:05.32
多倍長数はGNPとかいうやつでいい。
0180デフォルトの名無しさん2011/06/05(日) 22:57:40.01
GMPだ
0181デフォルトの名無しさん2011/06/05(日) 23:15:50.31
GIMP か。
0182デフォルトの名無しさん2011/06/06(月) 02:17:21.38
低燃費はGNPじゃなくTNPだぞ
0183デフォルトの名無しさん2011/06/06(月) 10:50:44.95
scanfて手入れでボウリングのスコアを計算するプログラムを教えて頂けますか?
0184デフォルトの名無しさん2011/06/06(月) 10:51:14.28
*(a + 1) + 1 // aはint型の配列

この式が返す値の型はaの次元数によらず
一定ですか?
0185デフォルトの名無しさん2011/06/06(月) 10:51:24.24
>>183
宿題スレの前スレか前々スレにあったよ
0186デフォルトの名無しさん2011/06/06(月) 10:52:01.76
>>184
一定じゃない
0187デフォルトの名無しさん2011/06/06(月) 10:57:14.32
いや一定でしょ
0188デフォルトの名無しさん2011/06/06(月) 11:00:04.03
>>186
本にa[n]は*(a+n)の糖衣構文って書いてあったのですが、これだけだと正しくないですよね。
0189デフォルトの名無しさん2011/06/06(月) 11:08:52.70
aがintなら、それで糖衣でしょ。
0190デフォルトの名無しさん2011/06/06(月) 11:10:59.55
>>187,188
次元数が違うってこういうことじゃないの?
int a[1];
int b[1][1];
01911842011/06/06(月) 11:27:32.21
>>190
188=184です。次元数とはそういう意味です。

>>189
188に書いた糖衣構文はaの型がint以外でも成立します。問題はaの型ではないです。
0192デフォルトの名無しさん2011/06/06(月) 11:27:49.52
aがintの配列なら、どこまでいっても、中の値にどんな演算をしようと、中身の型はintだろ。
それはポインタでたどっても同じだろ。なにが聞きたいんだ??
0193デフォルトの名無しさん2011/06/06(月) 11:33:01.34
>>191
やっぱそうだよな、おまえら次元数の意味勘違いしてるのかと思った
int a[2][2];で
*(a + 1) + 1
したら型はint *だろ
0194デフォルトの名無しさん2011/06/06(月) 11:34:04.26
>問題はaの型ではないです。
そっか。配列名はアドレスだからね(塚、変数名は全部アドレスでしょ)。
インクリメントすれば、その変数の型分アドレスがインクリメントされるだけじゃんww
そのアドレスの中身は、n番目の配列の中身と同じ。当たり前じゃんw
0195デフォルトの名無しさん2011/06/06(月) 11:59:29.38
>>188
書名はなんですか?
01961842011/06/06(月) 11:59:30.79
>>193
正解です。>>186と同意見という事ですよね。>>188についてはどうでしょうか?

>>192、194
何も間違ってはいないですが、質問内容はもっと原始的な部分です。
01971842011/06/06(月) 12:03:13.33
>>195
猫Cかポインタ完全制覇かエキスパートCか
基本から学ぶC言語のどれかだったと思います。
0198デフォルトの名無しさん2011/06/06(月) 12:13:31.91
バカが理解できてないくせに教科書に文句つけるとかw
0199デフォルトの名無しさん2011/06/06(月) 12:21:53.73
>>196
多次元配列においてもその糖衣構文には合致してるよ
お前が型の扱いを理解できてないだけで
0200デフォルトの名無しさん2011/06/06(月) 12:27:27.07
疑問をもって解決すれば、理解は深まる。
0201 忍法帖【Lv=4,xxxP】 2011/06/06(月) 13:02:03.60
3["abcde"]も、*(3+"abcde")の糖衣構文だね。
0202デフォルトの名無しさん2011/06/06(月) 15:26:05.57
mallocとかで確保した領域のサイズをあとから知る方法ってありますか?
やはり、自分で覚えておくしかないんでしょうか?
0203デフォルトの名無しさん2011/06/06(月) 15:27:19.62
>>202
初心者は、stringやvectorでいいだろ。C++だがこっちのほうが簡単。
0204デフォルトの名無しさん2011/06/06(月) 15:31:58.18
スレタイ読み返せ
0205デフォルトの名無しさん2011/06/06(月) 16:41:25.74
>>202
環境依存だと思うが、規格票にはサイズを後から知る方法はどこにも見当たらない
ISO/IEC 9899:1999
0206デフォルトの名無しさん2011/06/06(月) 16:42:29.05
>>202
自分が要求したサイズ+アルファがあるのです
0207デフォルトの名無しさん2011/06/06(月) 17:10:52.56
どのくらい空き容量あれば
どのくらいの程度のプログラムを
どのくらい同時実行できるのかな・・・
さっき永遠に+1した数を表示し続ける奴をどんどん動かしてみたけど
5つぐらい動かしたところでタスクバーに動いているプログラムの表示がちょっとだけ追いつかなくなったのを見て
怖くなってすぐやめた。
0208デフォルトの名無しさん2011/06/06(月) 17:17:56.71
動かすものによるとしか。
0209デフォルトの名無しさん2011/06/06(月) 17:29:55.37
そうですか・・・
では動かすプログラムが最大でどの位メモリ使うのか
知る方法とかありませんかね?
0210デフォルトの名無しさん2011/06/06(月) 17:42:10.94
静的な変数だけだとするとlinkerの吐くmapでだいたいわかるかな
0211デフォルトの名無しさん2011/06/06(月) 17:44:54.17
cygwinを使っています。プログラムを作って
任意のファイルを読み込めるようにmain()関数が引数を取るように
int main(int argc, char *argv[])
としたのですが、今まで上手く読み込めてたのに、ちょっとコマンドライン
をいじってしまってコンパイルされるものの実行できなくなりました。
実行した瞬間にコマンドラインが改行されるだけになりました・・・
どうしたらいいでしょう?
0212デフォルトの名無しさん2011/06/06(月) 17:45:54.24
>>211
日本語でおk
0213デフォルトの名無しさん2011/06/06(月) 17:50:28.34
>>212
任意のファイルから数字を読み込んで足し算を標準出力するという
プログラムが今まで出来たのに、コマンドラインいじって、できな
くなった。ちなみに同じプログラム。コンパイルはエラーなし。
0214 忍法帖【Lv=4,xxxP】 2011/06/06(月) 17:54:54.76
もしかして:
プログラム名がtest.
0215デフォルトの名無しさん2011/06/06(月) 17:58:09.97
>>
とか
<
とかコマンドライン入れまくってちょっとcygwinおかしくなったのかな?

とにかく引数が取れない・・・
0216デフォルトの名無しさん2011/06/06(月) 18:00:16.13
またcygwin(笑w)かよ。
もうこれは有罪だろ。
02172112011/06/06(月) 18:03:59.07
すいません、できました・・
実行ファイル名はsample.txtです。sample.datでもいいです。

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

何故でしょうか?高度すぎてわかりません。
0218デフォルトの名無しさん2011/06/06(月) 18:03:59.50
引数採るコマンドは動くのか?
0219デフォルトの名無しさん2011/06/06(月) 18:19:49.01
環境変数の PATHEXT だな。
これいじったんだろ。
0220デフォルトの名無しさん2011/06/06(月) 18:40:12.66
>>219
どういうことですか?

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

0221デフォルトの名無しさん2011/06/06(月) 18:54:10.32
>>220
そんな思い込みは捨ててさっさといわれたことをやれ
0222デフォルトの名無しさん2011/06/06(月) 18:58:12.29
a.exe < sample.txt > output.txt

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

おそらくこれらの順番がめちゃくちゃになったんだろ。
もう一度コンパイルとsample.txtを用意してやり直すべし。
0223デフォルトの名無しさん2011/06/06(月) 19:12:04.44
>>222
頭良すぎ。
何でそんなすぐ原因わかるんだよ・・・

とりあえずリカバリーします。
リカバリーしてcygwinダウンロードしなおす。
0224デフォルトの名無しさん2011/06/06(月) 19:23:42.21
まず日本語の勉強から始めるべきだと思うわめ。
0225デフォルトの名無しさん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;
}
0226デフォルトの名無しさん2011/06/06(月) 19:28:29.49
>>225 文章が長いので分けました。連投失礼します。
>>225のprintf("(6)""x % y = %.2f\n",a%b); についてお聞きしたいのですが
x%yの計算結果を表示させたいのですが、何度コンパイルしても
""で閉じた以降の「a%d」でエラーが出ます。
この書き方は間違っているのでしょうか?色々調べて見ても
よくわかりませんでしたのでこちらに来ました。
是非お教えいただきたいです…
0227デフォルトの名無しさん2011/06/06(月) 19:31:16.21
floatで%はダメッ!
0228デフォルトの名無しさん2011/06/06(月) 19:31:48.11
""で閉じた以降の「a% b 」でした…。
書き間違い失礼しました。
0229デフォルトの名無しさん2011/06/06(月) 19:36:56.62
つ fmod
0230デフォルトの名無しさん2011/06/06(月) 19:38:11.25
>>222
<なのか>なのかはっきりしてくれww
余計におかしくなる
0231デフォルトの名無しさん2011/06/06(月) 19:56:57.42
直ったwwwwwwwwwwwwwwwwwwwwww
cygwinすげぇwwwww
0232デフォルトの名無しさん2011/06/06(月) 20:05:33.26
配列とハッシュの違いが分かりません。
データに即座にアクセスできるという点で一緒じゃないんですか?
0233デフォルトの名無しさん2011/06/06(月) 20:08:21.49
>>232
辞書を引く時に、200ページ目に書いてあるよというのが配列
辞書を引く時に、「か」の項に書いてあるよというのがハッシュ
0234デフォルトの名無しさん2011/06/06(月) 20:13:18.54
ネロに道連れにされて死んだのがパトラッシュ
0235デフォルトの名無しさん2011/06/06(月) 20:14:07.73
PHPだと配列=ハッシュ
0236デフォルトの名無しさん2011/06/06(月) 20:24:00.07
>>227
ということは新たにintで数を宣言したほうがいいですかね?
0237デフォルトの名無しさん2011/06/06(月) 20:45:44.08
>>236
>>229
0238 忍法帖【Lv=4,xxxP】 2011/06/06(月) 21:59:12.59
それ以前に、printf()系のフォーマット文字列に生の%はダメ。
0239デフォルトの名無しさん2011/06/06(月) 22:22:15.28
!( x ! = y ) の式の真偽を判断するソースコードを書きたいのですが
どのように書くのが良いでしょうか?
ちなみにxとyの数値はプレイヤーが入力するのではなく
決められた数値となっています。
0240デフォルトの名無しさん2011/06/06(月) 22:29:57.40
printf("%d\n",!( x ! = y ));
0241デフォルトの名無しさん2011/06/06(月) 22:39:32.00
x==yじゃだめなのか
0242デフォルトの名無しさん2011/06/07(火) 02:23:06.12
ファイルポインタからファイルディスクリプタを取り出すAPI
ってなかったっけ?
逆ならあったんだけど
0243デフォルトの名無しさん2011/06/07(火) 03:35:28.13
>>242
ファイル構造体に入ってるよ
0244デフォルトの名無しさん2011/06/07(火) 07:12:11.34
>>242
fileno()じゃないの?
つーか、寧ろ逆方向こそ知らない。
0245デフォルトの名無しさん2011/06/07(火) 18:11:35.37
ハッシュってC言語なら何で実現するの?
ヘッダとかマクロもわからん・・
0246デフォルトの名無しさん2011/06/07(火) 18:23:31.76
http://www.tokumaru.org/techterm/hash.html
0247デフォルトの名無しさん2011/06/07(火) 18:48:24.11
>>244
逆はfdopen()とかじゃね?
Winにあんのかは知らないけど。
0248デフォルトの名無しさん2011/06/07(火) 21:36:05.46
パソコンから入力した時間(10:20:30 のような)を
合計秒数に変換するプログラムを書きたいのですが
60秒を掛けていかないといけないから普通の加算じゃできませんよね?
どのように書けばよいでしょうか…
0249デフォルトの名無しさん2011/06/07(火) 21:39:24.89
60掛けてから足せばいいだろ・・・・・・・
0250デフォルトの名無しさん2011/06/07(火) 21:41:56.75
>>248
普通の加算でいいよ
0251デフォルトの名無しさん2011/06/07(火) 21:42:09.39
:で分割して
3600かけて
60かけて
0252デフォルトの名無しさん2011/06/07(火) 21:50:44.12
>>248
プログラムとかC言語以前の問題だろ
0253デフォルトの名無しさん2011/06/07(火) 22:15:29.85
>>248です。
皆さんレスありがとうございました。
私が色々勘違いしていたようです…お陰様で解決いたしました。

ちなみに上に書いたのと正反対の
パソコンから入力した秒数(1234567)を
1年2日3時間45分67秒 のように表記するソースコードを書きたいのですが
この場合どうしたらよいでしょうか。
0254デフォルトの名無しさん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;
}
0255デフォルトの名無しさん2011/06/07(火) 22:50:15.23
>>254
1分は60秒
1時間は3600秒
1日は86400秒
1年は31536000秒

あとはわかるな?
0256デフォルトの名無しさん2011/06/07(火) 23:30:04.57
>>253
strftime を使う
0257デフォルトの名無しさん2011/06/07(火) 23:51:48.59
>>255
その程度のことしかいえないなら黙ってろ
本当はできないくせに
0258デフォルトの名無しさん2011/06/07(火) 23:56:27.12
それが人にものを訊ねる態度じゃねーよな。
0259デフォルトの名無しさん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;
}
0260デフォルトの名無しさん2011/06/08(水) 02:17:04.92
>>257
はい、本当はできません
0261デフォルトの名無しさん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)の証明はできない。
どこで議論が破たんするかを示せ。

ご教授お願いします。

0262デフォルトの名無しさん2011/06/08(水) 03:38:33.77
>>261
T() ?
kwsk
0263デフォルトの名無しさん2011/06/08(水) 09:50:24.95
ほっほっ
0264デフォルトの名無しさん2011/06/08(水) 10:43:05.59
Tが何なのか??これ全文?
0265デフォルトの名無しさん2011/06/08(水) 11:31:33.33
可変引数ってのは何者なんですか?
何の役に立つのですか?
0266デフォルトの名無しさん2011/06/08(水) 11:37:51.57
printfは可変
0267 忍法帖【Lv=1,xxxP】 2011/06/08(水) 11:59:31.19
>>265
例えばprintf()のことを聞いている?
それならそれがそのまま答えだ。
0268デフォルトの名無しさん2011/06/08(水) 13:37:09.56
ふっほっ
0269デフォルトの名無しさん2011/06/08(水) 16:51:03.58
そのまま vsprintf に丸投げ後、対象バッファ加工して出力とかはやるけど
(必要に応じてパースし) va_arg() で逐次取り出すようなコードは書いたことないな
0270デフォルトの名無しさん2011/06/08(水) 21:32:29.98
ほっほっ
0271デフォルトの名無しさん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だけではダメなのでしょうか?
0272デフォルトの名無しさん2011/06/08(水) 23:08:20.17
ふっふっ
0273デフォルトの名無しさん2011/06/08(水) 23:12:15.51
>>271
年、月、日、時、分、秒でそれぞれ掛ける数を事前に求めてテーブルを作っている。
ループと配列を使う>259の遣り方が判り難いなら、単純に計算式を6セット並べればいいよ。
02742712011/06/08(水) 23:14:15.38
>>273
計算式ということは普通に
printfなどの関数でも同じことができるということですか?
0275デフォルトの名無しさん2011/06/08(水) 23:35:24.62
関数内関数オブジェクトはOKなのに関数内関数はダメなのってどういう意味があるんですか?
0276デフォルトの名無しさん2011/06/08(水) 23:37:53.08
それってC++の話?
0277デフォルトの名無しさん2011/06/08(水) 23:44:24.38
デタッチ属性のついたスレッドにpthread_kill(0)送ると、スレッドが終了してる場合にセグメンテーション違反で落ちることがあるんだが、代替手段てない?
0278デフォルトの名無しさん2011/06/08(水) 23:57:55.77
>>277
入門の範囲を超えてます。該当環境または環境依存OKのスレへどうぞ。

>>274
printf()では掛け算はできません。
0279デフォルトの名無しさん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)の証明はできない。
どこで議論が破たんするかを示せ。

ご教授お願いします。

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


0281デフォルトの名無しさん2011/06/09(木) 01:58:29.28
どや顔で書いたんだろうな
0282デフォルトの名無しさん2011/06/09(木) 03:32:04.62
>>280
どう見ても、printf()の戻り値を掛けてますね。
まさかとは思いますが、それでprintf()で掛け算ができるといいたいわけじゃありませんよね?
0283デフォルトの名無しさん2011/06/09(木) 03:50:53.78
printf()で掛け算ができないの意味がわからん
掛け算の式を引数にすることもできるだろ
0284デフォルトの名無しさん2011/06/09(木) 05:04:27.76
>>283
>274
0285デフォルトの名無しさん2011/06/09(木) 11:51:29.56
>>275
GCCでは使えるから気にすんな
0286デフォルトの名無しさん2011/06/09(木) 11:53:48.11
>>279
背理法
数学的帰納法
0287デフォルトの名無しさん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
0288デフォルトの名無しさん2011/06/09(木) 12:17:23.66
天才現る!!!!
0289デフォルトの名無しさん2011/06/09(木) 12:19:08.02
>>288
QZは消えたはずだが‥‥。
0290デフォルトの名無しさん2011/06/09(木) 12:21:05.22
>>288
>>289
だまれ低脳低学歴
0291デフォルトの名無しさん2011/06/09(木) 13:21:15.37
ごめんなしあ
0292デフォルトの名無しさん2011/06/09(木) 13:43:01.00
◆QZaw55cn4cって糞だよなぁ
0293デフォルトの名無しさん2011/06/09(木) 17:41:54.98
成りすましたいときはコテ外すからな。バレてないと思っているのがまた萎える。

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

だもんな。本当に役に立たないだけのクズだ。
0294デフォルトの名無しさん2011/06/09(木) 18:59:36.81
「QZさんよりいいコード書けるの?」が来るぞw
0295 ◆QZaw55cn4c 2011/06/09(木) 19:03:16.32
>>293
成りすましということにしておきたいのですね。

   ヘ _ ヘ
  ミ  ・ ・ ミ
   (    )〜
--------------------------------------
0296デフォルトの名無しさん2011/06/09(木) 19:16:56.66
◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ◆QZaw55cn4cって糞だよなぁ
0297デフォルトの名無しさん2011/06/09(木) 19:17:58.68
AA使い始めたら、本格的に終了
0298デフォルトの名無しさん2011/06/09(木) 19:18:46.87
ついにAA荒らしになったかw
0299デフォルトの名無しさん2011/06/09(木) 19:50:24.27
よくQZって見るけどすごい人なんですか?
0300デフォルトの名無しさん2011/06/09(木) 19:54:08.44
すごい頭の悪いキチガイ
0301デフォルトの名無しさん2011/06/09(木) 20:27:01.00
おまいらキチガイはスルーしろよ、アスペが
0302デフォルトの名無しさん2011/06/09(木) 20:36:28.79
アスペの◆QZaw55cn4cがまたほざきだしたな
0303デフォルトの名無しさん2011/06/09(木) 21:02:51.99
この叩くレスの多さ、速さがたまらんね。
酉割れてるけど、それでもがんばるの?
0304デフォルトの名無しさん2011/06/09(木) 21:05:31.36
QZaw55cn4cは糞
0305デフォルトの名無しさん2011/06/09(木) 21:06:59.68
よっぽど痛い目にあわせられたんだろう。
0306デフォルトの名無しさん2011/06/09(木) 21:07:49.92
なんだ◆QZaw55cn4cか
0307デフォルトの名無しさん2011/06/09(木) 21:09:20.39
>>303
>>305

トリ付けろよクズ
0308トリ2011/06/09(木) 21:10:20.03
痛すぎ
0309デフォルトの名無しさん2011/06/09(木) 21:11:48.47
>>308
面白いねー
0310デフォルトの名無しさん2011/06/09(木) 21:15:37.14
>>308
その発想はなかったわwwwwwww
神wwwwwもっと評価されるべき!!!111wwwww
0311デフォルトの名無しさん2011/06/09(木) 21:43:17.35
緊急です・・・教えてください!!!

以下の処理を実現するための式を考えてみよう。(C言語)
(1)xの下位ビットをyへ、yはshort型とし、下位4ビット以下は1をセットする。
(2)xの下位ビットをchar型変数xの上位4ビットへ、yの下位ビットをzの下位ビットへ代入する。
0312デフォルトの名無しさん2011/06/09(木) 21:45:01.35
>>259
もQZなの?
0313デフォルトの名無しさん2011/06/09(木) 21:53:20.90
>>311
問題文省略しすぎ

(1)(2)に出てくるxの型は?下位ビットが曖昧
(2)にはxが出てくるけど、あってる?あと変数の型も明記してください。
0314デフォルトの名無しさん2011/06/09(木) 21:55:08.41
>>313
すみません・・・問題文にこれだけしか書いてないのです><
0315デフォルトの名無しさん2011/06/09(木) 22:00:05.49
>>55
お茶吹いた
0316デフォルトの名無しさん2011/06/09(木) 22:08:13.98
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1164136016
0317デフォルトの名無しさん2011/06/09(木) 22:09:18.51
>>314
問題文って言うか、前後にどういう説明があって、この問題が出されているの?
(2)には2カ所xが出るけど、この問題文の前には、何かの説明があるんでしょ?
0318デフォルトの名無しさん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の下位ビットへ代入する。

0319デフォルトの名無しさん2011/06/09(木) 22:23:55.09
>>303
http://hibari.2ch.net/test/read.cgi/tech/1307166756/334
0320デフォルトの名無しさん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の下位ビットへ代入する。
これも「下位ビット」が何を指すのか不明。
0321デフォルトの名無しさん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の間違いじゃない?
0322デフォルトの名無しさん2011/06/10(金) 01:19:19.41
リンクするためのメイクファイルを作成したいのですが
記述方法がわかりません。

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

またリンクするためのメイクファイルというのは 生成された oファイル分必要なのでしょうか?
0323デフォルトの名無しさん2011/06/10(金) 01:52:13.80
◆QZaw55cn4cはなんでメ欄ばっか使うの?クズだから?
0324デフォルトの名無しさん2011/06/10(金) 01:56:11.11
hoge.exe:
gcc main.o lib.o -o hoge.exe
こういう話なんだろうか…?
0325デフォルトの名無しさん2011/06/10(金) 01:57:12.05
>>322
コンパイラ、リンカによってコマンドが違う

makefile 一つでターゲットの数100でも200でもいける
0326デフォルトの名無しさん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でわざわざ書かれているのでしょうか?
0327デフォルトの名無しさん2011/06/10(金) 06:01:31.17
符号付き整数だとまずいと思ったんじゃないの?
0328デフォルトの名無しさん2011/06/10(金) 09:39:36.53
unsigned って、型じゃないよね。unsigned int の間違いか?コンパイルできるのか?
と思ったけど、コンパイルできた。いいのか?w
0329デフォルトの名無しさん2011/06/10(金) 09:40:47.83
>>328
unsigned int の省略表記
0330デフォルトの名無しさん2011/06/10(金) 09:43:05.09
>>328
unsigned は unsigned intなんだよ
0331デフォルトの名無しさん2011/06/10(金) 09:45:17.56
省略は int な。
main(); が int なのと同様。
0332デフォルトの名無しさん2011/06/10(金) 09:46:05.54
>>331
死ね
0333デフォルトの名無しさん2011/06/10(金) 09:49:38.63
>>326
まあ好意的に解釈するなら、intでは表しきれないほど長い文字列で
オーバーフローしないようにしているとか……?

もし非負であるというlenの条件を型に組み込もうとして
unsignedにしたのであれば、それはCではやめたほうがいい発想だと思う
unsignedは暗黙の型変換絡みで直感的でない挙動を示すことがあるので、
多くの場合はintを使うのがよい
0334デフォルトの名無しさん2011/06/10(金) 09:54:17.99
標準strlen()の返り値はsize_tでsize_tは符号なしだから、そのに合わ
せたんじゃ?
0335デフォルトの名無しさん2011/06/10(金) 10:17:09.35
intが一番速く動作するよ
0336デフォルトの名無しさん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 == ...
0337デフォルトの名無しさん2011/06/10(金) 10:22:58.84
signed char == char != unsigned char || signed char != char == unsigned char
0338デフォルトの名無しさん2011/06/10(金) 10:23:44.85
>>332
何で切れてんの?w
0339デフォルトの名無しさん2011/06/10(金) 10:28:41.89
>>338
>>328が馬鹿すぎて
0340デフォルトの名無しさん2011/06/10(金) 10:40:51.79
争いは同レベルの者でしか起きない
0341デフォルトの名無しさん2011/06/10(金) 10:49:01.04
>>340
つまりお前は>>328と同レベルなのか
0342デフォルトの名無しさん2011/06/10(金) 10:56:16.59
ま、言語仕様を見る限り、unsignedは型修飾子であって、>>326のような書き方は邪道ですね。
0343デフォルトの名無しさん2011/06/10(金) 11:06:16.66
>>342
うそつくなカス
0344デフォルトの名無しさん2011/06/10(金) 11:20:20.71
型修飾子としてのunsignedを仮定すると
ならユーザ定義の構造体Aに対してtypedef hoge := unsigned Aとかできるのだろうか?
どういうセマンティックになるのか?あるAが体を成していると考えたときに和算に対するinvである-を除いた代数が想定されるのか
それをわざわざ言語に組み込む程、用途は多いのだろうか
疑問は尽きない
0345デフォルトの名無しさん2011/06/10(金) 11:29:51.58
ANSIによると、signed、unsignedが追加されたのは整数型とある
0346 忍法帖【Lv=3,xxxP】 2011/06/10(金) 14:47:02.45
例えばstatic foo;と書けばstatic int foo;と書いた事になるのと同じことだ。気にするな。
0347デフォルトの名無しさん2011/06/10(金) 14:50:35.07
省略がいいとは限らんけどね
0348デフォルトの名無しさん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でいいだろ
何を揉めているんだ
0349デフォルトの名無しさん2011/06/10(金) 16:21:22.82
??
符号付き整数型には、キーワードunsignedで指定された、それぞれに対応する符号無し整数型がある・・・とあるだけだが?
0350デフォルトの名無しさん2011/06/10(金) 16:34:02.82
省略したら int ってのは基本だろJK
0351デフォルトの名無しさん2011/06/10(金) 17:06:09.76
>>333
直感的でない挙動って具体的に何さ?
符号の有無は最上位ビットを「最終的にどう解釈させるか?」でしかないのであって、
四則演算やビット処理にしたって、内部の処理内容は符合に関わらず同じだろう。
0352デフォルトの名無しさん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

以下省略
0353デフォルトの名無しさん2011/06/10(金) 17:44:48.89
うほっ
0354デフォルトの名無しさん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
0355デフォルトの名無しさん2011/06/10(金) 20:37:59.52
んなツマンナイ話題より
わくわくする様なコードを引き出す効率ネタを振ってくれよ
0356デフォルトの名無しさん2011/06/10(金) 22:09:25.80
データ検索でハッシュ法よりはやい方法ありますか?
また大学1年ですがハッシュを知ってる僕って進度速いほうでしょうか?

皆まだ関数だの制御だの基本文法に慣れてない人が7割くらいです。
0357デフォルトの名無しさん2011/06/10(金) 22:11:14.45
>>356
中学生でマスターしている人もいるよ
0358デフォルトの名無しさん2011/06/10(金) 22:12:36.14
状況によりけり
0359デフォルトの名無しさん2011/06/10(金) 22:21:09.89
C言語と相性の良いグラフィックライブラリ教えてください。
0360デフォルトの名無しさん2011/06/10(金) 22:22:47.31
OpenGL
0361デフォルトの名無しさん2011/06/10(金) 22:36:18.83
>>359
BGI
0362デフォルトの名無しさん2011/06/10(金) 23:05:45.48
>>356
qsort()してからbsearch()するとか
0363デフォルトの名無しさん2011/06/10(金) 23:09:45.63
>>362
状況にもよるかもしれんけど、一般的にはバイナリサーチよりハッシュのほうが速いと思う。
0364デフォルトの名無しさん2011/06/10(金) 23:24:27.12
ハッシュを混ぜて速度を語ると
探索処理をどこまで事前に済ませておけるかに成るから本質的じゃないっすよ
0365デフォルトの名無しさん2011/06/10(金) 23:31:07.76
キーを配列添字にして、値を保存し、キーを使ってアクセス
0366デフォルトの名無しさん2011/06/10(金) 23:39:09.66
>>356
作ったソース晒しなよ
0367デフォルトの名無しさん2011/06/10(金) 23:39:47.16
>>365
ふつうのハッシュだな。
0368デフォルトの名無しさん2011/06/11(土) 00:07:50.99
Javaのコレクション・フレームワークみたいなものって、Cには無いんですか?C++ならありますか?
0369デフォルトの名無しさん2011/06/11(土) 00:09:19.71
>>368
Cは標準のやつはない。C++はある。
0370デフォルトの名無しさん2011/06/11(土) 00:10:59.84
サンクスコ
0371デフォルトの名無しさん2011/06/11(土) 00:20:52.31
八種法って、コリコリした場合の回避方法もセットで実装しないと使い物にならないんじゃないの?
0372デフォルトの名無しさん2011/06/11(土) 00:29:10.18
メモリは無限にあるものだから
1対1対応のハッシュにすればコリコリしない!
0373デフォルトの名無しさん2011/06/11(土) 00:39:18.47
ハッシュは考えることが多くてメンドクサいの
ハッシュ関数どうしようとかコリったらどうしようとか再ハッシュの閾値とか
適当に線形検索とかでやっちゃってもいいと思うの
0374デフォルトの名無しさん2011/06/11(土) 00:40:59.61
わざわざ自作するからでしょ・・・
0375デフォルトの名無しさん2011/06/11(土) 00:49:06.36
実際、データ件数が少なければ、線形で十分だよね。
0376デフォルトの名無しさん2011/06/11(土) 00:50:18.16
バイナリサーチもそこらのPGに作らせると高確率でバグってるって話題あったな。
0377デフォルトの名無しさん2011/06/11(土) 00:52:30.88
時間と人件費をかけてバグを実装するのか・・・
0378デフォルトの名無しさん2011/06/11(土) 00:57:28.03
次の方の仕事を用意してると言って下さい。
0379デフォルトの名無しさん2011/06/11(土) 00:58:35.61
今は、バグバグがはやりなんじゃあ
0380デフォルトの名無しさん2011/06/11(土) 01:02:12.89
バグを入れることによって次の仕事が発生する
まさに自足自給
0381デフォルトの名無しさん2011/06/11(土) 01:13:25.65
MSの悪口は許さんぞ。
0382デフォルトの名無しさん2011/06/11(土) 01:36:42.73
QZaw55cn4cはクズ
0383デフォルトの名無しさん2011/06/11(土) 01:40:17.75
>>351
intと混在するケース

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

この辺を考慮してだと思うが、C FAQでは
>オーバーフローの時の性質の明確なことが大事で負の値が不 要なら、
>対応する符号なしの整数を使え(ただし符号付と符号なしの 整数の混在には注意すること)。
としている
0384デフォルトの名無しさん2011/06/11(土) 01:52:31.79
>>383
それ挙動がおかしいんじゃなくて、使い方がおかしいだけじゃんかよ。
負数との比較が出てくるならちゃんとint使わなきゃダメに決まってる。
0385デフォルトの名無しさん2011/06/11(土) 01:57:57.98
ハマらない書き方ってのがイガイと難しいからね
0386デフォルトの名無しさん2011/06/11(土) 02:01:31.06
>>384
挙動がおかしいかどうかを議論する気はない
しかしCリファレンスマニュアルでも触れられてるような落とし穴ポイントだから
普通は「直感的でない」と言われるような部分だと思う
0387デフォルトの名無しさん2011/06/11(土) 02:01:35.92
constの正確な書き方を教えろ
0388デフォルトの名無しさん2011/06/11(土) 02:04:18.19
const
意識して使ったことないなあ
0389デフォルトの名無しさん2011/06/11(土) 02:11:53.32
正確な書き方って言われても付ける場所によって意味が変わったり変わらなかったりするけど
const int *
const int *const
int *const
int const *
int const *const
お好きなものをどうぞ?
0390デフォルトの名無しさん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
と内部的に処理される。
0391デフォルトの名無しさん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
0392デフォルトの名無しさん2011/06/11(土) 03:18:35.92
>>391
それ
わざと解かりにくくしてオマエが喜んでるだけだろ
0393デフォルトの名無しさん2011/06/11(土) 12:28:04.59
1兆個の数字を大小に並び替えるって、リストなら1時間くらいかかりそうだが
ハッシュだと3分くらいでできると思うんだがどうでしょう?
0394デフォルトの名無しさん2011/06/11(土) 12:29:45.55
>>393
頭大丈夫か?
0395デフォルトの名無しさん2011/06/11(土) 12:29:45.84
>>259
お願いします
0396デフォルトの名無しさん2011/06/11(土) 12:31:02.67
何をお願いしてるんだろう?
0397デフォルトの名無しさん2011/06/11(土) 12:38:31.56
馬鹿には頼んでいません
0398デフォルトの名無しさん2011/06/11(土) 12:40:37.08
解説してください
0399デフォルトの名無しさん2011/06/11(土) 12:40:48.55
いやです
0400デフォルトの名無しさん2011/06/11(土) 12:41:16.91
>>394
1兆だから桁数は平均7だろ。
リストのデータに達する時間をTとしたらハッシュの場合(7/500000000000)T

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



0401デフォルトの名無しさん2011/06/11(土) 12:44:12.93
なぜ桁数が関係してくるんだろう?
0402デフォルトの名無しさん2011/06/11(土) 12:45:49.33
>>401
桁ごとに線形リスト作ってるから。
あれ違うっけ?
0403デフォルトの名無しさん2011/06/11(土) 12:48:46.64
そうだよばかども
0404デフォルトの名無しさん2011/06/11(土) 12:49:53.47
ハッシュは文字列以外にしか有効じゃないのかな?
0405デフォルトの名無しさん2011/06/11(土) 12:50:04.65
1兆個の整数を3分でソートできるアルゴリズムがあると聞いて
0406デフォルトの名無しさん2011/06/11(土) 12:54:22.27
え?w3分じゃ速いんですか?
0407デフォルトの名無しさん2011/06/11(土) 12:58:41.78
ハッシュっていうと考え方だけの話で
実装の仕方によって性能はちがうんだと思ってたんだが
間違ってる?
0408デフォルトの名無しさん2011/06/11(土) 13:13:52.28
1兆舐めすぎだろ1つ4バイトだとして

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

のデータを3分でソートしちゃうの?
0409デフォルトの名無しさん2011/06/11(土) 13:28:12.55
周波数を指定して音を鳴らしたいのですがBeepだと特定の環境ではマザーボードから音が出てしまうの
ヘッドホンで聞ける音として出したいのですがそういう関数はございますか?
0410デフォルトの名無しさん2011/06/11(土) 13:36:56.65
ございません
0411デフォルトの名無しさん2011/06/11(土) 13:57:22.16
winAPI
0412デフォルトの名無しさん2011/06/11(土) 13:58:44.56
>>409
スレ違いなのでこちらへどうぞ

Win32API質問箱 Build94
http://hibari.2ch.net/test/read.cgi/tech/1306687231/
0413デフォルトの名無しさん2011/06/11(土) 14:06:42.89
そちらで効いてきます
誘導ありがとうございます
0414デフォルトの名無しさん2011/06/11(土) 14:11:47.36
>>407
それ言い出すと、どんなアルゴリズムでもそうだからな。
大まかな話なら「ハッシュはO(1)でバイナリサーチはO(log2N)でハッシュのほうが速い」でいいよ。
0415デフォルトの名無しさん2011/06/11(土) 15:41:25.06
>>390
なんで繰り返したの?補足?

>>392
わかりにくい?逆に>>392はどう理解してるの?
0416デフォルトの名無しさん2011/06/11(土) 20:55:10.99
>>415
「直感的でない」の意味が分からん。
0417デフォルトの名無しさん2011/06/11(土) 22:25:12.30
質問がありますのでお願いします。

少々理由があってプログラムの勉強(C言語)を1からやらなければならなくなりました。
そこで質問ですが、C言語を学ぶ上で数学の知識は必要でしょうか?確か高校レベルな数学知識が必要だった気がしたのですがどの辺りを学べばいいかアドバイスお願いします
0418デフォルトの名無しさん2011/06/11(土) 22:28:14.93
C言語だけなら要らない
C言語で暗号を扱いたいなら暗号の知識がいるし
C言語で3Dを扱いたいなら3Dの知識がいるし
C言語で数学の計算をしたいなら数学の知識がいるというだけ
0419デフォルトの名無しさん2011/06/11(土) 22:30:08.62
あ?プログラミング自体が数学だボケ
大学からやり直せ
0420デフォルトの名無しさん2011/06/11(土) 22:30:11.63
数学的帰納法が分かっていれば再帰処理が書きやすくなるかも
0421デフォルトの名無しさん2011/06/11(土) 22:35:17.97
算数レベルの知識しか無かった当時小学生の俺でもC言語は使えていたから
C言語を学ぶのに数学の知識が要らないのは確かである
プログラミング自体が数学だということが問題なのではない
0422デフォルトの名無しさん2011/06/11(土) 22:36:58.98
>>421
こういう馬鹿にならないためにも本をいっぱい読もう
終わり
0423デフォルトの名無しさん2011/06/11(土) 22:38:12.03
数学の知識が必要だと言われたとして、Cを勉強せずに、まず数学の復習からはじめるんだろうか、この人・・
0424デフォルトの名無しさん2011/06/11(土) 22:38:47.44
天才なのか、「使える」の基準が著しく低いのか不明だ
0425デフォルトの名無しさん2011/06/11(土) 22:44:15.54
論理的思考を抽象的な意味で数学だと言うなら、必要だということになるかもしれないが、
むしろ日本語の読解力のほうが必要な気がする
0426デフォルトの名無しさん2011/06/11(土) 22:47:32.25
>>425
英語じゃだめなんですか?
0427デフォルトの名無しさん2011/06/11(土) 22:49:29.92
英語の本で勉強するの?
まぁ別にそれでもいいよ
0428デフォルトの名無しさん2011/06/11(土) 22:56:02.25
実に不思議な質問だ
0429デフォルトの名無しさん2011/06/11(土) 23:01:08.48
数学は必要なくても
高校数学くらいさくさく理解できる程度の知能は必要
0430デフォルトの名無しさん2011/06/11(土) 23:10:38.96
勉強し始めてみればいいだけだよね
躓くならそこで立ち止まって他の必要なことを勉強すればいい
0431デフォルトの名無しさん2011/06/12(日) 10:11:55.68
>>412
http://hibari.2ch.net/test/read.cgi/tech/1306687231/274
0432デフォルトの名無しさん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;
}
0433デフォルトの名無しさん2011/06/12(日) 10:54:41.18
&pじゃなくてpを表示させないと
0434デフォルトの名無しさん2011/06/12(日) 10:54:58.26
>pIplImage = ?

ってなんだw
0435デフォルトの名無しさん2011/06/12(日) 10:57:32.02
>>432
欲しいのは「pが指しているアドレス」じゃないの?
だったら&pじゃなくてpだよ。
0436デフォルトの名無しさん2011/06/12(日) 10:59:49.00
&image;でℑが出るとは知らなかったな
0437デフォルトの名無しさん2011/06/12(日) 11:01:13.23
ℑ
0438デフォルトの名無しさん2011/06/12(日) 11:04:19.63
>>434
どんな環境ですか?
0439デフォルトの名無しさん2011/06/12(日) 11:08:50.19
Wao!
できました、皆さんありがとう
pIplImage = ℑ
ですが、偶然ですなんでだろう^^
"pIplImage = ℑ"
0440デフォルトの名無しさん2011/06/12(日) 11:14:06.93
面白いですね^^
pIplImage = ℑ
ピー アイ(大文字) ピー エル アイ(大文字) エム エー ジー イー 半角スペース イコール 半角スペース アンパサンド アイ エム エー ジー イー セミコロン
です
0441デフォルトの名無しさん2011/06/12(日) 11:20:55.75
>>259
おねがいします
0442デフォルトの名無しさん2011/06/12(日) 11:23:43.40
断る。
0443デフォルトの名無しさん2011/06/12(日) 12:08:00.19
& h e l l i p ;
↓
…
0444デフォルトの名無しさん2011/06/12(日) 14:44:26.72
今日、栄のジュンク堂書店いってくる(´・(エ)・`)
04454172011/06/12(日) 15:40:35.12
アドバイスありがとうございます。こちらが勘違いしていたみたいです
0446デフォルトの名無しさん2011/06/12(日) 18:06:36.78
C言語なら俺に聞けの「俺」って誰ですか?
0447デフォルトの名無しさん2011/06/12(日) 18:17:33.19
俺だよ、俺。

教えてやるから、金振り込んでくれよ。
0448デフォルトの名無しさん2011/06/12(日) 18:20:54.46
いやいや俺だよ、俺
0449デフォルトの名無しさん2011/06/12(日) 18:37:06.77
>>1001だよ
0450デフォルトの名無しさん2011/06/12(日) 22:00:33.66
昔はまなちゃんが教えてくれるスレとかお姉さんが教えてくれるスレとかあったな。
0451デフォルトの名無しさん2011/06/12(日) 22:08:18.71
単発ネタならよかったんだが、しつこい奴もいたな
0452デフォルトの名無しさん2011/06/12(日) 22:52:33.76
mainの中にstrftime()をif分岐で3パターン作っています(1なら標準、2ならグリニッジ、3ならstrftimeで取得)。
このとき、strftimeの%Yを書く部分をfgetsで取得したキーボードからの文字列で動作させているのですが、
VC6.0で起動させたところ、if文に入れなければ動作しますが、if文の中に入れて動かすとエラーでプログラムが強制終了されます。
何の原因が考えられるでしょうか?
0453デフォルトの名無しさん2011/06/13(月) 00:15:36.68
日本語がとっちらかっている。おそらくコードもとっちらかっているのだろう。
0454デフォルトの名無しさん2011/06/13(月) 11:41:47.65
◆QZaw55cn4cはクズ
0455デフォルトの名無しさん2011/06/13(月) 12:50:29.14
ほっほっ
0456デフォルトの名無しさん2011/06/13(月) 12:59:10.21
ふっほっ
0457デフォルトの名無しさん2011/06/13(月) 13:10:57.53
(「・ω・)「 ガオー
0458デフォルトの名無しさん2011/06/13(月) 13:45:04.29
ぶはっ!選ぶはっ!
0459デフォルトの名無しさん2011/06/13(月) 13:51:33.15
>>452
VC6.0は標準C++と変数のスコープが違っていただろ
その当たりのバグじゃないのか?
0460デフォルトの名無しさん2011/06/13(月) 20:34:15.57
(゚σ ゚)ホジホジ
0461 [―{}@{}@{}-] デフォルトの名無しさん2011/06/13(月) 22:56:32.13
おい!web上で使えるSVNのサービスってないのか。あったら教えてください
0462デフォルトの名無しさん2011/06/13(月) 22:58:52.37
googlecodeとかってこと?
0463デフォルトの名無しさん2011/06/13(月) 23:01:23.46
C言語をはじめたばかりであまりわからないのですが、
ビットシフトはなんの役に立つのでしょうか?
0464デフォルトの名無しさん2011/06/13(月) 23:03:14.12
*2
/2
はビットシフトで置き換えられる。
0465デフォルトの名無しさん2011/06/13(月) 23:10:38.31
>>463
フラグ操作
0466 [―{}@{}@{}-] デフォルトの名無しさん2011/06/13(月) 23:10:53.51
githubのsvn版みたいのないすか
>>463
bmpファイルをfopenで直接読み込んで色データを取り出したいときとか
0467デフォルトの名無しさん2011/06/13(月) 23:16:13.16
GoogleCode、SourceForgeなどなど
0468デフォルトの名無しさん2011/06/13(月) 23:24:50.09
a(){
int i=0;
L:
printf("%d\n", i++);
goto L;
}

main(){
a();
}

これを実行すると延々と数が増加していく。
これを、a()に変更を加えずに、a()の処理が100ms毎に一時停止と再開を繰り返すようにするには、どうしたらいいですか?
0469デフォルトの名無しさん2011/06/13(月) 23:26:41.38
>>468
むりだよーん
0470デフォルトの名無しさん2011/06/13(月) 23:31:45.42
別スレッドとか別プロセスを作ってそっちから開始停止を操作する

printfを自分で定義して100msごとに〜って言う動作をさせる(笑)
0471デフォルトの名無しさん2011/06/13(月) 23:44:17.95
アスペクト指向を使うとかしか思い浮かばない
0472デフォルトの名無しさん2011/06/14(火) 00:15:56.13
先頭に
#include <unistd.h>
#define printf usleep(100000); printf
を追加
0473デフォルトの名無しさん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 が参照)
0474デフォルトの名無しさん2011/06/14(火) 07:14:20.75
ソースファイル1つだけじゃないんだろ。

bcc32 *.c

とかやってみたら?
0475デフォルトの名無しさん2011/06/14(火) 09:19:17.04
リンク以前にコンパイルできてないじゃん。一番最初の警告を解決しろよ。
0476デフォルトの名無しさん2011/06/14(火) 09:35:49.70
えっ
0477 忍法帖【Lv=5,xxxP】 2011/06/14(火) 09:45:44.55
>>475
どう見ても、コンパイル完了後、リンクしようとして出たエラーですが。
0478デフォルトの名無しさん2011/06/14(火) 10:04:21.27
◆QZaw55cn4cは糞
0479デフォルトの名無しさん2011/06/14(火) 10:08:01.19
すみません、
痴漢バスの千尋のほかの作品や他の女優名がわからないでしょうか?
誰か詳しい方お願いします
0480デフォルトの名無しさん2011/06/14(火) 10:17:06.84
>>479
http://studiokingyo.fc2web.com/
0481デフォルトの名無しさん2011/06/14(火) 10:39:58.08
bcc32はDLL関連だとしたらめんどくさいよ。
0482デフォルトの名無しさん2011/06/14(火) 12:26:36.10
cのユニットテストって何を使えばばいいんでしょうか?
apacheのモジュール開発なんだけど
0483デフォルトの名無しさん2011/06/14(火) 12:29:49.00
だから俺に聞けって誰だよ
誰に聞けばいいんだよ
0484デフォルトの名無しさん2011/06/14(火) 12:49:46.55
オレオレ
0485デフォルトの名無しさん2011/06/14(火) 13:17:32.87
>>484
詐欺
0486デフォルトの名無しさん2011/06/14(火) 20:21:29.51
>>480
すげえ、参考になった
0487デフォルトの名無しさん2011/06/14(火) 21:06:17.88
>>480>>486
自作自演すんなみっともない
0488デフォルトの名無しさん2011/06/14(火) 21:09:10.23
>>480
ありがとうございます!
高度情報が豊富で助かります
0489デフォルトの名無しさん2011/06/14(火) 21:12:08.78
糞サイトのURL貼るな
0490デフォルトの名無しさん2011/06/14(火) 21:15:09.22
>>480に技術力で劣っている人間は多いだろうが、嫉妬で叩くのはくれぐれもやめたまえよ
0491デフォルトの名無しさん2011/06/14(火) 21:37:07.94
このサイトが糞だったらMSDNは糞以外だはw
0492デフォルトの名無しさん2011/06/14(火) 21:43:34.35
>>491
無理せず母国語でおk
0493デフォルトの名無しさん2011/06/14(火) 21:46:28.88
釣れたw
0494デフォルトの名無しさん2011/06/14(火) 22:04:58.98
プレイヤーが整数を4つ打ち込んで
その中の最大値と最小値を出すプログラムを書きたいのですが
どうしても作れません…
elseを使わなくてはいけないのですが…どのように書いたらいいでしょうか?
0495デフォルトの名無しさん2011/06/14(火) 22:09:59.29
ソート使うのありなら簡単
なくても簡単
0496デフォルトの名無しさん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;
}
0497デフォルトの名無しさん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と表示されるのですが
計算させるにはどうしたらいいんでしょうか?
0498デフォルトの名無しさん2011/06/14(火) 22:14:09.37
上記が作りかけのソースです。
ソート?というのはまだ習っていないので恐らく使わないと思います…
0499デフォルトの名無しさん2011/06/14(火) 22:15:38.84
>>497
printf("%d",1+2+3+4+5);
0500デフォルトの名無しさん2011/06/14(火) 22:15:39.65
>>497
printf("1+2+3+4+5\n");

printf("%d\n", 1+2+3+4+5);
0501 [―{}@{}@{}-] デフォルトの名無しさん2011/06/14(火) 22:17:59.30
構って欲しいからって馬鹿の振りするのやめようよ
0502デフォルトの名無しさん2011/06/14(火) 22:19:57.72
>>499
>>500

できました!ありがとうございます。
0503デフォルトの名無しさん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;
}
0504デフォルトの名無しさん2011/06/14(火) 23:05:28.35
>>503
回答ありがとうございます。
ちょっと色々自分で調べてたのですが、
ソート?の解釈は繰り返し文ということでよいでしょうか?
また、>>503様が書いてくださった「max」等の関数を
まだ習っていない状態なのですが、
(現在printf scanf if for程度までは習ってます)
何か別のものに置き換えることは可能なのでしょうか…。
0505デフォルトの名無しさん2011/06/14(火) 23:35:40.21
要素数5の配列aを順番逆にして配列bにコピーしたいんですがどうしたらいいですか?
変数tempなりをつくって入れ替え処理でしょうか?
お願いします。
0506デフォルトの名無しさん2011/06/14(火) 23:42:33.67
>>505
for (i=0;i<5;i++)
b[4-i]=a[i];
0507デフォルトの名無しさん2011/06/14(火) 23:43:23.77
>>504
もう一度よく復習をしよう
変数の宣言と四則演算あたりから
0508デフォルトの名無しさん2011/06/14(火) 23:45:47.02
>>480
すごい!
0509デフォルトの名無しさん2011/06/14(火) 23:51:41.89
>>506
出来ました。
考え方を教えてください
0510デフォルトの名無しさん2011/06/14(火) 23:53:32.69
>>509
数オリの問題で頭を鍛えるのだ
0511デフォルトの名無しさん2011/06/14(火) 23:56:18.60
>>510
よく考えると理解できました。
ありがとうございます
0512デフォルトの名無しさん2011/06/15(水) 00:28:59.15
>>480
神
これはもっと評価されるべき
0513デフォルトの名無しさん2011/06/15(水) 00:56:08.33
>>504 else文を使う必要がある、と書いているけど?要件を満たしていないけどOKなの?
0514デフォルトの名無しさん2011/06/15(水) 01:46:56.67
C言語 Linux gcc です。
クイックソートで移動した回数を記録するプログラムを作っているのですが
再帰呼び出しのたびに回数をゼロで初期化してしまっているみたいです。
どのように直せばいいですか。

http://codepad.org/JUNth3NB
0515 忍法帖【Lv=5,xxxP】 2011/06/15(水) 01:53:02.88
>>514
static int count = 0;
0516デフォルトの名無しさん2011/06/15(水) 01:54:29.63
staticにするか外に出すかパラメータ化する
0517デフォルトの名無しさん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); // 後半部についてソート
0518デフォルトの名無しさん2011/06/15(水) 19:56:33.35
>>513
昨夜の>>504です

関数も習っていませんし、elseも使っていない状態なので
とても申し上げにくいのですがOKじゃないですね…
一晩考えましたがやっぱりよくわかりませんでした。
どのように書くべきでしょうか…
0519デフォルトの名無しさん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つの数の最大数、最少数が入っているので、それを表示する。

文章で書くとこんな感じかな。
0520デフォルトの名無しさん2011/06/15(水) 20:33:39.27
何行目がわからないんだ?
いままでやったこと復習しろよ
0521デフォルトの名無しさん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;
}
0522デフォルトの名無しさん2011/06/15(水) 20:48:11.54
else使えよ
0523デフォルトの名無しさん2011/06/15(水) 20:50:13.04
使わないといけないんだ。ごめんな
0524デフォルトの名無しさん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
0525デフォルトの名無しさん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的外れなことをやっているのかもしれませんが、
もしこの僅かな情報から何か示唆して頂ける方がいましたら教えて頂きたいです。
よろしくお願いします。
0526デフォルトの名無しさん2011/06/15(水) 21:02:21.77
main関数がどこにあるのかしらんが、コマンドラインのチェック処理がMCCO.cのなかにあるんでないの
その調子で続けるならエスパースレ推奨
0527デフォルトの名無しさん2011/06/15(水) 21:16:17.36
構造体配列の検索にbsearch関数を使用すると検索可能なのですが、lsearch関数(lfind)を使用すると
セグメンテーション違反が出力されてしまいます。
配列自体は要素が少なく、線形探索で実現するためにlfindを使用したいのですが、
セグメンテーションが出力される要因がありましたら教えていただきたいと思います。
0528デフォルトの名無しさん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;
}
05295282011/06/15(水) 21:24:33.47
>max = a; min = a;
これいらない。消しておいてください。
0530デフォルトの名無しさん2011/06/15(水) 21:25:06.93
変なロジックになったwww
0531デフォルトの名無しさん2011/06/15(水) 22:51:10.87
>>527
lsearch() は、マッチする要素を見つけられなかったとき、配列の最後に key をつけ加える。そして *nmemb を 1 ふやす。したがって、この関数を使用
する際には、マッチする要素が存在するか、もしくは配列に要素を追加するための領域があるか、を把握しておく必要がある。

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

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

とか?
0533デフォルトの名無しさん2011/06/16(木) 04:02:53.15
用途で名前付けただけだろ。
integer → int
character → char
0534デフォルトの名無しさん2011/06/16(木) 04:06:09.27
逆にbyte型って他の言語にあるの?
0535デフォルトの名無しさん2011/06/16(木) 04:16:02.21
今更、逝っても何も変わらないだろうに、俺俺言語作るしか
0536デフォルトの名無しさん2011/06/16(木) 05:00:31.98
>>534
あるよ
0537デフォルトの名無しさん2011/06/16(木) 05:03:23.86
ないよ
0538デフォルトの名無しさん2011/06/16(木) 05:06:45.41
汗?
0539デフォルトの名無しさん2011/06/16(木) 12:08:22.74
すいません、昔のベーシック言語でいうところのcls(画面をクリアする)コマンドというか関数はありますか?
0540デフォルトの名無しさん2011/06/16(木) 13:18:29.39
横×縦の数のスペースを出力すれば良い。
ボーランド系なら clrscr() 使え。
Win98 までなら "\x1b[2J" を出力しても良い。
system("cls"); でも良いな。
*BSD or 犬糞なら system("clear");
05415392011/06/16(木) 13:18:54.57
他のスレへ移動するため539の質問を撤回します
05425392011/06/16(木) 13:20:19.97
>>540
被りました、どうも
回答ありがとうございました
0543デフォルトの名無しさん2011/06/16(木) 13:31:36.60
その辺やるならボーランドが楽だよな。
カーソル移動や画面制御等いろいろ用意されてる。
conio.h 見るだけで使い方も大体解るからすぐ使えるし。
Turbo-C 2.0 でも BCC 5.5 でも共通だから移植も一発だし。
0544デフォルトの名無しさん2011/06/16(木) 18:51:44.24
C言語やってるんですがジスコードとアスキーコードの違いがわかりません・・
どういうことでしょう?
0545デフォルトの名無しさん2011/06/16(木) 18:53:47.48
コンピュータの世界では文字はすべて番号で管理されている
0546デフォルトの名無しさん2011/06/16(木) 18:59:44.68
>>545
デコメみたいに絵文字はどうなんですか?
0547デフォルトの名無しさん2011/06/16(木) 19:20:19.19
>>544
aciiはアメリカの文字コード
jisはaciiを拡張して、カタカナも表示出来るようにしたもの

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

要するに、この番号はこの絵(見た目は文字)を表示しろ。と命令してる訳ですね
0549デフォルトの名無しさん2011/06/16(木) 19:23:57.43
>>547
プログラミングではjisって何バイトですか?
charが1byteだから1byte?

後プログラミング環境で一番簡単なのはどれですか?
visual studioはオプションが多すぎて全く理解ができないので
初心者にも分かりやすい奴お願いします。
0550デフォルトの名無しさん2011/06/16(木) 19:30:57.04
文字コードの話
http://euc.jp/i18n/charcode.ja.html
0551デフォルトの名無しさん2011/06/16(木) 19:35:53.71
>>549
まず、shift_jisとjisは違うという事から、覚えて置いてください

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

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

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

日本語は表示するだけなら、特に難しい事は無いですが、文字列処理の時は、どの文字コードでも鬼門です
0552デフォルトの名無しさん2011/06/16(木) 19:35:55.64
>>532
byteでロジック考えるようなところにはマシン語使ってたから
0553デフォルトの名無しさん2011/06/16(木) 19:42:31.67
>>551
ありがとう、jisとaciiってそもそも何なんですか?Osに組み込まれた規格なのでしょうか?
例えばwindows95だと何規格なんでしょうか?
0554デフォルトの名無しさん2011/06/16(木) 19:43:26.21
>>532
被る機能は作らないとか言う精神が有ったらしい
この場合、char = byteだからな
気に食わないなら、#defineで別名作ればおkって文化だった
0555デフォルトの名無しさん2011/06/16(木) 19:48:10.67
自分で調べる気がない人が...
0556デフォルトの名無しさん2011/06/16(木) 19:48:33.41
>>553
え。。。
文字の規格ですが。。。
この番号はこの文字っていうルールが企画ごとに違うのです

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

期待のunicodeもmsだけ独自になってて、元の木阿弥です
0557デフォルトの名無しさん2011/06/16(木) 19:53:52.23
>>556
ありがとうございます、よくわかりました。
C言語の場合アスキーコードに対応していますか?
0558デフォルトの名無しさん2011/06/16(木) 19:57:33.44
>>557
C言語にはそもそも文字コードの概念が無い、だから対応も糞もない
現実的な話だと大抵の環境でアスキーコードだと決め打ちでいける
0559デフォルトの名無しさん2011/06/16(木) 20:01:11.04
文字コードの概念ないと文字化けしないんですか?
文字ライブラリからC言語によって文字を呼び出すわけでしょ?
0560デフォルトの名無しさん2011/06/16(木) 20:04:18.68
>>557
ええっと。。。
コンパイラに依存するとしか。。。

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

今時、aciiで不便に感じない環境はクレジット端末の通信データとか、ATMに通信データとか、そんなのぐらいですよ?
0561デフォルトの名無しさん2011/06/16(木) 20:07:23.91
>>559
cだけでなく、あらゆる言語は、文字列として扱われる数字の列を流してるだけです

流れてきた数字の列をどう表示するかは、OSやアプリに依存します
0562デフォルトの名無しさん2011/06/16(木) 20:09:55.84
ctype.h 系列の is_〜 は…
0563デフォルトの名無しさん2011/06/16(木) 20:13:39.99
あのさ、aciiじゃなくて、asciiな。
0564デフォルトの名無しさん2011/06/16(木) 20:16:14.15
>>563
お、あんがと
何か綴り違ったよな〜とは思ってたんだ(けど、分れば良いやというノリだった)
0565デフォルトの名無しさん2011/06/16(木) 20:18:00.82
自信満々で嘘を教えてるぞ
2chらしいっちゃらしいがw
0566デフォルトの名無しさん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です
ヒントだけでも、よろしくおねがします
0567デフォルトの名無しさん2011/06/16(木) 21:20:35.81
>>532
そうだね。
byteとかwordとか各企業で適当に決める単位だから。
0568デフォルトの名無しさん2011/06/16(木) 21:24:29.34
>>566
宿題とか課題とかは自分でやりなさい
0569デフォルトの名無しさん2011/06/16(木) 21:37:51.82
>>547-560
めちゃくちゃいってやがる……
なるべく自分で調べる癖つけといたほうがいいぞ……
0570デフォルトの名無しさん2011/06/16(木) 21:57:26.66
>>586
ヒントだけでもいいので、お願いします。
本当に、困っています。助けて下さい。
0571 忍法帖【Lv=6,xxxP】 2011/06/16(木) 22:12:53.80
ヒント:
スレ違い
0572デフォルトの名無しさん2011/06/16(木) 22:13:21.62
ヒント:
C/C++の宿題片付けます 149代目
http://hibari.2ch.net/test/read.cgi/tech/1307166756/l50
0573デフォルトの名無しさん2011/06/16(木) 23:02:54.95
PICの制御なんて、専用ライブラリを使うんじゃないのか??
仕様もなにも分からないのに・・・こんな場違いな質問してる人って・・
0574デフォルトの名無しさん2011/06/16(木) 23:14:14.58
専ブリもくそも、C でさえ過保護という世界
0575デフォルトの名無しさん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を個別に羅列宣言をする。
・構造体配列にガシガシ書き込む。
0576デフォルトの名無しさん2011/06/17(金) 01:42:19.19
手の甲が痒いのですが、どうしたらいいですか?
0577デフォルトの名無しさん2011/06/17(金) 01:44:53.98
>>575
getopt() は使わないの?
0578デフォルトの名無しさん2011/06/17(金) 04:49:55.04
アナルが痒いのですが、どうしたらいいですか?
0579デフォルトの名無しさん2011/06/17(金) 05:26:17.93
「アナル」は形容詞形だろ。
名詞として使うなら「アヌス」と言え。
0580デフォルトの名無しさん2011/06/17(金) 05:28:05.25
アルコール入りのウェットティッシュで拭くといいよ。
0581デフォルトの名無しさん2011/06/17(金) 06:21:41.85
なに?!じゃぁ、ナチュラルハイのアナル崩壊シリーズや、S1のアナル舐めシリーズは、
アヌス崩壊、アヌス舐め、が正解なんだな!! 勉強になるスレだなぁ・・・
0582デフォルトの名無しさん2011/06/17(金) 06:23:29.15
ちなみにanalの発音はアナルよりもエイノーなんだな。
http://ja.forvo.com/word/anal/
0583デフォルトの名無しさん2011/06/17(金) 06:27:44.60
ヘッダーファイルの使い方についての質問です。
これまでヘッダーの中身に関数の定義を書いてたのですが、
ヘッダーの中身をプロトタイプだけにする事はできるのでしょうか?
main関数が書いてあるファイルには、main関数以外書きたくないので、
プロトタイプ、関数定義、main関数、で三つのファイルに分けたいのですが、この場合どのようにコンパイルしたら良いのでしょうか?
0584デフォルトの名無しさん2011/06/17(金) 06:44:55.28
関数定義とは関数本体のことですよね?main関数と関数定義の .c ファイル、
プロトタイプの .h ファイルを作成して、.c をコンパイル&リンクすれば・・・
分割コンパイルって知ってます?
0585デフォルトの名無しさん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 だけなら動く)
05865852011/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){} が最適化で無効にされるのは厄介だと感じます
05875852011/06/17(金) 08:19:18.36
もしかして、複数スレッドでの並列実行が前提のソースをコンパイルする場合は、
コンパイルオプションに特別なフラグを指定する作法とかがあるのでしょうか?
(whileの例以外にも、まだまだ知らない副作用が潜んでそうで不安です…)

もしあるのなら、教えてくれるとありがたいです。(使用コンパイラー gcc4.5)
0588デフォルトの名無しさん2011/06/17(金) 09:06:05.33
>>587
つ void spinlock(volatile gboolean* lock_flag)
0589 忍法帖【Lv=6,xxxP】 2011/06/17(金) 09:19:14.45
>>587
つ[volatile]
最適化を抑制するだけならこれで充分。
問題は、本当にそれだけでいいか、だ。
0590デフォルトの名無しさん2011/06/17(金) 09:26:40.72
>>582
adelasa (スペイン の 女性)
官能的すぎるやろw
0591デフォルトの名無しさん2011/06/17(金) 09:34:27.45
このスレ、組み込み系の人、多いんですか?
05925852011/06/17(金) 09:45:36.52
>>588
>>589
ありがとうございます。動きました!
volatileの有用性を始めて実感しました。こうやって使うんですね。
0593デフォルトの名無しさん2011/06/17(金) 09:48:24.67
>問題は、本当にそれだけでいいか、だ。
この指摘は重い
05945852011/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
0595 忍法帖【Lv=6,xxxP】 2011/06/17(金) 10:40:17.45
あんまり細かいと、関数間最適化が効かないぞ。
まぁ、オブジェクト間最適化すればいいんだけれど。
0596デフォルトの名無しさん2011/06/17(金) 11:33:57.31
あぁ、次はリンクタイムコード生成だ・・・・
05975852011/06/17(金) 11:37:37.78
>>593
並列処理は、バグの結果が怪奇現象だし、バグの再現も10回に1回しか成功しなかったり
自分にとっては未知すぎます

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

並列でまた何か分からないことがあったら、再び質問させて頂こうかと思ってます
その際にはまた知識を分けて下さると助かります。volatileありがとうございました
0598デフォルトの名無しさん2011/06/17(金) 11:43:48.01
無意味な分散は逆効果だぞ。
0599デフォルトの名無しさん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();
...
}
0600デフォルトの名無しさん2011/06/17(金) 15:09:19.49
>>599
ただしい。
おれは面倒くさいからexternつけないけど。
0601デフォルトの名無しさん2011/06/17(金) 15:13:37.72
>>585
やりたいことはわかるけど
変数参照だとハマるよ
mutexとか使うんだとお思うけど
0602デフォルトの名無しさん2011/06/17(金) 19:14:14.73
i=atoi(s+1);
while(*(++s+1));

このwhile文がどういう働きをしてるのか分からないんだけどなにこれ?
0603デフォルトの名無しさん2011/06/17(金) 19:15:03.13
未定義
0604デフォルトの名無しさん2011/06/17(金) 19:15:59.56
意味のない時間稼ぎ?
0605デフォルトの名無しさん2011/06/17(金) 19:19:33.65
終端のいっこ前まで移動してるんだろう
0606デフォルトの名無しさん2011/06/17(金) 20:59:25.07
どうして未定義や不定は定義しないのですか?
0607デフォルトの名無しさん2011/06/17(金) 21:01:47.42
as isだから
0608デフォルトの名無しさん2011/06/17(金) 21:46:03.22
効率至上主義だから
0609デフォルトの名無しさん2011/06/17(金) 23:28:49.74
>>579

勉強になったよ。
って本当か?
0610デフォルトの名無しさん2011/06/17(金) 23:32:47.31
ネットで調べられないほどの情弱なら、英語の辞書くらいもっとけ
0611デフォルトの名無しさん2011/06/17(金) 23:33:40.41
>>599

そうそう。

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

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

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

0614デフォルトの名無しさん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 を無効にしてビルドした場合に何も出力されなくなったのですが、
このようなマクロの使い方は環境依存でしょうか?あるいは言語仕様でサポートされていますか?
0615 ◆QZaw55cn4c 2011/06/18(土) 01:28:18.81
>>611
かならずしもそうではない。
初期化しなければ変数でもいらないし、ヘッダにかいてもいい。
つ http://pc12.2ch.net/test/read.cgi/tech/1201153965/139
つ tentative definition
0616デフォルトの名無しさん2011/06/18(土) 01:30:37.86
>>613
kwsk
あと、啓蒙書を書いてもらえるのもうれしい。
0617デフォルトの名無しさん2011/06/18(土) 02:10:52.09
>>584
>>594
ありがとうございます!
できるようになりました
0618デフォルトの名無しさん2011/06/18(土) 02:26:47.26
>>614
問題ない。
無効な式になるってだけ。
適当に
100;
とか書いてるのと同じになる。
0619デフォルトの名無しさん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って糞だよなぁ
0620デフォルトの名無しさん2011/06/18(土) 06:49:14.88
すいません、質問なんですが、ひらがなってエスケープシーケンスでしょうか?
頓珍漢な質問してすいません・・C言語でエスケープシーケンスという言葉が出てきた
のでつい。
0621デフォルトの名無しさん2011/06/18(土) 07:54:17.71
>>613
姿勢はすばらしいかもしれないが、「天塩」なんて書いてる奴は
書籍書くべきじゃないと思う。
0622 忍法帖【Lv=7,xxxP】 2011/06/18(土) 09:09:29.30
>>621
激しく同意
0623デフォルトの名無しさん2011/06/18(土) 09:46:19.93
出力するエディタによって改行の指示がちゃんとされていて
改行されてるエディタと、改行されないエディタがあるのですが
どういうことでしょうか?同じプログラムです。
\n
0624デフォルトの名無しさん2011/06/18(土) 09:54:39.04
>>623
文字コードをうまく判別できない欠陥エディタ
単に改行が文字として表示されていないだけでエディタの設定の問題

どちらか好きな方を選びたまえ
0625デフォルトの名無しさん2011/06/18(土) 09:58:00.42
そもそも、エディタに出力されるわけではないだろ。
0626デフォルトの名無しさん2011/06/18(土) 10:18:22.09
>>625
メモ帳、ワードパッドに出力されてますが?
0627デフォルトの名無しさん2011/06/18(土) 10:23:33.28
そいつはエロいな!ペロペロ^^
0628デフォルトの名無しさん2011/06/18(土) 10:54:15.83
この場合、
×エディタに出力
○ファイルに出力し、そのファイルをエディタで開く
だろ。
もし仮に、直接エディタに出力していると言うならそれは環境依存の技術だから最早スレ違いだろ。
0629デフォルトの名無しさん2011/06/18(土) 11:01:11.48
>>628
すいません
ファイル=記号列の集まりってことでOKですか?
0630デフォルトの名無しさん2011/06/18(土) 11:19:49.33
ダメだこりゃ。
0631デフォルトの名無しさん2011/06/18(土) 11:26:10.69
>>629
おまいはエディタで何を開いてるの?
ファイル以外のものを開いているとでもいうの?
0632デフォルトの名無しさん2011/06/18(土) 11:31:41.86
>>631
全てのものファイルですよね・・・
アプリケーションにしろ文書にしろ・・
出力はプログラムによる結果であって・・

間違ってますか?
0633デフォルトの名無しさん2011/06/18(土) 11:35:36.68
ファイルシステムは?それもプログラムだから元はファイル?
じゃあそのファイルを管理するファイルシステムは?
鳥か卵か
0634デフォルトの名無しさん2011/06/18(土) 11:41:02.11
今世界中からコンパイラのバイナリが消えたらどうなるの?
C言語コンパイラってC言語(とか他の言語)で書かれてるんだよね?
0635デフォルトの名無しさん2011/06/18(土) 12:00:01.62
誰かが一回手動でコンパイルすればいい。
0636デフォルトの名無しさん2011/06/18(土) 12:01:11.08
バカがくだらないこと考えても時間の無駄
0637デフォルトの名無しさん2011/06/18(土) 12:05:44.27
今世界中からコンピュータが消えたらどうなるの?
コンピュータってコンピュータ使って作られてるんだよね?
0638デフォルトの名無しさん2011/06/18(土) 12:13:55.22
誰がこまどり殺したの?
0639デフォルトの名無しさん2011/06/18(土) 12:27:37.40
>>620
\n=改行
\t=タブ

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

エスケープシーケンスってのは\で始まる記号の事
0640デフォルトの名無しさん2011/06/18(土) 12:28:48.50
とは限らない。
0641デフォルトの名無しさん2011/06/18(土) 12:32:08.16
揚げ足をとるつもりはなくて言われてみてふと疑問を覚えたんだが
行末に\を使った場合ってエスケープシーケンスとは呼ばないよね?
それとも呼ぶの?
0642デフォルトの名無しさん2011/06/18(土) 12:34:09.56
>>639
逆じゃないんですか?
エスケープシーケンスを\nや\tで提供してるんじゃないんですか?
0643デフォルトの名無しさん2011/06/18(土) 12:38:35.37
>>632
?
全てのものがファイルかどうかは分からないが、
エディタで開けるものはファイルなんじゃないの?

[ファイル]→[開く]みたいな手順で開いてるだろ?
それで開けるものは「=ファイル」だろ?
0644デフォルトの名無しさん2011/06/18(土) 13:02:08.57
>>641
vbとかではそう言うの有ったけど、cにも有ったっけ。。。?
有ったとしたら、多分言わないんだろうけど
0645デフォルトの名無しさん2011/06/18(土) 13:02:18.34
nul con aux prn lpt
0646デフォルトの名無しさん2011/06/18(土) 13:08:04.81
nul o lp
0647デフォルトの名無しさん2011/06/18(土) 13:10:55.42
>>642
改行とか、タブは特殊文字って習ったんだが。。。
もう本が無いから正確には書けないが、\[の後に英数字4文字くらい入れて表示する文字の色とかも変えられたし

エスケープシーケンスは特殊文字を表す文字の総称だと思うんだけど
0648デフォルトの名無しさん2011/06/18(土) 13:27:55.15
>>647
あぁhtml思い出しました。

例えば認識できない文字が文字化けしたら
文字化けの部分はエスケープシーケンスといいますか?
0649デフォルトの名無しさん2011/06/18(土) 13:32:54.86
>>648
それは文字コードのエンコードが違ってるだけですよね
エスケープシーケンスと何の関係が?
0650デフォルトの名無しさん2011/06/18(土) 13:34:52.60
漢字表示が出来ない端末で漢字を表示しようとしたら、文字化けするだろうね。
表示できない部分はエスケープシーケンスだとは限らないだろうけど。
0651デフォルトの名無しさん2011/06/18(土) 13:41:53.17
\x30 = '0'
\x31 = '1'
\x32 = '2'

エスケープシーケンスで普通の文字も表示出来るし、特殊文字そのものの事をエスケープシーケンスとは言わないよ
0652デフォルトの名無しさん2011/06/18(土) 13:51:34.30
>>651
それはC言語の場合じゃね?

\x30=\x30でしょ?
0653デフォルトの名無しさん2011/06/18(土) 14:03:23.84
ebcdicのことでも話したいの?
0654デフォルトの名無しさん2011/06/18(土) 14:42:58.89
C言語の勉強中、ふと思ったのですが…
例えば再帰の時なんてそうですが、関数の中で関数を呼び出すとき、
戻るべき位置というのは多分メモリのどこかに記憶されていますよね?
だとしたら、あまりその量を増やすのは好ましくない気がするのですが、
どの程度なら許容範囲なのでしょうか?
0655デフォルトの名無しさん2011/06/18(土) 14:50:11.86
環境にもよるが一万や二万程度なら全く問題ない。
0656デフォルトの名無しさん2011/06/18(土) 14:51:00.62
そのとおりで、再起し続けるとメモリ(スタック)が足りなくなって
スタックオーバーフローでプログラムが落ちる
個人的にはそうならなければ許容範囲としていいと思ってるがどうなんだろう
0657デフォルトの名無しさん2011/06/18(土) 14:51:39.56
>>654
パズルとかを再帰で解こうとすると、
あっというまにスタックを使い果たして落ちる。
チョコチョコっとした遊びのフィボナッチ数列出して喜ぶのが再帰の本当の用途。
0658 [―{}@{}@{}-] デフォルトの名無しさん2011/06/18(土) 15:26:38.94
再帰はプログラムの練習問題でしか使わないscanfみたいなもん
0659デフォルトの名無しさん2011/06/18(土) 15:30:35.21
そうでもないけど
0660デフォルトの名無しさん2011/06/18(土) 15:33:19.17
linuxのカーネルとかでも再帰使ってる部分あったりすんのかな?
0661デフォルトの名無しさん2011/06/18(土) 15:43:43.78
>>657
へーそうなのかー
0662デフォルトの名無しさん2011/06/18(土) 15:45:01.87
>>654
戻るべき位置に加えてローカル変数+αがスタックに記憶される。
だから一万や二万とか言ってる奴は単なるアホ。
0663デフォルトの名無しさん2011/06/18(土) 15:45:36.23
クィックソートやマージソートなんかやめてヒープソートを使えってことですか
0664デフォルトの名無しさん2011/06/18(土) 15:56:23.38
>>652
?
pythonでもこうだけど。。。
%xと間違ってないかい?
0665デフォルトの名無しさん2011/06/18(土) 15:56:31.14
クイックソートも非再帰で書ける。

再帰処理のクイックソート vs 非再帰処理のクイックソート :: drk7jp
ttp://www.drk7.jp/MT/archives/000995.html
0666デフォルトの名無しさん2011/06/18(土) 15:57:37.13
再帰は再帰でも末尾再帰形式はループを使う形式と1対1対応するから
そういうのならふつーのコンパイラなら最適化でcallが消える筈
0667 ◆QZaw55cn4c 2011/06/18(土) 16:17:00.07
>>658
そうでもないようですよ。たとえば、
(1 + 3) * (2 + 4)
等の代数式の値を評価する方法は、非再帰で記述するのは困難。というか私はしたくない。
平衡二分木(赤黒木/AVL木)を扱うとき、非再帰で書け、というのは罰ゲームの一種だと思います。

再帰の深さが想定可能でかつそれが実用的に問題ないのであれば、再帰で記述するのもあり、だと思います。
なお理論面では繰り返しよりも再帰の方が重要です。
0668デフォルトの名無しさん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の位が同じだったりするので、バケツに入れるとかが
どうするのか分かりませ。教えてください。
0669デフォルトの名無しさん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]

コツは掴んでいただけただろうか。
0670デフォルトの名無しさん2011/06/18(土) 17:44:49.95
>>662
それを含めて一万や二万は問題ないと言ってるんだが。
おまえ実際に使ったことないだろ?w
0671デフォルトの名無しさん2011/06/18(土) 17:53:51.87
体験を伴わない知識って
役に立たないから困るよね
0672デフォルトの名無しさん2011/06/18(土) 18:01:12.77
単に具体的に数値で話さないから齟齬が生じてるだけな気がするが
VCで1Mらしいから、2万で超えるには50byte必要
微妙だね
0673デフォルトの名無しさん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);}

これで、表示が一万以上いける環境書いてみな。
0674デフォルトの名無しさん2011/06/18(土) 18:09:42.62
上でエスケープシーケンスについて揉めていたが、エスケープシーケンスという
言葉の意味を考えれば全て自明だと思うんだが

人生に疲れました
どうすればいいですか
0675デフォルトの名無しさん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)
0676デフォルトの名無しさん2011/06/18(土) 18:36:28.23
>>673
なぜそこで末尾再起のプログラム書くんだよ
最適化したらいくらでも(200000程度は確認)表示続いたぞ
cygwin の gcc version 4.3.4 20090804 (release) 1 (GCC)
0677デフォルトの名無しさん2011/06/18(土) 18:36:46.04
末尾再帰
0678デフォルトの名無しさん2011/06/18(土) 18:41:39.80
C言語って配列の列まるごと代入とか演算できないんスかね?
要素ごとにやらなきゃダメすか?
0679デフォルトの名無しさん2011/06/18(土) 18:47:09.14
>>676
まあ、意図はわかるだろ。
0680デフォルトの名無しさん2011/06/18(土) 18:52:21.77
現実的でない無意味なコードの意図かw
0681Perl忍者2011/06/18(土) 19:12:05.86
みんな
LL系言語
C言語のみんなこれフォロー
http://d.hatena.ne.jp/sugyan/20110616/1308203734

ここに乗ってるのフォローしてくださいお願いします

お願いですC言語のみなさんおねがいです
フォローしてください
お願いです 生活かかってます
0682Perl忍者2011/06/18(土) 19:12:26.75
>>680
フォローしてください
みんなこれフォロー
http://d.hatena.ne.jp/sugyan/20110616/1308203734

ここに乗ってるのフォローしてくださいお願いします

お願いですjavascriptのみなさんおねがいです
0683 忍法帖【Lv=7,xxxP】 2011/06/18(土) 19:12:43.65
実際、ディレクトリ構造の探索なんかは普通に再帰で書くがな。
千なんて単位で再帰するようなプログラムはおいそれとは書けないが。
0684デフォルトの名無しさん2011/06/18(土) 19:17:13.66
みんなこれフォロー

「今すぐフォローすべきPerl界のスーパーエンジニア」
↓
http://d.hatena.ne.jp/sugyan/20110616/1308203734

ここに乗ってるのフォローしてくださいお願いします

お願いですRuby のみなさんおねがいです
0685デフォルトの名無しさん2011/06/18(土) 20:20:55.00
>>680
ごめん、理解力ない奴の相手する気はないんでな。
0686デフォルトの名無しさん2011/06/18(土) 20:32:29.22
>>685
すまん、ちょっと理解できないから意図を教えてくれ

>>670の「一万や二万は問題ない」に対して、
>>673で「一万以上いける環境書いてみな。」と言って
暗に一万以上いける環境なんてねーよって言ってるんだよな?
>>676でそうなってないことを指摘されて言いたいことがいえてないだけに見えるんだが違うのか?
0687デフォルトの名無しさん2011/06/18(土) 20:36:48.71
使ってない領域をムダに大量に突っ込んで再帰できないとか言われてもw
0688デフォルトの名無しさん2011/06/18(土) 20:39:27.95
というか再帰でスタック使い果たしたこと無い奴なんているのか?
0689デフォルトの名無しさん2011/06/18(土) 20:49:00.87
>>686
>>>676でそうなってないことを指摘されて言いたいことがいえてないだけに見えるんだが違うのか?

>>673 のコードは最適化オプションを付けてコンパイルすると、
コンパイラが勝手に再帰をループに変更してくれる(つまり
スタックを消費しない)、末尾呼び出しというタイプの再帰だから
ノーカウントだねって話だよ。

通常の再帰なら >>662 が書いている通り、ループの回数だけに
依存する問題ではない。
0690デフォルトの名無しさん2011/06/18(土) 20:50:46.42
あ、そんな事はわかってるか。スマソ。
0691デフォルトの名無しさん2011/06/18(土) 20:59:52.95
そもそも一万や二万って単位は何だよバイトか?回数か?
質問者は量を聞いてるぞ?
その辺はっきりしてないと解釈さまざまだろ
0692デフォルトの名無しさん2011/06/18(土) 21:24:28.55
ばーか
0693Perl忍者2011/06/18(土) 21:34:21.40
お願いしますフォローしてください
0694デフォルトの名無しさん2011/06/18(土) 22:02:42.96
>>686-687
単に難癖つけてるだけならまだわかるけど、マジで言ってるなら
>>689 の指摘通り単なるアホだぞ。

>>691
解釈どうのこうの以前に、プログラムの内容と環境しだいだろ。
0695デフォルトの名無しさん2011/06/18(土) 22:03:58.60
NTLを使ってGF(2^4)上の多項式を定義したいのですがうまくいきません。
SetCoeff(a,5,4);
とかやっても5時の係数が4になってくれません。
例が少ないのでどうしたらいいのかもわかりません。
どなたかNTLライブラリの使い方を知っている人がいたら教えてください。
よろしくお願いします。
0696デフォルトの名無しさん2011/06/18(土) 22:51:21.76
>>695
入門の域を越えた質問は、該当ライブラリのスレか環境依存対応スレの方が回答が付き易いかと。
0697デフォルトの名無しさん2011/06/18(土) 23:00:14.03
◆QZaw55cn4cは糞
0698デフォルトの名無しさん2011/06/18(土) 23:19:11.03
>678
ポインタと要素数渡すのが普通じゃね?
構造体で固めて渡すって手段もあるけど。
0699デフォルトの名無しさん2011/06/18(土) 23:24:58.93
PC-88のBASICからのマシン語コールのスタック容量は16バイトだったっけ。
8回PUSHしたらもういっぱいorz
0700デフォルトの名無しさん2011/06/18(土) 23:33:47.49
当時はスタックも自前で用意するのが当たり前。
0701デフォルトの名無しさん2011/06/19(日) 00:01:34.12
BASIC からマシン語呼び出す場合は BASIC のスタックが前提
SP を単なる 16bit レジスタとして目的外使用もするが原状回復して戻る
07026682011/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");
07036682011/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;
}
0704デフォルトの名無しさん2011/06/19(日) 19:04:04.09
グローバル変数で
int a=1;
と
static int a=1;
の違いってある?
0705デフォルトの名無しさん2011/06/19(日) 20:25:54.07
まずは、C言語 ファイルスコープ あたりでググってくれ。
0706デフォルトの名無しさん2011/06/19(日) 20:46:45.36
どう違って欲しいんだい?
0707デフォルトの名無しさん2011/06/19(日) 21:16:19.97
たとえばスタックに積まれるか積まれないかとか。
0708デフォルトの名無しさん2011/06/19(日) 21:33:23.59
後者はグローバルじゃねーよ。
0709デフォルトの名無しさん2011/06/19(日) 21:49:44.38
>708
エラーとか出ないけど(VC2008で確認)。
0710デフォルトの名無しさん2011/06/19(日) 21:53:08.22
違うことがわかった後はどう...
0711デフォルトの名無しさん2011/06/19(日) 22:03:31.78
「情弱」と言われる確率が減る。
0712デフォルトの名無しさん2011/06/19(日) 22:14:12.04
>>708
そのレスは流石に色々まずいんじゃないか?
0713デフォルトの名無しさん2011/06/19(日) 22:33:57.90
「情弱」からの脱皮は、まともに検索(識別)できるところからじゃあ
0714デフォルトの名無しさん2011/06/19(日) 22:38:17.54
>>712
何がだよ? >>704に対するレスだぞ?
0715デフォルトの名無しさん2011/06/19(日) 22:51:50.92
グローバル変数の
int a = 1;
と
グローバル変数の
static int a = 1;
の違いを聞いてるんだろ
0716 [―{}@{}@{}-] デフォルトの名無しさん2011/06/19(日) 23:00:17.51
ファイルスコープになるかどうか
0717デフォルトの名無しさん2011/06/19(日) 23:20:09.46
両方共、グローバル変数っていってる時点で...
0718デフォルトの名無しさん2011/06/19(日) 23:32:49.73
時点でなに?

言いたいことがあるなら、はっきり言った方がいいぞ。
0719デフォルトの名無しさん2011/06/19(日) 23:33:26.26
後者はグローバルじゃねーつってんだろボケ
0720デフォルトの名無しさん2011/06/19(日) 23:36:57.95
じゃあなんなんだよ。
0721デフォルトの名無しさん2011/06/19(日) 23:36:58.61
静的グローバル変数がグローバルじゃなかったらなんなのよ
0722デフォルトの名無しさん2011/06/19(日) 23:43:01.22
#include<stdio.h>
static int a=1;
void main()
{
printf("%d\n",a);
}

変数aがグローバル変数で無いならなんなの?
0723デフォルトの名無しさん2011/06/19(日) 23:44:48.35
グローバルって、そういう言い方するのかいな
ファイル分割とかやったことなさそう
0724デフォルトの名無しさん2011/06/19(日) 23:46:12.64
int a; //グローバル変数。外部に公開される。
static int b; //静的変数。値が保持される。
func(){
 static int c; //変数b同様。func内のみ参照可能。
 {
  static int d; //変数c同様。{ } 内のみ参照可能。
 }
}
0725デフォルトの名無しさん2011/06/19(日) 23:47:56.94
>>723
ひょっとして上の方のファイルスコープというキーワードが見えてない人なの?
0726デフォルトの名無しさん2011/06/19(日) 23:50:46.49
意味がわかってないのが質問してるからだろ
0727デフォルトの名無しさん2011/06/19(日) 23:54:02.75
>>724
bとcdのstaticは意味が違うだろ
0728デフォルトの名無しさん2011/06/19(日) 23:55:34.36
>>727
一緒。
0729デフォルトの名無しさん2011/06/19(日) 23:57:50.81
いや、>>704 の質問は別に変じゃないし、>>705 の言うように
ググレばそれなりの回答にたどりつくと思う。

むしろ意味わかってないのは >>708 だと思う。
0730デフォルトの名無しさん2011/06/19(日) 23:59:47.41
大域スコープ (global scope)
プログラムの「全体」から見えるスコープのこと。このスコープに属する変数は大域変数といわれる。
BASICのような単純な言語では大域スコープしか存在しない場合がある。

ファイルスコープ (file scope)
大域スコープと似ているが、プログラムを記述したファイルの内側でのみ参照できるスコープ。
プログラムが複数のファイルから構成される場合は他のファイルから参照することはできない。

ローカルスコープ (local scope)
ある関数やブロックの範囲内に限定されたスコープのこと。
何を持って範囲を与えるかは言語により様々だが、
一般に入れ子のローカルスコープは外側を参照できるのが普通である。
このとき兄弟関係にあるスコープは見えない。
0731 [―{}@{}@{}-] デフォルトの名無しさん2011/06/20(月) 00:00:38.17
静的グローバル変数なんて用語もあるんだな
0732デフォルトの名無しさん2011/06/20(月) 00:01:22.46
プログラムのどこからでも参照できる変数がグローバル変数じゃないの?
ファイルスコープのグローバル変数って矛盾するでしょ
0733デフォルトの名無しさん2011/06/20(月) 00:10:37.25
externつけなくても他ソースから参照できるの?
0734デフォルトの名無しさん2011/06/20(月) 00:11:51.97
>>732
じゃあ、なんて呼んでんの?
ただのstatic変数とはあきらかに違う変数だけど
0735デフォルトの名無しさん2011/06/20(月) 00:15:00.06
だからただの static だっつの。
参照できる範囲が違うだけ。
グローバルは「外部から」参照できるって点が違う。
まったく別物。
0736デフォルトの名無しさん2011/06/20(月) 00:16:50.51
>>733
関数はでける
変数はexternつけないとでけない
externついた変数はカッコ悪いと思われることがある
0737デフォルトの名無しさん2011/06/20(月) 00:19:25.52
>>724の例で言えば、bはfunc()内で参照できるわけだど、これは「ただの」staticにはできなことだろ
0738デフォルトの名無しさん2011/06/20(月) 00:20:20.21
extern を付けるのは参照する側。実体は別にあるという意味だろ。
だからグローバル変数には extern は付かない。
0739デフォルトの名無しさん2011/06/20(月) 00:24:28.77
>>737
何をいってんだよ。
0740デフォルトの名無しさん2011/06/20(月) 00:32:10.52
だいぶ混乱していけど、C言語規格上、グローバル変数という用語は「無い」。

ただし慣習的にプログラムの全領域からアクセスできる変数を、グローバル変数と呼んでいる。

>724では、aはグローバル変数だろうけど、bもグローバル変数かもしれない。
プログラムの翻訳単位が>724だけであればbをグローバル変数と呼んで構わないだろう。

Cの規格上では、すべての関数の外部で宣言された変数は外部結合を持ち、
staticが付いた変数は内部結合を持つ。

グローバルか否かを議論しても仕方ない。

それが分かっている人と、分かっていない人の議論がかみ合っていない。
0741デフォルトの名無しさん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" は未解決です。
と言われた。

なんとなく違いがわかりました。
0742デフォルトの名無しさん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
うまく出力されません(つω;)一体どうしたら解決するのでしょうか?
0743デフォルトの名無しさん2011/06/20(月) 01:07:32.81
scanf("%if" → scanf("%lf"
0744デフォルトの名無しさん2011/06/20(月) 01:12:23.04
うわああああ
そういうことだったのか;;
長時間悩んでたなんて恥ずかしいorz
助かりました ありがとうございます!
0745 ◆QZaw55cn4c 2011/06/20(月) 02:23:18.30
>>736
>>615
わたしゃ、extern なんて金輪際使ったことはない‥‥‥。いいのか、これで?
0746デフォルトの名無しさん2011/06/20(月) 02:26:56.20
変数にexternつけることはよっぽどのことがないとやらないな
0747デフォルトの名無しさん2011/06/20(月) 02:36:02.48
使えるものは使う。
0748デフォルトの名無しさん2011/06/20(月) 02:43:10.11
extern なんて使わないほーが楽チンなんですけど‥‥ヘッダに int global; (×int global = 1)とか書けて。
0749デフォルトの名無しさん2011/06/20(月) 02:52:03.73
そういうグローバル変数の使い方をどこで覚えたんかね
0750デフォルトの名無しさん2011/06/20(月) 03:03:42.79
>>749
つ http://pc12.2ch.net/test/read.cgi/tech/1201153965/139
0751デフォルトの名無しさん2011/06/20(月) 03:18:15.07
ヘッダにグローバル変数ってのはBASIC的な使い方で一時嫌われてたんだけどね。
今時のパソコン環境なら関数で隠蔽しても遅くならんだろうし

VBとかだとめんどくさいからどうしてもつかちゃうんだよね(やりたくないけど)
0752デフォルトの名無しさん2011/06/20(月) 03:35:18.72
>>751
確かに、どこからでも触れる(可能性のある)変数を、お手軽に宣言してしまうことが可能ですからね。読まなきゃならない側にとっては恐怖でしょうね。
こういった場合に備えて、お手軽にクロスリファレンスをとるには、どうすればいいのでしょうか。
0753デフォルトの名無しさん2011/06/20(月) 03:48:44.90
クロスリファレンスはリンカでしょ、最近のはどこまで面倒みてくれるかしらないけど

グローバル変数も変更箇所(出来ればひとつのファイル内)と参照箇所を分ければ
使えないことはないけど(ハマらないってことで)
そこまで考えてやれるかどうかだと

入門レベルの人の判断次第かな(その後地獄を見たくなければ)
0754デフォルトの名無しさん2011/06/20(月) 04:06:00.34
>>753
リンカだと(static をつけていない)関数も引っ張ってくるんじゃなかったかな?
できれば、変数だけをソースファイル名+論理行でいいから引っ張ってくれると、とってもうれしいのですが。

コールバック関数に値を渡すときには、どうしてもファイルスコープな、あるいは別モジュール宛てだったら全部に見える変数に、あー、してしまったりするんですけれども、やっぱりまずいですよね。
(途中の経路はまったく触れない)コールバック関数に、飛び越すように値を渡すにはどうすればいいでしょうね。
0755デフォルトの名無しさん2011/06/20(月) 05:26:22.71
関数は極力 static 付けるようにしてるよ。
0756デフォルトの名無しさん2011/06/20(月) 08:40:13.88
コールバック関数の引数に変数のポインタ渡しとか
C++かいな?
0757デフォルトの名無しさん2011/06/20(月) 09:09:22.77
>>754
コールバック関数とデータをまとめて構造体に包んで渡す
0758デフォルトの名無しさん2011/06/20(月) 09:23:39.89
やっぱり言語としてはJavaの方が完成度高いなぁ・・
0759デフォルトの名無しさん2011/06/20(月) 09:32:35.08
それを言ったらC#のほうが上なわけで。
0760デフォルトの名無しさん2011/06/20(月) 09:42:56.50
比較的シンプルなシンタックスを持つ
ポータブルアセンブラ以上のことをCに望むな
0761デフォルトの名無しさん2011/06/20(月) 13:11:30.18
Cでゲームつくれないの?
自作関数を駆使したらcuiのゲームくらいはつくれますか?
0762デフォルトの名無しさん2011/06/20(月) 13:14:39.86
>>761
生産性の問題だろ
0763 忍法帖【Lv=8,xxxP】 2011/06/20(月) 13:38:37.05
幾らでもあるよ。
0764デフォルトの名無しさん2011/06/20(月) 15:36:13.53
<<742
以前にもそういう質問があったから質問する前に
前レスをしっかり見よう。
と、質問した人間が申しております。
0765デフォルトの名無しさん2011/06/20(月) 15:59:29.25
二分木で
各ノードに値をいれる方法をおしえてくださいm
0766デフォルトの名無しさん2011/06/20(月) 16:03:57.39
Node.var = value;
0767デフォルトの名無しさん2011/06/20(月) 17:03:03.30
まず再帰使って書いてみ
0768デフォルトの名無しさん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) としたくても、なかなか思いつかないわけで。
んー、なんかあった気もするけど忘れてしまった‥‥‥。

0769デフォルトの名無しさん2011/06/20(月) 19:27:50.76
ちがった、
LoadIcon(hInstance, MAKEINTRESOURCE(12345));
だったね、たしか。
0770デフォルトの名無しさん2011/06/20(月) 23:51:34.90
func(a) > func(b) ? func(a) : func(b)

みたいない処理って、一度ローカル変数にキャッシュした方がいい?
それともコンパイラを信じて任せた方がいい?
0771デフォルトの名無しさん2011/06/20(月) 23:59:39.35
funcがよほど簡単な処理でない限り最適化してくれないでしょ
0772デフォルトの名無しさん2011/06/21(火) 00:04:06.86
するよ
0773デフォルトの名無しさん2011/06/21(火) 00:05:20.56
一方俺は、
int max(int a, int b)みたいな関数を用意して、
= max(func(a), func(b))とした。
0774デフォルトの名無しさん2011/06/21(火) 00:06:01.93
funcの中身によっては1回だけ呼ぶようにしちゃうと結果が変わる場合がある
んだけどそこまで見て最適化してくれるものなのか?
0775デフォルトの名無しさん2011/06/21(火) 01:34:04.37
void型の変数でもreturn文は必要?
0776デフォルトの名無しさん2011/06/21(火) 01:35:13.61
デバッグしないなら必要
じゃない
0777デフォルトの名無しさん2011/06/21(火) 01:42:43.72
???

人のソースコード見てると、return文を書いてる人と書いてない人様々。
ようは好みの問題?
0778デフォルトの名無しさん2011/06/21(火) 02:07:13.70
>>777
デバッグするならあった方が便利。
0779デフォルトの名無しさん2011/06/21(火) 02:08:55.49
気の効いた奴だと関数の最後の}で止められたような?
0780デフォルトの名無しさん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言語の問題です。おねがいします;
0781デフォルトの名無しさん2011/06/21(火) 02:29:07.58
あと、もうひとつ問題
2.201003121(10進数9桁)、性別(男:1、女:2)、年令(未成年:0,成年:1,高齢:2,後期高齢:3)、
職業(無:0、有:1)で個々人が16分類される。それぞれを数字(コード)で入力させ、
その人の状態を一旦ディスプレイに表示し、if文を使って、自然な文章で最後に表示するプログラムを作れ
0782デフォルトの名無しさん2011/06/21(火) 02:54:37.64
>>780 >>781
つhttp://hibari.2ch.net/test/read.cgi/tech/1307166756/
誤爆?
0783デフォルトの名無しさん2011/06/21(火) 02:56:22.28
>>780-781
宿題スレへ。

>>774
一般的に、関数呼び出しの回数を変更する最適化は行なわないよ。
その関数が同じコンパイル単位内にある場合は、やるかもしれない。
0784デフォルトの名無しさん2011/06/21(火) 03:59:56.35
関数呼び出しによる副作用がないことを明言できればいいのにね。
RDBMSのストアドファンクションなんかだとそういうのがあったりするんだけど
0785デフォルトの名無しさん2011/06/21(火) 09:59:22.95
>>770 の式ってショートサーキット発生しないの?
条件式成立時 func(a) 2回呼び出し func(b) 1回呼び出し
条件式非立時 func(a) 1回呼び出し func(b) 2回呼び出し
07867852011/06/21(火) 10:00:47.67
意味不明だ。 忘れてくれー
0787デフォルトの名無しさん2011/06/21(火) 10:01:46.72
>それともコンパイラを信じて任せた方がいい?
お前の書き方が信じられない
0788デフォルトの名無しさん2011/06/21(火) 11:39:02.92
RHEL5.6で、SIGCHLDにSIG_IGN付けてsystemをコールすると必ず関数が失敗するんだが、
何が公式の情報ってないのかな?
0789デフォルトの名無しさん2011/06/21(火) 12:58:25.44
システムコールの話って、このスレの守備範囲?
0790デフォルトの名無しさん2011/06/21(火) 13:08:04.49
>>789
範囲外
0791デフォルトの名無しさん2011/06/21(火) 16:02:49.36
使い方間違ってるだけでしょ
0792デフォルトの名無しさん2011/06/21(火) 20:48:20.85
>>788
当たり前だ。どのカーネルでも同じ動作だ。
systemの戻り値がなんなのか考えたことはあるのか?
0793デフォルトの名無しさん2011/06/21(火) 21:07:57.28
スパコン京すげーなおい・・・1秒で8300兆ってwwww
このスパコンなら1兆個の数字のバブルソートも1秒以下でできるってこと
ですか?

0794デフォルトの名無しさん2011/06/21(火) 21:11:33.08
>>793
バブルソートを甘く見てるんじゃないかい?
0795デフォルトの名無しさん2011/06/21(火) 21:13:17.13
せっかくのスパコンでバブルソートなんて動かしたら祟られるぞ。
0796デフォルトの名無しさん2011/06/21(火) 21:15:33.56
32bit 整数を 1 兆個並べると 4TB か...
0797デフォルトの名無しさん2011/06/21(火) 21:18:22.27
バブルソートを並列化したアルゴリズムを考えることはできるが、
非常に効率が悪く実用的ではない
0798デフォルトの名無しさん2011/06/21(火) 21:20:58.06
  |ミ,  /  `ヽ /!    ,.──、
  |彡/二Oニニ|ノ    /三三三!,       |!
  `,' \、、_,|/-ャ    ト `=j r=レ     /ミ !彡      ●
T 爪| / / ̄|/´__,ャ  |`三三‐/     |`=、|,='|    _(_
/人 ヽ ミ='/|`:::::::/イ__ ト`ー く__,-,  、 _!_ /   ( ゚ω゚ )
/  `ー─'" |_,.イ、 | |/、   Y  /| | | j / ミ`┴'彡\ '    `
   バブルソート     マージソート   シェルソート  クイックソート

バブルソート「俺に勝てるやつはいない!」
0799デフォルトの名無しさん2011/06/21(火) 21:24:23.77
>>798
っ ボゴソート
0800デフォルトの名無しさん2011/06/21(火) 21:41:31.17
量子コンピュータなら一瞬だよ
0801デフォルトの名無しさん2011/06/21(火) 21:43:02.87
>>800
並列化できない問題に対しては早くならないだろ
0802デフォルトの名無しさん2011/06/21(火) 21:46:14.31
>>801
勉強が足りないね
0803デフォルトの名無しさん2011/06/21(火) 21:47:17.95
夢みたいなことを
0804デフォルトの名無しさん2011/06/21(火) 21:51:56.88
スパゲッティソート!
0805デフォルトの名無しさん2011/06/21(火) 21:54:35.63
どんだけ魔法扱いだよ
グローバーのアルゴリズムとかを見れば分かるが
量子アルゴリズムにも厳然たる計算量の限界がある
0806デフォルトの名無しさん2011/06/21(火) 21:55:52.87
> 計算量の限界がある
あるならいいじゃない
ないから大変なんじゃない
0807デフォルトの名無しさん2011/06/21(火) 22:02:29.69
思うんだが人間の妄想をそのまま具現化したら時間量0じゃないか?
たとえば人間が1無量大数だと言い張れば、無量大数になる。

そういう技術って無理かな?
0808デフォルトの名無しさん2011/06/21(火) 22:05:32.58
>>807
>そういう技術って無理かな?

目を瞑ればいい
0809デフォルトの名無しさん2011/06/21(火) 22:05:44.61
処理を待つ人間の主観的経過時間を停止しておく、とか
0810デフォルトの名無しさん2011/06/21(火) 22:07:04.08
脳に電極刺す
0811デフォルトの名無しさん2011/06/21(火) 22:09:39.14
違うって、思い込みだけで量的なものを制御できないのかな?
例えば夢で3個のりんごが机にあるのを発見する。
風が吹いて1個が机から落ちて2個になった。

夢だから
りんごがあるのも
風が吹くのも
りんごが落ちるのも思い込み
だけど思い込みなのに辻褄はあっている。


>>809
それすごいな。結局早いか遅いかってのは主観なんだよな。
客観を制御できたら主観ってどうなるんだろ。
0812デフォルトの名無しさん2011/06/21(火) 22:18:04.16
>>770
キャッシュすべき
コンパイラを信じるならおまえ自身がいらない
0813デフォルトの名無しさん2011/06/21(火) 22:21:03.10
ハッシュの方法が分かりません。数字10000個をハッシュによって保存したいです。
どうしたらいいですか?サイト教えてください・・・
0814デフォルトの名無しさん2011/06/21(火) 22:28:02.02
1つのPCに対してcpuは1個
それに対して人間は
1つの脳に対して細胞が150億個

人間がいかに優れた高性能コンピュータであるかが分かるな。
人間の脳ってどうなってんだろ・・・
0815デフォルトの名無しさん2011/06/21(火) 22:30:39.77
>>814
細胞換算ならトランジスタ数で比較したら?
0816デフォルトの名無しさん2011/06/21(火) 22:31:24.93
>>814
リフレッシュ回路に問題のある DRAM で動いている「高性能コンピュータ」
0817デフォルトの名無しさん2011/06/21(火) 22:39:35.01
Core i7のトランジスタ数は7億3100万
それに対して人間の脳は細胞が150億個

人間がいかに優れた高性能コンピュータであるかが分かるな。
人間の脳ってどうなってんだろ・・・
0818デフォルトの名無しさん2011/06/21(火) 22:41:27.00
コンピュータも、0と1だけじゃなく、3段なり4段でデータを処理すると、
もっと違う世界があるかも知れないな
0819デフォルトの名無しさん2011/06/21(火) 22:43:31.93
自分のマイクロプログラムを自身で書き換え、
状況に応じて最適化してくような事ができれば、
面白いかな
0820デフォルトの名無しさん2011/06/21(火) 23:23:59.64
>>818
それ普通にMLCなだけだろ
0821デフォルトの名無しさん2011/06/21(火) 23:34:01.71
>>785
ショートサーキットには入らないけど、そうなるね。
0822デフォルトの名無しさん2011/06/21(火) 23:58:54.32
>>819
ソニーのMDプレイヤーにFPGAを使った、まさにそう言う製品があったような・・・
0823デフォルトの名無しさん2011/06/22(水) 00:33:26.20
>>792
あら?
カーネル2.6と2.4じゃ動作が違うんですが・・・
ご存じない?
0824デフォルトの名無しさん2011/06/22(水) 00:54:45.65
>>823
何得意げに言ってんだバカ。いまどき2.4の話なんて誰がするかボケ。
0825デフォルトの名無しさん2011/06/22(水) 03:55:41.42
>>824
どのカーネルでもw
0826デフォルトの名無しさん2011/06/22(水) 07:55:58.91
おまえら般若心経でも読んでこいよw
0827デフォルトの名無しさん2011/06/22(水) 07:58:23.58
null法僧
0828デフォルトの名無しさん2011/06/22(水) 08:07:51.19
systemなんたらの人はソース晒しなよ
0829デフォルトの名無しさん2011/06/22(水) 14:09:06.72
そろそろ
変数a, bの値を入れ替えるベストな方法を教えてください
0830デフォルトの名無しさん2011/06/22(水) 14:29:53.50
間接参照で持ってポインタを入れ替える
整数型縛りならベクトル化したxor swap
0831デフォルトの名無しさん2011/06/22(水) 14:42:04.17
バケットソートより速いソートを教えてください
0832デフォルトの名無しさん2011/06/22(水) 14:45:52.70
>>831
http://ja.wikipedia.org/wiki/%E3%82%BD%E3%83%BC%E3%83%88
0833デフォルトの名無しさん2011/06/22(水) 16:29:53.04
つまり、バケットが最速と
0834デフォルトの名無しさん2011/06/22(水) 17:15:13.45
ベストな方法の定義は?
0835デフォルトの名無しさん2011/06/22(水) 17:21:44.20
安い早いうまい
0836デフォルトの名無しさん2011/06/22(水) 17:22:34.02
バケットソートよりさらに適用条件が厳しくていいならあるけどw
0837デフォルトの名無しさん2011/06/22(水) 17:43:54.22
運に自信があるならボゴソート一択
0838デフォルトの名無しさん2011/06/22(水) 17:50:35.05
>>837
それはそもそも速いソートって言わないだろ
0839デフォルトの名無しさん2011/06/22(水) 17:56:02.90
>>836
まじで?

バイトニックソートとか言わないよね?
0840デフォルトの名無しさん2011/06/22(水) 17:57:16.83
>>838
「速い」を定義してくれ。
0841デフォルトの名無しさん2011/06/22(水) 18:05:24.36
× 運に自信があるならボゴソート一択
○ 運に自信があるならソートする必要すらない
0842デフォルトの名無しさん2011/06/22(水) 18:10:17.84
>>839
ソート済みリストに要素追加してソートするときのような、ソート前に並びが決まってるような処理ならオーダーはlog(n)になるはず(二分探索して挿入してるだけなんだから)
別にあまり意味のあることじゃない

これ言い出したらソートされてるものをソートする時はとか言い出してきそうだし
0843デフォルトの名無しさん2011/06/22(水) 18:47:49.01
手続き型言語なら基本改良型のクイックソート使っとけばベター
0844デフォルトの名無しさん2011/06/22(水) 18:50:10.25
>>843
スタックがあふれましたぁ。
0845デフォルトの名無しさん2011/06/22(水) 18:52:44.78
ヒープに作った自前のスタック構造使って再帰をループに展開しとけ
0846デフォルトの名無しさん2011/06/22(水) 18:55:55.35
>>845
自前で用意したヒープ上のスタック構造が「想定外」の入力であふれましたぁ。
0847デフォルトの名無しさん2011/06/22(水) 21:13:45.03
>>842
意味ない事をわざわざ書き込むなよwww
0848デフォルトの名無しさん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);
0849デフォルトの名無しさん2011/06/22(水) 21:36:28.21
◆QZaw55cn4cは糞
0850デフォルトの名無しさん2011/06/22(水) 23:40:44.80
0のものを1にするのに
インクリメントと1代入どっちが速いの?
0851デフォルトの名無しさん2011/06/22(水) 23:41:21.55
ごめんC++のほうだった
ほかでききます
0852デフォルトの名無しさん2011/06/23(木) 06:33:48.98
まず、0であるという確認が必要な分、インクリメンコが遅いな。
1代入なら代入だけだし。
0853デフォルトの名無しさん2011/06/23(木) 07:16:10.06
xor eax,eax
inc eax

mov eax,1

昔いじったスパコンは0クリアは常に0が入ってるレジスタをコピーしてた。
どっちが早いんだろうねぇ。
0854デフォルトの名無しさん2011/06/23(木) 07:53:44.87
>まず、0であるという確認が必要な分、インクリメンコが遅いな。
なんで確認が必要なんだ。

>1代入なら代入だけだし。
即値が必要な分、遅いCPUもあるね。

>xor eax,eax
「0のものを1にする」ってのは、一旦0にするという意味なのか?

>昔いじったスパコンは0クリアは常に0が入ってるレジスタをコピーしてた。
そのスパコンには、レジスタ間xorみたいなインストラクションがなかったんでね?

>どっちが早いんだろうねぇ。
まぁ、どの途誤差だ。
0855デフォルトの名無しさん2011/06/23(木) 08:21:25.20
ゼロレジスタ

RISCなど、特に3オペランド命令に対応するマイクロプロセッサで用意されることの多いレジスタで、
一般には汎用レジスタの一つをゼロレジスタとする。

例えば、R0?R31まで32個用意される汎用レジスタのうち、R0をゼロレジスタとするような製品がある。

こうして、3オペランド命令しかない中でも、オペランドが二つで充分な演算をする際にゼロレジスタを用いることで
演算を行なうことができる。例えば、A←Bという代入命令は、A←B+0という加算命令で書くことができる。

0856デフォルトの名無しさん2011/06/23(木) 09:16:35.34
ゼロウィングはAYBばかりが有名になってしまっているけど
ゲームの方もちゃんと面白いんだぞ!
0857デフォルトの名無しさん2011/06/23(木) 11:41:51.27
3つの条件式があって1つだけが偽の場合実行する方法ってどんなですか?
0858デフォルトの名無しさん2011/06/23(木) 11:43:12.95
俺のやり方が一番簡明
0859デフォルトの名無しさん2011/06/23(木) 11:49:24.85
p && !q && !r を巡回させた物3つ作ってそれをor演算
または式の結果をビット列にpackしてpopcount == 1
0860 忍法帖【Lv=9,xxxP】 2011/06/23(木) 11:52:55.97
>>857
if (
! cond0 && cond1 && cond2 ||
! cond1 && cond2 && cond0 ||
! cond2 && cond0 && cond1) ;
0861 忍法帖【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) ;
0862デフォルトの名無しさん2011/06/23(木) 12:00:58.61
if (exp1+exp2+exp3==2)
0863デフォルトの名無しさん2011/06/23(木) 12:02:39.39
int True2=!(0)*2;
if( (cound0+cond1+cond2)==True2) {
...
};

99%バグる。
0864デフォルトの名無しさん2011/06/23(木) 12:03:24.11
>>862
それだとごくまれに失敗しないか?
0865デフォルトの名無しさん2011/06/23(木) 12:08:37.08
くだらない
0866デフォルトの名無しさん2011/06/23(木) 12:12:50.78
>>865
何を期待しているの?
0867デフォルトの名無しさん2011/06/23(木) 12:16:42.75
C言語でソケットのUDP通信使って相互通信してる場合、
送信データの未到達判定には送信データにシーケンス番号付与が1番いいの?

後、未到達を感知したら即再送していいのかな?
ウエイトいれた方がいいの?
0868デフォルトの名無しさん2011/06/23(木) 12:20:24.74
>>866
下剤じゃね?
0869デフォルトの名無しさん2011/06/23(木) 12:21:40.63
>>868
おもしろい
0870デフォルトの名無しさん2011/06/23(木) 12:30:28.55
>>867
うん
いや
0871デフォルトの名無しさん2011/06/23(木) 12:40:51.79
なんで再送制御を自前で実装するんだろう・・・だったらTCP使えと
0872デフォルトの名無しさん2011/06/23(木) 13:20:02.51
昨日なんでswitch〜case文が{}ブロックじゃなくてbreakなんだとかいう低脳とであった
0873デフォルトの名無しさん2011/06/23(木) 13:22:35.47
フォールスルー知らなきゃそう思っても不思議じゃないんじゃない?
0874デフォルトの名無しさん2011/06/23(木) 13:24:59.08
LANだとUDP速いけど、インターネットだとTCPと大差ないって話を聞いたことがある。
実験したことはないけど。
0875デフォルトの名無しさん2011/06/23(木) 13:26:34.34
>>871
17ミリ秒間隔で、データの送受信が出来るならTCP使ってるよw
0876デフォルトの名無しさん2011/06/23(木) 13:30:10.88
>>868
くだらない
0877デフォルトの名無しさん2011/06/23(木) 13:31:34.23
>>373
知っててもこの仕様どうよって感じ。
0878デフォルトの名無しさん2011/06/23(木) 13:33:47.41
どっちも一緒だろ。どうせ欠損データ再送したりするんだし。
0879デフォルトの名無しさん2011/06/23(木) 14:16:00.68
スレチだがTCPとUDPの中間ぐらいのが欲しいことがあるな
・UDPほど早くないけど TCPよりは早いかもしれない
・ストリームではなくデータグラム
0880デフォルトの名無しさん2011/06/23(木) 14:18:11.79
>>872
よくわからんので解説頼む
0881デフォルトの名無しさん2011/06/23(木) 14:18:36.37
>>879
SCTP
0882デフォルトの名無しさん2011/06/23(木) 14:18:53.57
TCPはconnectionを確立した直後は遅いけど、様子をみながらだんだん早くなるんだよw
0883デフォルトの名無しさん2011/06/23(木) 14:30:09.22
>>881
�d

概要はこんなのか
ttp://www.asahi-net.or.jp/~aa4t-nngk/ipttut/output/sctpcharacteristics.html
おもしろそうだ
0884デフォルトの名無しさん2011/06/23(木) 14:45:57.32
>>875
できる
0885デフォルトの名無しさん2011/06/23(木) 15:00:13.80
>>880
昨日低脳とであった
0886デフォルトの名無しさん2011/06/23(木) 21:13:17.16
ウルルンかよ
0887デフォルトの名無しさん2011/06/23(木) 23:27:49.11
XTP?
0888デフォルトの名無しさん2011/06/24(金) 12:31:16.15
ほっほっ
0889デフォルトの名無しさん2011/06/24(金) 20:15:52.97
ds
0890デフォルトの名無しさん2011/06/24(金) 20:17:54.74
main以外の関数の中で、別の関数を呼び出す時

void kansu(void){
void kansu2(void);
}

としてもエラーがでないのは何故ですか?
正しく実行されないけれども。
0891デフォルトの名無しさん2011/06/24(金) 20:20:07.32
>>890
関数宣言だから
0892デフォルトの名無しさん2011/06/24(金) 20:24:47.84
>>891
どういうこと?
0893デフォルトの名無しさん2011/06/24(金) 20:27:44.06
そのまんまなんだが・・・・・・
引数なし返り値無しののkansu2っていう関数を宣言してる
0894デフォルトの名無しさん2011/06/24(金) 20:28:55.90
>>893
じゃぁ何で main内で宣言したらエラーになるんですか?
0895デフォルトの名無しさん2011/06/24(金) 20:30:43.24
>>894
お前が馬鹿だからっていうか
他のところでエラーだしてるんだよ
0896デフォルトの名無しさん2011/06/24(金) 20:33:54.93
>>894
ウチはエラー出ないよ?

% cat foo.c
int main() { void foo(void); }
% gcc -std=c99 -W -Wall foo.c
%
0897デフォルトの名無しさん2011/06/24(金) 20:35:28.55
宣言する位置が悪いんだろ
0898デフォルトの名無しさん2011/06/24(金) 20:40:26.46
呼び出しだと思ってるみたいだから先頭以外にあるんだろうな
0899デフォルトの名無しさん2011/06/24(金) 20:43:41.77
>>895
いや、関数呼び出すときにね、kansu(void);だと
エラーがでる。

kansu();
だとエラーがでなくて単位は取れた。
0900軟骨 ◆Hone.S333c 2011/06/24(金) 20:46:42.98
関数の呼び出しと宣言の違いが分かってない予感
0901デフォルトの名無しさん2011/06/24(金) 20:46:52.04
>>899
いやってなんだよwwwwwww
main内に移したからじゃねーだろーが禿
死ね
0902デフォルトの名無しさん2011/06/24(金) 20:47:31.98
>>899
voidの扱いはそういうもんだと丸暗記しとけ
0903デフォルトの名無しさん2011/06/24(金) 20:51:59.31
>>900
宣言は型を書かなければならない。でしょ?
0904デフォルトの名無しさん2011/06/24(金) 20:54:24.67
すいません、なんとなく分かりました。

0905デフォルトの名無しさん2011/06/24(金) 20:57:35.04
割り算はpowでやってもいいでしょうか?
例えばpow(3,-1)だと1/3と一緒ですか?
0906デフォルトの名無しさん2011/06/24(金) 21:05:28.38
powの方が複雑な処理してるから、素直に割り算にすべき
0907デフォルトの名無しさん2011/06/24(金) 21:12:22.85
>>906
powだと間違い?
0908デフォルトの名無しさん2011/06/24(金) 21:17:37.20
1/3は0になっちゃう・・・
0.00000e+00

orz・・・
0909デフォルトの名無しさん2011/06/24(金) 21:22:48.26
1.0/3
0910デフォルトの名無しさん2011/06/24(金) 21:26:14.17
>>909
それならpowのほうがいいな・・・
pow(3,-1)=0.333333
0911デフォルトの名無しさん2011/06/24(金) 21:32:26.90
アホすぎて話になんないw
0912デフォルトの名無しさん2011/06/24(金) 21:41:06.10
例えば3.234と1.3423の割り算をするときは
3.234/1.3423でいいんですか?
0913デフォルトの名無しさん2011/06/24(金) 22:39:42.49
>>912
それで望んだ通りの結果が得られるのなら、それでいいだろ。
0914デフォルトの名無しさん2011/06/24(金) 23:55:28.65
ここでいいのかな。

C言語のプログラムで、別のモニタやらテレビに出力したいんですが、ソフトだけで可能なんでしょうか。
0915デフォルトの名無しさん2011/06/25(土) 00:03:16.41
>>914
可能です。この前もそういうソフト作って納品しました。
0916デフォルトの名無しさん2011/06/25(土) 01:17:37.66
>>914
不可能です

>>915
おまえは虚言癖を治療しろw
0917デフォルトの名無しさん2011/06/25(土) 01:23:05.82
>>914
質問の意味が分かりません
接続されていないモニタやらテレビに「念写」したいということでしょうか?
0918デフォルトの名無しさん2011/06/25(土) 01:38:42.76
>>917
そうです、ソフトだけで可能なんでしょうか?
09199142011/06/25(土) 01:41:46.40
知らないなら無理して答えなくて結構です。
0920デフォルトの名無しさん2011/06/25(土) 01:46:20.01
ハード的な条件が出んことには、頓珍漢な答えが出るだけでしょ
09219142011/06/25(土) 11:05:10.29
ハード的な知識もありません。
わかんないけど、PCに繋いでいるようなモニタの端子(規格しらん)に信号を送ればうつるんでしょう?
別マシンから、なんらかのケーブルで繋いで、Cのプログラムで信号送れますかとか。ライブラリはなに使いますとか接続は何でつなぐとか。
なかんじです。
テレビだったら、なんつーケーブルでつなぐとか…
すべてあいまいなうすい感じでさーせん。
0922デフォルトの名無しさん2011/06/25(土) 11:08:38.48
バーカ
0923デフォルトの名無しさん2011/06/25(土) 11:13:31.38
ま、とっちらかってるあたりが入門者らしい、といえばらしい
0924デフォルトの名無しさん2011/06/25(土) 11:18:55.90
とりあえずマルチディスプレイって物を知ってるのだろうか
0925デフォルトの名無しさん2011/06/25(土) 11:30:18.73
VRAMを書き替えるだけだよ。
0926デフォルトの名無しさん2011/06/25(土) 12:17:08.10
>>921
そもそもなんでそんな話になったのか辺りから詳しく。
それによって、回答も変わってくる。
0927デフォルトの名無しさん2011/06/25(土) 12:44:24.74
懐かしのRFコンバータが必要だったりして
0928デフォルトの名無しさん2011/06/25(土) 14:14:01.43
今猛烈に眠いし、小便したいし、左手がなぜかズキズキするんだけど
どうしたらいいですか?
0929デフォルトの名無しさん2011/06/25(土) 14:15:05.82
死んだら全部解決するんじゃないだろうか
09309282011/06/25(土) 14:17:26.18
自決しました
0931デフォルトの名無しさん2011/06/25(土) 14:56:12.77
>>930ちょっとだけわろた
0932デフォルトの名無しさん2011/06/25(土) 15:12:45.37
WinG知らねーとかゆとりすぎだろ。
0933デフォルトの名無しさん2011/06/25(土) 15:39:17.98
自演臭がプンプンする
0934デフォルトの名無しさん2011/06/25(土) 16:43:43.79
画面を使ったプログラムを作りたいんですが、
ソフト使った方がいいですか?
ソースコードで作った方が良いのですか?
0935デフォルトの名無しさん2011/06/25(土) 16:47:24.95
日本語でどうぞ
0936デフォルトの名無しさん2011/06/25(土) 16:49:59.90
その使いたいソフトって何よ?
0937デフォルトの名無しさん2011/06/25(土) 16:57:23.26
>>934
画面のデザインのこといってるのなら、IDE環境でやったら
09389342011/06/25(土) 17:01:40.01
分かりにくくてすみません
画面を使った開発をしたいんですが どうしてますか?
0939デフォルトの名無しさん2011/06/25(土) 17:03:13.02
>>937
ありがとうございます 参考にさせて頂きます。
0940デフォルトの名無しさん2011/06/25(土) 17:08:24.65
画面を使わずに開発ってすごいな。
聾唖の方なのかな。
0941デフォルトの名無しさん2011/06/25(土) 17:14:47.45
学生のときの教養のFORTRANがソース入力マークカードで出力はラインプリンタだったなぁ
0942デフォルトの名無しさん2011/06/25(土) 17:15:07.87
変なツッコミするなよ
ど素人さんなんだから
0943デフォルトの名無しさん2011/06/25(土) 17:19:43.19
さすがに難解すぎるだろ。
0944デフォルトの名無しさん2011/06/25(土) 17:20:54.69
聾唖と画面を使わないの関係がわからないw
0945デフォルトの名無しさん2011/06/25(土) 17:25:03.02
実際に耳栓してギャグボールつけてみると良く分かる
目は見えるんだな、と。
0946デフォルトの名無しさん2011/06/25(土) 19:09:44.01
ハードにビデオチップとVRAMが載っててCPUから操作可能で、
そのハード用のC言語コンパイラと資料があれば可能でしょう。
0947デフォルトの名無しさん2011/06/25(土) 19:13:39.61
画面を使った開発というのが何をさしているのか伝わってない
画面を使った開発と画面を使わない開発ってそれぞれどんなものを思い浮かべているのか?
0948デフォルトの名無しさん2011/06/25(土) 19:19:35.81
>>947
sui
0949デフォルトの名無しさん2011/06/25(土) 19:22:39.71
GUIとCUIのほかにSUIって言葉もあるんだな
何の略か分からなくて調べてしまった
0950デフォルトの名無しさん2011/06/25(土) 19:31:49.16
同じ SUI でも日本語版ウィキペと英語版で指してる物が違うんだな
0951デフォルトの名無しさん2011/06/25(土) 19:37:59.94
934 と 938 は明らかに言ってることがブレてる
どっちに答えるかによって内容が全然ちがう
0952デフォルトの名無しさん2011/06/25(土) 20:14:06.78
すいません、教えてください。
複数の翻訳単位でインクルードされているヘッダファイルがあって、
const char* はextern をつけているからコンパイルエラーがでないのですが
extern をつけていないenumが多重定義エラー出ないのはなぜでしょうか?
0953デフォルトの名無しさん2011/06/25(土) 20:21:29.83
enumは外部リンケージを持たないから
0954デフォルトの名無しさん2011/06/25(土) 21:01:24.03
const char const *
にすると出なくなるよ
0955デフォルトの名無しさん2011/06/25(土) 21:04:40.15
enumは定数を決めてるだけだからでしょ
0956デフォルトの名無しさん2011/06/25(土) 21:20:00.03
main関数の中でWinMain関数使おうとしたらうまくいかなかったんですけど
もしかして1つのソースファイル内でCとAPIを一緒に使うことってできないんですか?
0957デフォルトの名無しさん2011/06/25(土) 21:21:12.70
うまくいかなかったって具体的にいえよ
0958デフォルトの名無しさん2011/06/25(土) 21:28:38.83
WinMainの引数int nCmdShowでコンパイルエラー
cannot use local functions
、です。
余計なことは、というか何もしないプログラムですが・・・
0959デフォルトの名無しさん2011/06/25(土) 21:29:31.89
>>957
言葉足らずでごめんなさい。
正常にできなかったってことです。
0960デフォルトの名無しさん2011/06/25(土) 21:30:22.99
WinMainを宣言してるのかWinMainを呼び出しているのか
0961デフォルトの名無しさん2011/06/25(土) 21:32:28.82
>>960
修行して出直します。
0962デフォルトの名無しさん2011/06/25(土) 21:38:48.26
>>961
二度とくんな
09639622011/06/25(土) 21:42:25.68
知らない人は無理してレスしてくださらなくて結構です。
0964デフォルトの名無しさん2011/06/25(土) 22:29:55.81
>>956
mainとWinMainはどっちかしか呼べんだろ
それ以外の関数は、どっちのメイン関数書いたコードからでも呼べるものもある
基本的に、GUI/CUIに依存してない関数は相互に呼び出せる

試しにmain関数からMessageBox関数呼んでみれ
0965デフォルトの名無しさん2011/06/25(土) 23:12:19.19
WinMainだって単なる関数なんだからmainから呼べるだろ
0966 [―{}@{}@{}-] デフォルトの名無しさん2011/06/25(土) 23:19:18.29
釣りばっかりのつまらないスレになったな
それだけ人との接触が少ない孤独な人間が増えていると言うことだろうか
0967デフォルトの名無しさん2011/06/26(日) 00:06:51.33
お前らこれ読め

> cannot use local functions
0968デフォルトの名無しさん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
0969デフォルトの名無しさん2011/06/26(日) 11:07:27.23
http://studiokingyo.fc2web.com/
0970デフォルトの名無しさん2011/06/26(日) 12:39:28.31
>>969
× プログラマー  → ○ プログラマ
× アルツハイマー → ○ アルツハイマ
× ぷよぷよフィーバー → ○ ぷよぷよフィーバ
× アクセスカウンター → ○ アクセスカウンタ
0971デフォルトの名無しさん2011/06/26(日) 13:18:55.23
Windows は伸ばし棒入れる方向に向かってるんだよね
どうしたものか
0972デフォルトの名無しさん2011/06/26(日) 13:24:59.79
>>971
文科省に文句言えよ
0973デフォルトの名無しさん2011/06/26(日) 13:30:07.98
>>972
文句言いたいわけじゃないよ
どうしようかなって悩んでるだけだよ
0974デフォルトの名無しさん2011/06/26(日) 14:14:20.83
>>964
呼べるよタコ助
0975デフォルトの名無しさん2011/06/26(日) 14:17:43.24
どちらでもいい。
但しどちらかに統一しろ。混ぜるな。
0976デフォルトの名無しさん2011/06/26(日) 14:48:53.07
>>972
JIS 関連だから、経産省じゃね?
0977デフォルトの名無しさん2011/06/26(日) 14:51:55.78
ちがうよ
0978デフォルトの名無しさん2011/06/26(日) 14:52:35.99
全然ちがうよ
0979デフォルトの名無しさん2011/06/26(日) 15:20:23.96
>>973
悩むことかよ。文科省が伸ばせっつってんだから伸ばしとけ。
0980デフォルトの名無しさん2011/06/26(日) 17:55:33.99
そもそも長音記号の削除は、主観で決められたようないいかげんなものだから(木村泉氏の著作で読んだことがある)、悩むことじゃない。
統一しておけば問題ない。
0981デフォルトの名無しさん2011/06/26(日) 18:50:02.39
なぜ正常終了なら返す値を0にしているかわかっていない低脳は死ね
0982デフォルトの名無しさん2011/06/26(日) 19:20:48.91
>>981
低レベルだな
0983デフォルトの名無しさん2011/06/26(日) 19:27:13.58
長方形の中心Oを基準にしてθ角度回転させたあとの各点の座標(X,Y)を
どのような計算で求められるのかで迷ってます
ぜひ教えてください
0984デフォルトの名無しさん2011/06/26(日) 19:28:22.58
こーこーせーれべるのすーがくをやってください
0985デフォルトの名無しさん2011/06/26(日) 19:45:03.78
角度をラジアンに変換して、三角関数で求めてください。そしてお引き取りください。
0986デフォルトの名無しさん2011/06/26(日) 19:54:04.80
各点の座標から中心の座標を引く
それによって得られたベクトルを回転させる
回転させたベクトルに中心の座標を足す
0987デフォルトの名無しさん2011/06/26(日) 19:55:56.03
>>984
>>985
>>986
反応するなクズ
0988デフォルトの名無しさん2011/06/26(日) 19:58:24.37
>>987
ようクズ、元気か?
0989デフォルトの名無しさん2011/06/26(日) 20:26:00.15
これは>>987=>>1で、俺の仕事取るな!って事でおk?
(スレタイ=C言語なら俺に聞け)
0990デフォルトの名無しさん2011/06/26(日) 21:01:14.88
次スレ立てます
0991デフォルトの名無しさん2011/06/26(日) 21:03:25.97
次スレ立てました
C言語なら俺に聞け(入門編)Part 86
http://hibari.2ch.net/test/read.cgi/tech/1309089793/
0992デフォルトの名無しさん2011/06/26(日) 21:05:15.20
うめていい?
0993デフォルトの名無しさん2011/06/26(日) 21:06:51.16
パディング
0994デフォルトの名無しさん2011/06/26(日) 21:31:12.68
0xCAFEBABE
0995デフォルトの名無しさん2011/06/26(日) 21:32:46.10
ここで聞けばいいかわからないのですが
キャッシュメモリの特性との関係を調べるためにCで書く課題です
gettimeofday関数を使って演算時間を調べるというものなのですがここで聞いてもいいんでしょうか?
0996デフォルトの名無しさん2011/06/26(日) 21:35:25.79
>>995
>>1をよめ
09979952011/06/26(日) 21:42:51.88
読みましたがいまいちわかりません
宿題スレにいけばいいんでしょうか?
0998デフォルトの名無しさん2011/06/26(日) 21:55:07.43
丸投げするなら宿題スレへ
ある程度具体的に質問したいならここで聞いてみれば答えが帰ってくるかも

うめ
0999デフォルトの名無しさん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/
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。