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

このエントリーをはてなブックマークに追加
101デフォルトの名無しさん
ほっほっ
102デフォルトの名無しさん:2010/11/30(火) 23:11:51
むかつく話だが
期末試験で#includeの必要性を問う問題が出題されてて
うちは「プログラムを動かすおまじないのようなもの」と書いたんだが
解答として不適切だって教授に駄目出しされた。
てめぇがそのように教えたんだろうがふざけんな
103デフォルトの名無しさん:2010/11/30(火) 23:14:51
http://codepad.org/kVS2IbxH
どちらかの方法で収束しないはずなのにするのはなぜなんでしょうか
104デフォルトの名無しさん:2010/11/30(火) 23:17:02
教えたことを鵜呑みにする奴はダメだしされてもしかたがない
105デフォルトの名無しさん:2010/11/30(火) 23:26:01
いやまぁでも気持ちはわかるw
その教授はちゃんと説明するべきだったな
106デフォルトの名無しさん:2010/11/30(火) 23:29:13
大学ってのはな、自分で勉強する場なんだよ
ゆとりの餓鬼じゃあるまいしレベルの低い事はやめてくれ
107デフォルトの名無しさん:2010/11/30(火) 23:32:21
おまじないとか言うのは最初のうちだけで、後からちゃんとした意味を説明すると思うんだが
>>102が授業にちゃんと出てなかったとかいうオチだろ
108デフォルトの名無しさん:2010/11/30(火) 23:43:11
>>107
だったら最初からきちんと説明してくれといいたい
109デフォルトの名無しさん:2010/11/30(火) 23:44:16
図星だったのかwww
110デフォルトの名無しさん:2010/11/30(火) 23:55:15
最初から説明しても絶対分からないしむしろ混乱するだけだからおまじないでよろし。
いきなりprintfやらの説明されても困るだろ
111デフォルトの名無しさん:2010/11/30(火) 23:58:31
>>110
だったら「プログラムを動かすおまじないのようなもの」で解答あってんじゃん。
112デフォルトの名無しさん:2010/11/30(火) 23:59:25
逆ギレしている馬鹿生徒がいるというスレはここですか?
113デフォルトの名無しさん:2010/12/01(水) 00:03:31
114デフォルトの名無しさん:2010/12/01(水) 00:11:09
>>103
まず有効桁数が無限であればニュートン法は必ず収束する。
だが有効桁数が有限の場合は収束しない場合がある。下記の場合だ。
 ニュートン法を10回数行ったときの値をf1とし、f1の次の値をf2とする。
 10回目以降の動きを数直線上に示すと、下記のケースとなる場合がある。
  10 f1 解
  11   解 f2
  12 f1 解
    :
 この場合f1とf2で発振し、収束しない。
有効桁数が無限であれば fn と解との距離は無限に小さくなっていくが、
有効桁数が有限の場合は丸めによって途中の値に戻ってしまうことがあるわけ。
場合によっては、
  10 f1 解
  11 f1 解
    :
となって収束する。

> どちらかの方法で収束しない
というのはあくまである環境での話であって、
君の環境でそうなるとは限らない。
115デフォルトの名無しさん:2010/12/01(水) 00:19:10

おまじないって教わったのに駄目出しされた!

                           ↓

最初はおまじない、後の授業で説明したんだろ。

                           ↓

だったら最初の授業から教えろ!

                           ↓

最初から教えても理解出来ないからおまじないで良い。

                           ↓

だったら解答あってんじゃん !

                           ↓

                   
最初はおまじない、後の授業で説明したんだろ。

