[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 08/07 07:50 / Filesize : 147 KB / Number-of Response : 453
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題を片付けます 105代目



1 名前:デフォルトの名無しさん [2008/04/15(火) 23:07:41 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう.
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):()
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

【前スレ】
C/C++の宿題を片付けます 104代目
pc11.2ch.net/test/read.cgi/tech/1202135539/

313 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:23:21 ]
お前さぁ、負の値が2進数、デジタルデータの世界でどのように表現されているか知らんのぉ?
まぁ、これは大学でやった実験では普通に扱いましたよ、論理回路も含めて。
なんで変数の型に、敢えて unsigned があると思ってんの?
8bitで扱える値の幅、パターンの数、負の値がどのように記録されているかも
C言語でもコードを書いて調べることが出来るんだがねぇ。
んで、EOFが入力できない説明を求む。それ以外の御託はいらねー

314 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:27:12 ]
>>309
-1単体は1ビットでも区別可能だけど、
ここでは、(unsigned) charの値と区別できないといけないから、
charよりビット数の多い(はずの)intなんだろ。

315 名前:デフォルトの名無しさん [2008/04/22(火) 17:28:43 ]
>>313
先生の教えに背いて教えてやってもいいんだが、完全にお前の理屈を否定することになるぞ。
どうやらここにはドザしかいないようだから、味方してやってもいいんだが?

316 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:32:37 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6305.txt

困っています。よろしくお願いします。
Windows
gcc
C
です。

317 名前:デフォルトの名無しさん [2008/04/22(火) 17:37:29 ]
さて、ドザかまっててもしょうがないから宿題やるか。

318 名前:249 mailto:sage [2008/04/22(火) 17:48:49 ]
>>296>>298
これ実行すると、ファイルの終了に達していなくても、ファイルの途中にたまたま0xFFが現れたら
そこでwhileループ抜けるよね。
> ほれ、やっぱりEOF、ファイルの終わりを検出して終了し、
whileループを抜けたのはファイルの終わりを検出したわけではないです。

319 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:50:15 ]
騒いでる奴らはそろそろ専用スレ立てろや

320 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:54:41 ]
ビット演算子の意味も分かってなさそうだな。こりゃダメだ・・・
所詮、文字コードでしかプログラムの意味が分からんのだろ。
高度でもない、当たり前なことを知っている人は、”汎用”電子計算機に対して
制御を行うコードを書いているという、当たり前な頭はあるんだよ。
そんなの大学に通わなくても、それ関連の仕事をしている人は
当たり前に見ている。人間なんて、所詮見た目が良かろうが
DNAによって動物細胞の塊が人それぞれ違った形に形成されていると
医療関係に属する人が知っているように。萌え〜なんていっている奴は、
2次元にしろ3次元にしろ、そういう人達から見ると不思議に思えるんだろうね。
だって、所詮動物細胞、0と1の組み合わせのデジタルデータなんだもの、みつを。

321 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 17:54:52 ]
>>296
jpegファイルはいきなり0xFFで始まるんですが、読み込めないということですか?わかりません><



322 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:01:55 ]
>>320
最後おちゃらけて見せて、興奮を隠そうとしなくてもいいよ
わかるわかる

323 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:10:28 ]
>>296はcharがunsignedの環境なら無限ループだな

324 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:11:11 ]
ビット演算なんて、もはや遺伝子組み換えレベルの操作なのさ〜♪

325 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:33:29 ]
もうね、鸚鵡返しのように 規格書 とか言うだけで、具体的に該当する
事項を示さないアホは何?w 自分が言いたいこと、思ったことを
相手に理解してもらえないって言っているだけじゃん。お前が言いたいことがあるなら
具体的に示せよ、低レベル講師め。お前んとこの学校はどこだ?
通報しておいてやるよ、EOFが入力できないなんていい加減なことを、
ありもしない規格書を持ち出して事実を捻じ曲げているとw

