C言語なら俺俺に聞け! Part 87

11
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。
質問する前には最低限検索を。

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo! (←ここ注目)
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。

エラー(警告含む)が起きたのならばエラーメッセージを書きましょう。
21:04/07/24 15:59
自己解決しました
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/

各種リンク、関連スレは>>3-9あたり

C言語なら俺に聞け! Part 86
http://pc5.2ch.net/test/read.cgi/tech/1089863973/
他の過去ログはここに
http://nssearch.hp.infoseek.co.jp/clang/
自己解決しました
5デフォルトの名無しさん:04/07/24 16:03
>>4
死ね生ゴミ。
自己解決しました
unsigned char c = 257;
cが1になる事は、規格で保障されてますか?
新スレ乙
【コンパイラ】
gcc
http://gcc.gnu.org/

【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
Visual C++ Developer Center: Microsoft Visual C++ Toolkit 2003
http://msdn.microsoft.com/visualc/vctoolkit2003/

【ライセンスや機能などに問題あり】
Microsoft C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
Intel C++ Compiler for Linux
http://developer.intel.com/software/products/compilers/clin/noncom.htm
10推奨NGワード:04/07/24 16:13
第一群
「頭悪すぎ」「池沼」「バカ」「馬鹿」「ばか」「アホ」「あほ」「まぬけ」「間抜け」
「アフォ」「くず」「クズ」「アフォ」「キモイ」「低脳」「タコ」「クソ」「死ね」
「餓鬼」「バッカ」「香ばしい」「ゲラゲラ」「(プ」「プゲラッチョ」
「莫迦」「逝け」「キモい」「キモイ」「消えろ」「失せろ」「晒し上げ」

第二群
「函数」「scanf」「gets」「goto」「コーディングスタイル」
「コメント」「セキュア」「セキュリティ」

第三群
「空白あけろ」「空白あけるな」「空白のあけかた」「空白の空け方」「空白空けるな」
「空白入れろ」「空白入れない」
「ボ○ケ」「ぼけぇ」「ヴぉけ」「ぼけ」「ボケ」

第四群
「;-)」 「;)」「すぎー」「初歩的な質問」「初心者です」「初心者」
「;-;」「異端」「脳内変換」「UNIX厨」「M$」「初心者的な質問」「のー?」
「日下部陽一」「勝利」「敗北」「妄想」「素人」


第一群:言葉自体の有害度が大きい。
第二群:言葉自体は有害ではないものの、使う人の技量や目的によってはフレームの原因になる。
第三群:荒らしが好んで使う言葉。
第四群:その他。主観で分類してください。
11デフォルトの名無しさん:04/07/24 16:15
立て直した方がいいね。
>>10
ゴミ野郎
首吊れ
          ∵  ∴  ∴∵∴    ∴
     ∴∵∴∵∴∵∴∵∴∵∴∵∴∴∵
       ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
   ∴∵∴∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
      ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵/ ⌒ヽ∴∵∴∵∴
    ∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵| |   |∴∵∴∵
  ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∪ / ノ∴∵∴∵∴∵
..  ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵| ||∵∴∵∴∵
.∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∪∪∴∵∴∵∴∵
.∵∴∵∴∵∴∵∴∵:(・)∴∴.(・)∵∴∵∴∵∴∵∴∵∴∵∴∵∴
∵∴∵∴∵∴∵∴∵∴/ ○\∵∴∵∴∵∴∵∴∵∴∵∴
..∵∴∵∴∵∴∵∴∵/三 | 三ヽ∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵
. ∴∵∴∵∴∵∴∵ | __|__ │∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵     tanasinn
.∵∴∵∴∵∴∵∴∵|  ===  │∵∴∵∴∵∴ 【注意点】 -------
.∵∴∵∴∵∴∵∴∵\___/∵∴∵∴ ・問題はしっかりと解いてもらう方にわかりやすいように
..∴∴∵/ ̄.. \∴∵∵∴∵∴∵∴∵∴∵∴問題文などの省きはやめ、エラーなどは適切に書きましょう
∴∵∴/    ,. i ∵∵∴∵∴∵∴∵∴∵∴∵ 全文を書いてしまうか、分かりやすくまとめましょう。
∴∵∴|    /.| |.∵∵∴∵∴∵∴∵∴∵∴∵∴
  ∵∴|   | :| |.∵∴∵∴∵∴∵∴∵∴∵∴∵∴ ・後になって問題につけたしをするのはやめましょう。
    ∴| |  |::| |.∵∴∵∴∵∴∵∴∵∴∵∴∵   解いてもらっている方に失礼になってしまいます。
    ∴| | |∵U∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴∵∴
      | | |∵∴∵∴∵∴∵∴∵∴∵        ・計算問題は必ず数式自体をあげ、どのような計算を
     / / / ∵∴∵∴∵∴∵∴∵∴∵ ∵      するのかくわしく説明してください。
    / / /       ∴∵∴∵∴         ----------------------
   .しし’          ∵
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://do.sakura.ne.jp/%7Ejunkroom/cgi-bin/megabbs/lounge/index.html
【歴代スレは>>2-10
14推奨NGワード:04/07/24 16:18
自己解決野郎って前スレ消すのが目的だったんだろうか?
こんな糞タイトルと>>1の内容では駄目だ。
立て直してくる。
しかし前スレも同じタイトルだった:D
つーか>>1の内容も同じだった:P
>>1は全然違うだろ。
前スレへのリンクやC FAQへのリンクを勝手に>>2にしやがって。
ついでに言えば前スレ立てたの俺だ:$
一部テンプレ貼りミスったけど誰にも指摘されなかった:[
>>2じゃなくて>>3だ。しかも1!=3だろうから意図的に削りやがったな。
ちなみに前スレからコンパイラリンクにVSTKを追加したんだが、それにも誰も触れなかった:^)
特にライセンス上の問題も無いし、良いコンパイラだと思うんだけどな:S
おっとVSTKじゃなくてVCTKだ、すまんな
(1=3)!=2です。
>>23
そういう書き方をしてると正体不明のバグに悩まされることになるぞ。
評価されるのは
3!=2だから。
2524:04/07/24 16:37
自分の頭もバグってるな。
1=3の時点で左辺値異常でコンパイル止められるか。
真スレ
http://pc5.2ch.net/test/read.cgi/tech/1090654469/

こっちは終了。
プ
新スレ立ったので
以降このスレは放置&削除で
29age:04/07/24 16:39
age
避難所か喧嘩専用スレッドにするか。
>>7
保障されてない。
Cでインクリメンコしたときにキャリーフグリの変化を調べる方法はありますか?
emit
>>32
標準的な方法はない。
っていうか
標準Cにはインクリメンコもキャリーフグリも存在しない。
誰も標準的にとは言って無いだろ。
質問よく読めよ。ばか
emit
自己解決しました
ソレはヨカッタ!
喧嘩専用スレッド決定
バカの相手は疲れる
42デフォルトの名無しさん:04/07/24 18:53
unsigned char c = (unsigned char)257;
c=1を誰か保証してくれませんか?
>>42
俺の手元の本では
unsigned→unsigned(変換先の方がサイズが小さい場合)だと、変換元の数 % (1 + 変換先の型の上限値)
って書いてある。

42の例を当てはめると257 % (1 + UCHAR_MAX)
仮にUCHAR_MAXが255だとすれば257 % 256で1になると思うけど。
>>43
空気読め
________.  |  ・・・「からけ」?
|||          | \____ __
|||          |  )\       ∨
|||    空  気.   <⌒ヽ ヽ
|||         \ ( ´ー`)    ∧∧
|||_________V(   丿V^  ●Д゚,,)
|,,|          |,,| ヽ (      と  ,)
              ノ )     |  |~
                     し`J,,.
mandokuse('A');
自己解決しますか
自決しますか
賛成多数により自己可決しました。
50デフォルトの名無しさん:04/07/28 14:37
あげるべ
このスレは削除依頼されています
でも本スレの流れ早いし再利用できるだろ
再利用の必要も無い。
本スレごと削除しちゃっていいんじゃ?
>>54
おまえが消えろ
>>55
オマエモナー
scanf gets 専用スレ
DATTE やってらんないじゃん
sscanf より scanf でしょ
gets LOVE LOVE モードじゃん
59からあげ:04/08/03 01:47
からあげ
60デフォルトの名無しさん:04/08/03 01:51
うまうま
61dr:04/08/03 02:19
int *p;
p = (int*)malloc(sizeof(int) * 50);

for(int i = 0; i < 50; i++)
scanf("%d", &p[i]);
scanfの部分で不正アクセスとなるんですが、どんな違反ですか?
62デフォルトの名無しさん:04/08/03 02:38
scanfを使うからだよボケ
scanf("%d", p[i]);
不正にアクセスした違反ではないのかね?
65デフォルトの名無しさん:04/08/03 03:41
そのとおり
ここはふがいないインター納豆ですね
67デフォルトの名無しさん:04/08/03 04:22
下記のような動作をする文字数をカウントするプログラムで、
scanf で文字列を取得するとスペースが入った場合に正確に取得できません。
getchar を使うと一文字しか取得できないですし…。
他に、どのような方法が考えられますか?

>aiu kakiku
a: 2
i: 2
u: 2
k: 3

>>67
char buf[100];
scanf("%99[^\n]", buf);

或いは、

char buf[100];
fgets(buf, sizeof(buf), stdin);
char * p = buf + strlen(buf) - 1;
if (* p == '\n') {
* p = '\0';
}
6967:04/08/03 05:52
マジレスされた(鬱
> * p = '\0';
きもーーーーーーーーーーーーーーーーーーーーーー
71デフォルトの名無しさん:04/08/03 07:52
っていうか
if (* p == '\n') {
は成立するのか?
>>71
fgetsは改行もバッファに入れるから成立する。
この流れでscanf()を使う辺り…
fgetsでの解と併記だから、バ カ が喚かないように気を使ってるだけだろ。
入力ストリームが EOF だったら strlen(buf) - 1; でこけるんじゃないかしら?
76デフォルトの名無しさん:04/08/03 19:10
POINT a[100];
POINT b;
と定義したとき
aに入っているn番目のxとyの値をbにコピーしたいとき
b.x = a[n].x;
b.y = a]n].y;
としなければいけないのでしょうか?
ポインタを使ってbがaのn番目のアドレスを指すようにできないでしょうか?
7776:04/08/03 19:11
>>76
b.y = a[n].y;
の間違いです,すいません.
環境はVC6です.
b=a[n]
n番目の要素の代入なら、
b = a[n - 1];

Cには参照はない。
受け側をポインタ変数にするなら、
POINT *b;
b = a + n - 1;
80デフォルトの名無しさん:04/08/03 19:19
>>78,79
すいません,CとC++の境目があまりわかって無くて...

受け側をポインタ変数にしたとき
aが構造体のメンバだったときはどうすればよいでしょうか?
例えば,
typedef struct{
POINT a[100];
} HOGE;
HOGE hoge;
POINT *b; //受け側

このようなとき
同様にbがaのn番目のポインタを指すようにしたいときは
どうすればいいのかわかりませんでした.
いろいろやってみましたがエラーが...


そのまんまだけど…
分かり易い方でどうぞ

b = hoge.a + n - 1;
b = &hoge.a[n - 1];


b = &(n - 1)[hoge.a];
8380:04/08/03 20:06
ありがとうございます,とりあえず動きました.
84デフォルトの名無しさん:04/08/04 19:22
自動でバックグラウンドでデフラグするプログラムはどう書けばいいですか。
止められないファイルサーバーの断片化を防ぎたいのです。
スレ違いどころか板違い。しかるべきOSの板池
WINDOWSXPです。逝ってきます。
88デフォルトの名無しさん:04/08/05 08:55
struct hoge{
・・・
} orz;



typedef struct hoge{
・・・
} orz;

ってどう違うんですか?
>>88
前者はorzはstruct hoge型の変数。
後者のorzはstruct hoge型の別名でstruct hogeの代わりに使える。
ぶっちゃけ使い方に違いはないよな
あるだろ。。実態と参照じゃないか。
ぶっちゃけ意味不明
説明してる89が哀れだな
9488:04/08/05 10:21
ありがとうございました><
質問するな
回答するな
103 :デフォルトの名無しさん :04/08/11 17:46
任意の数値を逆に並び替えるアルゴリズムを教えてください
1234→4321
852→258
ってな風に・・・

頭弱くて素でわからん


104 :103 :04/08/11 17:46
age忘れた


105 :103 :04/08/11 18:08
漏れが馬鹿すぎた・・・わかりました。すみません。


106 :デフォルトの名無しさん :04/08/11 19:04
>>103-105
なかなか面白い奴だな。




...そんなに面白いのか?!
>>96
ワロタ
質問するな
回答するな
>>98
書き込みするな
100デフォルトの名無しさん:04/08/15 17:52
100
101デフォルトの名無しさん:04/09/15 14:36:19
ぬるぽ
102デフォルトの名無しさん:04/09/15 14:53:06
>>101
ガッ
103デフォルトの名無しさん:04/09/15 14:54:21
質問するな
回答するな
書き込みするな
104デフォルトの名無しさん:04/09/15 14:57:16
Cでファイル入力を行うとき,
100,200,300
のような書式でデータが並んでいる場合fscanfを使えば
fscanf(pFile,"%d,%d,%d",&data1,&data2,&data3);
のように簡単に分割して取得できるのですが,
char str[128]="100,200,300"の用に変数にデータが入っていた場合も
同様に簡単に分割して取得できないでしょうか?
105デフォルトの名無しさん:04/09/15 14:59:48
>>104
質問するな
回答するな
書き込みするな
106デフォルトの名無しさん:04/09/15 20:19:06
>>105
質問するな
回答するな
相手するな
書き込むな
息をするな
107デフォルトの名無しさん:04/09/15 21:53:19
> 息をするな

なんかすげーちっちゃいころに言ったことあるような気がしてきた
108デフォルトの名無しさん:04/09/15 21:54:38
>>107
質問するな
回答するな
相手するな
書き込むな
息をするな
懐かしむな
109デフォルトの名無しさん:04/09/16 02:45:54
ワラタ
110デフォルトの名無しさん:04/09/16 02:47:07
hade
111デフォルトの名無しさん:04/09/16 04:21:50
>>104
sscanf()
112デフォルトの名無しさん:04/09/16 04:24:46
>>111
本スレでとっくに終わってるんだよ
113デフォルトの名無しさん:04/09/16 18:25:21
1+(1+2)+(1+2+3).....(1+2+3+4+5+6+7+8+9+10)を計算するプログラムをお願いします。
テストで出たけど分からなかったorz
114デフォルトの名無しさん:04/09/16 18:25:58
しまった アゲ
115デフォルトの名無しさん:04/09/16 18:46:17
>>114
ネタスレだ。ここは。

質問するな
回答するな
相手するな
書き込むな
息をするな
116デフォルトの名無しさん:04/09/16 19:50:30
ネタすれなんてつくんないでよー
117デフォルトの名無しさん:04/09/16 19:56:05
118デフォルトの名無しさん:04/09/16 20:01:25
>>113
int n;

n = 1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)+(1+2+3+4+5+6)+(1+2+3+4+5+6+7)+(1+2+3+4+5+6+7+8)+(1+2+3+4+5+6+7+8+9)+(1+2+3+4+5+6+7+8+9+10);
119デフォルトの名無しさん:04/09/16 20:01:28
>>116
文句を言うなら削除依頼出したら?
重複スレだから通るだろう
120デフォルトの名無しさん:04/09/17 00:26:39
質問するな
回答するな
相手するな
書き込むな
息をするな
121デフォルトの名無しさん:04/09/18 00:58:43
ぬるぽ
122デフォルトの名無しさん:04/09/18 01:24:11
このスレもスト決行だ
123デフォルトの名無しさん:04/09/18 01:25:19
>>122
賠償金を請求されたいのか?
124デフォルトの名無しさん:04/09/18 05:01:55
フラグを立てる場合は frag |= 0x2; みたいな感じですが
同じフラグを降ろす?場合は frag &= ~0x2; で良いのでしょうか
125デフォルトの名無しさん:04/09/18 05:05:47
>>124
空気読め
126デフォルトの名無しさん:04/09/18 05:19:31
>>124
OKだよ
127124:04/09/18 05:21:15
>>126
ありがとうございます、おかげで安心しました
128デフォルトの名無しさん:04/09/18 15:16:13
#include<stdio.h>
int main(void)
{
  union udt{
   int a;
   char c;
       };
  union udt uni;

  uni.c = 'a';
  printf("int a=%d  char c=%d",uni.a,uni.c);

return 0;
}
出力結果
int a=353  char c=97
なぜaが353になんでしょうか?教えて下さい。
129デフォルトの名無しさん:04/09/18 15:36:17
#include<stdio.h>
int main(void)
{
  union udt{
   int a;
   char c;
       };
  union udt uni;

  printf("int a=%d  char c=%d",uni.a,uni.c);

return 0;
}
何も入れなくても、
int a=307  char c=51  と出ました。
............こんなの何かの仕様じゃないですよね?
130デフォルトの名無しさん:04/09/18 15:58:36
int main(void)
{
  int a;
  printf("int a=%d", a);
  return 0;
}
131デフォルトの名無しさん:04/09/18 16:07:18
aの値が未定義と言われましたが、1を出力しました。
何でなんでしょうか?
132デフォルトの名無しさん:04/09/18 16:12:05
割り当てられてないメモリをintサイズで取得して
初期化してないのでそこにあったデータが1だっただけでしょ
133デフォルトの名無しさん:04/09/18 16:15:35
まて、ここはネタスレだ。
いいか、ここに質問するのも解答するのもネタでなければならないんだぞ。
134デフォルトの名無しさん:04/09/18 16:17:49
>>128-131
ローカル変数の中身はstatic/グローバル変数と違って0で初期化されない。
変数の中に何が入っているかは131のメッセージの通り「未定義」。
それででたらめな数字が出る。
135デフォルトの名無しさん:04/09/18 16:26:59
>132>134
ありがとうございます。納得しました。
136デフォルトの名無しさん:04/09/18 16:38:55
く!
135の意図が読めん!何をする気だ!?
137デフォルトの名無しさん:04/09/18 16:46:10
耐性菌作り。
138デフォルトの名無しさん:04/09/18 19:45:28
永久ループはfor (;;)と書くとおもうのですが、while (1)と書く人がいます。

やめてくれませんかねえ。
139 ◆FIcNi4f8js :04/09/18 19:47:22
for (;;) の方が変だろ?
140デフォルトの名無しさん:04/09/18 19:54:08
for (;;) キモイ
141デフォルトの名無しさん:04/09/18 19:57:06
#define LOOP for(;;)

LOOP{
  /* 適当な処理 */
}
142デフォルトの名無しさん:04/09/18 20:17:07
永久ループなんか書くな。
143デフォルトの名無しさん:04/09/18 20:54:58
for(1;1;1) {;}
これで文句ないだろ
144デフォルトの名無しさん:04/09/18 20:56:34
>>143
質問するな
回答するな
相手するな
書き込むな
息をするな
145デフォルトの名無しさん:04/09/18 21:15:52
>>138
>やめてくれませんかねえ。

確かに >>138 のような、
定数の論理式すら理解できない奴が働く職場では
止めるべきかも知れないな・・・
146デフォルトの名無しさん:04/09/18 21:53:16
最適化の存在を知らないで、チリのようなオーバーヘッドを気にする旧世代の人間かもよ。
147デフォルトの名無しさん:04/09/18 21:58:44
チリもつもればヤマト映画化になるんだよ
148デフォルトの名無しさん:04/09/18 21:59:44
>>147
期待できないという事だな
149デフォルトの名無しさん:04/09/18 22:00:37
>>148
いや、これが最後ですって言いながら何本も作るんだよ。
#いかん、マジレスしてしまった
150デフォルトの名無しさん:04/09/18 22:37:56
for(int i=0;i<9999999999;i++){}
151デフォルトの名無しさん:04/09/18 22:42:02
>>150
9999999999はintだとオーバ風呂
152デフォルトの名無しさん:04/09/18 23:36:40
大葉風呂?香りがよさそうだな。
153デフォルトの名無しさん:04/09/18 23:44:48
>>152
味噌の香りがしそうで嫌
154デフォルトの名無しさん:04/09/18 23:53:21
大葉と朴葉の区別が出来ない >>153 はフランス人。
155デフォルトの名無しさん:04/09/18 23:56:48
>>154
そうそれ。
いやぁ、連想してくれて助かった。
生き字引ってやつ?
156デフォルトの名無しさん:04/09/19 00:05:02
確かに朴葉は大きいけどねぇ。
#詳しくは日下部味噌醤油醸造のHPで(ぉぃ
157デフォルトの名無しさん:04/09/19 04:50:55
ム板における日下部は、常に別の意味を持つことを知らんようだなm9(・∀・)
158デフォルトの名無しさん:04/09/19 05:00:00
ということにしたいのですね。
159デフォルトの名無しさん:04/09/19 18:15:14
LSI C-86 Ver. 3.30c 試食版についてですが、
これのintやlong intなどの表現範囲をどなたかご存知ありませんでしょうか。
160デフォルトの名無しさん:04/09/19 18:23:41
int a=1;
int b=3;
int c=a/b*b;

これで実行するとcは0になってしまいます
doubleやfloatを使わずにcを1にすることは可能でしょうか?
c=a/b*bの式の変数の順番や演算子は変えずにお願いします
161デフォルトの名無しさん:04/09/19 18:37:24
質問するな
回答するな
相手するな
書き込むな
息をするな
162デフォルトの名無しさん:04/09/19 18:43:18
int a=1;
int b=3;
int c=!(a/b*b);