以下延々ループ処理
116デフォルトの名無しさん:2010/12/01(水) 00:24:54
   _____      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 /:\.____\  / 対ガッ用超高性能ぬるボックスのテスト開始!
 |: ̄\(∩( ;゚∀゚) <   重いので持ち上げたり投げ飛ばしたりするのは不可能
 |:   |: ̄ ̄ ̄∪:|  \ 耐熱耐寒仕様、太陽に突っ込んでも大丈夫
                \___________

   _____      / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 /:\.____\  / 圧力にも屈しない。外部からの衝撃で中の人間が死ぬ事もない。
 |: ̄\(∩( ;゚∀゚) <   宇宙空間でも大丈夫。酸素も食料も一生分ある。排泄物も秘密システムで処理できる。
 |:   |: ̄ ̄ ̄∪:|  \ 箱は 外 側 からしか開かない。ふはははは、完璧すぎる。ぬるぽぬるぽぬるぽ!
                \___________
    バタンッ!!
 ________
 |: ̄\      \   <ヌルポヌルポー!!
 |:   |: ̄ ̄ ̄ ̄:|
117デフォルトの名無しさん:2010/12/01(水) 00:26:46
何年前のAAだよw
118デフォルトの名無しさん:2010/12/01(水) 03:37:33
FILE *fp;
fp = fopen( "test.txt", "w" );
fclose(fp);
これで同じディレクトリにtest.txtが作られるはずですが、出来ません。なぜでしょうか。
119デフォルトの名無しさん:2010/12/01(水) 03:47:17
書き込み権限の無いシステムディレクトリだからファイルが作れないとか
VSでやっててソリューションディレクトリとプロジェクトディレクトリを勘違いしてるとか
そもそもfopenした後のfpがNULLかどうか確認したのか?
120デフォルトの名無しさん:2010/12/01(水) 03:55:28
int main ( int argc, char *argv[] )
{
...
FILE *fp;
fp = fopen( "test.txt", "w" );
fclose(fp);
...
}
だと動かないけど

int main ( void )
{
...
FILE *fp;
fp = fopen( "test.txt", "w" );
fclose(fp);
...
}
だとtest.txtが出来上がっていた
121デフォルトの名無しさん:2010/12/01(水) 09:36:03
糞スレ
122デフォルトの名無しさん:2010/12/01(水) 17:14:24
>>102
これ教授の目の前で言ってるのと同じだけど、大丈夫か?
123デフォルトの名無しさん:2010/12/01(水) 17:52:40
大学生でこの文章力だとプログラムの方は絶望的だな
124デフォルトの名無しさん:2010/12/01(水) 17:57:53
>>123
何普通に返してんだよ
125デフォルトの名無しさん:2010/12/02(木) 00:08:53
http://codepad.org/7MRjreIq
参考書のサンプルプログラムです
質問1
このプログラムの2番目のif文はargv[]の2番目を処理しているのですか?
仮に2番目のパラメータだとしたら1番目のパラメータはこのプログラムのこと
を言っているのですか
質問2
while文の記述が私の想像だと
while ((c=fgetc(fp))!=EOF){
fputc(c,stdout)};
fclose(fp);
のようにfputcだけループされる具合になると思うんですがあってますか
質問3
fputcの第2引数stdoutの意味を教えてください(おまけで答えてほしいです)



126デフォルトの名無しさん:2010/12/02(木) 00:26:39
すいません
上の質問すべて解決しました
127デフォルトの名無しさん:2010/12/02(木) 00:29:28
ふっふっ
128デフォルトの名無しさん:2010/12/02(木) 00:33:13
ありがとうございました
129デフォルトの名無しさん:2010/12/02(木) 00:49:04
どういたしまして
130デフォルトの名無しさん:2010/12/02(木) 01:31:38
いえいえ
131デフォルトの名無しさん:2010/12/02(木) 03:14:00
ほっほっ
132デフォルトの名無しさん:2010/12/02(木) 09:11:47
どぴゅっどぴゅっ
133デフォルトの名無しさん:2010/12/02(木) 09:29:23
もしもし
134デフォルトの名無しさん:2010/12/02(木) 09:30:36
かめよ
135デフォルトの名無しさん:2010/12/02(木) 11:46:30
かめさんよ
136デフォルトの名無しさん:2010/12/02(木) 12:04:09
世界のうちにおまえほど歩みののろいものはない
どうしてそんなにのろいのか

なんとおっしゃる うさぎさん
137デフォルトの名無しさん:2010/12/02(木) 14:20:11
つきにかわって
138デフォルトの名無しさん:2010/12/02(木) 15:13:53
おしおきよ
139デフォルトの名無しさん:2010/12/02(木) 17:24:51
良スレの悪寒
140デフォルトの名無しさん:2010/12/02(木) 18:33:59
ふっほっ
141デフォルトの名無しさん:2010/12/02(木) 19:52:58
ぶはっぶはっ
142デフォルトの名無しさん:2010/12/02(木) 23:23:29
http://codepad.org/zBqztw45
参考書のサンプルプログラムのコピペです
どういう動きをするのかわかりやすく解説してほしいです
こんがらがってしまいました
なんで作者はこんなわけのわかんないプログラム作ったかも謎です
143デフォルトの名無しさん:2010/12/02(木) 23:30:20
作者かわいそす
144デフォルトの名無しさん:2010/12/02(木) 23:32:42
参考書なのに、どんなつもりのコードなのか解説がないのかね。
145デフォルトの名無しさん:2010/12/02(木) 23:37:10
ASCIIコードについて説明しようとしてるんじゃね?
146デフォルトの名無しさん:2010/12/02(木) 23:39:59
配列の初期化、配列に代入、配列の出力

終わり
147デフォルトの名無しさん:2010/12/02(木) 23:41:44
>>142
文字もCではただの数字として扱われる。
見たいな事を示したかったんじゃないかな?
http://codepad.org/smhiyESX

後、
(c=getchar())!=EOF
の意味だが、
この辺読めば分かるんじゃないか?
http://homepage1.nifty.com/toshio-k/prog/c/
148デフォルトの名無しさん:2010/12/03(金) 00:32:00
質問です。
縦横5x5つのマス目からなる表の1列目の上から下に向かって、文字列の1文字目から順に当てはめていく。
一番下までいったら、2列目、3列目、・・・に同様に文字を当てはめていく。
この操作を二次元配列を用いて行いたいのですが、どうすればいいのか見当もつきません。
ヒントだけでもいいので教えてください、お願いいたします。
149デフォルトの名無しさん:2010/12/03(金) 00:35:50
へえ
150デフォルトの名無しさん:2010/12/03(金) 00:41:20
char masu[] = "abcdefghijklmnopqrstuvwxyz";
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
printf("%c ", masu[j * 5 + i]);
}
printf("\n");
}
151デフォルトの名無しさん:2010/12/03(金) 01:05:57
>>142です