頼むから大学レベル未満のお前、EOFが入力されないという
話が拗れた根本の説明をしてみろや?どうやってEOFを検出して
終了するコードが実行されたのか、摩訶不思議アドベンチャーで
ゴクウも界王拳をスーパーサイヤ人になってからお前にお見舞いするだろうよw

326 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:38:44 ]
ttp://www.st.rim.or.jp/~phinloda/cqa/cqa9.html
面白い記事が見つかりましたよ、ほらw
お前が勘違いしていたEOFが特殊な文字コードってやつ、
所詮は人間が勝手に 定義 した数値に過ぎないということがはっきりしただろ?
俺はEOFがファイルの終わりを示すとは一言も言っていないんだよw
何度も言っただろ?文字を入力したとしても所詮は 数値データ に過ぎないと。
プログラムが、コンピュータがそれを認識するために 人間が定義した に過ぎないと。
人間が好き勝手にルールを決めてしまうと、世界で共通ではなくなり
インターネットの世界でも混乱が起こるんだよ。ウェブページだって
規格が違ってブラウザが国ごとによって違ってたら面倒だろ?

規格書とか言うお前、お前はISOの内容は知っているようだが
標準化の意味は理解していなかったようだな。所詮それも
人間が定義 したに過ぎないということを。

327 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:45:33 ]
さてと、int型がなぜ2^32 すなわち 2^8^4 の値として扱われているか?
結局は4バイト分のデータを1つの変数として取得して扱っているからだよ。
誰だよ、EOF != 0xFF なんて話をしたのは?俺はそんなこと一言もいってないよw
EOF にはしっかりと -1 と定義されているとは言ったが。なんで8ビットのみで話が進んでるの???
だから俺は、人間が勝手に数値の前にマイナス - という符号を付けて
表現したものではなく、2進数において 負の値をどのように表現しているか について問い正したんだが?
悪いがこれについては 実験で その詳細を知ることが出来たんでね。
コンピュータを構成している基本部分なんて、単純なもんだよw

328 名前:249 mailto:sage [2008/04/22(火) 18:57:07 ]
>>326
> 俺は
と言われてもお前がどれを書き込んでいて、どれにレスしてるのかわからない。

Ctrl-DやCtrl-Zは単にユーザーが入力の終了を示すだけです。
アプリがgetchar()を発行したとき、ライブラリ側にアプリに渡せる文字がなければEOFを返します。
入力ファイル中に0xFFが含まれていて、それをchar型変数で受ければ
ファイルの途中であっても同じくEOFとして判定されます。
この場合、feof()関数でストリームの終了かどうか判定できると思います。

一応念のため、Cの規格書ならここで見れます。
www.jisc.go.jp/」→「JIS検索」で「X3010」を入力

329 名前:デフォルトの名無しさん [2008/04/22(火) 18:59:20 ]
だから相手にしちゃダメなんだって。
半年ぐらい前までしょっちゅう暴れてたキチガイなんだから。

330 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 19:05:40 ]
だからよぉ、所詮整数型にしろ文字にしろ、人間が都合よくデジタルデータの塊を
数値や文字として扱うために 変数の型を宣言 したプログラムによって
解釈できるように処理させてんだよぉ。どんなファイル、データにろ
ビット すなわち 2進数の1桁 レベルに話を持ち込めば、0と1の組み合わせの
塊に過ぎんと何度も言っておろうにw

それはともかく、EOFが入力できないという理由を説明してくれ、規格書でw

331 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 19:07:21 ]
>>328
> ユーザーが入力の終了を示すだけ
それを326に言わせればEOFの入力となるんだろ。それくらい察してやれ。



332 名前:249 mailto:sage [2008/04/22(火) 19:14:18 ]
>>329
そうですか、キチガイですか。
そんな気はちらっとしてたんですけどね。
とりあえずいい暇つぶしになったんで、相手してくれてありがとう>キチガイ

彼がこの後何を言ってくるか楽しみにしてますwww