( ´,_ゝ`)
163デフォルトの名無しさん:04/09/19 19:58:41
>>159
limits.h見ろ
164デフォルトの名無しさん:04/09/19 20:02:23
>>163
うるせえだまれ
165デフォルトの名無しさん:04/09/19 20:16:29
>>163
お前のようなやつがいるから調子にのって質問するやつが出てくるんだドアホ
166デフォルトの名無しさん:04/09/19 21:05:16
VisualCでmmsystem.hとwinmm.libをもちいてwavファイルを再生する
もっとも簡単な方法ってどういう関数使うんですか??
MFCでプログラム書いてるんですが、ぼたんは1つでそのボタンを押せば、
wavが流れるようにしたいんです。
(例えば、そのプロジェクトフォルダに○○.wavってファイルをおいといて、
そのファイルを再生するような)
167デフォルトの名無しさん:04/09/19 21:07:39
>>166
氏ねよ池沼
168デフォルトの名無しさん:04/09/19 22:08:08
おまえら!
169デフォルトの名無しさん:04/09/19 22:17:40
#include<stdio.h>
main()
{
float a[2],x[2]={1,3};
int k,n,t;

for(k=0;k<2;k++){
t=0;
for(n=0;n<2;n++){
t=t+x[n]*k*n*3.14159;
}
a[k]=t;
}

for(k=0;k<2;k++){
printf("X[%d]=%f\n",k,a[k]);
}
return(0);
}

実行結果
X[0]=0.000000
X[1]=9.000000
↑小数点以下0になるんだけど
どうやったらX[1]=9.4247…って出るの?
170デフォルトの名無しさん:04/09/19 22:21:24
>>169
このスレでマトモなレス期待されてもなぁ
171デフォルトの名無しさん:04/09/19 22:21:24
>>169
氏ね。ここで質問するな。
(tをfloatで宣言しときな)
172デフォルトの名無しさん:04/09/19 22:28:39
(・ω・*)ありがとん
173デフォルトの名無しさん:04/09/19 22:33:09
>>171
質問するな
回答するな
相手するな
書き込むな
息をするな
174デフォルトの名無しさん:04/09/19 22:34:45
NGワード質問するな
回答するな
相手するな
書き込むな
息をするな
175デフォルトの名無しさん:04/09/20 01:34:36
池沼ってなんですか?
176デフォルトの名無しさん:04/09/20 01:42:12
Ruby!!!!!
177デフォルトの名無しさん:04/09/20 13:29:13
の指輪
178デフォルトの名無しさん:04/09/21 02:20:40
ぬるぽ
179 ◆FIcNi4f8js :04/09/21 03:15:39
寺尾聰
180デフォルトの名無しさん:04/09/21 03:22:58
VisualCでファイルを選択して読みこんだりできますよね?
例えば、あるフォルダFolder1にName1.txtとかName2.txtとかってあるのを
1つ選択するみたいな。

じゃあ、こんなことできますかね?
あるFolder1に3つのテキストファイルa.txt, b.txt, c.txtに対して
a.txtをひらくと残りのb.txt, c.txtも読みこめるようなことってできます??
フォルダFolder1, Folder2, ...というふうにフォルダがたくさんある中で、
これら全てのフォルダの中にa.txt, b.txt, c.txtといった3つのファイルがあるとします。
181デフォルトの名無しさん:04/09/21 03:44:29
>>180
何歳?男の子?女の子?お友達多いほう?少ないほう?
182デフォルトの名無しさん:04/09/21 03:55:27
>>180
まず、やってみ
183デフォルトの名無しさん:04/09/21 05:28:36
>VisualCでファイルを選択して読みこんだりできますよね?
同意を求めるな。

>例えば、あるフォルダFolder1にName1.txtとかName2.txtとかってあるのを
>1つ選択するみたいな。
「みたいな」なんだ。文章を途切れさせるな。

>じゃあ、こんなことできますかね?
だから同意を求めるな。

>あるFolder1に3つのテキストファイルa.txt, b.txt, c.txtに対して
>a.txtをひらくと残りのb.txt, c.txtも読みこめるようなことってできます??
a.txtを開くことができたのなら残りも開けるか試してみろ。

>フォルダFolder1, Folder2, ...というふうにフォルダがたくさんある中で、
>これら全てのフォルダの中にa.txt, b.txt, c.txtといった3つのファイルがあるとします。
なかったらどうするんだ。

それ以前に、
質問するな
書き込むな
息をするな
184デフォルトの名無しさん:04/09/21 05:29:40
Ruby >>>>>>>>>>>>>>>>>>>>>> C言語
185 ◆74b43bwcDM :04/09/21 05:54:53
孤独が好きな俺さ、気にしないで行っていいよ
気が変わらぬうちに早く消えてくれ
186デフォルトの名無しさん:04/09/21 08:47:03
じゃ、ここに最新版ウィルス置いときますね
ttp://pukapuka.s1.x-beat.com/img-box/img20040921084521.lzh
187デフォルトの名無しさん:04/09/25 15:19:38
2進数表示ってないんですか?
188デフォルトの名無しさん:04/09/25 16:29:16
>>187
自分で実装
189デフォルトの名無しさん:04/09/25 17:27:49
C言語のシーについて
190デフォルトの名無しさん:04/09/25 17:33:32
スィーだバカ
191デフォルトの名無しさん:04/09/25 18:50:30
>>189
BCPL→B→C
192デフォルトの名無しさん:04/09/26 08:31:01
>>190
ツェーだバカ
193デフォルトの名無しさん:04/09/28 12:35:29
フルートの最低音 C が出ないんですが
194デフォルトの名無しさん:04/09/28 18:13:20
>>193
最低音のCはもともと出にくい音ですが、原因はふたつ考えられます。
ひとつ目はアンブシュァと息の使い方が安定していない場合です。
この場合はG位から初めて半音づつ下がりながらロングトーンを練習してください。
もう一つは右手小指でふたつのキーを押えないといけませんが、小指は弱い指なので
完全に押えられていない場合です。友達などに見てもらうと良いでしょう。E♭のキーに
小指が触れていないかも要注意です。また、リングキーをお使いなら右小指を伸ばした
時、薬指と中指にわずかな隙間が開く時がありますので、これにも注意してください。
楽器の調整が悪いとふたつのキーを押しても一方に隙間が開く場合があるので
楽器屋さんに相談したほうが良いかもしれません。
195ぬこ:04/09/28 22:07:03
IPヘッダの構造体を使うとおかしくなるにゃん・・・ (´・ω・`)ショボーン

struct iphdr {
#if __BYTE_ORDER == __LITTLE_ENDIAN
unsigned int ihl:4;
unsigned int version:4;
#elif __BYTE_ORDER == __BIG_ENDIAN
unsigned int version:4;
unsigned int ihl:4;
#else
#error "__BYTE_ORDER is undefined"
#endif
u_int8_t tos;
u_int16_t tot_len;
u_int16_t id;
u_int16_t frag_off;
u_int8_t ttl;
u_int8_t protocol;
u_int16_t check;
u_int32_t saddr;
u_int32_t daddr;
};
これが問題の構造体だにゃん
どうもメモリのアライメントが起きているみたいで、ずれるにゃん
ip->tot_len がオフセット6、7になるにゃん・・・ (´・ω・`)ショボーン

196デフォルトの名無しさん:04/09/29 14:14:52
>>195
コンパイラに文句言っとけ
197デフォルトの名無しさん:04/09/29 14:39:48
>>195
素直にihlとversionあわせてu_int8_tで読み込んで
後でバラすとか。
198デフォルトの名無しさん:04/09/29 15:02:24
printf("%13d ← %s",ans,ss);
とすると%sのところが(NULL)になりますが、
printf("%13d ← ",ans);printf("%s",ss);
と分けると普通に表示してくれます。なぜでしょうか。
199デフォルトの名無しさん:04/09/29 15:44:42
ansがintより大きな型だから。
200デフォルトの名無しさん:04/09/29 16:30:28
>>199
%sがNULLになるんでね?

>>198
ssがNULLだったりNULLじゃなかったりするコード書いてるからだろ
201hana:04/09/29 18:02:43
for(i=0;i<=X_NO;i++)
for(j=0;j<=Y_NO;j++){
if( a > b)
printf("big\n");
}else if ( b < a ){
printf("small\n");
}
}

このプログラムだと、for文が画像を一点ずつ読んでいるため
SMALLがいくつも表示されてしまうのですが、
これを ひとつの表示にまとめたい場合 どうすればいいですか?

202デフォルトの名無しさん:04/09/29 18:04:30
>>201
ネタスレ上げんなボケ
203デフォルトの名無しさん:04/09/29 18:17:04
オレオレ。オレに聞け。
204デフォルトの名無しさん:04/09/29 19:27:42
FILE* fp=fopen("print.c","wt");
fprintf(fp,"printf(\"");
for(i=0;i<=X_NO;i++)
for(j=0;j<=Y_NO;j++){
if( a > b)
fprintf(fp,"big\\\n");
}else if ( b < a ){
fprintf(fp,"small\\\n");
}
}
fprintf(fp,");\n");
fclose(fp);

を実行して、ソースから print.c をインクルード
205どなたかコードを・・:04/09/29 23:41:24
C言語初心者です。
すいませんどうか助けてください。

ファイルから読み込みそれを別にファイルに書き込む基本的なことしてるんですが、
条件がありまして、
①fgetc(fp)で順次読み込んだ文字がリターンキーなら次に文字を見る。
②その文字が 0 ~ 9 か 'ー' ~ '九' ならファイルをcloseする。

という仕様なんですが文字列操作がうまくいきません。
かな文字や関数字の判定ができません。
イメージとしては

while ((ch = fgetc(fp)) = EOF)
{
fputc(ch,fwp);

if (ch == 13) ← リターンキーのasciicode
{
ch = fgetc(fp); ← これで次にすすめているのか怪しい

以下不明・・
}
}

すいませんが文字をすすめたり漢数字の'一'判定のために
どのようなコードを書けばよいかわからないので
どなたか教えてください・・
206205:04/09/29 23:45:31
while ((ch = fgetc(fp)) != EOF)
でした。すいません
207デフォルトの名無しさん:04/09/29 23:51:53
>>205
ここはネタスレ

本スレは下
http://pc5.2ch.net/test/read.cgi/tech/1095180315/
208デフォルトの名無しさん:04/09/30 02:26:14
cmathとmath.hの使い分けについて教えてください
209デフォルトの名無しさん:04/09/30 02:32:33
ここは1000まで登竜門。

ネタスレは下
http://pc5.2ch.net/test/read.cgi/tech/1095180315/
210デフォルトの名無しさん:04/09/30 18:49:01
>>208
cmathはC++のヘッダ。関数がすべてstd名前空間に内包される。
要はスレ違い
211デフォルトの名無しさん:04/10/05 00:54:18
ぬるぽするならイマノウチ
212デフォルトの名無しさん:04/10/05 01:05:40
ガッ
213デフォルトの名無しさん:04/10/05 16:23:09
グローバル領域で256M以上使用しようとすると、
「トータルイメージサイズが最大値 (268435456) を越えています」
とエラーが出てしまいます。(Windows XP VC++)
もし最大値を変更する方法があれば教えて下さい。
214デフォルトの名無しさん:04/10/05 19:25:33
malloc
215デフォルトの名無しさん:04/10/05 22:17:37
VC++のmallocは内部でHeapAllocを呼んでいるからVirtualAllocを直接呼んだ方が良い。
数MB以上確保したいときにはHeapAllocよりVirtualAllocとMSDNに書いてある。
216215:04/10/05 22:20:34
むしろ、なんで256MBもの変数があるのか?中身が気になる。
217213:04/10/06 10:04:52
>>215
仕事で膨大な列車データと駅データを一度に保持しなければならない状況がありまして・・・
VirtualAllocを直接呼ぶことで対応したいと思います。 ありがとうございました。
218デフォルトの名無しさん:04/10/06 12:26:18
>>217
列車本数は兎も角駅の数なんて高が知れてる。
つーかそれ以前に設計思想が根本的に間違ってる悪寒。
219デフォルトの名無しさん:04/10/09 22:41:02
#include <stdio.h>
main () {
char ch = 0xff;
if (ch == 0xff) {
printf("CHはFF");
}
return(0);
}

で・・・なんでCHはFFって表示されないのですか? これがわからなくてCの勉強が進みません。
220デフォルトの名無しさん:04/10/09 23:56:31
たぶん、コンパイラがおかしいのでは?
221デフォルトの名無しさん:04/10/10 00:31:41
unsigned char ch = 0xff;
でやってみよう。
222デフォルトの名無しさん:04/10/10 01:17:17
できましたが、どうしてですか? 教えてくださいませ。
223デフォルトの名無しさん:04/10/10 03:34:20
>>222
chに入ってるのは-1
0xFFは255
224デフォルトの名無しさん:04/10/10 14:34:02
多分、この初心者はそういうことをききたいのではなく。
unsigned char って何かを知りたいのだと思う。
225デフォルトの名無しさん:04/10/10 14:36:30
>>224
ネタスレわざわざ上げるなクソ野郎
226デフォルトの名無しさん:04/10/10 14:44:15
charは文字をあらわしてるんだからクオートしないとおかしくなんの。

char ch = '\xff';
if (ch == '\xff') {
227デフォルトの名無しさん:04/10/10 14:46:10
charは文字をあらわしてるんだからcharは文字をあらわしてるんだからcharは文字をあらわしてるんだから
charは文字をあらわしてるんだからcharは文字をあらわしてるんだからcharは文字をあらわしてるんだから
charは文字をあらわしてるんだからcharは文字をあらわしてるんだからcharは文字をあらわしてるんだから
charは文字をあらわしてるんだからcharは文字をあらわしてるんだからcharは文字をあらわしてるんだから
228デフォルトの名無しさん:04/10/10 14:50:29
>>222
charは符号(±)がついて、unsigned charには符号がつかないのは
分かるよな。

if(ch == 0xff)では、大きい方のintで比較される。
charの0xffは-1なので、intにすると0xffffffff(-1)になる。
右辺はintなので、0xffはそのまま255。

0xffffffff(-1) == 0x000000ff(255)は成り立たないので、表示されない。

(※charが8bit、intが32bitの環境であることが前提)
229デフォルトの名無しさん:04/10/10 15:03:02
>>228
charに符号がつくかどうかは規定されていなくなかったっけ?
つーかここはネタスレ。
230デフォルトの名無しさん:04/10/10 15:14:47
またC++スレから荒らし(>>229)が来たか
231デフォルトの名無しさん:04/10/10 15:16:24
つーか、ここを何のスレだと思ってんだ。
れっきとした、ネタスレだぞ。
まだ、本スレで自分の知識を語るのは
しょうがないと思うが。
たいしたことない知識をひけらかすな。バカ。
232デフォルトの名無しさん:04/10/10 15:17:05
質問するな
回答するな
相手するな
書き込むな
息をするな

質問するなら現行スレ
http://pc5.2ch.net/test/read.cgi/tech/1096696253/
でやれ
233デフォルトの名無しさん:04/10/10 15:18:26
>>224
お前が一番悪い
234デフォルトの名無しさん:04/10/10 15:51:51
ああ、これ重複スレか。
235デフォルトの名無しさん:04/10/10 16:13:58
>>234
だから、あげるな
236デフォルトの名無しさん:04/10/10 16:18:25
は?
237デフォルトの名無しさん:04/10/10 17:11:58
ネタスレが本スレより上にあったら問題だろ
238デフォルトの名無しさん:04/10/10 17:14:33
文句言うなら削除依頼出して来いよ
239デフォルトの名無しさん:04/10/10 19:14:02
ネタスレなんだからどこにあっても問題なし。
240デフォルトの名無しさん:04/10/10 19:21:54
(´・ω・`)ショボーン
241デフォルトの名無しさん:04/10/10 19:22:40
>>219
比較したけりゃ(ch & 0xFF) == 0xFF
242デフォルトの名無しさん:04/10/12 15:27:37
+-*/をつかわないで1ずつ加算していくスマートな方法ってあるかなぁ
全加算器で考えたら(@o@)状態...
243デフォルトの名無しさん:04/10/12 17:37:55
まず命令アドレスにその変数を代入します。そして
次の命令で命令アドレス読み直します。アドレスが
少しずつ増える特徴をうまく応用してください。
244デフォルトの名無しさん:04/10/12 18:19:24
>>242
i++
245242:04/10/12 18:23:46
>>243
糸口がつかめたような気がします。
ありがとうございます。

いままでに1~7(4bit)を全加算器関数を4回コールx7
してあげるのは作りれたのですが、これだと
nbitまで演算可能なカウンタ拡張など改善の余地ありです。

書いてる途中で気がついたのですが
Part 92がlatestなのですね。
246デフォルトの名無しさん:04/10/12 18:28:49
ネタを本スレ(part92)に書かれても困る。
247デフォルトの名無しさん:04/10/12 18:33:15
>>242
これでどう?

#include <stdio.h>

unsigned Inc(unsigned n, unsigned c)
{
    return n & c ? Inc(n & ~c, c << 1) : n | c;
}

int main(void)
{
    int i, a = 0;

    for (i = 0; i < 100; i++) {
        printf("%d\n", a);
        a = Inc(a, 1);
    }
    return 0;
}
248いなむらきよし:04/10/12 19:40:12
>>247
30点だキケー!
249デフォルトの名無しさん:04/10/12 19:47:51
__asm {
  mov  ecx, num ; num=+1したい変数
  inc   ecx
  mov  num, ecx
}

一応+は使ってない・・・ダメ?
250デフォルトの名無しさん:04/10/12 19:50:27
>>249
>ダメ?
自分の心に聞け。

分かるだろ?
251デフォルトの名無しさん:04/10/12 22:45:05
>>247 とほとんど一緒だけどちょっと違う

unsigned inc(unsigned a)
{
if(a & 1){
return inc(a >> 1) << 1;
}else{
return a | 1;
}
}
252デフォルトの名無しさん:04/10/12 22:56:10
#include <io.h>
#include <fcntl.h>

unsigned inc()
{
return open("a", O_CREAT | O_APPEND);
}
253デフォルトの名無しさん:04/10/12 23:07:52
      __
    i<´   }\   , - 、
   ヽ.._\./  .ンく r-兮、 __
    ∠`ヽ.! /   ヾニEヲぐ ,ゝ->    さすがゴッグだ、
   /_`シ'K-───‐-、l∠ イ       ネタ書きこに反応無くても
   l´__,/l\、_ ̄0¨0)゙@Yヘ, -┤       何ともないぜ
.    l'___|⌒ヾ''ー==、ーr='イ i二|       
   / .」   i   /./7r‐く  lー!
.   f.  ヽ‐i人.∠'<   _i. l,.-ゝ.
    トiヘヘ「ト〈      `X  トレi7__|
   〉ト:トハj`! i.    /  トー┤lルj,リ
  /‐+----+‐l    iー--i---ヾ'〃
.  l_i____i__|   |___i,__i_|
254デフォルトの名無しさん:04/10/12 23:49:57
>>247さん
i++;使ってよいななら
printf("%d\n",i);
で済んでしまうのでは?
255デフォルトの名無しさん:04/10/13 01:07:07
>>254
アフォか。ただの動作確認だろ。
aのインクリマンコには使われていない。
256デフォルトの名無しさん:04/10/13 01:09:33