やっぱこのプログラム糞ですわ、
while((c=getchar())!=EOF)
count[c]++;
ここの部分がほかの処理となんも関係ない
数字を標準入力してその分の配列を作ろうとでもしたのかこれは

ちなみに文字コードのことは解説にはないです

152デフォルトの名無しさん:2010/12/03(金) 01:07:36
全然違います
プログラムが糞なんじゃなくて
ちゃんと読めない君が糞なんじゃないの?
153デフォルトの名無しさん:2010/12/03(金) 01:10:52
いくらなんでも釣りだろ。
こんなアホみたいな簡単なソース読めないのにこんなに偉そうなのはありえない。
154デフォルトの名無しさん:2010/12/03(金) 01:44:04
>>142
標準入力から1バイトずつ読み込んでEOFに相当する値を読み込むまで各値の個数を集計している。
最後に集計した各値の個数を表示して終了。
155デフォルトの名無しさん:2010/12/03(金) 01:44:39
糞スレ
156デフォルトの名無しさん:2010/12/03(金) 02:14:40
>>148
char masu[5][5], moji[] "abcdefghijklmnopqrstuvwxy";
int i, j, k = 0;

for(i = 0; i < 5; i++) for(j = 0; j < 5; j++) masu[j][i] = moji[k++];
157デフォルトの名無しさん:2010/12/03(金) 02:26:22
すいません
ラストオーダーです(汗)
これ以降ロムします
>>142のプログラムについてforやwhileのあとに[]をつけてほしいです
あと
count[c]++は配列、中に格納してある値のどちらをインクリメントしているのか知りたいです