333 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:02:35 ]
多分このスレで一番レベルの高いおれから言わせてもらうと
自演くさい

334 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 21:54:32 ]
>>316
とりあえず動く程度のものでしかないけど課題1
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6306.txt

335 名前:デフォルトの名無しさん [2008/04/22(火) 22:17:54 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6307.c
[1] 授業単元: Cプログラミング
[2] 問題文:
@任意の2ノード間の最短路を求めるアルゴリズムを実行するプログラムを作成せよ。
A任意の2ノード間の最短最大路を求めるアルゴリズムを実行するプログラムを作成せよ。
[3] 環境
 [3.1] OS: Windows
 [3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限:リンク先のソース(経路選択の部分がない)を使用すること。

また、ソース中のdistance.txtの内容は、
0 1 1
0 3 1
1 2 1
1 3 1
2 4 1
2 5 1
3 4 1
3 7 1
4 5 1
4 7 1
5 6 1
5 8 1
6 8 1
7 8 1
7 9 1
8 9 1

です。よろしくお願いします。

336 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:33:05 ]
getcharの戻り値にEOFがあるだけの話だろ
もはや何の話を必死にしたいのかさっぱりだな

337 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:54:19 ]
【質問テンプレ】
[1] 授業単元:ネットワークプログラミング
[2] 問題文(含コード&リンク):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6309.txt
[3] 環境
 [3.1] OS: UNIX
 [3.2] コンパイラ:gcc
 [3.3] 言語: C言語
[4] 期限: 4月25日まで
[5] その他の制限: 特になし

よろしくお願いします。

338 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:03:35 ]
>>337
stdoutを別のファイルにするだけじゃね?

339 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:06:50 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):自分が今使っている開発環境のコンパイラとリンカのバージョンを調べる
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: CPad for Borland C++Compiler(これでいいのかな?)
 [3.3] 言語: C言語
[4] 期限: 4月29日まで
[5] その他の制限:正直大学一年目の後期にさらっとならっただけで、それもだいぶ忘れてます
         だから質問の内容がちょっと変かもしれませんが、よろしくお願いします

340 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:10:07 ]
>>316
続いて課題2

ところでこれって課題4まで終了した後のソースコードを提出しないといけないの?
だったら俺が細切れに上げてるのは割と意味が無いな

341 名前:340 mailto:sage [2008/04/22(火) 23:11:07 ]
>>316
ミスった
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6310.txt



342 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:32:10 ]
>>339
>自分が今使っている開発環境のコンパイラとリンカのバージョンを調べる
スレ違い。
# まさかと思うが、調べるプログラムを作れとは言わんだろうな。

343 名前:デフォルトの名無しさん [2008/04/22(火) 23:35:06 ]
すいません、264お願いします・・・

344 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:40:14 ]
#include <stdio.h>

int main (void) {
char c, *pc;
int i, *pi;
double d, *pd;
pc = &c;
pi = &i;
pd = &d;
pc++; pi++; pd++;
printf("pc=%dbyte\npi=%dbyte\npd=%dbyte",
(unsigned int)pc-(unsigned int)&c,
(unsigned int)pi-(unsigned int)&i,
(unsigned int)pd-(unsigned int)&d)
}

345 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:43:14 ]
>>264
#include <stdio.h>
static int diff(void * lhs, viod * rhs) {return ((char *) lhs) - ((char *) rhs);}
int main()
{
char c, *pc;
int i, *pi;
double d, *pd;
pc = &c;
pi = &i;
pd = &d;
pc++; pi++; pd++;
printf("%d, %d, %d\n", diff(pc, & c), diff(pi, & i), diff(pd, & d));
return 0;
}

346 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:44:01 ]
>>316
課題3
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6311.txt

課題2にミスあり
提出するなら、main関数のreturn 0;の前の行に
fclose(fp);
を追加してくだしあ