.        /~ヽ   /~~ヽ
.        |  |i _∧ゝ ノ
..       ノ ノ ;´Д`)/
.      ( ノ     ソ その手があったか!
..       ヽ      ヽ
.        \      \
.          \      \
      _   /   鬱   .\ _
    /ミ (⌒Y.   / ̄.\  .\ ミヽ
        ̄\ ,_ _,/     \,_ _,ノ
257デフォルトの名無しさん:04/10/13 06:21:03
+-*/をつかわないでと言っているんだから++は使って構わないのでは。
258デフォルトの名無しさん:04/10/13 06:23:22
+=
259デフォルトの名無しさん:04/10/13 10:34:47
>>252
自分のプログラムで使ってみたら時々数字が飛ぶんですけど・・・
260デフォルトの名無しさん:04/10/13 11:47:27
必要以上にハンドルが消費されるのか。
261デフォルトの名無しさん:04/10/14 02:14:32
構造体の配列を用意したいのですが、数が未定です。
このような場合はどのように書くといいのでしょうか。
262デフォルトの名無しさん:04/10/14 02:16:17
>>261
mallocを使う
263デフォルトの名無しさん:04/10/14 02:24:22
ヘルプで文字列の場合が書いてありましたが、構造体で書こうとすると
わからなくなります。

mallocを使う注意点としては、必要となるメモリの大きさを知ることだと思うのですが、
よくわかりません。
264デフォルトの名無しさん:04/10/14 02:25:32
>>263
233個のstruct kozotaiの配列をつくりたいならmalloc(sizeof(struct kozotai)*233)
265デフォルトの名無しさん:04/10/14 02:28:22
即レスありがとうございます。

メモリを確保するとき、数が未定なんです(例でいったら233)。
で、それでどうしていいか困っています。
266デフォルトの名無しさん:04/10/14 02:29:13
233を変数にする
nならmalloc(sizeof(struct kozotai)*n)
267デフォルトの名無しさん:04/10/14 02:29:49
mallocは引数がコンパイル時定数である必要はないから
普通に計算して渡せばいいよ。
268デフォルトの名無しさん:04/10/14 02:33:58
ありがとうございます。
もし、数が確保するときには計算できなくて、(何個必要になるかわからない)
確保した後でその数がわかるという場合はどうすればいいのでしょうか。
269デフォルトの名無しさん:04/10/14 02:34:53
>>268
とりあえず適当な大きさで確保しておいて、足りなくなったら泣きながらreallocでサイズを変更する。
270デフォルトの名無しさん:04/10/14 02:43:56
「泣きながら」がミソ
271デフォルトの名無しさん:04/10/14 02:44:27
reallocですね。ありがとうございます。調べてみます。
272デフォルトの名無しさん:04/10/14 23:19:15
そこまでやるなら連結リストにするとか
用途によるけど
273デフォルトの名無しさん:04/10/15 13:47:51
>>272
typedef struct tagListChar{
    char ch;
    struct tagListChar *next;
} LCHAR;
274デフォルトの名無しさん:04/10/15 16:02:39
if(0255 != '\255')
275デフォルトの名無しさん:04/10/17 19:47:29
276デフォルトの名無しさん:04/10/21 17:12:15


このスレは保守しておいた方がいいんだろうか…
277デフォルトの名無しさん:04/10/21 17:30:15
>>276
地獄におちろ
278デフォルトの名無しさん:04/10/22 04:35:35
>>277
ぬるぽにおちろ
279デフォルトの名無しさん:04/10/23 05:26:38
>>278
ガッ
280デフォルトの名無しさん:04/10/31 17:51:36
281デフォルトの名無しさん:04/10/31 18:06:57
続きをやるぞ。age!
282デフォルトの名無しさん:04/10/31 18:07:55
とりあえず、freeがいらないといっている奴は、
C言語の規格書からプログラム終了時にOS依存ではなく、
C言語として必ずメモリが解放されると記述している場所を示せ。
283デフォルトの名無しさん:04/10/31 18:08:23
私はもうやらない。
あ~疲れた。
いーちぬーけたー
284デフォルトの名無しさん:04/11/01 00:36:03
おまえらaborの前とかexitの前とかでもfreeしてますか?
285デフォルトの名無しさん:04/11/01 12:01:51
abor?
286デフォルトの名無しさん:04/11/01 14:02:44
(゚Д゚)アボァ
287デフォルトの名無しさん:04/11/01 14:10:19
>>284
多少でも構造化していれば、exitとfreeが並んでいたりしないだろう。
free以降もまだプロセスが続くか、すぐにexit/abortするかなんて考えて関数書かない。
288デフォルトの名無しさん:04/11/01 15:09:48
爆縮の仕方を教えて下ちい?
289デフォルトの名無しさん:04/11/02 05:12:04
C++はCに比べてどのくらい遅いですか?

typedef struct { int prop; } tst;
int tst_method(tst* p) { return p->prop; }
tst* p = (tst*)malloc(sizeof(tst));

class tst { public: int prop; int method() { return prop; } };
tst* p = new tst();

class tst { public: int prop; virtual int method() { return prop; } };
tst* p = new tst();

とそれぞれ別ファイルで作ってみて10000000回くらいのループの中で
 p->prop = ループカウンタ;
 p->method(); または tst_method(p);
などとしてみたら最適化無しで実行時間が↓、
 gccでコンパイルしたstruct版 350
 g++でコンパイルしたclass版 350
 g++でコンパイルしたvirtual版 440
O2の最適化では↓でした。
 gccでコンパイルしたstruct版 50
 g++でコンパイルしたclass版 50
 g++でコンパイルしたvirtual版 250
C++はvirtual使わなかったら速度はCとあまり変わらなかったりしますか?
290デフォルトの名無しさん:04/11/02 05:26:00
C++がどのように実装されてるか調べりゃわかるだろ
291デフォルトの名無しさん:04/11/02 09:31:24
ここはCのスレだ
292デフォルトの名無しさん:04/11/02 09:38:42
つーか、ネタスレ?
293デフォルトの名無しさん:04/11/02 09:39:25
>>291
違う。ネタスレだ。
294デフォルトの名無しさん:04/11/02 12:44:17
カスタムコントールってどうやって作るの?
とりあえず、CEditから派生させてCEditExを作りました。
(1)どうやってCEditViewに結びつけるの?
(2)どうやってダイアログに貼り付けるの?
295デフォルトの名無しさん:04/11/02 12:46:39
>>294
50回ほど氏んでこい
296デフォルトの名無しさん:04/11/02 21:06:38
#include <stdio.h>
#include <stdlib.h>

/*****************************************************************************/
typedef struct {int x; int y;} def_in_swap;
typedef struct {int x; int y;} def_out_swap;

def_out_swap swap(def_in_swap in) {
def_out_swap out;

out.y = in.x; out.x = in.y;
return out;
}
/*****************************************************************************/
/*****************************************************************************/
int main(void ){
def_in_swap in;
def_out_swap out;

in.x = 0; in.y = 100;
out = swap(in);
printf("in x = %4d y = %4d: ", in.x, in.y);
printf("out x = %4d y = %4d\n", out.x, out.y);

in.x = 90; in.y = 10;
out = swap(in);
printf("in x = %4d y = %4d: ", in.x, in.y);
printf("out x = %4d y = %4d\n", out.x, out.y);

return EXIT_SUCCESS;
}
と言うコーディングスタイルを貫きたいのですが問題ありますか?
297デフォルトの名無しさん:04/11/02 21:12:57
>>296
>コーディングスタイルを貫きたい

目的意識からズレてる香具師に何言っても無駄
俺の職場に来たら攻撃モードロックオン
298大原ゆき:04/11/02 21:18:45
>>296
>>297みたいな恐いおにいさん(おっさん)と目をあわせちゃダメよ

ところで、どのあたりが独自スタイルなのかな。。

えと、同じ内容の構造体なのに分ける必要性ってあるの?
将来def_in_swapとdef_out_swapの中身は変わるの?
299デフォルトの名無しさん:04/11/02 21:20:06
>>296
あんたはスレも選べない知能の低い人間だ
そのうち世間がお前を抹殺するだろう
300デフォルトの名無しさん:04/11/02 21:20:50
>>296
def_はうざい、意味なし。
/***...***/もせっかく書くなら関数の説明とか入れとけ。
多少奇天烈なスタイルではあるけどどうしてもというなら貫いとけ。
301デフォルトの名無しさん:04/11/02 21:31:47
>>296です。
入力と出力を見た目に分けた方が分かりやすいと思ったのね。
302デフォルトの名無しさん:04/11/02 21:34:12
>>301
論外。そんなことやり始めたら
typedef int pos_x;
typedef int pos_y;
とかきりがない。
303デフォルトの名無しさん:04/11/02 21:46:26
>>296です。
補足すると関数は上からデータを
入れ下から出すのが自然だと思うとです。
304デフォルトの名無しさん:04/11/02 21:54:06
>>303
いいかげんに氏んでくれないかな
305デフォルトの名無しさん:04/11/02 21:58:18
>>303
ヒロシです のつもりか?お前はネタも文も面白くない。
チラシの裏にでも書いてニヤニヤしてろ。このウジムシ野郎。
306デフォルトの名無しさん:04/11/02 22:44:28
 (=゜ρ゜=)ボヘーー
307デフォルトの名無しさん:04/11/02 23:23:16
おまえらの書いた凄いプログラムを言ってみろよ。
どうせパクリか出来そこないだろ。
308デフォルトの名無しさん:04/11/02 23:25:47
>>307
このスレが気に入らないのなら削除依頼出して来い。
309デフォルトの名無しさん:04/11/02 23:32:34
#include <stdio.h>

int main()
{
  printf("Hello world.\n");
  return 0;
}

凄いプログラムだろう
310デフォルトの名無しさん:04/11/02 23:41:39
#include <sugoi.h>
SugoiResult Sugoi_Main() {
return Sugoi_Run();
}
311デフォルトの名無しさん:04/11/03 00:36:05
main()
{
while(1) fork();
}
312デフォルトの名無しさん:04/11/03 01:30:15
main(){
void *ptr;
__asm {
lea eax,main
mov ptr,eax
}
ptr();
}
313デフォルトの名無しさん:04/11/03 01:37:12
#include <stdio.h>
main()
{
/* 関数は明日17:00までに田中が作る。*/
}

/**/
314デフォルトの名無しさん:04/11/03 01:43:34
    / ̄ ̄ ̄ ̄ ̄ ミ
    /   ,――――-ミ
  /  /  /   \ |
  |  /   ,(・) (・) |
   (6       つ  |
   |      ___  |  / ̄ ̄ ̄ ̄ ̄ ̄ ̄
   |      /__/ / <  作らねーよ!
 /|         /\  \_______
315田中:04/11/03 10:37:56
#include <stdio.h>

void subcontract()
{
  /* 関数は明日15:00までにドラえもんが作る。 */
}

main()
{
  subcontract();
}



作ったぜ
316デフォルトの名無しさん:04/11/04 02:31:06
質問です。
二次元配列の構造体って
struct a{

}bc[x][y];
じゃできないんですけど、どうしたらいいですか?
317デフォルトの名無しさん:04/11/04 02:40:07
>>316
氏ねばいいと思うよ
318デフォルトの名無しさん:04/11/04 02:44:09
初心者なんでお願いします。
319デフォルトの名無しさん:04/11/04 02:49:33
俺はどんな奴でも容赦しない・・・・消えろ
320デフォルトの名無しさん:04/11/04 02:50:23
まじたのむ~~~!
321デフォルトの名無しさん:04/11/04 02:50:38
>>318
ネタスレに書いても、ネタしか還ってこないのは当たり前だよ。
322デフォルトの名無しさん:04/11/04 02:52:33
どこにかけばいいんだ~?
323デフォルトの名無しさん:04/11/04 02:53:38
>>322
チラシの裏にでも書いてろ
324デフォルトの名無しさん:04/11/04 02:55:30
ぉぃ。
325デフォルトの名無しさん:04/11/04 09:40:38
書いたあるいはぱくったプログラムはちゃんとテストしていますか?
ユーザにプログラムが間違っていることを証明しろと言ってませんか?
326デフォルトの名無しさん:04/11/04 10:23:23
ネタスレでマジレスすると
基本的にはバグ取りや堅牢性の確保はプログラマの責任。
しかしユーザーが使って初めて出てくるバグもある。
ひとによってはプログラマが予想しない使い方をするから。
327デフォルトの名無しさん:04/11/04 19:43:00
>>316
それは構造体の二次元配列だ。

ところで、何が「できない」んだ?
これは煽りでも何でもなく技術屋の資質だぞ【質問のしかた】は。
下手な奴は容赦なく捨てられる、明日のメシに直結の死活問題だ。
笑い事じゃなく憶えるしかないんだよ。わかるか?
328デフォルトの名無しさん:04/11/04 20:05:25
>>327
マルチにマジレスすんなボケ
329デフォルトの名無しさん:04/11/04 20:12:38
>>327
あ、何か悪いのかよ?
あんた何の権限で俺にそんな命令できるんだ?
後学のため根拠法令でも聞こうか。
「俺の気分」法とかだったらしばくぞ。
330デフォルトの名無しさん:04/11/04 20:16:43
祭りデスカイ?
331デフォルトの名無しさん:04/11/04 20:16:57
>>329
後学はね、こうがくって読むんだよ
ごがくなんて読んでるわけじゃないよね?
332デフォルトの名無しさん:04/11/04 20:24:37
329だ。すまん、ミスった
s/>>327/>>328/
333デフォルトの名無しさん:04/11/04 20:27:37
ここはテメエ様のストレス発散所じゃないんだよ
334デフォルトの名無しさん:04/11/04 20:39:45
>>333
>>333

ゾロ目でご苦労だったな
335デフォルトの名無しさん:04/11/04 20:44:29
どう痛しまして
336デフォルトの名無しさん:04/11/04 21:45:22
>>335
>>333

ボケつーた事実はもう消えない
337デフォルトの名無しさん:04/11/05 04:35:12
まあ全部違うやつなんだがな
338デフォルトの名無しさん:04/11/05 04:44:41
ネタスレだけあってバカばっかりだな
339デフォルトの名無しさん:04/11/05 09:57:53
同じようなプログラムをたくさんの人が書いてるのは無駄ではないでしょうか?
340コピペ推奨:04/11/05 10:08:55
■ユダヤと朝鮮人の蛮行

○2チャン運営は創価と統一が乗っ取った!....朝鮮宗教派遣の2チャン運営が削除
http://ex5.2ch.net/test/read.cgi/accuse/1096781624/l50

○2チャン運営は、創価と統一の朝鮮人脈に乗っ取られた!....宗教鮮人がスレスト
http://qb5.2ch.net/test/read.cgi/operate/1096699253/l50
341コピペ推奨:04/11/05 10:24:16
http://www.geocities.com/naverchat/CyberTerrorism01/
特にヨーロッパ・アメリカ・オーストラリアなど先進国たちの一部ネチズンたちはチャット空間で韓国人だと明らかにすれば弾き出す
とか集団的に退場して捨てるなど韓国人に対して反感を持っていることで現われた.
バンクフェワンドルの海外ペンパル(http://www.prkorea.com/vankop10_5.html)と海外チャットサイト訪問経験(http://www.prkorea.com/vankop10_4.html)
を打ち明けた掲示板には外国ネチズンたちに ‘門前薄待’当ぎりネチズンたちの事情が並んでいる.
海外チャットを始めてからひと月頃なったと言うバンクフェワン精米領さんは
“韓国出身だと言えば有り難がらない場合が 70%ほどされた”と “その時ごとに気持ちが悪かった”と打ち明けた
342デフォルトの名無しさん:04/11/07 21:52:12
下から二番目だけ、ポインタが約20ほど先に進みます
なぜでしょう?

えろい方、よろしくお願いします。

#include <stdio.h>

int main(void)
{
char str[20];
printf("%p\n", str);
printf("%p\n", &str[0]);
printf("%p\n\n", &str); /* OK */

printf("%p\n", str + 1);
printf("%p\n", &str[0] + 1);
printf("%p\n", &str + 1); /* NG */
printf("%p\n", &(*(str + 1)));
return (0);
}
343デフォルトの名無しさん:04/11/07 21:55:03
>>342
ネタスレ上げるなクソ野郎
344デフォルトの名無しさん:04/11/07 21:58:40
>>342
上から型はchar[20]、char *、char (*)[20]、char *、char *、
char (*)[20]、char *となる。char[20]へのポインタをインクリメント
すればそのサイズである20だけポインタの値が進むのは道理。
345デフォルトの名無しさん:04/11/07 22:10:48
なるほど!(豆球点灯)

型を意識すると
このへんのごちゃごちゃがすっきりするのですね。

どうもありがとうございます。
また、くだらない質問で失礼しました。

sage
346デフォルトの名無しさん:04/11/07 22:14:09

      ∧_∧
     ( ´∀` )  おまえか、人のすることにごちゃごちゃ難癖ばっかりつけてまわってるゴミ虫は
     /⌒   `ヽ
    / /    ノ.\_M
    ( /ヽ   |\___E)
    \ /   |   /  \
      (   _ノ |  / ウワァァン ヽ
      |   / /  |ヽ(`Д´)ノ|
      |  / /  ヽ( >>343)ノ
      (  ) )     ̄ ̄ ̄
      | | /
      | | |.
     / |\ \
     ∠/
347デフォルトの名無しさん:04/11/07 22:44:37
どこのスレにもいるんですよ。age書き込みを見ると発狂する人が。
348デフォルトの名無しさん:04/11/07 22:48:09
今更ageもsageも関係ないとおもわね?
専ブラ率多いだろ
349デフォルトの名無しさん:04/11/07 22:59:33
ageもsageも2ch住人数が少ない時は意味があると思うけれど、
多くなると関係ないね。
専用ブラウザ使っている人が多いとはいえ、新規の人はIEなどのWEBブラウザで
見て来るわけだから、ageられているような活発なスレでないと掲示板での
コミュニケーションを身近に感じないだろうね。
もっとも、現状ではageが議論の活発さを必ずしも意味しないというのは住人の
マナーの悪さ故だと思うけれど。
350デフォルトの名無しさん:04/11/07 23:05:17
以降、質問したいなら本スレで。
http://pc5.2ch.net/test/read.cgi/tech/1099212476/

雑談・ネタはここでオッケー。
351デフォルトの名無しさん:04/11/07 23:07:44
hoodgっていう決定木のアルゴリズムのc言語のプログラムどっかありませんか?
352デフォルトの名無しさん:04/11/07 23:09:25
>>351
ネタスレ上げるなクソ野郎
353デフォルトの名無しさん:04/11/07 23:13:35
やっと本来するべきことに気付いてくれたと思った矢先、また堂々巡りを始めやがった・・・ ヤレヤレ
354デフォルトの名無しさん:04/11/07 23:15:17
>>353
ネタスレ上げるなクソ野郎
355デフォルトの名無しさん:04/11/07 23:19:03
>>354
ネタスレ下げるなクソ野郎
356デフォルトの名無しさん:04/11/08 00:01:04
>>357
ネタスレ上げるなクソ野郎
357デフォルトの名無しさん:04/11/08 00:25:43
>>358
ネタスレ下げるなクソ野郎
358デフォルトの名無しさん:04/11/08 00:33:11
↑あげてやったぞ。這いつくばって感謝汁!
359デフォルトの名無しさん:04/11/08 00:43:29
orz
360デフォルトの名無しさん:04/11/08 02:15:24
ここには >>351 に答えられるレベルの人はいないと。
361デフォルトの名無しさん:04/11/08 11:17:53
うん、居ない
だから質問スレへ逝け
362デフォルトの名無しさん:04/11/08 16:24:49
12*12+12*12みたいな文字列を
式に直して計算するにはどうしたらよいでしょうか?
363デフォルトの名無しさん:04/11/08 16:26:39
>>362
ネタスレ上げるなクソ野郎
364デフォルトの名無しさん:04/11/08 16:27:54
>>363
うるせー仕切んなjava厨
365デフォルトの名無しさん:04/11/08 16:32:22
>>362
www.pro.or.jp/~fuji/puzzlestudy/recursive/expr6.c
366デフォルトの名無しさん:04/11/08 16:34:06
Google の電卓機能はどなたでも簡単にご利用いただけます。
検索ボックスに計算式または数値を入力し、
Enter キーまたは Google 検索ボタンをクリックするだけです。
この電卓機能は、基礎的な計算 ( 5+2*2 や 2^20 など ) はもちろん、
複雑な計算 (e^(i pi)+1) も実行することができます。
そのほか 16 進数や 2 進数などの進数法などにもご利用いただけます。
なお、数字は半角で入力してください。
367デフォルトの名無しさん:04/11/08 17:59:41
>>362
分解して計算しろ
368デフォルトの名無しさん:04/11/08 23:42:39
すいません。教えてください。

for (i = 0; i < N; i++)
{
if (flag_a)
{
処理A;
}
if (flag_b)
{
処理B;
}
}

ループの中で、flag_aとflag_bに変化は無いとします。
上記の様なプログラムだと、毎回フラグの判定をするので
効率が悪いのでしょうか?
それともコンパイラが最適化してくれるので気にしなくていいのでしょうか?


369368:04/11/08 23:44:10
気にするとなると、自分の知識ではこうなるのですが、プログラムとして
かっこ悪すぎます。

if (flag_a){
if (flag_b){
for (i = 0; i < N; i++){
処理A;
処理B;}
}
else {
for (i = 0; i < N; i++){
処理A;}
}
}
else{
if (flag_b){
for (i = 0; i < N; i++){
処理B;}
}
}
370デフォルトの名無しさん:04/11/08 23:54:47
気にするな
371デフォルトの名無しさん:04/11/09 01:16:37
関数に切れよ
372368:04/11/09 07:54:16
>>371
つまり気にしろということですか?
関数にしてもやっぱりすっきりしないと思うのですが・・・

if (flag_a){
if (flag_b){
func_a_b ();
}
else{
func_a ();
}
}
else{
if (flag_b){
func_b ();
}
}

373368:04/11/09 07:55:06
void func_a_b (void){
for (i = 0; i < N; i++){
処理A;
処理B;}
}

void func_a (void){
for (i = 0; i < N; i++){
処理A;}
}

void func_b (void){
if (flag_b){
for (i = 0; i < N; i++){
処理B;}
}

func_a_b は、func_a と func_b でも大丈夫ですけど、そうすると無駄に for ループを
回すことになりますし・・・
374デフォルトの名無しさん:04/11/09 11:14:44
>>373
気にするな。
375デフォルトの名無しさん:04/11/09 11:22:40
1億回ぐらい回しても大して違わないような気がする。
遅いと感じたら最適化やればいいんじゃね。
376デフォルトの名無しさん:04/11/09 15:59:27
教えてください。
(1)calloc(500, sizeof(unsigned long))とmalloc(sizeof(unsigned long)*500)は0クリアされるかされないかの違いですか?
(2)下記のa)、b)、c)は結果的にファイルに書かれる内容は同じですか?
int num[5];
a)fwrite(num, sizeof(int), 5, fp);
b)fwrite(num, sizeof(num), 1, fp);
c)for (int i=0; i<5; i++){
fwrite(&num[i], sizeof(int), 1, fp);
}
(3)for (int i=0; i<5; i++){
fscanf(fp, "%d", num[i]);
}
のようにiがインクリメントされていくとファイルポインタは次の行の先頭に移っていくのですか?ファイルポインタの動きを教えてください。
377デフォルトの名無しさん:04/11/09 16:06:05
>>376
ここはネタスレなので質問は質問スレへ。
378デフォルトの名無しさん:04/11/09 16:27:33
>>376
(1)いいえ
malloc()だけではメモリの割付が起きなくてスワップは発生しませんが、
calloc()では0クリアするためにスワップが発生する場合があります。
即ち、malloc()+memset()でほぼ同じになると言うことです。
(2)いいえ
その後、fflush()かfclose()で内部バッファがフラッシュされるまでに何が起きるかによって変わります。
(3)いいえ
fscanf()では空白を見つけたところでファイルポインタが止まります。
即ち、数値の後に改行がなければ次の行には移りません。
379デフォルトの名無しさん:04/11/09 22:09:54
>368
コンパイラの最適化はあまり期待できないかもしれないが
そんなものはCPUが最適化する。
比較命令は消せないが、分岐予測とかって言葉は聞いたことあるだろ?
その上、最近は結果的に冗長になる比較命令すら実行せずに済ませようという動きすらあるらしい。
http://pc.watch.impress.co.jp/docs/2004/1108/kaigai132.htm

ところで、ソース上のエレガントさを求めるなら
仮想関数や関数ポインタなどを使ってみるのも手だろう。