ラストチャンスをください!
158デフォルトの名無しさん:2010/12/03(金) 02:53:14
配列をインクリトリスメントする場合は当然cunt[c++]だろがタイコンデロガ。
よって中の値をインラクリマクリスティメントしてるよ。
159デフォルトの名無しさん:2010/12/03(金) 03:05:39
配列をどうやったらインクリメントできんだよw
160デフォルトの名無しさん:2010/12/03(金) 10:30:24
ヒント
ポインタ演算
161デフォルトの名無しさん:2010/12/03(金) 12:29:52
http://codepad.org/nEINUhJI
変数のポインタを返す関数を
ポインタのポインタを引数にとる関数に渡したいときの書き方が分かりません
URLのように普通に&を付けてみたらエラーが出ます
162デフォルトの名無しさん:2010/12/03(金) 12:58:23
>>161
ttp://codepad.org/9S1VmhwT
一時変数のアドレスが欲しいわけじゃないでしょ
こうやらないとダメ
163デフォルトの名無しさん:2010/12/03(金) 13:25:47
しつもんです〜

Delphiで

TUnkoClass: class of TUnko

function BuildUnko(AType:TUnkoClass):TUnko;
begin
 Result:=AType.Create;
end;

type
 TGeri = class(TUnko)


 TIpponGuso = class(TUnko)



こういうのがあったとして、これをC++でやるにはどうしたらいいんでしょうか。
164デフォルトの名無しさん:2010/12/03(金) 13:40:17
残念ながらここは ++ の付かない C のスレ
165デフォルトの名無しさん:2010/12/03(金) 14:24:06
んじゃCではどうやるんですか?
166デフォルトの名無しさん:2010/12/03(金) 14:48:00
Cにはクラスがないので、まずCでどのようにクラスを実現するのかという問題から議論せねばなるまいな
ただの構造体とするなら、サイズを覚えておいて malloc に渡すだけでいいぞ
167デフォルトの名無しさん:2010/12/03(金) 15:15:15
なるほどw 
まぁ構造体ID→分岐→静的コンストラクタって流れなら問題なく記入したコードぐらいなら再現できるけど
クラスの扱いに関してはC++へ行けって事ですね。