347 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:44:06 ]
[1] 授業単元:ネットワークシステム基礎演習
[2] 問題文(含コード&リンク):(
ファイルbdata.txtには1から1000000までの異なる数が999999個入っている。つまり1から1000000までの数字のうち1つだけない。その数字を見つけなさい。
プログラムは
#include<stdio.h>
#define N 1000000
int main(void){
int min,max,mid;
int count1,count2;
int data,i;
FILE *fp
で始まり、これ以外の変数は使用してはいけない。
また、以下の方法でプログラムを書くこと。
方法)簡単のため。1から100までの数のうち、1つがない場合を例として方法を説明する。もちろん最後まで実行しないとわからないことだが、説明の都合上、存在しない数は48だとする。
(1)ファイルを先頭から最後まで読み、1〜50の数と51〜100の数の個数を数える。
(2)1〜50の数が49個しかないので、求めている数は1〜50の数のどれかである。
(3)ファイルを先頭から最後まで読み、1〜25の数と26〜50の数の個数を数える。
(4)26〜50が24個しかないので、求めている数は26〜50までの数のどれかである。
中略
(5)ファイルを先頭から最後まで読み、48〜49の数と50〜50の数の個数を数える。
(6)48〜49の数が1個しかないので、求めている数は48〜49までの数のどれかである。
(7)ファイルを先頭から最後まで読み、48〜48の数と49〜49の数の個数を数える。
(8)48〜48までの数が0個なので、求めている数は48である。
)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: ([2008年04月23日23:00まで]
[5] その他の制限:

348 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:18:51 ]
>>347
#include<stdio.h>
#define N 1000000
int main(void){
int min,max,mid;
int count1,count2;
int data,i;
FILE *fp;

fp=fopen("bdata.txt", "r");
if(fp==NULL) return 1;

count1=0;
while(fscanf(fp, "%d", &data)==1) count1+=data;

fclose(fp);

if(N%2) count2=(N+1)/2*N;
else count2=N/2*(N+1);

printf("%d\n", count2-count1);

return 0;
}

349 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:28:15 ]
>>348
>if(N%2) count2=(N+1)/2*N;
>else count2=N/2*(N+1);
は場合分けする必要が無いだろ
答えは出るし効率もいいけど指定された解法じゃない

350 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:30:17 ]
>>348
ありがとうございます。
本当に助かりました。

351 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:40:45 ]
いや、助かってないでしょw
解法が違う以外にも、intが32bitじゃ足りないし。



352 名前:348 mailto:sage [2008/04/23(水) 00:52:43 ]
>>347 解法無視してたので訂正版
>>351 >>349 の指摘している場合分けのおかげで正しい答えがでる
#include<stdio.h>
#define N 1000000
int main(void){
int min,max,mid;
int count1,count2;
int data,i;
FILE *fp;

fp=fopen("bdata.txt", "r");
if(fp==NULL) return 1;
min=1; max=N;
while(min<max){
mid=(min+max)/2;
count1=count2=0;
fseek(fp, 0L, SEEK_SET);
for(i=0;i<N-1;i++){
fscanf(fp, "%d", &data);
if(data>=min && data<=max){
if(data<=mid) count1++;
else count2++;
}
}
if(count1<mid-min+1) max=mid;
else min=mid+1;
}
fclose(fp);
printf("%d\n", max);

return 0;
}

353 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:53:42 ]
347です。確かに348さんのやつで、それらしき解答が出るのですが、
初心者の私にはソースを読んでも理解できませんでした。
どなたか助けてください。


354 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:57:09 ]
理解できないならあきらめるしか無いと思うが

355 名前:351 mailto:sage [2008/04/23(水) 01:03:00 ]
ああなるほど、オーバーフローしても差は正しくなるってことか。

>>353
まず、値の総和を計算している。
1〜Nまで全部揃っているなら、総和はN*(N+1)/2になるはず。
しかし1個だけ値が足りない、総和はその値の分だけ少なくなる。