どんな手法にしろ、ほぼ間違いなく「速度的には大差ない」けどな。
380デフォルトの名無しさん:04/11/09 22:14:46
補足。
仮想関数を使うってのは、要するにTemplate Methodにして、
条件によって実体を選択するってことな。
381デフォルトの名無しさん:04/11/09 22:15:22
>>368
ある特定の最適化を前提にしたコーディングは
処理系依存であるという認識はあるか?
382デフォルトの名無しさん:04/11/09 22:29:47
>>381
ネタスレ上げるなクソ野郎
383デフォルトの名無しさん:04/11/09 22:33:44
>>381
>>379を100回声に出して嫁、バカ
384デフォルトの名無しさん:04/11/09 22:39:28
>>383
処理系とは何かをそこで500回言え
385デフォルトの名無しさん:04/11/09 22:51:37
>>384
ネタスレ上げるなクソ野郎
386デフォルトの名無しさん:04/11/09 22:53:49
その程度の処理で気にするのは杞憂。
分岐が増えてきたら、管理上のことも考慮して、
関数ポインタの配列を使ってディスパッチすればいい。
387デフォルトの名無しさん:04/11/09 23:01:05
>>385
うっせえ、死ね≠氏ね
388デフォルトの名無しさん:04/11/09 23:04:19
>>387
ネタスレ上げるなクソ野郎
389デフォルトの名無しさん:04/11/09 23:05:19
だから何だよw
390デフォルトの名無しさん:04/11/09 23:06:15
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
391デフォルトの名無しさん:04/11/09 23:06:36
ま、俺がsageるまでそうやってろよ
自演しても無駄だし
絶対にsageてやんねーw
392デフォルトの名無しさん:04/11/09 23:07:58
裸になってソフト書くと調子いい人いますか?
393デフォルトの名無しさん:04/11/09 23:08:26
>>391
スレ埋め立てに利用されてる事もわからないのか。
394デフォルトの名無しさん:04/11/09 23:10:16
>>393
言うな
395デフォルトの名無しさん:04/11/09 23:30:17
>>393
おー、考えたなw
396デフォルトの名無しさん:04/11/09 23:36:16
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
397デフォルトの名無しさん:04/11/10 00:04:11
UNIX GCCでコンパイルして正常に実行できたファイルが、
Win LSI-Cじゃ正常に実行できません。
LSIではexit関数の宣言が無いためにint型にされてしまうのですが、
それが原因でしょうか?
398デフォルトの名無しさん:04/11/10 00:07:28
>>397
解決しました。
でも、
#include <stdlib.h>
これ入れてなくてもGCCでは正常にコンパイルされてた気がします。
399デフォルトの名無しさん:04/11/10 00:09:01
>>397
ネタスレ上げるなクソ野郎
400デフォルトの名無しさん:04/11/10 00:11:45
お、また元に戻ったなw
俺はいつ寝るかわからんけど
まあ一晩中張り付いてろや
401デフォルトの名無しさん:04/11/10 00:12:34
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
だから何だよw だから何だよw だから何だよw だから何だよw だから何だよw
402デフォルトの名無しさん:04/11/10 00:12:50
>>397
LSI-Cって、これか?
http://www.lsi-j.co.jp/product/c80-36/index.html

ちゃんとexit()あるぞ。
http://www.lsi-j.co.jp/product/c80-36/parts/4.html

#include <stdlib.h>
してる?
あと、gccで -Wallオプションつけて、Warnning無くすようにしたら
いいことあるかも。

gcc -Wall -o hoge hoge.c
403デフォルトの名無しさん:04/11/10 00:13:08
削除依頼の出し方もわからん低脳 (プ
404デフォルトの名無しさん:04/11/10 00:16:06
>>402
それです。
#include <stdlib.h>
#include <ctype.h>
この二つが無かったため、正常に動かなかったようです。

gccでは-oしかつけませんでした。
それでもキチンと動いたんですが・・・
405デフォルトの名無しさん:04/11/10 00:18:20
>>403
自作自演はほどほどに。
ここでしか構って貰えない人生って、寂しくない?
406デフォルトの名無しさん:04/11/10 00:21:09
>>405
自演はてめーだろ
俺はsageねーつってんだよ ぼけ
407デフォルトの名無しさん:04/11/10 00:23:29
>>406
気持ち悪い。。。
408デフォルトの名無しさん:04/11/10 00:27:19
>>407
自演乙
409デフォルトの名無しさん:04/11/10 00:28:27
>>404
gccは、特に標準関数に関していろいろ気をきかせてやってくれるはず。
とりあえず、-Wallつければ、「型あってねーぞゴルァ」とか
怒ってくれるから間違いもすくなくなるはず。
410368:04/11/10 00:38:23
>>379
ありがとうございました。
あまり気にせず、自分の好きなスタイルで書けばいいんですね。

> 比較命令は消せないが、分岐予測とかって言葉は聞いたことあるだろ?
いや、すいません。
想像されているよりもずっと低いレベルなもんで・・
411デフォルトの名無しさん:04/11/10 07:16:52
C言語の参考書を買ったのですが
サンプルプログラムを実行しようとするとよくエラーが出ます
具体的に言うと
GetStockObject(WHITE_BRUSH) を (HBRUSH)GetStockObject(WHITE_BRUSH)
に直さなくちゃいけなかったり
WM_MOUSEWHEEL を使う前に #define WM_MOUSEWHEEL 0x020A
を定義しなくちゃいけない等です
これはバージョンの違いでしょうか?それとも単に参考書が間違ってるのでしょうか?
教えてください
412デフォルトの名無しさん:04/11/10 14:36:48
コンパイラのバージョンが新しすぎるんだよ、きっと。
413デフォルトの名無しさん:04/11/10 16:29:51
>>411
WM_MOUSEWHEELはWindows 98/NT4から使えるようになったメッセージだから、
windows.hをインクルードする前に次のうちどっちかを書く必要がある。
#define _WIN32_WINDOWS 0410 // Win98以上で動くプログラムの作成時に
#define _WIN32_WINNT 0x400 // こっちはWinNT4以降で動くプログラムの作成時に
414411:04/11/10 22:37:19
なる程、おかげ様で解決しました。ありがとうございます
415デフォルトの名無しさん:04/11/11 21:51:59
いまからCを勉強しようと思うんだが、具体的にCで何ができるか
おしえてくれないか?
もう習得済みなおまいら、是非とも教えてくれ!!
416デフォルトの名無しさん:04/11/11 22:06:25
>>415
ピンからキリまでできます。
例えば、モニタ上にただhello world!とだけ表示されるような簡単なものから
Windows自体まで作ろうと思えば作れます。
貴方がおおよそ目にするようなプログラムのほとんどをCで書くことが可能です。
可能性はあるのですがそれが「書きやすい」のかどうかというのが重要になって
くるのです。
いかに大規模なプログラムをまちがいなく(バグがなく)作ることができるか、
または、いかに大規模なプログラムを、これからのことも考えて後の人が理解
しやすいようにできるか、短時間で作れるか、などというような事が重要に
なってくるのです。
そういった点を考慮して、たくさんの言語が生まれていったのです。
一つの完璧なコンピュータ言語というのは未だ作られておらず、現在でも
試行錯誤で言語が作られているのが現状です。
さしあたり、C言語は現在では少し「遅れている」と言われる事が多いでしょう。
417415:04/11/11 22:12:01
>>416
丁寧なレスありがとう!!
なるほど。そこまでできるのか・・・
参考書ちょっとしか読んでなかったから
実感わかなかったんだが、がんがってみるよ!
418デフォルトの名無しさん:04/11/12 05:12:28
自演厨乙
419デフォルトの名無しさん:04/11/12 10:40:26
>>418
なに言っているの? にゃんにゃん
420デフォルトの名無しさん:04/11/12 14:36:20
C言語プログラムは一行いくらで取引されていますか?
421デフォルトの名無しさん:04/11/12 16:40:04
32円です
422デフォルトの名無しさん:04/11/12 17:45:15
えーーーっ、俺のとこなんか21円なのに・・・・・・・・
423デフォルトの名無しさん:04/11/13 10:36:05
うちのところは300円くらいだな
424デフォルトの名無しさん:04/11/13 10:37:22
自演厨乙
425デフォルトの名無しさん:04/11/13 12:02:47
完全な素人ですが、プログラムって1行いくらみたいな感じの契約はあるんですか?
プログラムなんていくらでも行数を稼げると思うのですが。
むしろ同じ内容で短いほうが優秀な気がする。
426デフォルトの名無しさん:04/11/13 12:15:29
if(~~){ ~~~; }

if(~~)
{
  ~~~;
}
427デフォルトの名無しさん:04/11/13 12:24:17
>>426
すげー、それで1200円?
時給60000円くらいは楽勝だな
428デフォルトの名無しさん:04/11/13 12:41:12
if
(
~~
 )
{
  ~~
}
429デフォルトの名無しさん:04/11/13 12:44:55
>>428
すげーや!これで給料2倍だぜ!
430デフォルトの名無しさん:04/11/13 13:08:55
>むしろ同じ内容で短いほうが優秀な気がする。

嘘、邪悪なソースコンテストでも覗いて見るべし
431デフォルトの名無しさん:04/11/13 13:16:23
>>425
本来マ板で聞くべきことだぞ

行数じゃなく結果を売って金をもらう
依頼主は「何行書いてくれ」とは注文してこない
商談では(現状+問題点+要求+納期)に値段をつける
432デフォルトの名無しさん:04/11/13 13:18:58
ネタスレにネタ書いてるだけじゃねえか
おまえばかじゃねえの?
433デフォルトの名無しさん:04/11/13 13:23:38
礼儀知らず
434デフォルトの名無しさん:04/11/13 13:45:01
>>431
素人だな。
435デフォルトの名無しさん:04/11/13 14:07:13
ここをネタスレだと気づいていない香具師がいたとは…
436デフォルトの名無しさん:04/11/13 16:46:59
大文字小文字を区別しないときに良く付く i (stricmpとか)って何の略?
437デフォルトの名無しさん:04/11/13 16:55:51
inpo
438デフォルトの名無しさん:04/11/13 18:13:43
大文字も小文字もIssho
439デフォルトの名無しさん:04/11/13 18:34:44
>>436
ignore case
440デフォルトの名無しさん:04/11/13 20:46:16
441デフォルトの名無しさん:04/11/13 23:27:17
英語で整数と書くときに良く付く int(integerとか)って何の略?
442デフォルトの名無しさん:04/11/13 23:36:17
自分でintegerって買いてるじゃん
443デフォルトの名無しさん:04/11/13 23:40:12
444デフォルトの名無しさん:04/11/13 23:48:45
>>443
uzeeeeeeeeeeeeeeeeeeeeee
445デフォルトの名無しさん:04/11/14 04:06:10
しつもんします。
古い文法だと↓のようなのが通るようです。
これは、どのコンパイラでも通るでしょうか。

#include <stdio.h>

void
auuu(boo)
char *boo;
{
char **nko = &boo;
while (*nko)
puts(*nko++);
}

main()
{
auuu("domo", "kon", "ban", "wan", NULL);
}
446デフォルトの名無しさん:04/11/14 06:30:48
main()
{
auuu("domo", "kon", "ban", "wan", (char*)0);
}
auuu(boo)
char *boo;
{
char **nko = &boo;
while(*nko)
puts(*nko++);
}
447デフォルトの名無しさん:04/11/14 10:43:59
>>425-
ステップ数で数えようよ
448デフォルトの名無しさん:04/11/14 10:52:38
無駄に行数を稼いだプログラムを見る=>二度と契約しない。そしてチクる。
449デフォルトの名無しさん:04/11/14 11:21:54
//
// FuncA(
//   char *prm_a;
//   char *prm_b;
//   int prm_c
// );
//
// 引数(Parameters)
// prm_a: ~~~~(日本語説明)
//     ~~~~(英語説明)
// prm_b: ~~~~(日本語説明)
//     ~~~~(英語説明)
// prm_c: ~~~~(日本語説明)
//     ~~~~(英語説明)
//
// 戻り値(Result)
// ~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~(日本語説明)
// ~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~(英語説明)
//
// 概要(Outline)
// ~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~(日本語説明)
// ~~~~~~~~~~~~~~
// ~~~~~~~~~~~~~~(英語説明)
//

全ての関数にだらだらと説明を書く。更に関数を乱用する。
450デフォルトの名無しさん:04/11/14 11:22:11
2以上の整数nを入力してnが素数かどうかを判定する
プログラムを作りました。他の人が書いたプログラムも見たいです。
お願いします。

#include <stdio.h>

main()
{
int n,answer;

do{

printf("2以上の整数を入力してください>>>");
scanf("%d",&n);

if(n%2!=0 && n%3!=0 && n!=1 || n==2 || n==3){
printf("%dは素数です\n",n);
}
else{
printf("%dは素数ではありません\n",n);
}

printf("続けますか?[yes>>>1 no>>>0]");
scanf("%d",&answer);
}while(answer);
}
451デフォルトの名無しさん:04/11/14 12:45:34
       |
   ぱくっ|
     /V\
    /◎;;;,;,,,,ヽ   そんなエサで
 _ ム::::(,,゚Д゚)::|   俺様が釣られると思ってんのか!!
ヽツ.(ノ:::::::::.:::::::.:..|)
  ヾソ:::::::::::::::::.:ノ
   ` ー U'"U'

#include <math.h>
#define FALSE 0
#define TRUE 1

int prime(int n){
int i,N;

N =(int)sqrt(n);
for( i=2; i<N; i++ ){
if( (n%i) == 0 ) return FALSE;
}
return TRUE;
}
452デフォルトの名無しさん:04/11/14 15:00:50
>>450
21や25はいつから素数になったんだ
453デフォルトの名無しさん:04/11/14 15:12:31
>>450
AKS
454デフォルトの名無しさん:04/11/14 15:14:22
455デフォルトの名無しさん:04/11/14 16:07:02
>>452
っていうか 21 は素数じゃないと判定されるが
456デフォルトの名無しさん:04/11/14 16:10:52
>>452 >>455
とりあえず
if(n%2!=0 && n%3!=0 && n%5!=0 && n!=1 || n==2 || n==3 || n==5){
457デフォルトの名無しさん:04/11/14 16:13:49
49は?
458デフォルトの名無しさん:04/11/14 16:55:07
>>457
じゃあ
if(n%2!=0 && n%3!=0 && n%5!=0 && n%7!=0 && n!=1 || n==2 || n==3 || n==5 || n==7){
これで121まで大丈夫
459デフォルトの名無しさん:04/11/14 17:17:29
>>459
それじゃあ49までだよ
n%2!=0 && n%3!=0 && n%5!=0 && n%7!=0 && n%11!=0 && n!=1 || n==2 || n==3 || n==5 || n==7 || n==11
これで121まで大丈夫
やったね!ボブ!サイコーだよ!
460デフォルトの名無しさん:04/11/14 18:55:51
>>448
ある出向先では注釈が完全なドキュメントになっていたよ
本の行数を数える人がいないのと同じで(ry
461デフォルトの名無しさん:04/11/14 19:04:29
int flg, n, i;
int primemap[] = {2, 3, 5, 7, 11, 13, 17, -1};

for(i=0,flg=n==1?-1:0;flg==0&&primemap[i]>1;i++)flg=n%primemap[i]!=0?0:(n==primemap[i]?1:-1);
if(flg >= 0) puts("n is 素数!!!");
462デフォルトの名無しさん:04/11/14 19:09:27
>>459
こいつかなりアフォ
463デフォルトの名無しさん:04/11/14 19:11:35
>>461
新しい素数を見つけたんならそれを primemap に追加してさらに次を目指しなさい。
464デフォルトの名無しさん:04/11/15 00:25:43
字下げは何文字に設定してる?
465デフォルトの名無しさん:04/11/15 00:27:38
>>464
黙れ基地外
466デフォルトの名無しさん:04/11/15 05:33:21
なんでエラトステネスのふるいを使わないの?
467デフォルトの名無しさん:04/11/15 05:49:03
ここが寝たスレだから。
468デフォルトの名無しさん:04/11/15 17:09:52
Nestleがんがれ!
469デフォルトの名無しさん:04/11/20 13:18:24

470デフォルトの名無しさん:04/11/20 15:36:56
よく考えてみたら&&と||は &と|で十分なのでは?
if (0<a && a<15) は if (0<a & a<15)と同じ。と思ったけど、間違い?
471デフォルトの名無しさん:04/11/20 15:41:02
クマー
472デフォルトの名無しさん:04/11/20 15:46:27
ヌルポー
473デフォルトの名無しさん:04/11/20 16:52:25
1 && 2
ともに0以外(真)なので、真です。

1 & 2
同じビットが立っていないので、0(偽)です。

(A) && (B)
(A)が偽の時、(B)は実行されません。

(A) & (B)
(A)が偽でも(B)は実行されます。
474デフォルトの名無しさん:04/11/20 19:33:15
Visual C++.netを使ってるんですが、
プログラムを打って実行すると、
フォルダに実行ファイルができますよね?
それをクリックして実行すると、
プログラムが終わると同時にコンソール画面が消えちゃうんですが、
何かボタンを押したら消える、とかいうふうにはできないんでしょうか?
475デフォルトの名無しさん:04/11/20 19:38:18
>>474
お前は生きてる価値が無いよ
476デフォルトの名無しさん:04/11/20 19:42:18
つscanf();
てか、コンソールプログラムの為にVCとかアフォなことすな
477デフォルトの名無しさん:04/11/20 19:52:10
ネタスレなんだから相手すんなよ
478デフォルトの名無しさん:04/11/20 19:54:35
>>477
普通にネタじゃないんですが。。

>>476
どもです。
VC以外に使うものがないんですけど。。
479デフォルトの名無しさん:04/11/20 19:57:56
>>478
このスレ頭から読んで空気読め馬鹿
480473:04/11/20 20:01:58
こっち俺俺かよ('A`)
481デフォルトの名無しさん:04/11/20 20:04:11
>>476
getchar()だろ
482デフォルトの名無しさん:04/11/20 20:32:00
これを再利用する?
483デフォルトの名無しさん:04/11/20 20:32:49
>>482
ここでいいんじゃない?
このスレ消費しないと、ずっと残ってるぜ。
484デフォルトの名無しさん:04/11/20 20:35:48
前スレ 975 です
次スレ立てられませんですた
すみません orz
485デフォルトの名無しさん:04/11/20 20:38:19
そうだな。
とりあえずこっちを再利用してさっさと終わらせた方がいいな。
その後で Part 95 でいいだろう。
486デフォルトの名無しさん:04/11/20 20:50:45
やだー、やめてよ。こっちのスレしか読んでない人だって居るんだから。
487停止しました。。。:04/11/20 20:50:58
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
488デフォルトの名無しさん:04/11/20 20:52:38
停止したのか?
489デフォルトの名無しさん:04/11/20 20:52:47
なーんちゃって
490デフォルトの名無しさん:04/11/20 20:52:58
書けるじゃん
491486:04/11/20 20:53:06
はいよ

C言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100951565/
492デフォルトの名無しさん:04/11/20 21:11:17
>>486
せめてスレくらいはまともに立てろよ低脳。
493デフォルトの名無しさん:04/11/20 21:14:16
てか、このスレって何であるんだ?
494デフォルトの名無しさん:04/11/20 21:15:12
誰も削除依頼出さないからあるんだ。
495デフォルトの名無しさん:04/11/20 21:17:10
**************** 糸冬 了 ****************
496デフォルトの名無しさん:04/11/20 22:58:52
**************** 糸冬 了 ****************
497デフォルトの名無しさん:04/11/20 23:09:31
再開
498デフォルトの名無しさん:04/11/20 23:10:24
**************** 糸冬 了 ****************
499デフォルトの名無しさん:04/11/20 23:11:11
**************** 糸冬 了 ****************
500デフォルトの名無しさん:04/11/20 23:14:20
再開
501デフォルトの名無しさん:04/11/20 23:25:19
**************** 糸冬 了 ****************
502デフォルトの名無しさん:04/11/21 07:50:14
**************** 糸冬 了 ****************
503デフォルトの名無しさん:04/11/21 12:45:30
**************** 糸冬 了 ****************
504デフォルトの名無しさん:04/11/21 13:00:51
return(1);
505デフォルトの名無しさん:04/11/21 13:13:07
**************** 糸冬 了 ****************
506デフォルトの名無しさん:04/11/21 13:27:58
returnに無意味な()をつける奴
507デフォルトの名無しさん:04/11/21 13:41:41
**************** 糸冬 了 ****************();
508デフォルトの名無しさん:04/11/21 15:10:23
return 1 | a = 2;
509デフォルトの名無しさん:04/11/21 15:14:32

これで括弧を書きたがる理由を示したつもりだとしたらすげー馬鹿
510デフォルトの名無しさん:04/11/21 15:33:25
これで括弧を書きたがる理由を示したつもりだとしたらすげー馬鹿(-1);
511デフォルトの名無しさん:04/11/21 17:57:52
return 3;
と同じ
512停止しますた。。。:04/11/21 17:58:54
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ

ここは削除依頼出てます
**************** 糸冬 了 ****************
**************** 糸冬 了 ****************
**************** 糸冬 了 ****************
**************** 糸冬 了 ****************

本スレ誘導

C言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100956766/
513デフォルトの名無しさん:04/11/21 18:29:32
てすと
514デフォルトの名無しさん:04/11/21 21:51:32
フェイエノート最高
515デフォルトの名無しさん:04/11/21 22:50:52
火がついたみたい
516デフォルトの名無しさん:04/11/22 09:28:31
517デフォルトの名無しさん:04/11/22 11:14:04
>>511
もっとすげー馬鹿がいた
518デフォルトの名無しさん:04/11/22 12:04:50
return(NULL);
519デフォルトの名無しさん:04/11/22 16:35:19
 return 1 | 2;
これはよくて
 return (1 | a = 2);  (return 1 | a = 2;も同様)
これがまずい理由って何?invalid lvalue in assigmentとなるけど、
a=2の結果:2と1の論理輪を取って3になっていいと思うんだけど。
520519:04/11/22 16:37:34
もう少し試してみたところ、
 return a = 2 | 1;
は大丈夫だった。orは左結合だから、orを取る前にa=2の処理を終わらせとかないと
いけないということかな?
521519:04/11/22 16:41:06
ようやく分かった。K&Rによると|の優先度は=より高い。だから
1 | a = 2とすると(1 | a) = 2という不正な代入処理を行うように
解釈される。これを防ぐ為には1 | (a = 2)としてやればよい、と。
んで、>>520がうまくいった理由は
a = (2 | 1)、すなわちa = 3が計算され、その結果が式の結果として
returnされるからだった。為になるなぁ、このスレ。
522デフォルトの名無しさん:04/11/22 16:42:27
君だけ
523デフォルトの名無しさん:04/11/22 21:19:34
日本公共広告機構はチラシの裏を無地にする事を
あらゆる企業に強制すべきである

と真剣にオモタ
524デフォルトの名無しさん:04/11/22 21:20:12
日本公共広告機構はチラシの裏を無地にする事を
あらゆる企業に強制すべきである

と真剣にオモタ。全裸で。
525デフォルトの名無しさん:04/11/22 21:25:53
使わない人には紙の無駄
526デフォルトの名無しさん:04/11/22 21:49:02
age
527デフォルトの名無しさん:04/11/22 21:51:21
日本公共広告機構はあらゆるSPAMチラシの回収をすべきである
528デフォルトの名無しさん:04/11/22 21:57:05
日本公共広告機構はあらゆるSPAMチラシの回収をすべきである。全裸で。
529デフォルトの名無しさん:04/11/22 23:14:49
>>528
全羅道出身のひと?
530停止しますた。。。:04/11/23 13:26:21
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ

ここは削除依頼出てます
**************** 糸冬 了 ****************
**************** 糸冬 了 ****************
**************** 糸冬 了 ****************
**************** 糸冬 了 ****************

本スレ誘導

C言語なら俺に聞け! Part 95
http://pc5.2ch.net/test/read.cgi/tech/1100956766/
531デフォルトの名無しさん:04/11/23 13:41:16
Test
532デフォルトの名無しさん:04/11/23 17:37:39
配列Tを
T[N][N]としたんですが このようなエラーメッセージがでました。

declaration of `T' as multidimensional array must have
bounds for all dimensions except the first

これってなんですか?教えてください。
533デフォルトの名無しさん:04/11/23 17:42:04
なんでマルチポストする
534デフォルトの名無しさん:04/11/23 17:42:18
>>532 こっちはネタスレ。本スレ逝け。ソース持ってな。
535デフォルトの名無しさん:04/11/23 19:56:39
640 :デフォルトの名無しさん :04/11/23 19:43:16
>>616
配列って定数でしかサイズ指定できないだろ
どうやって動かしたんだ?


641 :デフォルトの名無しさん :04/11/23 19:50:51
>>640
C99では許可されている


ワロタ
536デフォルトの名無しさん:04/11/29 00:16:24
stableなスレはこちらですか
537デフォルトの名無しさん:04/11/29 00:25:14
stableすぎて消されないか心配ですが:-P
538デフォルトの名無しさん:04/11/29 00:26:02
そのうちこっちにもなだれこんできますよ。
539デフォルトの名無しさん:04/11/29 16:55:40
C言語は儲かり真っ赤?
540デフォルトの名無しさん:04/11/29 17:41:28
真っ青
541停止しますた。:04/12/02 01:24:03
真・スレッドストッパー。。。( ̄ー ̄)ニヤリッ
542デフォルトの名無しさん:04/12/02 01:34:21
test
543デフォルトの名無しさん:04/12/02 02:29:57
test
544デフォルトの名無しさん:04/12/03 22:42:49
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
break;
545デフォルトの名無しさん:04/12/04 20:21:14
 return 0;
}
546デフォルトの名無しさん:04/12/06 00:24:01
547デフォルトの名無しさん:04/12/06 01:08:54
C言語以前の話になってしまうかもしれないのですが、0の割り算について質問させて下さい。

0 / 10;

という風に 0 を割ることができないのでしたでしょうか?
それとも

10 / 0;

という風に 0 で割ることができないのでしたでしょうか?
あと同じように、

0 % 10;
10 % 0;

という計算については可能なのでしょうか?
教えて下さい。お願いいたします。
548デフォルトの名無しさん:04/12/06 01:10:21
10/0は不可
0/10==0
0%10==0
10%0は不可
549デフォルトの名無しさん:04/12/06 01:14:59
真面目に答えていいものか迷っちゃっうよね
550停止しますた。:04/12/06 01:15:46
       
551デフォルトの名無しさん:04/12/06 07:36:43
> 10/0は不可

間違い
552デフォルトの名無しさん:04/12/06 07:59:15
0で除算しますた
553デフォルトの名無しさん:04/12/06 11:41:30
絵を書くとC言語プログラムが出来て実行もしてくれるツール知りませんか?
554デフォルトの名無しさん:04/12/06 13:57:21

コーディングスタイルの話になると思いますが、

識別名にマルチバイトを使う事について

皆さんだったらどう思われますか?

例えば、

ある関数に定数を与えて処理したい場合、

move_command_set( COMMAND_右に動く, MOVE_STEP_1 )

move_command_set( COMMAND_左に動く, MOVE_STEP_1 )

とか・・・

さすがに、識別名すべてをマルチバイトにするつもりは無いんだけど、

日本人として生まれたからには、こういう書き方を「アリ」に

していく流れって作れないかなーって思っているのですが・・・

昔だったら、こういうことかなり抵抗があったんだけど、

もう今となってはいいかなぁーって感じになってます。
555デフォルトの名無しさん:04/12/06 14:00:35
ひまわりでも使って路
556デフォルトの名無しさん:04/12/06 15:07:06
>>554
コンパイラはマルチバイト対応してる?
557デフォルトの名無しさん:04/12/06 15:12:18
>>554
最近は中国人やインド人に頼むことが多い。
日本人だけならいいだろうけど
558デフォルトの名無しさん:04/12/06 15:20:54
c:\program files
この半角スペースって何で表せるんでしたっけ。
%なんとか。
559デフォルトの名無しさん:04/12/06 15:22:37
%20世紀 のこと?
560デフォルトの名無しさん:04/12/06 15:23:07
>>558
%20
スレ違い
561デフォルトの名無しさん:04/12/06 15:24:01
少なくともCで半角スペースの代わりに%20は使えないということだけは一応言っておこう
562デフォルトの名無しさん:04/12/06 22:23:20
助けてください。
OSはUNIXでc言語でお願いします。期日は早めでお願いします。
1.c言語を用いてスロットマシーンをつくってください。
2.構造体利用を用いたプログラムをつくって下さい。
以上の二つです。
563デフォルトの名無しさん:04/12/06 22:25:48
>>562
てめえ、いいかげんにしろ
564デフォルトの名無しさん:04/12/06 22:55:01
助けてください。
OSはUNIXでc言語でお願いします。期日は早めでお願いします。
1.c言語を用いてスロットマシーンをつくってください。
2.構造体利用を用いたプログラムをつくって下さい。
以上の二つです。
565デフォルトの名無しさん:04/12/06 22:55:56
>>563
いい加減にするのは君だ
答えられない~答えたくない者はレスするな
人に不快感を与えることのみを目的とする書き込みは
荒らし行為であることを忘れてはならない
566デフォルトの名無しさん:04/12/06 22:58:23
>>565
ちょっと待て。>>562はあちこちのスレにマルチポストしている。
マルチポストを咎めるのは良くない事だろうか?
567デフォルトの名無しさん:04/12/06 23:02:52
>>566
してはならない書き込みを見たら削除板へ逝け
そこで棄却られたなら、あんたの主張が2chでは身勝手とされただけのこと

腐っても技術者、物事を客観的に捉えられなくてどうする
568デフォルトの名無しさん:04/12/06 23:04:36
>>567
君の書き込みの方が余程不快だよ。
569デフォルトの名無しさん:04/12/06 23:05:33
>>565
お前が不快
570デフォルトの名無しさん:04/12/06 23:06:53
>>568-569
反論が尽きたようだな
以後気をつけたまえ
571デフォルトの名無しさん:04/12/06 23:11:05
>>570
以後気をつけたまえは君だ
答えられない~答えたくない者はレスするな
人に不快感を与えることのみを目的とする書き込みは
荒らし行為であることを忘れてはならない
572デフォルトの名無しさん:04/12/06 23:11:46
>>570
気を付けるのはお前の方。不必要に煽るな。
お前のせいでどれだけ不要なレスが書き込まれたと思ってるんだ。
573デフォルトの名無しさん:04/12/06 23:12:12
>>570
してはならない書き込みを見たら削除板へ逝け
そこで棄却られたなら、あんたの主張が2chでは身勝手とされただけのこと

腐っても技術者、物事を客観的に捉えられなくてどうする
574デフォルトの名無しさん:04/12/06 23:15:39
>>571
不当要求を非難することは社会を健全に保つ努力だ
お前たちはマルチポストが禁止事項であるという論点先取をしてはならない
575デフォルトの名無しさん:04/12/06 23:17:13
暇だな。
576デフォルトの名無しさん:04/12/06 23:18:06
>>574
なぜだ?論理的に説明できるか?
577デフォルトの名無しさん:04/12/06 23:18:10
578デフォルトの名無しさん:04/12/06 23:18:49
>>576
こちらの質問が先だ
579デフォルトの名無しさん:04/12/06 23:20:09
>>578
質問してないじゃないか。
580デフォルトの名無しさん:04/12/06 23:21:06
>>579
論点先取という用語を知らないようだな
581デフォルトの名無しさん:04/12/06 23:21:49
俺俺スレらしい展開になってまいりました
582デフォルトの名無しさん:04/12/06 23:22:03
>>580
ゴタクはどうでもいいから誰にでも理解できる平易な日本語を使え。
583デフォルトの名無しさん:04/12/06 23:22:51
今宵は1000まで行こう。
584デフォルトの名無しさん:04/12/06 23:23:11
>>582
使ってる
マルチポストにしても用語にしても
あんたは身勝手な要求ばかりしている
585デフォルトの名無しさん:04/12/06 23:24:01
>>584
あんたの方がよほど身勝手なんですけど。
586デフォルトの名無しさん:04/12/06 23:24:25
>>585
こちらが身勝手という論点先取をしてはならない
587デフォルトの名無しさん:04/12/06 23:26:10
うっせハゲ。自分の土俵だけで相撲を取ろうとして、人の話に耳を貸さない
香具師とはもうこれ以上議論したくないね。
588デフォルトの名無しさん:04/12/06 23:26:31
589デフォルトの名無しさん:04/12/06 23:27:20
議論に参加しないのは勝手だが、それなら欠席裁判をするのもこちらの勝手だな。
590デフォルトの名無しさん:04/12/06 23:28:23
>>589
いや、そうではなく、議論になってないと言っているのだが。
君の独断場に過ぎない。
勝手に演説してるだけじゃん。
591デフォルトの名無しさん:04/12/06 23:28:24
俺様がすべて正しいからお前らは全員間違っている。
592デフォルトの名無しさん:04/12/06 23:29:26
もう終わりか
593デフォルトの名無しさん:04/12/06 23:29:30
なんかメンヘラーっぽいのが一匹混ざってるなあ
594デフォルトの名無しさん:04/12/06 23:35:40
ダメだよー にゃんにゃん
595デフォルトの名無しさん:04/12/07 00:36:50
>>591矛盾そのもの
596デフォルトの名無しさん:04/12/07 06:40:21
質問です。
HEX形式、SREC形式、ELF、COFFの違いがわかりません。
みんなファイルのフォーマットのようなのですが。
597デフォルトの名無しさん:04/12/07 12:55:56
>>596
コンパイル&リンクした後の実行ファイルの形式の種類
598デフォルトの名無しさん:04/12/07 21:52:12
>>596
マゾレスすると
HEXとSRECはROM化するときに使う
ほとんどのROMライターがサポートしてるフォーマット
で、こいつらはobjcopyなんかで実行形式から作る
COFFやELFは実行形式やオブジェクトファイルのフォーマット
異常
599デフォルトの名無しさん:04/12/07 22:05:59
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define WMAX 3
#definr NMAX 10

struct slot{
unsigned int number[WMAX];
};

void roll_slot(struct slot *s)
unsigned int i;
for(i=0;i<WMAX;i++) s->number[i] = rand()%NMAX;
}

struct slot newslot(){
struct slot s;
srand((unsigned int)time());
roll_slot(&s);
return s;
}
600デフォルトの名無しさん:04/12/07 22:25:26
スレ違いな気もしますが・・・

ARM系CPUのCPUボードを作成しました。
そこでメモリの実装検査を行うためのアルゴリズムを考えているのですが、
なにか良い物はないでしょうか?
あくまでも実装不良を検査するのが目的でメモリ自体は問題ないという前提です。
memtest86はメモリ自体の検査を行う事が主な目的の様なので、
参考にして良いのか悩んでいます。
宜しくお願いします。
601デフォルトの名無しさん:04/12/07 22:26:34
ついに俺俺スレも600レス到達か
602デフォルトの名無しさん:04/12/07 22:56:33
>>600
チップセレクトをどう作ったかでほぼ決まりじゃないか?
603デフォルトの名無しさん:04/12/07 23:11:58
既知概がいればもっと早く消滅するんだが
604デフォルトの名無しさん:04/12/08 04:20:40
size_tってなんのためにあるんだよ
605デフォルトの名無しさん:04/12/08 04:24:57
俺のためだ
606604:04/12/08 04:31:21
ありがとう、助かったよ
607デフォルトの名無しさん:04/12/08 17:13:54
>>605
知ったかはよせ。


俺のためにあるんだぜ?
608デフォルトの名無しさん:04/12/08 20:06:49
そうかよ。君にゆずるよ。俺のお古だけどな。
609デフォルトの名無しさん:04/12/10 23:27:10
>>608
> 俺のお古だけどな。
やっぱりな。
610デフォルトの名無しさん:04/12/11 22:29:55
教えてください。
入力した文字列を格納した配列のポインタを戻したいんですけど、警告がでました。
警告1:プロトタイプ宣言のない関数'input'の呼び出し。(関数 main)
警告2:コードは効果をもたない。(関数 main)
警告3:問題のあるポインタの変換。(関数 input)
ソース↓
#include <stdio.h>
#define MAX 256

char *input();

void main()
{
*input();
}

char *input()
{
char s[MAX];

printf("COMMAND:");
scanf("%s", s);

return s;
}
611デフォルトの名無しさん:04/12/11 22:32:17
#include <stdio.h>
#define MAX 256

char *input(void);

void main(void)
{
char *p=input();
}

char *input(void)
{
staic char s[MAX];

printf("COMMAND:");
scanf("%s", s);

return s;
}
612デフォルトの名無しさん:04/12/11 23:01:35
>>610
質問になってない。
警告が出たらしいが、それで何を聞きたいのかが欠落している。
613デフォルトの名無しさん:04/12/11 23:17:19
949 :デフォルトの名無しさん :04/12/11 21:42:51
初心者です。

参考書によって
void main() と書いてあるものと
int main() と書いてあるものの2種類ありますよね。
intにしてreturnしても、どこにも使われてないし
プログラムも問題なく動くので
全部voidでいいと思うんですが。

voidにしてはいけない理由でもあるのでしょうか。
614デフォルトの名無しさん:04/12/11 23:34:16
993 :デフォルトの名無しさん :04/12/11 23:09:50
その通り、処理系が認めていればなんでもいい。
ただし、コードの可搬性はなくなる。

994 :デフォルトの名無しさん :04/12/11 23:11:27
>>993
可搬性をどの程度持たせるべきかとは、全く別な議論だな

996 :993 :04/12/11 23:12:30
>>994
その通り。個人だったら個人で、団体なら団体で勝手に決めればいい。

ISO/IEC 9899:1999
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
615改行制限だ:04/12/11 23:35:04
997 :デフォルトの名無しさん :04/12/11 23:12:42
>>980
JIS X3010:2003(いわゆるC99)ではこういう風に書いてある。(ISO/ANSIも同じだろう)

5.1.2.2 ホスト環境
5.1.2.2.1 プログラム開始処理
プログラム開始時に呼ばれる関数はmainとする。
処理系はこの関数に対してプロトタイプを宣言しない。
この関数は次の4種類の方法のいずれかで定義しなければならない。
1. int main(void);
2. int main(int argc, char *argv[]);
3. 上記2つの方法のいずれかと等価なもの。
4. 処理系定義

ちなみに5.1.2.1でフリースタンディング環境の場合プログラム開始時に呼ばれる関数は(戻り値の型・引数含め)処理系定義と書いてある。
616デフォルトの名無しさん:04/12/11 23:38:24
もうやめろよ
617デフォルトの名無しさん:04/12/12 00:02:35
ageとこう
618デフォルトの名無しさん:04/12/12 00:07:10
あるレコードデータのヘッダ部分
(intやらcharやらいろんな型の値が入ってる)
数バイト読み飛ばして
そっからまた数バイト読み込みたいのですが
てっとり早い方法といえばなんでしょーか。
オフセット使ったmemcpy()?



619デフォルトの名無しさん:04/12/12 00:13:16
>>618
メモリーならそれ。
ファイルならfseekのあとfread
620デフォルトの名無しさん:04/12/12 00:23:52
メモリ上なら、単に操作対象アドレスをずらすだけで済みそうな
621デフォルトの名無しさん:04/12/12 00:26:42
構造体か関数
memcpyを裸で使う香具師はアフォ
622デフォルトの名無しさん:04/12/12 00:32:31
その関数をつくっているのだとしたら
623デフォルトの名無しさん:04/12/12 00:38:33
>>622
そもそもあーゆー質問には来ない
624デフォルトの名無しさん:04/12/12 01:20:34
>>621
ギガ単位のファイルから1メガのデータブロック読み込んで
そっから64~1024バイトの可変長のレコードデータ読み込んで
一個上のレイヤがmallocで確保した領域に収めるっていう
関数作ってるんすけど
625デフォルトの名無しさん:04/12/12 01:23:19
626デフォルトの名無しさん:04/12/12 02:10:19

int i;
charline[100] = "1234 123,4214,1214,1324,321,32134";
char*token, *sep = ", ";

i = 0;
token = strtok(line, sep);
while(token != NULL){
data[i++] = atof(token);
token = strtok(NULL, sep);
}


これと似たようなことをscanfと正規表現(のようなもの?)を使って書く方法を忘れました。
知ってる方教えてください。
627デフォルトの名無しさん:04/12/12 02:19:26
有限状態オートマトンを使えと
628デフォルトの名無しさん:04/12/12 02:30:15
"%[1-9]%[^1-9]%n"
629デフォルトの名無しさん:04/12/12 22:16:05
正規表現ってのは『始めに言葉ありき』ってな感じでブラックボックスとして使っちゃってもいいと思うよ。
本を楽に一冊書けるぐらいボリュームのあるものだから。
630デフォルトの名無しさん:04/12/13 10:00:51
半角数字と英字を全角に変換する標準関数を
知っていれば教えて下さい。
なければ、どの様に作れば、きれいな処理に
なるでしょうか。
631デフォルトの名無しさん:04/12/13 10:09:39
int c = '3';
if (isdigit(c)) {
 printf("%s", "0\01\02\03\04\05\06\07\08\09"+(c-'0')*2);
}
632デフォルトの名無しさん:04/12/13 10:10:44
*3だった。後から\0挟んだら間違えた。
633デフォルトの名無しさん:04/12/13 10:13:53
>>631
英字がねぇじゃん。回答するならちゃんと質問読めよ。
634デフォルトの名無しさん:04/12/13 10:20:59
isalphaとislowerの条件文を加えるだけ
635デフォルトの名無しさん:04/12/13 10:25:51
(c-'0')*2 の部分が顔に見える・・・・・・
636デフォルトの名無しさん:04/12/13 10:32:25
文字コードすら明らかにしていない、環境依存で不明確な質問には
「(ソース上に)表示されている文字列から選ぶ」方式以外
回答は無理だろうね。
637630:04/12/13 11:51:42
>>631
ありがとうございました。
英字の方も同じ様に考えて作ってみます。
638630:04/12/13 11:59:39
>>636
すみません。
WindowsXP VC++.net シフトJIS
639デフォルトの名無しさん:04/12/14 01:29:39
文字列の入ったテキストファイルを読み込んで、
あらかじめ作っておいた配列に格納する方法を教えてください
C言語でお願いします
640デフォルトの名無しさん:04/12/14 01:43:01


宿題は宿題スレへ
641デフォルトの名無しさん:04/12/17 02:36:46
C言語なら振り込め!
642デフォルトの名無しさん:04/12/19 23:05:40
Cプロ書くとき何食ってる?
643デフォルトの名無しさん:04/12/19 23:10:24
ポリフェノールに期待してココア
644デフォルトの名無しさん:04/12/19 23:12:09
ご飯と納豆
645デフォルトの名無しさん:04/12/19 23:17:38
虎屋の上等なやつ
646デフォルトの名無しさん:04/12/19 23:18:17
>>643
それ以上に脂肪取りまくるぞ
647デフォルトの名無しさん:04/12/19 23:22:48
キシリトールガム食い過ぎであごがクタクタ
648デフォルトの名無しさん:04/12/19 23:23:34
>>646
え、ココアって低カロリーじゃなかったの?
649デフォルトの名無しさん:04/12/19 23:31:39
ダイエットココアのこと言ってるのか・・・・・・?
おもいっきり釣られて見よう。

最高に頭悪そうな発言してください in ム板 (3)
http://pc5.2ch.net/test/read.cgi/tech/1101931660/
650デフォルトの名無しさん:04/12/19 23:31:44
>>647
キシリトールばっか取ってたらお腹が緩む
651デフォルトの名無しさん:04/12/19 23:59:43
>>642
飲み物だがルートビア
652デフォルトの名無しさん:04/12/20 00:02:42
スーパードライ
653デフォルトの名無しさん:04/12/20 04:08:54
まったりした話題の中に、こんな質問すいません。

配列 a,b,c,d,e に10種類以上の整数値を入力し、
それぞれの平均値 ma,mb,mc,md,me を求め、
ma, mb, mc, md, me を大きい順に並べるプログラムを書け。
ma ~ me は m[0],....に格納すること。
また平均値を求める部分は関数を使って書け。

って問題があるんですが、ひたすら頭捻っても、よくわかりません。
どなたか教えてください。
よろしくお願いします。

とりあえず、頭に浮かんだ部分は次に書きます。
654デフォルトの名無しさん:04/12/20 04:12:22
・5回も入力させる部分を繰り返し書くのは変だから、そこはfor文で繰り返させる。
・平均を出すのだから、何回入力したのかカウントするものが要る。
・while文の中にwhile文をぶち込んで、外側でカウント、内側で入力&合計をやらせると
合計結果があぼーんする。

今分かっているのは、これくらいです。
よろしくお願いします。
655デフォルトの名無しさん:04/12/20 04:21:29
突然失礼します。
この問題を教えていただきたいのですが。
(問題)
sinの値が以下のように与えられている場合、ラグランジュの公式を用いて、
sin25°の値を計算せよ。また、その誤差を検討せよ。角度はラジアンに直せ。
xi(°)={0,10,20,30,40,50,60,70,80,90}
sin(xi)={0.000000,0.173648,0.342020,0.500000,0.642788,0.766044,0.866025,0.939693,0.984808,1.000000}


言語はCです。よろしくお願いします。
656デフォルトの名無しさん:04/12/20 04:25:40
ここにも同じカキコがあった

さゆがC/C++の宿題を片付けるの 36代目
http://pc5.2ch.net/test/read.cgi/tech/1102753497/653
657655:04/12/20 04:30:10
朝までにやらないといけないんです。
658デフォルトの名無しさん:04/12/20 04:53:32
目的

練習問題1,2をラグランジュ補間を理解して、sinの数値を求めるプログラムを作成する。

http://www.geocities.co.jp/AnimalPark-Lucky/9497/ERI2.html
659653:04/12/20 05:46:25
ずーーっと考えて、解決しました。
やっぱり、自分でできる部分は十分に頭を捻った方がいいですね。
もし、本当の難問にぶち当たったら、そのときはお願いします。
660デフォルトの名無しさん:04/12/20 15:07:07
double a:

a=1/(1/2);

これをやると、「除算、剰余演算が 0 で行われています」。
となってしまいますなんででしょうか。
よろしくお願いします。
661デフォルトの名無しさん:04/12/20 15:12:21
(1/2)が0だから。

(1./2)とかで括弧内を浮動小数点仕様の値で出力させればOKかも。
662デフォルトの名無しさん:04/12/20 15:25:47
>>661
ここはネタスレだ
663デフォルトの名無しさん:04/12/20 17:27:11
すみませんが教えてください。下の式を式変形せずにコンピューターに計算させてxを求めるにはどうしたらいいのでしょうか。
(x+1) * (x+1) - x*x = 0
√(1+x)-1 / √(1+x) = 0
宜しくお願いします
664デフォルトの名無しさん:04/12/20 17:30:59
>>663
うるさい馬鹿者
665デフォルトの名無しさん:04/12/20 17:33:53
>>663
ニュートン法 2分法 でぐぐれ
666663:04/12/20 18:13:38
2分法ですか・・・勉強不足で正直よくわかりませんでしたが、ヒントをくれてどうもありがとうございました。なんとかやってみます。
667デフォルトの名無しさん:04/12/20 18:50:17
数値計算法とか、勉強したことないの?
668デフォルトの名無しさん:04/12/20 18:53:33
>>667
空気読め
669デフォルトの名無しさん:04/12/20 19:54:14
今、やろうと思ったのに、言うんだものなあ
670デフォルトの名無しさん:04/12/21 08:12:13
>>663
x=-1/2

x=0
671デフォルトの名無しさん:04/12/21 16:00:54
DATE型←→time_t型変換ってできます?
672デフォルトの名無しさん:04/12/21 17:41:37
>>671
Cの標準規格にはDATE型などない。
だけどどんな定義だろうと変換するためのコードを書けばできる。
673デフォルトの名無しさん:04/12/23 12:01:50
スイッチ文を繰り返し使って、
方位を出すプログラムなんですが

乳力例


12

出力例
N 12°E → 12°

NとEと入力した後、終わってします
困っています助けてください
674デフォルトの名無しさん:04/12/23 12:07:50
>>673
意味がわからん
675673:04/12/23 12:08:13
scanf("%c", &n1);
scanf("%c", &n2);
scanf("%d", &ang1);

switch(n1) {

 case 'N':
  switch(n2) {
   case 'E':
    ang2 = 0 + ang1;
    printf("%c  %3d  %c  →    0+%3d\n", n1, ang1, n2, ang2);
    break;
   case 'W':
    ang2 = 360 - ang1;
    printf("%s  %3d  %s  →   360-%3d\n", n1, ang1, n2, ang2);
    break;
   }
   break;
//ここから同じようなものが続くので省略します
  case 'E':
  switch(n2) {
     ・・・・
   }
   ・・・・
  }
  return EXIT_SUCCESS;
}
676デフォルトの名無しさん:04/12/23 12:11:00
・ang2はどこから出てきたのか
・%cと%sが混在するのはなぜか
・「360-%3d」じゃなくて、「%3d」だけにして、後ろの引数を360-ang2としたいのではないか
677676:04/12/23 12:12:45
すまん、適当にレスしてしまった。
>・ang2はどこから出てきたのか
は取り消す。
>・「360-%3d」じゃなくて、「%3d」だけにして、後ろの引数を360-ang2としたいのではないか
は、「360-%3d」じゃなくて、「%3d」だけにすればいいのでは、に訂正
678デフォルトの名無しさん:04/12/23 12:17:59
>>676
ごめんなさい

ang2は間違いました。0+ang1とその下は360-ang1でした。
%sは%cです。色々試してましたのでその時のままでした。
679デフォルトの名無しさん:04/12/23 12:21:26
>NとEと入力した後、終わってします
これどういう意味?
環境も何もわからんけど、NとEを入力したあと、ダイアログが出て強制終了するとか?
680デフォルトの名無しさん:04/12/23 12:24:42
>>679
NとEの2つの文字を入力した後
ang1に値を入れるため、入力待ちになるはずなんですが、
普通にPress any key to continue
となって終わってしまいます。
681デフォルトの名無しさん:04/12/23 12:26:24
>>680
ちゅーことはVCでやってんのか。
「現時点の最新のソース」を1行目からswitchの入り口くらいまで
全部貼ってみて。
682デフォルトの名無しさん:04/12/23 12:28:11
>>675
switchのネストなんて生まれて初めて見た
長生きしてよかった
683デフォルトの名無しさん:04/12/23 12:33:22
#include <stdio.h>
#include <stdlib.h>

int main()
{
 char n1, n2;
 int ang1, ang2;

 scanf("%c", &n1);
 scanf("%c", &n2);
 scanf("%d", &ang1);

 switch(n1) {
  case 'N':
   switch(n2) {
    case 'E':
     ang2 = 0 + ang1;
     printf("%c  %3d  %c  →    0+%3d\n", n1, ang1, n2, ang2);
     break;
    case 'W':
     ang2 = 360 - ang1;
     printf("%c  %3d  %c  →   360-%3d\n", n1, ang1, n2, ang2);
     break;
    }
    break;
684デフォルトの名無しさん:04/12/23 12:33:57
  case 'E':
   switch(n2) {
    case 'S':
     ang2 = 90 + ang1;
     printf("%c  %3d  %c  →   90+%3d\n", n1, ang1, n2, ang2);
     break;
    case 'N':
     ang2 = 90 - ang1;
     printf("%c  %3d  %c  →   90-%3d\n", n1, ang1, n2, ang2);
     break;
   }
   break;
  case 'S':
   switch(n2) {
    case 'W':
     ang2 = 180 + ang1;
     printf("%c  %3d  %c  →   180+%3d\n", n1, ang1, n2, ang2);
     break;
    case 'E':
     ang2 = 360 - ang1;
     printf("%c  %3d  %c  →   180-%3d\n", n1, ang1, n2, ang2);
     break;
   }
   break;
685デフォルトの名無しさん:04/12/23 12:34:29
  case 'W':
   switch(n2) {
    case 'N':
     ang2 = 270 + ang1;
     printf("%c  %3d  %c  →   270+%3d\n", n1, ang1, n2, ang2);
     break;
    case 'S':
     ang2 = 270 - ang1;
     printf("%c  %3d  %c  →   270-%3d\n", n1, ang1, n2, ang2);
     break;
   }
   break;
  }
  return EXIT_SUCCESS;
}
686デフォルトの名無しさん:04/12/23 12:35:11
長くなってごめなさい

よろしくおねがいします
687デフォルトの名無しさん:04/12/23 12:39:16
>>686
こうしろ。
scanf("%c %c", &n1, &n2);

688デフォルトの名無しさん:04/12/23 12:42:57
>>686
ここの「改行文字が残る」を読め
http://www9.plala.or.jp/sgwr-t/c/sec05.html
689684:04/12/23 12:43:00
長くなりますが質問させていただきます。よろしくご教授ください
BPSK波形を作るプログラムを作ったのですが符号を入力しても位相が変わりません。
codeで判定し、resultで反転(-1か1を乗算する)しています。
その他は問題ありません

環境Win2000SP4 コンパイラVC6++ 
以下にソースを示します。
690すいません689でした:04/12/23 12:46:23
#include <stdio.h>
#include <math.h>
#include <string.h>
#define pi 3.141592654
int main(void)
{
       FILE *fout;
char code[256];
       double result;
       double p,n,t,f,i,r;
       double sqrt(double p);
       unsigned int code_length,u;
       if((fout=fopen("fout.txt","wt"))==NULL){
              printf("can't open file\n");
              return 1;
       }
       printf("一周期のbit数:");
       scanf("%lf",&p);
       printf("code入力(ex:1010):");
       scanf("%s",&code);
       
691デフォルトの名無しさん:04/12/23 12:47:25
>>687 >>688
ありがとうございます
助かりました

勉強になります
692689 続き:04/12/23 12:47:42
       if(code[256]=='1')
              result=1;
       else
              result=-1;
       r=sqrt(p);
       i=f=1/r;
       code_length=strlen((const char*)code);
       for(u=0;u<=code_length-1;u++){
                   for(t=0;t<=r;t+=i){
                            n=result*sin(2*pi*f*t);
                            printf("%lf,\n",n);
                            fprintf(fout,"%lf,\n",n);
                            }
       }
       fclose(fout);
       return 0;
}
693デフォルトの名無しさん:04/12/23 12:50:37
code[256]=='1'って…。255か?
694デフォルトの名無しさん:04/12/23 15:32:47
っで>>689は事故解決したのか
695デフォルトの名無しさん:04/12/23 15:35:27
とりあえず、>>689は、256を0に変えてやってみると間違いに気づくかと
何をしてるのかわからないがなw
696デフォルトの名無しさん:04/12/23 15:44:33
ひょっとしてここが本スレ?
697デフォルトの名無しさん:04/12/23 16:14:07
>>694
>>695
まだ解決していないです・・・う~ん
698デフォルトの名無しさん:04/12/23 18:22:54
>>697
とりあえず、codeを101000111・・・101って入力を255文字も入れるのか?
そこが聞きたい。

699デフォルトの名無しさん:04/12/23 18:28:09
>>698
入れないです。だいたい64bitぐらいを想定していますが念のため256bitとっています
700デフォルトの名無しさん:04/12/23 19:42:03
>>699
返信遅れてごめんね

じゃあ、あれだ
f(code[256]=='1')
この部分がおかしい
これでは、255文字目が1のときしか
result=1を実行しないんですよ
この256に変数wでも入れて
for文でくくってあげるといいよ

んで、変数iは配列にしてね
701デフォルトの名無しさん:04/12/23 19:50:25
iじゃないresultを配列にして

今手が離せないから
プログラム書くから待って
702デフォルトの名無しさん:04/12/23 20:12:28
>>700
どうもありがとうございます!なるほど配列の部分がおかしかったのですね
703デフォルトの名無しさん:04/12/23 20:34:03
>>702
・・・できちゃったのね
704デフォルトの名無しさん:04/12/23 20:42:17
おい、ネタスレだって事忘れてないか?
705デフォルトの名無しさん:04/12/23 21:26:23
いや、まだ出来ていないです。。。
勘違いさせてごめんなさい
出来ればコード書いていただけないでしょうか?
よろしくお願い致します
706デフォルトの名無しさん:04/12/23 21:30:55
おい、ネタスレだって事忘れてないか?
707デフォルトの名無しさん:04/12/23 21:55:08
printf("一周期のbit数:");
scanf("%lf",&p);
printf("code入力:");
//ここから
while(1){
 scanf("%s",code);
 if(code[w]=='1')
  result[w]=1;
 else
  result[w]=-1;
 if(strcmp(code, "E") == 0)
  break;
 w++;
}
r=sqrt(p);
i=f=1/r;
for(u=0;u<=w-1;u++){
 for(t=0;t<=r;t+=i){
   n=result[u]*sin(2*pi*f*t);
   printf("%lf,\n",n);
   fprintf(fout,"%lf,\n",n);
 }
}

まだプログラム初心者ですが、一応動きます
708デフォルトの名無しさん:04/12/23 21:56:20
ちょっと、入力にEを入れないと終わらないのでかっこ悪いけど勘弁して
709デフォルトの名無しさん:04/12/23 21:58:04
おっと、それから、入力は続けて1010じゃなくて
1
0
1
0
になってしまいましたorz

誰かもっといいプログラムあったら教えて
710デフォルトの名無しさん:04/12/23 22:10:55
>>707
どうも忙しい中、教えてくれてありがとうございます
非常に参考になりました
711デフォルトの名無しさん:04/12/24 18:07:08
>>707
すいません、wの型はintでしょうか?なぜか僕の環境ではうまく動作しません・・・
コンパイルはエラー無しです。環境はWin2000 VC++6です
712デフォルトの名無しさん:04/12/25 00:03:35
>>711
int型です
最初に
int w=0;って初期化しないと無理
って、少し考えれば分かると思うが・・・
713デフォルトの名無しさん:04/12/25 00:06:19
こんなことで質問してるような連中は最初から考える気など無い
714デフォルトの名無しさん:04/12/25 11:58:20
>>713
連中は考える気が無いんじゃなくて、考える知能がない!残念!
715デフォルトの名無しさん:04/12/26 16:49:13
C言語文法の著作権を主張したら幾らになっていましたか?
716デフォルトの名無しさん:04/12/26 17:30:07

717デフォルトの名無しさん:04/12/26 17:43:05
C言語でテキストファイルから1行だけ文字列を読み込んで配列に格納したいときにfgets関数をつかいますよね。
しかし読み込む文字列の上限を1行につき30文字までと指定、fgets(配列,30,*ファイル)とやった場合
一行に50文字ある場合30文字と20文字というように後半の20文字をシカトしたいのに、後半の20文字も読み込んでしまいます。
それをシカトして次の行を読み込むプログラムはどのようにすればよいのでしょうか?
718デフォルトの名無しさん:04/12/26 17:45:01
文字列を反転する関数です。

#include<stdio.h>
char * hoge(char *);
int main(void){
char str[] = "foo";
printf("%s\n", hoge(str));
return 0;
}
char * hoge(char *p){
int len, i, j;
char str[8];
for(i = 2, j = 0; i > -1; i--, j++)
str[j] = *(p + i);
str[j] = '\0';
return str;
}

printf("%s\n", hoge(str)) がうまくいきません。
oofが表示されれば成功なのですが、文字化けした状態で表示されます。
printf(str)で試したところ、成功しました。
ご教示ください。お願いします。
719デフォルトの名無しさん:04/12/26 17:46:39
>>718
( ゚Д゚)ポカーン
変数の有効な範囲を考えれ
720デフォルトの名無しさん:04/12/26 17:50:02
>>719
これが噂に聞くあいつか、ローカル関数へのポインタというやつか。
なかなか強そうな奴だ
721デフォルトの名無しさん:04/12/26 17:53:14
>>718
#include<stdio.h>
#include<string.h>

char * hoge(char *);

int main(void){
    char str[] = "foo";
    printf("%s\n", hoge(str));
    return 0;
}

char * hoge(char *p){
    int len, i, j;
    char str[8];
    for(i = 2, j = 0; i > -1; i--, j++)
        str[j] = *(p + i);
    str[j] = '\0';
    strcpy(p, str)
    return p;
}
722デフォルトの名無しさん:04/12/26 17:56:49
>>721
ありがとうございます。動きました。
return strでも動きそうな感じなのに、勉強不足ですねorz
723デフォルトの名無しさん:04/12/26 18:00:39
>>722
char str[8]; は関数を抜けた時点で無効になるから…
724デフォルトの名無しさん:04/12/26 18:01:20
>>718
>変数の有効な範囲を考えれ
hoge()のstrのことですよね?
アドレスを返してるから大丈夫だと思ったのですが…。
725デフォルトの名無しさん:04/12/26 18:02:03
>>717
取りこんだ文字列の最後が'\n'じゃ無い時は
次ぎのfgetsはまだ同じ行だから空読みしろ
726デフォルトの名無しさん:04/12/26 18:03:51
>>724

void hoge()
{
  int a; // int型のローカル変数が確保される
  ・・・
} // ここでローカル変数が破棄される(スコープを抜ける)

ローカル変数のポインタを返してはいけないのはこのため
727デフォルトの名無しさん:04/12/26 18:04:14
>>723
なるほど。すっかり忘れてました。
でも、printf(hoge(str))で動くのは何故なんでしょう?この場合も
>char str[8]; は関数を抜けた時点で無効になるから…
になるような。
728デフォルトの名無しさん:04/12/26 18:06:29
>>727
抜けた時点で無効になるとはいっても、値が消されているとは限らない。
たまたま値が残っていただけ と考えるのが妥当かと。

もうちょっと突っ込んで考えてみると、
"%s\n"をPUSHした段階でスタックが動いて、アドレスが無効になったんだと思う。
729デフォルトの名無しさん:04/12/26 18:09:08
>>726>>728
どうもです。
わかり易い説明ですね。これで、二度と同じ失敗をしないと思います。
ありがとうございました。
730デフォルトの名無しさん:04/12/26 18:14:26
>>725
空読みとはどのようにするのでしょうか?
731デフォルトの名無しさん:04/12/26 18:16:34
>>722
関数内で、staticを付けた変数以外は、
その関数の中でしか使えない。
732デフォルトの名無しさん:04/12/26 18:19:18
>>730
fgetsとかで読み込むだけで、中身を使わないこと。
733デフォルトの名無しさん:04/12/26 18:31:10
>>732
なるほど、ではif文などの条件文をつかって30文字を超えたらfgets()が発動するようにすればいいんですね?
734デフォルトの名無しさん:04/12/26 18:54:40
>>732
fgetsをつかって1行の文字を30文字だけ読み込みたいとき1行の文字が30文字超えたらfgetsの空呼び出しってどうゆう条件判定すればいいですかね?
度々申し訳ございません。
735デフォルトの名無しさん:04/12/26 18:59:30
すみません、訳の分からない質問かも知れませんが、
P2DS とはC言語でしょうか?
736デフォルトの名無しさん:04/12/26 19:01:45
>734
てか参考書見るなりググルなりして
fgetsの動作を理解して方が早いよ
737デフォルトの名無しさん:04/12/26 19:04:23
てゆーかね、もーね、>>732の前に>>725をちゃんと読んだのかと
738デフォルトの名無しさん:04/12/26 19:06:17
>>734
fgets()は指定したバッファサイズ-1文字、又は '\n'まで読みこんで、
'\0'が付加される・・から最大29文字までしか読み込まれない筈
739デフォルトの名無しさん:04/12/26 19:30:26
nCrを計算するプログラムです。
#include <stdio.h>
int comb(int,int);
main()
{
    int n,r;
    printf("nを入力して下さい:");
    scanf("%d%d",&n,&r);
    printf("%dC%d=%d\n",n,r,comb(n,r));
}

int comb(int n,int r)
{
    if(r==1)
    return n;
    else
    return ((n-r+1)/r)*comb(n,r-1);
}
これで、例えばn=6,r=3を入れると答えは20なのですが、12と出てしまいます。
どこを修正すればいいのでしょうか…
>>739

n、rともに十分大きな数を入れたらstack overflowとかわけわからんメッセージが出て
なんか不正なコードが実行されて大事なエロ画像が警視庁にメールされてしまいました。
741デフォルトの名無しさん:04/12/26 19:42:45
>>740
(´・ω・`)
742デフォルトの名無しさん:04/12/26 19:43:15
if(strlen(moji[i])==29) {
if(moji[i][28]!='\n') fgets(,,f_in);//式の構文エラー
}
空読みしようとしてるのですがこの部分がエラーになってしまいます。・゚・(ノД`)・゚・。
743デフォルトの名無しさん:04/12/26 19:44:24
>>742
何の言語の影響か知らんが引数省略すんな。
744デフォルトの名無しさん:04/12/26 19:51:20
>>743
空読みってこうゆうのじゃないんですか?
ぐぐっても空読みの仕方が見つからなかったんで・・・orz
745デフォルトの名無しさん:04/12/26 19:53:03
>>742
char tmp[30];
fgets(tmo, 30, f_in);
746デフォルトの名無しさん:04/12/26 19:54:57
>>739
return ((n-r+1)/r)*comb(n,r-1);
この部分がいけない。計算時にint型にキャストされて、小数点以下が切捨てられるためにエラーが出る。
n=6,r=3のときは (6-3+1)/3*(6-4+1)/2*6 であり、人間ならば先に分子をきれいに消して計算するが
(6-3+1)/3=1、(6-4+1)/2=2 としてしまうために、計算結果が12になってしまう。
747デフォルトの名無しさん:04/12/26 19:56:53
>>739
整数で切り捨てられるから。
例えば、4/3 は 1 になる。

先にかけ算を行い、最後に全体を割ればよい。
return ((n-r+1)*comb(n,r-1))/r;
748デフォルトの名無しさん:04/12/26 20:00:55
>>745
なるほど、そのように空読み専用の配列を作るのですね。
749デフォルトの名無しさん:04/12/26 20:00:57
>>746,747
な、なるほど!漏れこの間違い多いんだよなぁ…
ありがとう!
750デフォルトの名無しさん:04/12/26 20:18:24
>>748
あとfgetsの戻り値がNULLの時の判別も必要だな
751デフォルトの名無しさん:04/12/26 20:53:59
すいません、空読み専用の配列を作る方法ではなぜかうまくいきません
fgetsを'無駄に'n-1回呼べば、その次のfgetsでn行目が取り出せるらしいですが、なにか無駄にfgetsを呼び出す方法ありますかね?
752OUT!!:04/12/26 21:06:36
753デフォルトの名無しさん:04/12/26 21:16:36
{
  char* str = (char*)calloc(1, 50);
  char* buf=str;

  strcpy(str,"hogehoge");

  sprintf(buf,"\"%s\"",str);
}

最終行を
sprintf(str,"\"%s\"",str);
こうすると期待する結果は得られない(逆に言うと上のようにすれば期待する結果が得られた)わけで、
このやり方は正常といえるのでしょうか。
754デフォルトの名無しさん:04/12/26 21:17:24
>>751の方法がググってもみつかりません。
755753:04/12/26 21:23:50
すまそ、主だったトコだけ抜き出して>>753を出したけど、そのままでコンパイルしてみたら期待する結果は得られなかった。
だめなのね
756デフォルトの名無しさん:04/12/26 21:24:37
>>751
単にこれで良いんじゃないの?
5行目が欲しいなら

n=5;
while (--n) fgets(buf, sizeof buf, fp);
fgets(buf, sizeof buf, fp); //5行目をゲット

bufの大きさより長い行があるとうまくいかないけど
757753:04/12/26 21:25:12
ああ、途中で str++; を入れたら言うような結果が出たよ・・・
758質問:04/12/26 21:26:13
2入力のinput関数を作りたいんですができません。
入力したのを格納する変数を
グローバル変数として定義してやる方法しかわかりません。
もっとかっこいい方法はありませんか?
おねいがいします


//グローバル変数
int a;
int b;

・・・

void input()
{
 scanf("%d", &a);
 scanf("%d", &b);
 return;
}

・・・
759デフォルトの名無しさん:04/12/26 21:34:03
>>757
馬鹿?
つーか、ここはお前の日記帳じゃないぞ。

>>758
scanf()は何のためにポインタを渡す必要があると思う?
760デフォルトの名無しさん:04/12/26 21:34:50
二つなら構造体かポインタ使う。というか
一度に二つ入力させないで一つずつ二回呼び出せばいいじゃん。

int a, b;
a = input;
b = input;

int input(void)
{
int i;
scanf("%d", &i);
return i;
}
761デフォルトの名無しさん:04/12/26 21:35:36
input();でした。
762デフォルトの名無しさん:04/12/26 21:39:46
>>760
ダメすぎ。他人に教える前に勉強しなおしたら?
#あ、無駄か。
763758:04/12/26 21:41:32
>>759
>>760

ひらめきました。アドバイスありがとうございます
764デフォルトの名無しさん:04/12/26 21:44:06
つーか、ここネタスレなんだけど…
765デフォルトの名無しさん:04/12/26 21:45:25
>>756
なるほどとても勉強になります。
しかしどの行が30文字オーバーかということはわからない設定の上ですから。
766デフォルトの名無しさん:04/12/26 21:53:43
>>765
ネタスレに何を期待しているんだ?
fgets()で改行まで読めなかったら、残りを無理にfgets()で読まずにfgetc()で読み飛ばせばいいだろ?
767デフォルトの名無しさん:04/12/26 21:55:57
ああ↑見たけどそういうことだったのね。ならこれで。

char buf[30];
n = 5;
while (--n) {
fgets(buf, 30, fp);
while (buf[28] != '\n') fgets(buf, 30, fp);
}
fgets(buf, 30, fp); //5行目をゲット
768デフォルトの名無しさん:04/12/26 21:58:41
すまん駄目だ。
こうかな。

while (--n) {
fgets(buf, 30, fp);
while (buf[strlen(buf) - 1] != '\n') fgets(buf, 30, fp);
}
fgets(buf, 30, fp);
769デフォルトの名無しさん:04/12/26 21:59:27
文字列で7.0599とか0.0000345のように十進数で表現されている
浮動小数点数の仮数部を

浮動小数点数を使わずに
シフトで扱える形式にして、

仮数部 1.xxxxxx -> 指数部:シフト量 + 127 ...
のようにして、

最終的に
char fpnum[32 + 1] (32ビット+'\0')
のようなものに格納しよう、と思ったのですが、

なんだか、むつかしいです。
どうすればいいですか? ヘルプ。
770デフォルトの名無しさん:04/12/26 22:06:05
>>767
>766を読んで最初からやり直し。

>>769
double aho = 7.0599;
float * manuke = (float *) aho;
printf("%#08x%08x\n", manuke[0], manuke[1]);
でも実行してゆっくり考えろ。
771デフォルトの名無しさん:04/12/26 22:12:05
>>769
え?
772758:04/12/26 22:15:00
上で2入力input関数の質問をした者です
考えた結果がこれです。
いろいろ指摘おねいがいします。

int main()
{
int *a, *b;
int c, d;
a = &c;
b = &d;
input(a, b);
printf("%d, %d\n", *a, *b);
return 0;
}

void input(int *a, int *b)
{
scanf("%d", a);
scanf("%d", b);
return;
}
773デフォルトの名無しさん:04/12/26 22:15:39
int main()
{
int *a, *b;
int c, d;
a = &c;
b = &d;
input(a, b);
printf("%d, %d\n", *a, *b);
return 0;
}

void input(int *a, int *b)
{
scanf("%d", a);
scanf("%d", b);
return;
}
774デフォルトの名無しさん:04/12/26 22:17:52
int main()
{
 int *a, *b;
 int c, d;

 a = &c;
 b = &d;
 input(a, b);
 printf("%d, %d\n", *a, *b);
 return 0;
}

void input(int *a, int *b)
{
 scanf("%d", a);
 scanf("%d", b);
 return;
}

見えにくいので修正しました。
間違いで二重書き込みしてしまいましたごめんなさい。
775デフォルトの名無しさん:04/12/26 22:18:30
そもそもなんで
int main()
{
int c, d;
scanf("%d%d", &c, &d);
printf("%d, %d\n", c, d);
return 0;
}
じゃないのかと。
776デフォルトの名無しさん:04/12/26 22:20:21
えーーダブルあほが7.0599で
あほをフロートをさすポインタにキャストして
まぬけがポインタになったあほの中身を指して...
まぬけと次のまぬけを...
777デフォルトの名無しさん:04/12/26 22:21:37
float * manuke = (float *) &aho;
だな。
778デフォルトの名無しさん:04/12/26 22:25:02
>>775
本当は、別のプログラムを組んでいるのですが
質問を分かりやすくするために
こんな意味のないプログラムになってしまいました

目的は、グローバル変数を使わないで
2入力input関数を作れたらなってことで質問しました
779769:04/12/26 22:31:59
32ビットとか64ビットだと、
わかりにくいので
寝て、おきてから

ふごう 1ビット
しすう 3ビット
かすう 4ビット
ぐらいで考えてみることにします。
どうも、しつれいしました。
780758:04/12/26 22:39:56
main関数内のint *a, *bは消せますね
無駄でした。

なんとか事故解決しました
781デフォルトの名無しさん:04/12/26 23:02:43
↓mallocで領域を確保しようとしてもなぜか4byte分しかとってこれません。
どこに問題があるのでしょうか?
#include <stdio.h>

int main(void)
{
int hogesize;
char buf[256];
char *str;

printf("How many characters you want to input?\n");

fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d", &hogesize);
fprintf(stdout, "OK. Now you can input %d characters\n", hogesize);

str = malloc((sizeof(char) * hogesize) + 1);

printf("Input the word.\n");
fgets(str, sizeof(str), stdin);
fprintf(stdout, "The word you inputted is: %s\n", str);

return 0;
}
782デフォルトの名無しさん:04/12/26 23:10:43
× : sizeof(str)
783デフォルトの名無しさん:04/12/26 23:14:27
>>781
> fgets(str, sizeof(str), stdin);
もしstrが配列ならsizeof(str)は可能ですが、あいにくstrはただのポインタですから
これでは要素数を得ることはできません。
要素数を得る方法はありませんから、確保した時に使った値を使いまわしてください。
784デフォルトの名無しさん:04/12/26 23:14:37
-(a + b) のとき括弧が必要だから -(1) と書くんだと主張しているようなものだな
785デフォルトの名無しさん:04/12/26 23:14:58
>>781
駄目なのはsizeof (str)だ。sizeof (str) == sizeof (char *) == (お前の環境では)4ということだ。
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
  int bufsize;
  char buf[256];
  char *str;

  puts("How many characters you want to input?");

  fgets(buf, sizeof buf, stdin);
  bufsize = atoi(buf);
  printf("OK. Now you can input %d characters\n", bufsize);

  //別にsizeof (char) == 1は規格で保証されているので要らないが一応残しておいた。
  str = malloc((sizeof (char) * bufsize) + 1);

  puts("Input the word.");
  fgets(str, bufsize, stdin);
  printf("The word you inputted is: %s\n", str);
  free(str);
  return 0;
}
俺の好みでいろいろ書き替えちゃっているけどこんなのでどうだ?
786デフォルトの名無しさん:04/12/26 23:18:04
>>782
あなたがそれを望んだからです。
787デフォルトの名無しさん:04/12/26 23:18:26
エロいな・・・
788デフォルトの名無しさん:04/12/26 23:18:47
>>785
変な好みだな。
789デフォルトの名無しさん:04/12/26 23:21:25
>一応残しておいた。

理由をはっきり言えないのは ぼけ だからと白状しろ
790781:04/12/26 23:28:35
みなさんありがとうございます。修正してこんな感じに無事落ち着きました。
int hogesize;
char buf[256];
char *str;

printf("How many characters you want to input?\n");

fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d", &hogesize);
printf("OK. Now you can input %d characters\n", hogesize);

str = malloc(1 * hogesize + 1);

printf("Input the word.\n");
fgets(str, hogesize + 1, stdin);
printf("The word you inputted is: %s\n", str);

free(str);
791781:04/12/26 23:30:33
1 * hogesize
//1 * いらないですね、アホだorz
792デフォルトの名無しさん:04/12/26 23:35:06
正規表現使いたいんですけどregex.hがないって言われます。
793分かりません:04/12/26 23:36:41
Lo = W/pow(T, 3) * pow(10, 7)
Wは体重です
Tは身長です
Loはローレル指数です

この計算をオーバーフローせずに計算させるにはどうしたらいいですか?;
794デフォルトの名無しさん:04/12/26 23:38:11
オーバーフローしないハードウェアを使う。
795793:04/12/26 23:40:49
double Lo;です
Loがdouble型からはみ出て、正しい値が出ません
796デフォルトの名無しさん:04/12/26 23:42:20
int hogesize;
char buf[256];
char *str;

printf("How many Timpos you want to insert?\n");

fgets(buf, sizeof(buf), stdin);
sscanf(buf, "%d", &hogesize);
printf("OK. Now you can insert %d penis \n", hogesize);

str = malloc(1 * hogesize + 1);

printf("Insert the vibrator.\n");
fgets(str, hogesize + 1, stdin);
printf("The timpo you inserted is: %s\n", str);

free(str);
797デフォルトの名無しさん:04/12/26 23:42:52
>>793
悪いことはいわない
数学DQNはPGはやめとけ
798793:04/12/26 23:46:10
>>797
アルゴリズムを300題解いているんですが
その中の一つにこれがあったんです

決して、数学専攻みたいな者ではないです
799781:04/12/26 23:48:05
>>796
さっそく役にたった、わーいw
800デフォルトの名無しさん:04/12/26 23:50:10
>>798
専攻とかいうレベルかよ・・・
だからDQNと言ったんだ
801デフォルトの名無しさん:04/12/26 23:51:19
> pow(10, 7)
10000000.0と書いてはいけないのか?
802デフォルトの名無しさん:04/12/26 23:52:48
printf("%f\n", 1e+7);
803793=798:04/12/26 23:58:16
>>800
頭の中もオーバーフローしたようです
気になさらないでください

>>801
>>802
式につなげてやってみましたができませんでした。
804デフォルトの名無しさん:04/12/27 00:02:16
誰もオーバーフロー対策なんて言っていない。
805793=798:04/12/27 00:02:33
みなさんごめんなさい

できました
何がいけなかったのか聞かないでください
なんだか悲しくなってきました・・・orz
806デフォルトの名無しさん:04/12/27 00:07:56
>>803
powの返却値は何型で、最大と最小はいくつだ?
それで T の許容範囲がわかるよな
Wは何型で、最大と最小はいくつだ?
除算ならゼロ除算の回避も必要だよな
1e+7倍して Lo の最小から最大に収まる W/pow(T,3) の値はどんな範囲だ?

厨房にもできそうな問題だが、厨房か?
807デフォルトの名無しさん:04/12/27 00:27:12
そんな当たり前のことを偉そうに聞かれると自分がバカにされてるみたいで不愉快です。
もっと中身のある話を僕はしたい。
808デフォルトの名無しさん:04/12/27 00:30:02
そんな当たり前のことを偉そうに聞かれると自分がバカにされてるみたいで不愉快です。
もっと中身のある話を僕はしたい。
809デフォルトの名無しさん:04/12/27 00:42:47
そんな当たり前のことを偉そうに聞かれると自分がバカにされてるみたいで不愉快です。
もっと中身のある話を僕はしたい。
810デフォルトの名無しさん:04/12/27 01:18:31
>>807-809
その通りです。あなたをバカにしてるんです。
気づくのが遅いですね。
811デフォルトの名無しさん:04/12/27 01:23:08
806 だが 810 は俺じゃない
812デフォルトの名無しさん:04/12/27 01:24:26
>>811
自分で言っといて、随分と言い訳苦しいですね。潔くないですよ。
813 ◆NiaLAovDN6 :04/12/27 01:27:39
うん
814デフォルトの名無しさん:04/12/27 03:39:44
793=798 だが 807-809 は俺じゃない

さっきよりは中身のある質問するから待ってろ
815デフォルトの名無しさん:04/12/27 04:03:05
線形リストを使って、10個の整数を足して合計を求めるプログラムで
ファイルに入力した数字と合計の出力を書き込む関数を作りたいんですけど

どうやって構造体の中身を引っ張りだせばいいんですか
アドバイスお願いします

次に主なプログラムを出します
現時点では、プログラムの結果だけしかファイルにとりこめません
816デフォルトの名無しさん:04/12/27 04:07:48
struct list {
 int num;
 struct list *next;
};

int main()
{
 int res;

 sum(&res);
 file_output(res);

 return EXIT_SUCCESS;
}
817デフォルトの名無しさん:04/12/27 04:08:20
//線形リスト
void sum(int *sum)
{
 struct list *a, *b;
 char str[16];
 int i = 0;

 *sum = 0;
 b = NULL;
 printf("整数[%2d] = ", i+1);
 scanf("%s", str);

 while(1) {
  if (i != 10)
   a = (struct list *)malloc(sizeof(struct list));
  else
   break;
  a->num = atoi(str);
  *sum += a->num;
  a->next = b;
  b = a;
  if (i == 9)
   break;
  printf("整数[%2d] = ", i+2);
  scanf("%s", str);
  ++i;
 }

 return ;
}
818デフォルトの名無しさん:04/12/27 04:08:42
//ファイル出力
void output(int sum)
{
 printf("sum = %d\n", sum);
 return;
}
819デフォルトの名無しさん:04/12/27 04:09:57
おねがいします
820815:04/12/27 04:21:49
やり方が分かりました。

sum関数の引数に配列を置いて
その配列でデータ取って

それを使ってファイル関数に入れれば
できるみたいです
821デフォルトの名無しさん:04/12/27 04:23:09
それじゃ線形リストにする意味がないだろが('A`)
822デフォルトの名無しさん:04/12/27 13:11:52
C言語なら俺に聞け! Part 98
http://pc5.2ch.net/test/read.cgi/tech/1104114259/