んじゃそうします。
168デフォルトの名無しさん:2010/12/03(金) 15:24:52
ふっほっ
169デフォルトの名無しさん:2010/12/03(金) 16:49:26
ほっほっ
170デフォルトの名無しさん:2010/12/03(金) 18:22:12
どぴゅっどぴゅっ
171デフォルトの名無しさん:2010/12/03(金) 20:26:02
>>151
糞かもしれん。が、糞かどうかは >>142 だけでは判断できんのだ。
前に何が書いてあるのか分からんことには・・・
>>142 はまともなプログラムだから。
172デフォルトの名無しさん:2010/12/03(金) 20:36:05
え?
173デフォルトの名無しさん:2010/12/03(金) 23:05:59
低水準入出力関数でファイルを開いて
ファイルの文字列から1文字うけとって
それをASCIIコードで出力したい場合どうすればいいですか?
174デフォルトの名無しさん:2010/12/03(金) 23:07:30
>>173
open
read
write
close
175デフォルトの名無しさん:2010/12/03(金) 23:09:47
open
read
printf
close
じゃない?
176デフォルトの名無しさん:2010/12/03(金) 23:15:00
>>175
printf()は低水準じゃないぞ。
題意は出力も低水準かも知れん。
177デフォルトの名無しさん:2010/12/03(金) 23:16:52
stdoutのハンドルはどう取ればよいのだ?
178デフォルトの名無しさん:2010/12/03(金) 23:17:37
ファイルから読んだデータをそのまま書き出すんじゃなくて、
出力するときだけわざわざアスキーと書いてるってことは
入力はアスキーじゃないのかとか、いろいろ空想が広がる質問だな。
179デフォルトの名無しさん:2010/12/03(金) 23:18:50
>>177
つ[fileno()]
つーか、1だろ。JK
180デフォルトの名無しさん:2010/12/03(金) 23:19:56
>>177
ファイルハンドルで0だか1だかでしょ? > 標準出力
もう忘れたけど。
181デフォルトの名無しさん:2010/12/03(金) 23:22:25
標準出力が1で標準エラー出力が2じゃないかい
182デフォルトの名無しさん:2010/12/03(金) 23:44:35
ふっふっ
183デフォルトの名無しさん:2010/12/04(土) 00:22:45
おお、1なんだ。初めて知ったわ。
shやbashのやつと同じなのか。
184デフォルトの名無しさん:2010/12/04(土) 00:24:28
stdout
185デフォルトの名無しさん:2010/12/04(土) 03:50:23
へえ
186デフォルトの名無しさん:2010/12/04(土) 12:08:41
ふっほっ
187デフォルトの名無しさん:2010/12/04(土) 17:11:09
>>148です。
返事が遅れてすみません。
>>150 >>156御回答ありがとうございます。
188デフォルトの名無しさん:2010/12/04(土) 18:02:19
関数を呼び出すときって
例えば構造型じゃない変数型の関数
int star(void)
を呼び出す時は
int main(void)の中で
int a,b star();
のようにstar()は{}内の最初の行で定義しなくていいですよね?
でも構造体の場合は
例えば構造体関数の場合, STAR moon(STAR a1)の場合
mainに呼ぶときは
int main(void)の中で
STAR m,n, moon(STAR)のように
{}内の最初の行で宣言が必要なんですか?
こう宣言しとかないとエラーが出ます。
189デフォルトの名無しさん:2010/12/04(土) 18:09:32
>>188
意味が分からん。ここにソース貼ってリンクをくれ。
http://codepad.org/
190デフォルトの名無しさん:2010/12/04(土) 18:10:03
>>188
構造型とか変数型とか勝手に自分用語作るな
日本語もおかしいし
根本的にC言語を理解してないように見える
191デフォルトの名無しさん:2010/12/04(土) 18:10:09
今時宣言なしとかやめてくれ。
192デフォルトの名無しさん:2010/12/04(土) 18:10:16
ちょっと何言ってるか分からないですねえ
193デフォルトの名無しさん:2010/12/04(土) 18:11:12
プロトタイプ宣言のない関数は戻り値が int で引数が不定だと推定される
194デフォルトの名無しさん:2010/12/04(土) 18:14:36
>>188
まず下記のソースをそのまま(順番変えずに)コンパイルすると普通エラーだ。これはいいか?
int main(void) { return star(); }
int star(void) { return 0; }
195デフォルトの名無しさん:2010/12/04(土) 18:26:44
どういう勉強の仕方をしたら>>188みたいなことになるんだろう
196デフォルトの名無しさん:2010/12/04(土) 18:40:01
すいません 日本語不自由で・・・
#include <stdio.h>
int star(int b)
{int c;c=b+1;return c;}
int main(void)
{
int a;a=3;printf("%d\n",star(a));
return 0;
}
このように
int main(){int a, star();
略}
と書かなくてもエラーでませんよ?構造体の場合
int main(){STAR a1,a2,moon()・・・略}
と構造体関数をmainに呼ぶときは最初に宣言しとかないとエラーでます。
197デフォルトの名無しさん:2010/12/04(土) 18:42:53
>>194
すいません、ソースは簡単なもんで良いです。、単に原理の話をしたいのです。
ポインタ、や配列一切考えず、すごい単純な例を考えると原理部分以外でエラー
でないので考えてみましょう。
りんごとみかんの数の合計をそれぞれ出すプログラム作ってみてください。
構造体型関数 FRUITS moon(FRUITS nani FRUITS dore)
の中で二つを計算してmainで呼んでください。
198デフォルトの名無しさん:2010/12/04(土) 18:44:55
>>196
お前が上に張ったコードと
>int main(){int a, star();
これにいったいどんな関連性があるんだ…
構造体関数ってなんだよ本にそう書いてあったのか?
199デフォルトの名無しさん:2010/12/04(土) 18:49:18
エラーが出ると言うコードを略さず全部書いてくれ
200デフォルトの名無しさん:2010/12/04(土) 18:55:19
もう釣りなんじゃないかって気がしてきた