356 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:23:20 ]
347です。
355さんの説明で348のソースを理解できました。ありがとうございます。
352の改訂版のfseek(fp, 0L, SEEK_SET);
のfseek関数を知らないので,ググったらファイルの位置指示子の設定とあったのですが、
この役割をどなたか教えていただけませんか。
また、fseek関数を使わない方法はないのでしょうか。

357 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:24:42 ]
>>316
当方の環境はWindowsXP, 処理系はcygwin(gcc 3..4.4) です。
課題 1:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6312.txt
課題 2:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6313.txt
課題 3:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6314.txt
課題 4:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6315.txt
>>346 ですでに回答がありますので、お友達にでも贈ってください。

358 名前:264 [2008/04/23(水) 01:31:22 ]
ありがとうございます!

359 名前:348 mailto:sage [2008/04/23(水) 01:33:42 ]
>>356
#include<stdio.h>
#define N 1000000
int main(void){
int min,max,mid;
int count1,count2;
int data,i;
FILE *fp;

min=1;
max=N;
while(min<max){
mid=(min+max)/2;
count1=count2=0;
fp=fopen("bdata.txt", "r");
if(fp==NULL) return 1;
for(i=0;i<N-1;i++){
fscanf(fp, "%d", &data);
if(data>=min && data<=max){
if(data<=mid) count1++;
else count2++;
}
}
fclose(fp);
if(count1<mid-min+1) max=mid;
else min=mid+1;
}
printf("%d\n", max);

return 0;
}

360 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:55:39 ]
>>359
何度もありがとうございます。本当にありがとう。


361 名前:デフォルトの名無しさん [2008/04/23(水) 04:00:39 ]
すみません 質問良いですか?

class split { public: char a : 1; char b : 2 ; char c : 5;}

char x[1000];
split *z;

z=&x[10];

z->a;

とすればxの値を部分的に読み取れますか?



362 名前:361 [2008/04/23(水) 04:08:45 ]
自己解決しました 符号無しにすれば正常に読み取れるみたいです

363 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 05:47:26 ]
誰か>>361-362を解説してくれ

364 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 06:42:28 ]
>>357とか、かなり前に散々既出で決まった、ISO準拠の
int main(void) あるいは int argc , char*argv[] を使ってない
EOFについて噛み付いてきた新入りって何モノ?
初心者、素人臭が漂いすぎ・・・

365 名前:デフォルトの名無しさん [2008/04/23(水) 06:45:23 ]
すみません、335お願いします・・・

366 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 06:58:49 ]
>>336
EOFがキーボードから入力できるかの話だろ
もはや何の話を(ry

367 名前:デフォルトの名無しさん [2008/04/23(水) 07:19:49 ]
ドザが二匹いてどっちもドザだからまともな議論にならないだけだな。

368 名前:デフォルトの名無しさん [2008/04/23(水) 08:01:37 ]
ドザってなに?

369 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:19:08 ]
# <これをNGにすると、#includeで引っかかってしまうが
# < これをNGにすると、奴の脳内レスを排除できますw

370 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:23:20 ]
>>364
課題2, 課題3, 課題4 では int argc, char*argv[]を使っています。

371 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:24:27 ]
#define NAME_F 11
for (j = 0; j < NAME_F - strlen(member[i]->name); j++)
↑ん〜〜〜、ん〜〜〜、やっぱ きんもぉ〜☆



372 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:29:31 ]
これから理論的に反論できないキチガイのレスが続きますが一切放置で

373 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:39:51 ]
>>372 自己紹介乙。それをやっているのはお前だから、こいつを放置よろ。

374 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 08:42:59 ]
まぁ、別に問題とは言わんが、これは主観的な意見にもなるかもしれんが
#defineなど定義などは、上にまとめておいて、管理しやすくするのも良い。
あと・・・毎回 strlen で値を算出してたら、回数が少ない場合は気にならないが
繰り返す上では無駄が生じるよ。だったら、そのために変数を定義して
使った方が良いんじゃない?以上、京大、東大卒の教授の下で指導を受けた元生徒より。