新スレおめでとーございまーす
823デフォルトの名無しさん:04/12/27 14:00:47
すみません質問です
ファイル関係のことなんですが
プログラム書いて実行しても
なにも実感がわきません

なにか実感が沸くようなコードありませんか?
824デフォルトの名無しさん:04/12/27 14:19:50
>>823
HDDをフォーマットするプログラム。
825デフォルトの名無しさん:04/12/27 14:25:22
ハァ?
826デフォルトの名無しさん:04/12/27 17:49:51
はぁ?
827デフォルトの名無しさん:04/12/27 20:30:42
ハァハァ…
828デフォルトの名無しさん:04/12/27 20:52:23
>>823
圧縮ツールでも作ってみたら?
LHA や ZIP があるから必要性は全然ないけど、
遊んでみるには楽しいネタだと思う
829デフォルトの名無しさん:04/12/27 21:04:48
圧縮ツールとはあまり関係ないのだが、
WinRARで.iso(ISO9660)の中身を覗けるのを見て、
統合アーカイバプロジェクトにUnISO9660.DLLがあればいいのに、と思ったことがある。
(展開にDLLを使っているファイラとかで使えればと)
830デフォルトの名無しさん:04/12/27 21:05:19
>>823
datファイルをhtmlに変換するプログラム
これほすぃ
831デフォルトの名無しさん:04/12/27 21:08:43
>>830
それくらいは自分で作れ…
832デフォルトの名無しさん:04/12/27 21:21:27
>>823
du なんかもオモロイな
64bit 必要になるし
833デフォルトの名無しさん:04/12/27 21:37:19
いやいや、823の課題でつよ。
決して作れないわけじゃないですが
特に率先して作る理由もない。
だからつくらないと。
834デフォルトの名無しさん:04/12/28 01:28:39
#include<stdio.h>
main(){
int a=1;
printf("%f\n",(float)1.-a);
return 0;
}
1.-a とはどういうことですか?
835デフォルトの名無しさん:04/12/28 01:32:37
>>834
見たまんまですが、何か?
836デフォルトの名無しさん:04/12/28 01:32:46
(float)1.0 - a
837デフォルトの名無しさん:04/12/28 01:34:11
1.0-aのことでしたか。
どうもです。
838デフォルトの名無しさん:04/12/28 10:53:37
(float)1.よりも1.fにしろ。
わからない奴にとって余計に見た目は難解になるが。
839連結リスト:04/12/28 14:31:50
↓構造体を配列指定ではなく連結リストを使って最初に入力した数の分だけ
用意したいのですがこの後どうすればいいのかわかりません。
(というか連結リストの仕組みが理解できていないわけなのですが・・。)
どのようにすれば良いのでしょうか?

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef struct {
char *name;
int *age;
struct Data *next;
} Data;