375 名前:316 mailto:sage [2008/04/23(水) 09:39:59 ]
ありがとうございました。
大変助かりました。

376 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:33:22 ]
>>374
そこまで自己主張するならコテ&トリップつければいいのに

377 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:35:29 ]
>>376
しつけぇ、お前がトリップつけろ。側NGにしてやるから

378 名前:偽者of京大、東大卒の教授の下で指導を受けた元生徒 mailto:sage [2008/04/23(水) 12:03:46 ]
ドザとか目的も無くスラング使いたがる奴はDQN率が高い

379 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 12:09:00 ]
死刑判決受けた元少年みたいだな
とりあえずお前をNGに追加した、サンクス

380 名前:デフォルトの名無しさん [2008/04/23(水) 12:50:57 ]
[1] 授業単元:プログラミング基礎
[2] 問題文(含コード&リンク):
課題1
1、3つのポインタ型変数と3つの変数が
char c, *pc;
int i, *pi;
double d, *pd; と定義され、
pc = &c;
pi = &i;
pd = &d;
と初期化されたポインタに対して
pc++; pi++; pd++;
加算したときに、格納されている値が(つまり格納しているアドレスが)何バイト
増えたか表示するプログラムを作成せよ。

2、完成させたプログラムを実行し、その結果について、3つのポインタ型変数を
それぞれ加算したときの増分されるバイト数が異なる理由を(実行結果を引用してもよい)
説明せよ。

3、適当な配列int a[5]={1,-2,3,4,5};を定義し、その内容をポインタ変数 int *pa; を用いて
表示するプログラムを作成しなさい。
[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限: 2008年4月23日22:00まで
[5] その他の制限: なし

381 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 16:43:58 ]
[1] 授業単元:プログラミング実習第一
[2] 問題文(含コード&リンク):
配列のすべての要素の最大公約数を求める関数gcdpを実装し、それを用い入力された10個の最大公約数を表示するプログラムを作りなさい。
[3] 環境
[3.1] MacOSX
[3.2] gcc
[3.3] 言語: C
[4] 期限: 4月25日18:00まで
[5] その他の制限:必ず配列を使うこと。ポインタは習ってないので使わないでください。



382 名前:偽者of京大、東大卒の教授の下で指導を受けた元生徒 mailto:sage [2008/04/23(水) 16:51:51 ]
>>381
#include<stdio.h>

int gcd(int a, int b){
int c;

while((c=a%b)) a=b,b=c;
return b;
}

int gcdp(int arr[], int arrsize){
int i, ret;

ret=arr[0];
for(i=1;i<arrsize;i++) ret=gcd(arr[i], ret);
return ret;
}

int main(void){
int arr[]={60, 70, 80, 90, 25, 100, 10, 75, 30, 35};

printf("%d\n", gcdp(arr, 10));

return 0;
}

383 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 17:16:07 ]
>入力された

384 名前:偽者of京大、東大卒の教授の下で指導を受けた元生徒 mailto:sage [2008/04/23(水) 17:18:42 ]
>>382 のmain関数訂正
int main(void){
int i, arr[10];

for(i=0;i<10;i++) scanf("%d", &arr[i]);
printf("%d\n", gcdp(arr, 10));

return 0;
}

385 名前:デフォルトの名無しさん [2008/04/23(水) 20:40:37 ]
マネージャパン、月刊アスキー、週刊アスキーの3誌は共同で6月にFXのシステムトレーグランプリ「シストレFXグランプリ」を開催。
詳細WEBページは5/15開設予定で(www.fx-gp.com)、5月22日より登録受付開始、6月2日よりグランプリ開始の予定。賞金総額2000万円。
主催はマネージャパン、月刊アスキー、週刊アスキー、協賛はクリック証券。

ttp://system-trading.jp/news/index.php?ID=39

386 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:39:29 ]
>>335@
while(fin==0){ /* finフラグが立つまで繰り返す */
/* tmp_nodeを経由する方が距離が小さくなるノードを探して最短距離と前ノード表を更新 */
/* まだ最短距離が確定していないノードの中から次の探索ノードを選ぶ */
tmp_dist = dist[tmp_node];
for(i=0; i < NODE_NUM; ++i){
a = graph[tmp_node][i]; /* tmp_nodeからiまで距離 */
if(a == MAX || tmp_node == i || chk[i] == 1) continue;
b = tmp_dist + a; /* 始点からのtmp_node経由のiまでの距離 */
if(b < dist[i]){
path[i] = tmp_node;
dist[i] = b;
}
}
j = NODE_NUM; /* 未確定ノードの内、始点から最短距離のノード */
c = MAX; /* 始点からの距離 */
for(i=0; i < NODE_NUM; ++i){
if(chk[i] == 1 || dist[i] == MAX) continue;
if(dist[i] < c){
j = i;
c = dist[i];
}
}
if(j != NODE_NUM){
chk[j] = 1;
tmp_node = j;
continue;
}
fin = 1; /* 終点ノードへの最短距離が確定したら終了 */
}

387 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:40:23 ]
>>380
1.
printf("1byte, 4(or 2)byte, 8byte");

2.
確保するメモリサイズが違う

3.
pa = a;
for(int i = 0; i < sizeof(a); i++)
  printf("%d", pa[i])

コード書き始めて期限切れに気付いたからてきとーにしといた

388 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:23:27 ]
>>387
3番は
pa = a;
for(i = 0;i < sizeof(a)/sizeof(int);i++){
  printf("%d",*(p+i));
}
を期待してるんだと思う

389 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:34:37 ]
>>388
なるほど。
んじゃ1、2を踏まえて
for(〜)
printf("%d", *pa);
 pa++;
ってのもありかな

390 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 09:35:48 ]
[1] 授業単元:文字列操作、配列
[2] 問題文(含コード&リンク):
不規則な文字列が延々と続いてるファイルを読み込み、main関数から区切る文字または文字列を取得し
区切り毎に2次元配列に格納して格納した回数を戻り値として返す関数を作成せよ。
 文字列中に \n があった場合は削除し、
 区切りの文字・文字列が連続した場合は配列には \0 を返すものとする。
 配列の行数または列数のどちらかを512とする。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 本日午前中
[5] その他制限: strtokを使わないこと

まったくわからんです、お願いします・・・

391 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:44:53 ]
もうすぐ午後やで・・・



392 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:49:43 ]
                   r、ノVV^ー八
                 、^':::::::::::::::::::::::^vィ       、ヽ l / ,
                 l..:.::::::::::::::::::::::::::::イ      =     =
                    |.:::::::::::::::::::::::::::::: |     ニ= 元 そ -=
                  |:r¬‐--─勹:::::|     ニ= 生 れ =ニ
                 |:} __ 、._ `}f'〉n_   =- 徒. で -=
  、、 l | /, ,         ,ヘ}´`'`` `´` |ノ:::|.|  ヽ ニ .な. も ニ
 .ヽ     ´´,      ,ゝ|、   、,    l|ヽ:ヽヽ  } ´r ら   ヽ`
.ヽ し き 元 ニ.    /|{/ :ヽ -=- ./| |.|:::::| |  |  ´/小ヽ`
=  て っ 生  =ニ /:.:.::ヽ、  \二/ :| |.|:::::| |  /
ニ  く. と 徒  -= ヽ、:.:::::::ヽ、._、  _,ノ/.:::::| | /|
=  れ.何 な  -=   ヽ、:::::::::\、__/::.z先.:| |' :|
ニ  る と ら =ニ   | |:::::::::::::::::::::::::::::::::::.|'夂.:Y′ト、
/,  : か   ヽ、    | |::::::::::::::::::::::::::::::::::::_土_::|  '゙, .\
 /     ヽ、     | |:::::::::::::::::::::::::::::::::::.|:半:|.ト、    \
  / / 小 \    r¬|ノ::::::::::::::::::::::::::::::::::::::::::::::::| \