void readname(FILE *fp, char *buf, char **name)
{
fgets(buf, 256, fp);
buf[strlen(buf) - 1] = '\0';
*name = malloc(sizeof(char) * (strlen(buf) + 1));
strcpy(*name, buf);
}

void readage(FILE *fp, char *buf, int **age)
{
fgets(buf, 256, fp);
*age = malloc(sizeof(int) * (strlen(buf) + 1));
sscanf(buf, "%d", &*age);
}

↓続きます
840連結リスト:04/12/28 14:32:12
int main(void)
{
char buf[256];
Data *data;
int i;
int num;

data = malloc(sizeof(Data));

fprintf(stdout, "Inout how many people are.\n");
fgets(buf, 256, stdin);
sscanf(buf, "%d", &num);
fprintf(stdout, "OK. %d persons' data.\n", num);

for (i = 0; i < num; i++){
fprintf(stdout, "Input name of No.%d.\n", i + 1);
readname(stdin, buf, &data->name);
}

for (i = 0; i < num; i++){
fprintf(stdout, "Input age of No.%d.\n", i + 1);
readage(stdin, buf, &data->age);
}

for (i = 0; i < num; i++){
fprintf(stdout, "No.%d data:\n", i + 1);
fprintf(stdout, "name: %s\n", data->name);
fprintf(stdout, "age: %d\n", data->age);
}

return 0;
}
841839:04/12/28 14:32:27
すいません、やっぱやめます。
842連結リスト:04/12/28 14:33:35
↑自分ではないです。よろしくお願いします。
>>842
>どのようにすれば良いのでしょうか?
連結リストの仕組みを理解する。
それができないなら祈る。
844ネタスレだったんですか:04/12/28 15:19:54
>>843
それはそうと・・
そうですね、よく考えたら甘えすぎました。
もっかい本読んで挑戦してきます。
845デフォルトの名無しさん:04/12/28 15:21:15
>>844
C言語なら俺に聞け! Part 98
http://pc5.2ch.net/test/read.cgi/tech/1104114259/

まじめなネタはこっちへ
84626:04/12/28 15:33:59
>>845
誘導ありがとうございます。
自分の読解力が本に負けたらそちらに行ってきますorz
847デフォルトの名無しさん:04/12/28 15:34:57
(´∀`)今日もこのスレは平和でいいなぁ
848デフォルトの名無しさん:04/12/28 15:39:13
質問なんですが、
円の半径(r)と中心点(cx,cy)がわかっていて、
この円上に座標点(x,y)を取り、基準点を(cx,cy+r)としたとき、
この座標点の角度を求めるプログラムを作るには、
どのような式を使えばよいでしょうか?
ちなみにasinとacosを使用したいです。
849デフォルトの名無しさん:04/12/28 15:42:09
またか!
850848:04/12/28 15:45:09
>>849 え?
851デフォルトの名無しさん:04/12/28 15:45:51
質問するんじゃねー。ここは本スレじゃねーんだ。
852848:04/12/28 15:49:05
すいません。本スレに書き込んできます。
853デフォルトの名無しさん:04/12/28 22:48:50
本スレ上げ
854デフォルトの名無しさん:04/12/28 22:49:53
最近Cが分からなくなってきた。
855デフォルトの名無しさん:04/12/28 22:52:41
>>854
あっそう。
856デフォルトの名無しさん:04/12/28 22:53:10
最近女房がご無沙汰で…
857デフォルトの名無しさん:04/12/28 23:16:28
風俗でも行けよ
858デフォルトの名無しさん:04/12/29 18:22:06
最近痔であなるがひりひりするから、Cやるのがつらい
859デフォルトの名無しさん:04/12/29 18:24:40
Cより、うんこするほうが難しい
860デフォルトの名無しさん:04/12/29 20:00:41
すけべイス座っとけ
861デフォルトの名無しさん:04/12/30 02:31:40

862!omikuji !dama:05/01/02 12:27:17
...
863デフォルトの名無しさん:05/01/03 02:30:13
残念!
864デフォルトの名無しさん:05/01/03 02:50:19
 
865デフォルトの名無しさん:05/01/03 05:15:25
ちょっと分からんので誰か教えてください。
以下のようなプログラムの場合

int getstr(char* in, char* out)
{
/* inを処理して可変長のoutを得る*/
}

int main(void)
{
 char str1[10]="aaaaaaaaaa";
 char *str2;
 [str2の領域確保?]
 getstr(str1,str2);
 printf("%s",str2);
 [str2の領域解放?]
return 0;
}

mainではstr2の長さが分からないので領域確保できないですが
どうしたらよいでしょうか?
866デフォルトの名無しさん:05/01/03 05:17:42
>>865
一度に確保しようとしなければいい。
867865:05/01/03 05:18:30
しまった。本スレと間違った。
逝ってきます。
868デフォルトの名無しさん:05/01/03 05:26:58
そこでStringBufferですよ
869デフォルトの名無しさん:05/01/04 11:10:43
俺俺に振り込め!
870デフォルトの名無しさん:05/01/04 19:44:03
あ、婆ちゃん?俺だよ俺!孫の!

仕送り送りたいんで口座番号教えて!
871デフォルトの名無しさん:05/01/04 20:02:12
な、なんだってー
872デフォルトの名無しさん:05/01/06 23:31:26
void swap1(int *i, int *j)
{
    int k[2];
    k[0] = *i;
    k[1] = *j;
    *i = k[1];
    *j = k[0];
}
void swap2(int *i, int *j) {
    int tmp;
    tmp = *i;
    *i = *j;
    *j = tmp;
}
873デフォルトの名無しさん:05/01/06 23:34:37
よく似ているというか、同じになりますた。すげー。
それだけ。おわり。
08048364 <swap1>:
8048364:    55           push  %ebp
8048365:    89 e5          mov  %esp,%ebp
8048367:    53           push  %ebx
8048368:    8b 55 08        mov  0x8(%ebp),%edx
804836b:    8b 4d 0c        mov  0xc(%ebp),%ecx
804836e:    8b 1a          mov  (%edx),%ebx
8048370:    8b 01          mov  (%ecx),%eax
8048372:    89 02          mov  %eax,(%edx)
8048374:    89 19          mov  %ebx,(%ecx)
8048376:    5b           pop  %ebx
8048377:    5d           pop  %ebp
8048378:    c3           ret  
08048379 <swap2>:
8048379:    55           push  %ebp
804837a:    89 e5          mov  %esp,%ebp
804837c:    53           push  %ebx
804837d:    8b 55 08        mov  0x8(%ebp),%edx
8048380:    8b 4d 0c        mov  0xc(%ebp),%ecx
8048383:    8b 1a          mov  (%edx),%ebx
8048385:    8b 01          mov  (%ecx),%eax
8048387:    89 02          mov  %eax,(%edx)
8048389:    89 19          mov  %ebx,(%ecx)
804838b:    5b           pop  %ebx
804838c:    5d           pop  %ebp
804838d:    c3           ret
874デフォルトの名無しさん:05/01/06 23:41:04
>>873
よくできました。ぱちぱち

・・・今後も確認を怠らないように。
875デフォルトの名無しさん:05/01/07 09:07:48
詐欺スレに書くなー
876デフォルトの名無しさん:05/01/07 18:57:01
文句あるなら削除依頼でもしてきたら?
877デフォルトの名無しさん:05/01/07 19:55:01
>>876
ム板のスレに削除依頼して通るとでも思っているのか!
削除人に見放された、この板で!m9(´・ω・`)プボーン
878デフォルトの名無しさん:05/01/07 20:01:19
>>877
なぜだと思う?
くだらねえこと気にするしかなくなるのはPGの恥だぞ
879デフォルトの名無しさん:05/01/07 20:34:31
>>877
見放されてはいないぞ。
ただ担当の削除人が甘いだけ。
880デフォルトの名無しさん:05/01/08 18:48:38
えーほんじつは、クロス環境(gcc)をぼけ中。
とりあえずmips。libcはまだない、しかしgcc -Sまで可。

swap2:
    .frame $sp,0,$31        # vars= 0, regs= 0/0, args= 0, extra= 0
    .mask  0x00000000,0
    .fmask 0x00000000,0
    .set  noreorder
    .cpload $25
    .set  reorder
    lw   $6,0($4)
    lw   $3,0($5)
    #nop          # ?ストール?
    sw   $3,0($4)
    .set  noreorder
    .set  nomacro
    j    $31
    sw   $6,0($5)    # ?遅延分岐?
    .set  macro
    .set  reorder

    .end  swap2
881デフォルトの名無しさん:05/01/08 18:55:02
...gcc -c でobjdump可ですた。

00000030 <swap2>:
 30: 3c1c0000 lui gp,0x0
 34: 279c0000 addiu gp,gp,0
 38: 0399e021 addu gp,gp,t9
 3c: 8c860000 lw a2,0(a0)
 40: 8ca30000 lw v1,0(a1)
 44: 00000000 nop
 48: ac830000 sw v1,0(a0)
 4c: 03e00008 jr ra
 50: aca60000 sw a2,0(a1)
882デフォルトの名無しさん:05/01/10 20:44:43
array[12]は12[array]と同等であるが12[array]はなぜ許されているのだろう?
883デフォルトの名無しさん:05/01/10 20:53:50
それをシンタックスシュガーと言う
884デフォルトの名無しさん:05/01/10 22:29:01
>>882
array[12] == *(array + (12)) == *(12 + (array)) == 12[array]
885デフォルトの名無しさん:05/01/11 18:51:00
息の長いスレだねぇ
886デフォルトの名無しさん:05/01/11 19:37:39
30万近くあるデータをバイナリファイルから読み込んで
できるだけ高速に大きい順にソートしたいんですが、
どなたかソート部分のソースお願いします
887886:05/01/11 20:02:06
訂正

バイナリファイルから数十万の数値データを読み込んで
できるだけ高速に大きい順位並べてからテキストファイルに書き出すソフトが作りたいです
ソート部分と書き込み/読み出し部分のソースをよろしくおねがいします
888デフォルトの名無しさん:05/01/11 20:38:41
>>886
断る。
889デフォルトの名無しさん:05/01/11 20:41:07
データ形式
890デフォルトの名無しさん:05/01/11 20:44:49
>>886
で、読み込まれたデータはどういう形で保存されているの?
891886:05/01/11 20:59:52
>>890
数万のdouble型の値としかかかれていませんでした・・

i=0;
while(1==fread(&a[i],sizeof(double),1,fp)){
i++;
}
n=i;

のように読み出せとのことなんですが、
実際クイックソートするとなるとサンプルや文献読んでもよくわからなかったので
お願いしました。
892デフォルトの名無しさん:05/01/11 21:07:29
>>887
qsort を使うことを勧める。
893デフォルトの名無しさん:05/01/11 21:10:28
sizeof(double) == 4 として5MBか…ま、qsortで大丈夫かな。
894デフォルトの名無しさん:05/01/11 21:12:13
>891
ずいぶん遅い方法で読み込むんだな。出題者はどあぽに違いない
895886:05/01/11 21:13:13
いろんな文献やHPでqsort関数ってものの存在は見たんですが
関数という考え方がよくわかってないもので使ってなかったんですが

int main(void);

というのがmain関数なんですよね・・・??
ただ関数にqsortという名前をつけるだけなのかなと考えたんですが・・・
896デフォルトの名無しさん:05/01/11 21:13:46
>891のような読み出し方する意図が不明だな
aのサイズは決め打ち?
ファイルのサイズで確保するなら1個づつ読み出す意味もわからないし
897デフォルトの名無しさん:05/01/11 21:14:36
>>895
使い方を調べたらどうですか?
898デフォルトの名無しさん:05/01/11 21:20:55
>895
main関数はプログラム起動時に最初に職員室に呼び出される、プログラムに必須の関数。
899デフォルトの名無しさん:05/01/11 21:32:07
>>895
標準関数でググレ
900デフォルトの名無しさん:05/01/12 04:01:27
> それをシンタックスシュガーと言う


いわねーよ ぼけ。
シンタックスシュガーってのはそういう意味ではない。
901デフォルトの名無しさん:05/01/12 04:40:47
>>900
へへへ、だんな、ではどういうのをシンタックスシュガーというんで?

# おれは元吉さんの「糖衣構文」て訳語が好きだなあ
902デフォルトの名無しさん:05/01/12 11:09:44
char a[]={'a','b','c','\0'};をchar a[]="abc";と書けるとか、
(*a).bをa->bと書けるとか。
903デフォルトの名無しさん:05/01/12 13:10:07
こ こ は ネ タ ス レ だ っ て の
904デフォルトの名無しさん:05/01/12 13:52:38
構文糖、一刀両断!
905デフォルトの名無しさん:05/01/16 17:56:44
捕手
906デフォルトの名無しさん:05/01/17 23:24:57
ほっ、ほぁーっ! ほぁーっ!! ぬるぽ
907デフォルトの名無しさん:05/01/31 09:18:22
捕手
908デフォルトの名無しさん:05/02/07 00:19:29
捕手
909コスモス:05/02/07 12:04:24
標準入力から3個の整数を読みとり、正三角形、2等辺三角形、一般の三角形を判定するC言語のプログラムを教えてください!
910デフォルトの名無しさん:05/02/07 12:16:48
>>909
だまれ
911デフォルトの名無しさん:05/02/07 12:33:45
2時間ぐらいで誰か代わりにプログラムをくんでくれ
ax' = b (mod m) (ただし,a,b∈整数,m∈整数>0)の解放
Step 1.拡張ユークリッド互除法を、a,mに適用して、
     ax' + my' = d , d = (a,m)
なる整数x',y',dを求める。
Step 2.もし d | bでないなら、「解なし」と画面出力して終了。
    そうでないならStep 3へいく。
Step 3. x1 = b/d*x1 を計算。
Step 4. x0 ≡ (mod m/d),0=<x0<m/dなる整数x0を計算して出力
912デフォルトの名無しさん:05/02/07 12:34:34
ちなみに拡張ユークリッド互除法のプログラム

#include<stdio.h>
main(void)
{
int a,b,c,d,e,f,g,h;
a = b = g = h = 0;
c = f = 1;
d = e = 0;
printf("整数を2つ入力してください = ");
scanf("%d %d",&a,&b);
while(b!=0){
g = a/b;
h = a-g*b;
a = b;
b = h;

h = c-g*d;
c = d;
d = h;

h = e-g*f;
e = f;
f = h;
}
printf("最大公約数は%dで、Cは%d、Eは%dです\n",a,c,e);

return 0;
}
913デフォルトの名無しさん:05/02/07 12:34:56
くんだらいくらくれるんだ?
914デフォルトの名無しさん:05/02/07 12:43:51
>>909
#include<stdio.h>
int main()
{
int a,b,c;
printf("三辺を入力してください\n");
scanf("%d",&a);
scanf("%d",&b);
scanf("%d",&c);
if(a == b){
if(b == c){
printf("正三角形です");
}else{
printf("二等辺三角形です");
}
}else if(b == c){
printf("二等辺三角形です");
}else{
printf("三角形です");
}
return 0;
}
915デフォルトの名無しさん:05/02/07 12:44:41
#include <stdio.h>
#include <stdlib.h>

int GetStdinToInt()
{
  char buf[256];
  int result;
  char* check;

  while(1){
    fgets(buf, 255, stdin);
    result = (int)strtol(buf, &check, 0);
    if(check != buf) break;
    printf("もう一度入力してください:");
  }

  return result;
}
916デフォルトの名無しさん:05/02/07 12:44:56
>>913
助け愛なのでできればボランティアで
917デフォルトの名無しさん:05/02/07 12:45:32
>>909
0,0,0 の入力だと(ry
5,1,1 の入力だと(ry
918デフォルトの名無しさん:05/02/07 12:46:01


int main()
{
int a, b, c;
  printf("辺1の長さを入れてください:");
  a = GetStdinToInt();
  printf("辺2の長さを入れてください:");
  b = GetStdinToInt();
  printf("辺3の長さを入れてください:");
  c = GetStdinToInt();

  if(a == b){
    if(a == c){
      printf("正三角形です\n");
    }else{
      printf("二等辺三角形です\n");
    }
  }else if(a == c || b == c){
      printf("二等辺三角形です\n");
  }else{
      printf("普通の三角形です\n");
  }

  return 0;
}
919デフォルトの名無しさん:05/02/07 12:47:03
>>911>>916
宿題は自分で
920デフォルトの名無しさん:05/02/07 12:48:19
ここにはC言語のエキスパートがいると聞きましたが本当ですか?
921デフォルトの名無しさん:05/02/07 12:49:37
>>920
922デフォルトの名無しさん:05/02/07 12:49:45
>>920
C言語のエキスを抽出する様なパートさんはおりません。
923デフォルトの名無しさん:05/02/07 13:05:30
>>914>>918
藻前ら、5cm、1cm、1cmの三角形を書いてみろよ
924デフォルトの名無しさん:05/02/07 13:05:45
>>914
3
4
3
って入れたら間違った答えが出てきたよ
925デフォルトの名無しさん:05/02/07 14:06:47
>>924
そこまでわかってるなら自分でやれよ
926デフォルトの名無しさん:05/02/07 14:22:35
低レベルの奴らばっかり。
927デフォルトの名無しさん:05/02/07 14:31:18
>>923
えーと、最も長い辺の二乗が他の辺の二乗の和より大きかったら書けないということになるのかな?
928デフォルトの名無しさん:05/02/07 14:51:13
んなこたーない。
929デフォルトの名無しさん:05/02/07 15:14:37
何でわざわざ二乗にするんだよ
930デフォルトの名無しさん:05/02/07 15:17:07
最も長い辺の長さが他の二辺の長さの和よりも長いと書けないんじゃなかったか?
931デフォルトの名無しさん:05/02/07 15:28:16
配列でa[]={1,2,3,4,5}ぐらいのものから、ランダムに集合を
作りたいのですが教えて下さい。
出力結果は、{1,2,3},{2,4},{3,{2,4}}とこんな感じのものが欲しいです。
932デフォルトの名無しさん:05/02/07 15:57:01
条件が少なすぎ。
集合の中の集合もありなのか?
何重のネストまで可なんだ?
同一要素はどこに出てきていいんだ?
何をもって十分乱雑だというんだ?
適当に推測するなら枝数5以下の木構造をランダムに作って、
葉にランダムに数字をわりふるとか?
933931:05/02/07 16:30:03
>>932
すいませんでした。
集合の集合もありです。むしろ欲しいです。
入れ子はできれば少ない方がいいくらいで、特に制限はありません。
勘違いしてましたが、{3,{2,4}}ではなく、{{3},{2,4}}という感じがいいです。
{1,2},{3,4,5},{{1,2},{1,3},{2,3,4}}→○ {2,3,3},{{1,1,1},{4,4,5}}→x
{1,2}={2,1}です。組合せです。
すべての集合を作るのではなく、n個の集合が欲しいです。
934デフォルトの名無しさん:05/02/07 16:30:10
C++で時間の取得ってどうすればいいんですか?
現在時刻(時、分、秒)とタイマーとアラームを動かしたいんです
935デフォルトの名無しさん:05/02/07 16:35:01
質問は本スレでやれ
C++はC++のスレでやれ
ネタはここでやれ
おかずは閉店前を狙え
936デフォルトの名無しさん:05/02/07 16:39:15
>>934
環境わかんないんで適当に標準関数使いたいものと仮定するが
time
gmtime
localtime

あたりを適当にぐぐれ

そういや2038年までもうすこしだなぁ…
そのころSEの人乙
937デフォルトの名無しさん:05/02/07 16:48:59
>>931
要素を乱数のビットに割り当てる。
938デフォルトの名無しさん:05/02/07 16:58:21
{1,2}っていうのは、{{1},{2}}の意味か?
必要なのは{1, 2, 3, 4, 5}のべき集合のべき集合の中の
ランダムな要素の集合か系列というところか?
939931:05/02/07 17:08:47
あ、僕自分で何言ってんのか・・・_| ̄|○
すいません。何か頭ん中ごちゃごちゃになって(汗
{{3},{2,4}}がいいとか言ってるのですが、やっぱり{3,{2,4}}ですね(汗
で、{1,2}はそのまま{1,2}です(汗
そうですね。>>938さんのいう所です(汗
迷惑かけてすいません。集合の作り方がわからなくて_| ̄|○
940デフォルトの名無しさん:05/02/07 17:10:11
941デフォルトの名無しさん:05/02/07 17:10:57
>>939
まず、数学から勉強し直せ
942デフォルトの名無しさん:05/02/07 17:14:09
まだ混乱していると思うので、ちゃんと整理してから出直した方がよい。
仕様がかたまっていなければそもそもC以前の問題だし、ここはネタスレだから。

943デフォルトの名無しさん:05/02/07 17:14:57
「ここはネタスレ」を、逃げに、使うなっっ!!!
944デフォルトの名無しさん:05/02/07 17:18:32
じゃあおまえが集合の基礎から教えてやれ
945デフォルトの名無しさん:05/02/07 17:19:34
>>943
ネタスレ覗いて何言ってるんだか
946デフォルトの名無しさん:05/02/07 17:19:43
というのもネタだから。
947デフォルトの名無しさん:05/02/07 17:41:54
Cで、
char ch[128];
として、後にstrtokで分けるために
chに"one two three"等複数の文字列を1行として入力するにはどうすればよいでしょうか。
948デフォルトの名無しさん:05/02/07 17:43:06
>>947
fgets(ch, sizeof ch, stdin);
949デフォルトの名無しさん:05/02/07 17:44:24
Hahahahaha
950デフォルトの名無しさん:05/02/07 17:48:21
だれか次スレ立てて
951947:05/02/07 17:49:21
なるほど、fgetsですか。
getsだと危険だから使用するなとか出たので困ってました。
ありがとうございます。
952デフォルトの名無しさん:05/02/07 17:51:07
953デフォルトの名無しさん:05/02/07 17:52:03
次スレ立ってました
http://pc5.2ch.net/test/read.cgi/tech/1107128274/
ゆるやかに埋めましょう
954デフォルトの名無しさん:05/02/07 17:54:23
>>951
getsはバッファの大きさを指定しないためオーバーフロー起こす可能性あるからねぇ…
まぁ、個人で使うときとかオーバーフロー起こさないって確証あるなら使っても構わないと思う
955デフォルトの名無しさん:05/02/07 17:56:45
gets->fgetsに置き換えて安心してる奴はアフォ
バッファ切れたらまともに動かねーだろドアフォ
956デフォルトの名無しさん:05/02/07 20:08:59
>>954
確証なんてものはないと思う。
キーボードを前に眠り込む香具師は多いだろ?
957デフォルトの名無しさん:05/02/07 21:12:58
一般に出荷しちゃマズい危険性を持った実験器具をひたすら罵倒して優等生ぶってる special 君が多いな・・・
958デフォルトの名無しさん:05/02/07 21:18:20
俺は超エリート中学生だ。
959デフォルトの名無しさん:05/02/07 21:35:02
special の意味も知らんようだな
罵倒語くらって天狗になる奴は珍しい
960デフォルトの名無しさん:05/02/07 23:57:42
>>959
お前あれだろ、「片手落ち」が差別用語だと思っているタイプ?
961デフォルトの名無しさん:05/02/08 00:11:58
>>960
何故片手落ちを差別用語にしようとしているか知らないのか?
962デフォルトの名無しさん:05/02/08 00:23:36
>>961
知能に不自由な方ですか?
963デフォルトの名無しさん:05/02/08 00:27:44
>>962
あなたは知識に不自由な人ですね
わかりやすく言うと、あなたは無知です
964デフォルトの名無しさん:05/02/08 00:28:16
>>961
リチャードキンブルが真犯人を見付け出すためだ
965デフォルトの名無しさん:05/02/08 00:29:24
3時間もかかるなw
966デフォルトの名無しさん:05/02/08 01:01:34
>>961
誰かが差別用語にしようとしている、なんて「噂」を信じている事が、お前の性格を表
しているよ。
誰が差別用語にしようとしているか、なんて事はどうでもいいし、今は関係ない。

きっと、こういうタイプは毎朝占いを見てから出勤するんだろうな。
967デフォルトの名無しさん:05/02/08 01:05:12
>>966
無知を自覚していないようですね
恥の上塗りですよ
968デフォルトの名無しさん:05/02/08 01:09:27
>>967
貴方が誇れる知識は何ですか?
人を無知と呼ぶ根拠はその一点ですか?
私が知らないといつ書きました?

貴方は少し妄想癖があるようですね。
969デフォルトの名無しさん:05/02/08 01:10:07
>>968
知っているんですね
ではお聞きしましょう

どうぞ
970デフォルトの名無しさん:05/02/08 01:12:09
>>958
からずっと自演乙
日下部くん
971デフォルトの名無しさん:05/02/08 01:12:48
ということにしたいのですね
972デフォルトの名無しさん:05/02/08 01:12:52
>>969
ここで書いて誇る程の事ではないし、調べてから書いたことでないとどうして証明できる?
ナンセンス。
973デフォルトの名無しさん:05/02/08 01:13:51
>>972
逃げやがった。
974デフォルトの名無しさん:05/02/08 01:15:22
というわけで、彼(>>973)はこういう厨でした。
975デフォルトの名無しさん:05/02/08 01:18:01
というわけで、彼(>>974)はこういう厨でした。
976デフォルトの名無しさん:05/02/08 01:29:04
埋めようとしてるだけだろ
977デフォルトの名無しさん:05/02/08 01:30:40
その通り。
978デフォルトの名無しさん:05/02/08 01:31:42
UMEYOZEEEEEEEEEEEEEEEEEEEE
979デフォルトの名無しさん:05/02/08 01:35:21
PCを実践するのは結構だけど押し付ける奴は基地外
980デフォルトの名無しさん:05/02/08 01:38:17
>>979
おっしゃる意味がわからないのですが。
981デフォルトの名無しさん:05/02/08 01:39:52
>>979
物書きを押しつけるのは基地外か?
小学生が無理矢理漢字を覚えさせられるのは不当だと?
もはやPCの使い方を知っていることは、ペンで紙に文字を書くのと同じくらい重要に
なってきている。
982デフォルトの名無しさん:05/02/08 01:40:47
そこでゆとり教育ですよ
983デフォルトの名無しさん:05/02/08 01:43:50
ここはPCの意味すら分からないアホばっかだな
984デフォルトの名無しさん:05/02/08 01:45:44
>>983
ぱーそなるこんぴゅーた。
なんか文句あるか
985デフォルトの名無しさん:05/02/08 01:45:58
980超えたから埋め立てはもういいよ。
986デフォルトの名無しさん:05/02/08 01:46:57
最後まで行くぜ。
987デフォルトの名無しさん:05/02/08 01:51:32
ほ、ほーっ、ホアアーッ!! ホアーッ!!
988デフォルトの名無しさん:05/02/08 01:53:03
ぬるぽ
989デフォルトの名無しさん:05/02/08 02:38:31
989
990デフォルトの名無しさん:05/02/08 02:40:15
>>983
パーでも使えるこんぴゅうた
991デフォルトの名無しさん:05/02/08 02:41:23
a
992デフォルトの名無しさん:05/02/08 02:41:48
991
993デフォルトの名無しさん:05/02/08 02:42:29
基地外が二人いるのかw
994デフォルトの名無しさん:05/02/08 02:43:01
995デフォルトの名無しさん:05/02/08 02:43:41
>>993
気違いです。
996デフォルトの名無しさん:05/02/08 02:44:12
996
997デフォルトの名無しさん:05/02/08 02:44:49
4ね
998デフォルトの名無しさん:05/02/08 02:45:33
998
999デフォルトの名無しさん:05/02/08 02:47:49
あーあ
1000デフォルトの名無しさん:05/02/08 02:48:12
C1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。