393 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:50:52 ]
>>392
粘着うぜーw どうせなら元生徒じゃなくて、教授に頼めよw

394 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 12:00:07 ]
[1] 授業単元:プログラミング1
[2] 問題文
整数3つを入力して2番目に大きい値を出力せよ
[3] 環境
 [3.1] OS: Windowsxp
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語: C
[4] 期限: 本日2時まで
[5] その他の制限:
どうかお願いします

395 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 12:00:07 ]
あぁ〜〜、作り始めたが間に合わなかったか・・・もう午後だから無理ぽ?

396 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:13:11 ]
>>394
きみとほとんど同じくらいの初心者が作ったものでよければ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6319.txt

397 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:32:24 ]
>>396
ありがとうございます
間に合いました

398 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:35:17 ]
[1] 授業単元:C++概論
[2] 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6321.txt
このヘッダに記載された内容を把握し、ヘッダを使用したプログラムを作成せよ
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: わかりません
 [3.3] 言語:C++
[4] 期限: 2008/04/27
[5] その他の制限: 特に制限はありません。C++初心者なのですが、いきなりヘッダファイルのみ渡されて
まず何をすればよいのかすらわからない状況です。よろしくお願いします。

399 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:51:36 ]
>>398
こんなの宣言しかないのじゃ誰もできないだろ
他に条件とかファイルとか指定されて無いのか?
それとも各クラスを適当に実装して動作確認しろってことか?

400 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 14:00:21 ]
>>399
恐らくこれを利用して座標、ベクトル、行列の演算を一通り出来るようにしろと言うことだと思います。
課題の出され方が漠然としすぎていて手付かずの状態なので、方針だけでもご教授いただけたら幸です。

401 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 15:30:09 ]
>>395
居残り確定っぽいんですが、参考にしたいので
お時間があったらお願いします。



402 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 15:38:42 ]
>>401
俺のきしょいクソースを見たいとな?ならば見せて進ぜよう、後ほど。

403 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 16:24:33 ]
うわっ、なんかあれこれやってたらきんもぉ〜ソースってレヴェルじゃねーぞっ
になったんで、期待せんでくれ・・・

404 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:06:00 ]
いちいちそんなこと書かなくていいから。
ほんとレス乞食はうぜーな。

405 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:08:27 ]
>>390 >>401 うわぁ〜〜〜〜
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6323.c

406 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:08:56 ]
>>404
んじゃあーげないっと、お前も見たけりゃ余計なことを言わなきゃ良いのになw

407 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:17:31 ]
>>406
お前のうんこ見なくてすむかと思うとほっとしたよ。

あと、かまって欲しいのわかるけど、いいかげんコテつけてくんない?
速攻NGにするから。

408 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:18:44 ]
自作自演って、あーた・・・そうやって煽って、本当は見たいんだろぉ〜?
必死だなw


409 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:20:03 ]
>>407=>> 249
名前:デフォルトの名無しさん 投稿日:2008/04/22(火) 06:09:41
>>248
おまえが考えてる入力の意味ってなに?

↑こいつうぜー

410 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:30:52 ]
それが同一人物に見えるのはお前だけだからw

411 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:31:22 ]
>>409
反論できてねーだろwwwww顔真っ赤すぎて超うけるwwwww



412 名前:390 mailto:sage [2008/04/24(木) 17:33:08 ]
一応自分でこんな感じに作ったのはいいんですが、
キャストと配列への格納がうまくいかずお手上げ状態です
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6324.txt

413 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 17:43:10 ]
>>412
もうちょっと速ければ見せてもらえたのに。
元生徒もうへそ曲げちゃったから。。。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<147KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef