C/C++の宿題を片付けます 108代目at TECH
C/C++の宿題を片付けます 108代目 - 暇つぶし2ch175:83
08/05/30 15:38:03
>>173
各ノードにおいて見積もりを自分で決めていいそうです
(実際の距離よりも小さい値で)

リストは使わなくてもいいそうです

始点からの距離+見積もりが1番小さいノードを選択する
(ダイクストラのように距離が更新される)

といったものでよいそうです



176:yumi
08/05/30 15:58:29
>>124
問題よく読んでなかった~ゴメン(-人-;)(;-人-)ゴメン
修正しときました
URLリンク(kansai2channeler.hp.infoseek.co.jp)
あたしのPCコンパイラが入ってないので動作確認してません

マタネッ(^ー^)ノ~~Bye-Bye!

177:デフォルトの名無しさん
08/05/30 16:24:03
>>175
適当だからなんか間違いありそうだけど、うp
URLリンク(kansai2channeler.hp.infoseek.co.jp)

178:デフォルトの名無しさん
08/05/30 16:31:49
>>176
おつー

179:デフォルトの名無しさん
08/05/30 17:05:15
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):凸包構成、jarvisのマーチのアルゴリズムを使い、計算時間をO(nlogh)
で出来るものにしなさい(頂点数をhとする)。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc emacs
 [3.3] 言語:C言語
[4] 期限:6/20
[5] その他の制限:特になし

具体的なアルゴリズムは調べろと言われただけなので参考URL
URLリンク(d.hatena.ne.jp)
Javaはやってないのでよくわからないです・・・・。よろしくお願いします。

180:デフォルトの名無しさん
08/05/30 18:22:09
[1]アルゴリズム
[2]放物線プログラム
 定数として重力加速度、初速度
 経過時間からX,Yをもとめる。
 経過時間0の場合は(X,Y)は(0,0)
[3]C言語

181:デフォルトの名無しさん
08/05/30 18:27:12
>>180
ぼるじょあスレにレスついてるよ。

182:デフォルトの名無しさん
08/05/30 18:36:23
[1] 授業単元:アルゴリズム
[2] 問題文:数値を1から10まで出力する。ただし、5まで出力した時点で
一度改行する
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:bc pad
 [3.3] 言語:C言語
[4] 期限:月曜
[5] その他の制限:特になし
習い始めて早速つまずきました、よろしくお願いします。



183:デフォルトの名無しさん
08/05/30 18:46:35
>>182

#include<stdin.h>

int main(void)
{
printf("1 2 3 4 5\n6 7 8 9 10\n");
return 0;
}

184:デフォルトの名無しさん
08/05/30 18:47:23
/* >>182 */
#include <stdio.h>

int main()
{
puts("1 2 3 4 5\n6 7 8 9 10");
return 0;
}


185:183
08/05/30 18:47:53
>>184
ブフォ

186:デフォルトの名無しさん
08/05/30 18:49:10
// >>182
#include <stdio.h>

int main()
{
for (int ic = 1; ic <= 10; ++ic) printf("%d%c", ic, ic == 5 || ic == 10 ? '\n' : ' ');
return 0;
}

187:デフォルトの名無しさん
08/05/30 18:50:55
>>139
すいません、何故か消えているのですが・・
再うpお願いできますか?

188:デフォルトの名無しさん
08/05/30 18:52:09
>>176
すいませんレス読み飛ばしてました!ありがとでした!

189:デフォルトの名無しさん
08/05/30 18:52:10
>>187
>>176

190:デフォルトの名無しさん
08/05/30 18:58:23
[1] 授業単元:C言語入門
[2] 問題文:2つの画像(128×128,PGM)があります。
この2つはまったく同じに見えますが、少しずつ輝度値が異なります。
2つの画像をまず読み込み、それらの輝度値をEXCELに書き出しなさい。
次に2つの画像の輝度値の差を取り、この差もEXCELに書き出しなさい。
[3] 環境
 OS:WINDOWS
 コンパイラ名とバージョン: gcc emacs
 使用言語:C言語
[4] 期限:6月2日
[5] その他の制限:画像は “rda/gazou/"に置いてあるが、各自のフォルダに
移動してきてもよい。

どなたかご教授をお願いいたします

191:デフォルトの名無しさん
08/05/30 19:04:25
>>190
# EXCELに書き出しなさい
csvとか^p^?

192:デフォルトの名無しさん
08/05/30 19:05:17
>>190
PGMはテキストとして読めるフォーマットとそうでないフォーマットがある。
前者なら、プログラムを組むまでもなくExcelに取り込めるわけだが。
それから、「EXCELに書き出す」とはなんのことか説明してくれ。
C言語入門と言う単元から察するに、CSVファイルを作るだけじゃないかと思うのだが。
# それを「EXCELに書き出す」と教えているのだとしたら、とんでもない馬鹿野郎だが。
あーそうそう、画像ファイルもアップロードしてくれよ。

193:デフォルトの名無しさん
08/05/30 19:16:11
>191,192
EXCELに書き出すというのはお二方がおっしゃるようにCSVを作ることだと思います。
この先生、かなり教え方がおかしいので^^;
PGMはP5というふうになっていましたが・・。


194:デフォルトの名無しさん
08/05/30 19:21:29
P5か。流石にバイナリか。

>>193
一応念のために聞いておくが、PGMの読み込みルーチンも自作すると言うことでいいよな。
で、入力はPGM画像ファイル二つ、出力はCSVファイル三つだな。

195:デフォルトの名無しさん
08/05/30 19:24:29
>>164>>158>>159
なの?

196:デフォルトの名無しさん
08/05/30 19:34:54
Windows画面上のアイコンが、拡張子CSV、XLS共にEXCELのアイコンになってる事が多い。
それを見て、CSVファイルはEXCELファイルだと思い込む人多し。

197:デフォルトの名無しさん
08/05/30 19:35:20
>>194

そうです、読み込みルーチンも自作ですね。
入力がPGM画像ファイル2つ、出力がCSVファイル3つというのもあってます。



198:デフォルトの名無しさん
08/05/30 19:54:29
1ファイルの輝度を1CSVに出力するのか。。。
CSVにならなさそうで楽しみです。

199:132
08/05/30 19:57:02
あれだけせっかちだった>>5=110が無反応で困る。

200: ◆DuoCt8/SKk
08/05/30 20:04:52
>>199
いや,書き込んではいけないのかと・・・ずっと見てました.
>>132さん,ありがとうございました.
しかし文字化けしていて見ることができないのです・・・
再アップなど良かったらお願いできませんか?

201:デフォルトの名無しさん
08/05/30 20:06:51
>>200
UTF-8で読んでください。

202:デフォルトの名無しさん
08/05/30 20:16:36
[1] 授業単元:
[2] 問題文URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: xp
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 日曜日まで
[5] その他の制限: 大学3年レベル

お願いします

203:デフォルトの名無しさん
08/05/30 20:19:11
無理

204:182
08/05/30 20:19:20
>>183、186
すいません説明不足でした。
1から10まで順番に出力して5まで出力した時点で一度改行です。
多分、while文使うんだと思います。
お願いします。

205:デフォルトの名無しさん
08/05/30 20:21:31
>>202
問題文は正確にお願いします。

>>204
>>186が不満な理由はfor文だからですか?

206: ◆DuoCt8/SKk
08/05/30 20:22:08
>>201
そうやって読むのでしたか・・・知らずにすみません.ありがとうございます.
しかしながら内容が少しばかり高度すぎるのですが・・・
これは確実に教授に怪しまれてしまいます.
(C言語を習い始めて1年しか経過してないので)
もし可能だったらでいいので,もう少し簡略化したプログラムをお願いできないでしょうか?
お願いします.

207:204
08/05/30 20:39:34
>>205
アルゴリズムの教科書のwhile文の説明の後の演習問題なので
できればwhile文のほうがありがたいです。

208:132
08/05/30 20:45:50
>>206
どこら辺が怪しまれないレベルなのかつかめないです。
問題の下のほうに書いてある苦労のあとをそのまま受けると、
関数作ること自体が危険ですか?

mainは画面表示→コマンド受付のループしてます。
んで、各コマンドに応じた処理をしてます。
お金入れたらステータスの金額増やす、みたいな。

それと、今さらなんですが、本来の課題はどこまでですか?
<主な道筋>以降は元の課題に含まれていなかったのではないか
という予測の元に作っていました。

209:202
08/05/30 20:59:57
問題文を見直しましたが間違いはありません
/*記述*/の部分を追加するだけで実行結果になるらしいです

210:デフォルトの名無しさん
08/05/30 21:01:22
>>207
書き換えもできんのか
#define MAXNUM 10
int i=1;
while(i<=MAXNUM){
printf("%d ",i);
if(i%5==0){
puts("");
}
}

211: ◆DuoCt8/SKk
08/05/30 21:01:54
>>208
はい,お察しの通り道筋以降は完全に予想した実行例です.
本来の課題は<主な道筋>の終わりまでです.
関数自体は既に習ったはずなんですが,苦手なのでこれだけたくさんあると・・・
あと,作成して頂いたプログラムは本来の課題でするべきこと以上のことを
してくださったので,絶対にマークされます(汗).
自分としても今日考えたプログラムがあるのですが・・・載せて見てもらった方が
いいですかね?ちなみに入力から種別まではぐちゃぐちゃなプログラムですができました.
しかしながら金額計算やリセット,枚数表示などが・・・

212:デフォルトの名無しさん
08/05/30 21:02:36
やべぇ
無限るーぷwww
i++;足して

213:202
08/05/30 21:04:06
間違いありましたすいません
printfのとこの)を忘れてました
m<_ _>m

214:デフォルトの名無しさん
08/05/30 21:07:09
>>209
(・3・) エェー。たとえば

 printf(str[0],1,str[1];

括弧が対応してないよ。


215:デフォルトの名無しさん
08/05/30 21:07:53
(・3・) アルェー リロードしてなかったらもう謝られてたYO

216:デフォルトの名無しさん
08/05/30 21:14:36
(・3・) エェー  なんて書きこむくらいなら、
ぼるじょあのトリップ付けてください ><;

217:132
08/05/30 21:22:12
>>211
とりあえず載せてもらってもいいすか?
主な道筋は課題に含む、だったんですね。
そうするとそれはそれで取り消しの処理とかが難しくなりそうですね。

>>213
そっすか。ならこれで。

char *p = str[0], *q = "str[%d] = %s\n";
while (*p++ = *q++);

218:デフォルトの名無しさん
08/05/30 21:24:16
(・3・) ~♪

str[0] = "str[%d] = %s";

219: ◆DuoCt8/SKk
08/05/30 21:25:13
>>217
ありがとうございます,では載せさせてもらいます.
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これが限界みたいです・・・変な箇所などあったら指摘などお願いします.

220:デフォルトの名無しさん
08/05/30 21:29:16
>>218
それ無理だろ。
sprintf(str[0],"%s","str[%d]=%s\n");

221:デフォルトの名無しさん
08/05/30 21:30:35
>>217-218
早い解答ありがとうございます


222:132
08/05/30 21:32:20
>>219
ええと、そこから急に成長したことにしないかい?
…ダメだよね。

>>220
そっか><

223: ◆DuoCt8/SKk
08/05/30 21:36:32
>>222
・・・?関数などは調べて考えました.
はい,これでは全然ダメなのでご指導して頂きたいです!

224:132
08/05/30 22:39:31
>>223
>>219のをベースに、あまり変えないで作ってみました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

動作検証はあまりしていませんのであしからず。。。

225:132
08/05/30 22:42:35
すみません。おつりが無いときの処理がもれてました。
こんな感じに変えてください。
if (money != price)
{
printf("おつりは %d 円です。\n", money - price);
}

226:デフォルトの名無しさん
08/05/30 22:47:17
[1] 授業単元:ソフトウェア
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: VisualStudio Express2005
 [3.3] 言語: C
[4] 期限:2008/6/1
[5] その他の制限:stdio.h以外のライブラリは使いません。また、スタックは配列を使っての処理です。

よろしくおねがいします。

227:デフォルトの名無しさん
08/05/30 22:57:21
>>226
C++でもいいのか?

228:デフォルトの名無しさん
08/05/30 23:05:55
>>227
C言語って書いてるよ

229:デフォルトの名無しさん
08/05/30 23:08:17
問題文に.cppでも可と書いてあるから確認したのでは

230:デフォルトの名無しさん
08/05/30 23:10:07
ほ、ほんとだ。
うっかり八兵衛。

231:デフォルトの名無しさん
08/05/30 23:15:33
>>226
引数渡さないでどうやって初期化しろってんだよ・・・
グローバル変数推奨ですか?

232:デフォルトの名無しさん
08/05/30 23:16:54
任意の値でいいんじゃね?
とエスパーしてみる。

233:デフォルトの名無しさん
08/05/30 23:20:14
>>231
前々回あたりでグローバル変数や共有結合等の話が出ていたので、
おそらくグローバル変数を使ってだと思います。

234: ◆DuoCt8/SKk
08/05/30 23:26:45
>>224
>>225
わざわざ僕のプログラムをベースに考えてくださるとは・・・感謝してもしきれません.
しかしながら
LINK : fatal error LNK1104: ファイル "Debug/test.exe" を開けません。
というエラーが・・・どこがおかしいんでしょうか?
何度もすみません・・・

235:デフォルトの名無しさん
08/05/30 23:27:39
>>233
んじゃとりあえずヘッダから書いてってみる

[stack.h]
#pragma once

enum{ FALSE, TRUE }BOOL;

BOOL init();
BOOL push(int data);
int pop();

[stack.c]
#include "stack.h"
#define MAX_SIZE 10
extern int array[MAX_SIZE];

BOOL init(){
 int i = 0;
 for(i = 0; i < MAX_SIZE; i++){
  array[i] = 0;
 }
 return TRUE;
}

236:デフォルトの名無しさん
08/05/30 23:28:10
>>226
URLリンク(kansai2channeler.hp.infoseek.co.jp)

237:132
08/05/30 23:34:01
>>234
ファイル名がticket.cだとして、Visual Studio コマンドプロンプトで
cl ticket.c
とやってもダメでしょうか?
こちらのVS2003 および Linuxでのgccではビルドできています。

238: ◆DuoCt8/SKk
08/05/30 23:38:25
>>237
コマンドプロンプトにてそのコマンドを入力したところ

C:\Program Files\Microsoft Visual Studio 8\VC>cl test.c
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.

test.c
c1 : fatal error C1083: ソース ファイルを開けません。'test.c': No such file or directory

という表示が出ました.
やはりだめみたいです・・・

239:デフォルトの名無しさん
08/05/30 23:40:39
>>132のプログラム普通にコンパイル出来たが

リビルドしてみたら?

240:デフォルトの名無しさん
08/05/30 23:40:43
>>238
ディレクトリ合ってる?

241: ◆DuoCt8/SKk
08/05/30 23:45:07
>>237
すみません!試行錯誤しながら作業を繰り返していったら
実行することができました!

あと・・・回数券などを入力した際にすぐに買える切符はありません
と表示されてしまうのはどう直せばいいでしょうか?

それで,もし良かったら・・・枚数や子供賃金入力のヒントなどを教えて頂きたいです.

242:デフォルトの名無しさん
08/05/30 23:46:58
>>241
ビルドできたか。よかた。
買える切符はありませんっていうのは所持金?が最低額の切符よりも
少ない場合です。
2000円ぐらい突っ込んでからやってみたらどうでしょ。

243: ◆DuoCt8/SKk
08/05/30 23:52:03
>>242
おっしゃる通り多くしたらできました.
色々とありがとうございました!
それで・・・子供賃金や枚数などのアドバイスは頂けないでしょうか?
くどくてすみません.

244:132
08/05/31 00:05:56
>>243
ticket2の前に子供にしますか?って聞くとか普通乗車券の場合は
coin_numの前に枚数聞くとかですかね。

ちなみにその辺を実装するつもりなら切符の一覧をベタで書く方法を
やめたほうがいいと思います。すぐ気づくかもしれませんが。
たとえば、さらに350円の切符を追加しましょうってなったとき、今の
構造だと大変でしょ?

>>132のはそういう目にあわないようにしてあって、
int ticket_price_list[] = {140, 180, 210, 270, 0};

int ticket_price_list[] = {140, 180, 210, 270, 350, 0};
ってやればすむようになっていました。

いろいろ見比べて、上手く利用できるところは持ってってください。

245:デフォルトの名無しさん
08/05/31 00:10:44
あとは、係員、呼び出しボタンも、あるいは、ひつようですね、ヘルプという、意味で

246: ◆DuoCt8/SKk
08/05/31 00:16:39
>>244
アドバイスありがとうございます.
>>132のいい部分を見つけて,それを使えればいいということでしょうか?わかりました!

もう迷惑はかけられないので,残りは自分で頑張ってみます,もしかしたらまたここに来ることが
あるかもしれないのでその時にはまたよろしくお願いします.
本当にありがとうございました.

247:132
08/05/31 00:21:02
>>246
>>132のソースが優れてるとはいいませんが、いいなと思う部分が
あれば、どんどん使ってください。
提出までの期間、がんばってね。

248:デフォルトの名無しさん
08/05/31 00:50:00
>>246みたいなのだと
こっちもやってていい気分なんだがなぁ。。

249:デフォルトの名無しさん
08/05/31 00:56:44
自分で勉強してやろうとする人はそもそも宿題スレに頼みに来ない

250:デフォルトの名無しさん
08/05/31 01:09:31
>>176おっぱいうp

251:デフォルトの名無しさん
08/05/31 01:13:55
  (>_<)
 (・人・)

252:デフォルトの名無しさん
08/05/31 01:31:33
[1] 授業単元:数値解析
[2] 問題文(含コード&リンク):(①~④の座標データ(xi,yi i=1,2,3,4)を代入すると,①
~④の全ての点を通り,②と③において位置・速度・
加速度の連続性を保証し,①と④で速度と加速度が零
となる関数を求め,画面表示するプログラムを作成せよ.)
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: Visual Studio 2005
 [3.3] 言語: C
[4] 期限: 2008年6月13日0:00まで
[5] その他の制限: 特になし

253:252
08/05/31 01:33:11
連投すいません、
自分でやっても全然方針立たないのでのでよろしくお願いします。。

254:デフォルトの名無しさん
08/05/31 01:40:13
そういうプログラムだけでなく数学的な基礎学力を必要とする問題は
まずその数学的な解放を記さないと回答率が急速に下がりやがります。

255:デフォルトの名無しさん
08/05/31 07:05:28
>>252
確認。以下の2つの条件のうちどれで解いてほしい?

1. 「連続性」は必要だが「滑らか」でなくて構わない、しかも、①、④以外の点で速度と加速度が0になる点が許される

2. 問題文は誤っており、位置、速度、加速度ともに「滑らかに連続」でなければならない、(この場合、普通に解けば、①と④以外の点で速度と加速度は0にならない)


256:デフォルトの名無しさん
08/05/31 08:35:31
[1] 授業単元:プログラミング
[2] 問題文:数値を2つ入力し、大きい数値、小さい数値の順に出力する
<実行例1>          <実行例2>
24  (←入力1)        17 (←入力1) 
16  (←入力2)  35 (←入力2)  
大:24 (←出力1)  大:35 (←出力1) 
小:16 (←出力2)         小:17 (←入力2)  
 
[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン: bc pad
 [3.3] 言語:C言語
[4] 期限:6/2
[5] その他の制限:習い始めて一ヶ月程度なのでできるだけ簡単な関数での回答お願いします

257:デフォルトの名無しさん
08/05/31 08:53:02
#include <stdio.h>
int main(void){
int a,b;
printf("入力1:");
scanf("%d",&a);
printf("入力2:");
scanf("%d",&b);
if(a>b) printf("大:%d 小:%d",a,b);
else printf("大:%d 小:%d",b,a);
return 0;
}

258:256
08/05/31 09:39:00
>257さん
無事できました。本当に助かりました。
回答ありがとうございました。

259:デフォルトの名無しさん
08/05/31 09:41:05
>>235-236
ありがとうございます。

260:側近中の側近 ◆0351148456
08/05/31 10:10:58
>>252
(っ´▽`)っ
要するに等加加速度運動のことかな?
等速度運動(等速直線運動):v(t)=k(一定)
等加速度運動:dv(t)/dt=k(一定)
等加加速度運動:dv(t)/d2t=k(一定)
だとすれば、vはtの2次関数、変位x(=vt)はtの3次関数ということになる。
3次関数の係数を一意に得るには、それが通る4つの点を指定すればよい。

261:デフォルトの名無しさん
08/05/31 10:17:21
まったくもって意味がわかりませんぬ。

262:側近中の側近 ◆0351148456
08/05/31 10:19:08
(っ´▽`)っ
下の式をa, b, c, d, e, f, g, hについて解けばよい。
x(1) = a * t(1)^3 + b * t(1)^2 + c * t(1) + d
x(2) = a * t(2)^3 + b * t(2)^2 + c * t(2) + d
x(3) = a * t(3)^3 + b * t(3)^2 + c * t(3) + d
x(4) = a * t(4)^3 + b * t(4)^2 + c * t(4) + d
y(1) = e * t(1)^3 + f * t(1)^2 + g * t(1) + h
y(2) = e * t(2)^3 + f * t(2)^2 + g * t(2) + h
y(3) = e * t(3)^3 + f * t(3)^2 + g * t(3) + h
y(4) = e * t(4)^3 + f * t(4)^2 + g * t(4) + h

263:側近中の側近 ◆0351148456
08/05/31 10:24:55
(っ´▽`)っ
この問題は座標上の4点を指定するってのがミソ
座標上の4点を指定すれば等加加速度運動が実現する。

座標上の2点を指定すれば等速度運動が実現する。
等速直線運動だね。
座標上の3点を指定すれば等加速度運動が実現する。
例として、等速円運動が挙げられる。

264:側近中の側近 ◆0351148456
08/05/31 10:28:14
(っ´▽`)っ
ちなみに、5点を指定すれば、等加加加速度運動(dv/dt3=一定、dx/dt4=一定)、
6点を指定すれば、等加加加加速度運動(dv/dt4=一定、dx/dt3=一定)を実現できる。
つまり、一般化すれば
n点を指定すれば、dv/dt(n-2)=一定、dx/dt(n-1)=一定の運動を実現できるってこと。

265:側近中の側近 ◆0351148456
08/05/31 10:38:02
(っ´▽`)っ
ちなみに、
①と④で速度と加速度が零
とあることから、係数は一意に決まるはず。
最初は止まってるが、徐々に加速し始めて、
速度、加速度ともに最高になり、
それから徐々に減速し始めて、最後は止まる
って感じになる。

266:252
08/05/31 13:30:52
すいません、問題文をそのままコピペしたんで、書いてありませんでしたが、
補間法の授業です、教授に質問してきたところ、ヒントを貰えましたんで書きます。
スプライン補間法を用いてURLリンク(kjm.kir.jp)のような感じで解け、と
言われました。

267:デフォルトの名無しさん
08/05/31 14:27:42
>>252
教授がSplineだというんだったらぐぐるしかないか。
でも問題の出し方悪杉

268:デフォルトの名無しさん
08/05/31 15:49:11
誰か未解決まとめてー
>>側近タン
「加」がどんどん増えてくのはどういう仕組みだw
等加加加加速度www

269:デフォルトの名無しさん
08/05/31 15:55:16
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
問1. 10個の数字をキーボードから入力し、「線形リスト」に挿入するプログラム。挿入するプログラムを作成せよ。
挿入後はリストの内容を出力する。
問2. 上の機能に加え、探索の対象データをtargetに入力し、targetに関する線形探索を行うプログラムを作成せよ。
     (「探索成功」・「探索失敗」となるようなtargetを数回設定・入力して下さい。)
問3. 探索成功の場合にはそのデータを「リスト」から削除し、探索失敗の場合にはそのデータを「リスト」の最後尾に挿入する。
(作成要項)
・ここでのレコード、すなわちリストの要素は次の構造体で定義する。
typedef data{
int idnum;
struct data *next;
}data[NMAX]
[3] 環境
[3.1] OS: xp
[3.2] コンパイラ名とバージョン: VC 6.0
[3.3] 言語: C
[4] 期限: 6/3まで
[5] その他の制限:前回作った線形探索と2分木探索のプログラムです。
            URLリンク(kansai2channeler.hp.infoseek.co.jp)
自分でやってみましたが解けませんでした…誰か助けて下さい お願いします    




270:デフォルトの名無しさん
08/05/31 17:57:58
>>269あとでやってあげる

271:デフォルトの名無しさん
08/05/31 19:27:19
変則的な問題かと思いますが >>109 何方かお願いできませんでしょうか。

272: ◆tr.t4dJfuU
08/05/31 19:33:23
[1] 実験解析
[2] プログラムと同じフォルダ内のbmpファイル(200*300pix)をプログラム実行
時に読み込ませ,1pixごとにそのRGB値を調べさせてexcelに書き出すプログラム
[3] 環境
 [3.1] OS:Xp
 [3.2] BCC Developer
 [3.3] 言語 c
[4] 期限: 無期限ですが,できるだけ早いうち(できれば月曜まで)に宜しくお
願いします.
[5] その他の制限:特にはありません.私は初心者なので,後学のために解説等が
含まれていたらうれしいです.

273:デフォルトの名無しさん
08/05/31 19:36:16
WIndowsのbmpファイルといったところで、結構多数のマイナー
フォーマットに分化している件は無視なの?

274: ◆tr.t4dJfuU
08/05/31 19:39:41
>WIndowsのbmpファイルといったところで、結構多数のマイナーフォーマットに分化している件は無視なの?

無視して大丈夫だと思うんですが、大丈夫だと思うんですが、大きな違いってあるんですか?一応256色を考えているのですが。


275:デフォルトの名無しさん
08/05/31 19:49:59
後ろから読んだり前から読んだりヘッダがいろいろだったり。
だいたい、EXCELに書き出すって何?
OLEでも使ってEXCEL起動さす気?

276:デフォルトの名無しさん
08/05/31 19:50:14
[1] 授業単元:
[2] 問題文URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:xp
 [3.2] コンパイラ名とバージョンVC 6.0
 [3.3] 言語: C
[4] 期限:日曜日
[5] その他の制限:関数まで習ってます


277:デフォルトの名無しさん
08/05/31 20:02:02
>>276
void func1(const int data[NUM1][NUM2], float avg[NUM1])
{
int i, j, s;
for(i=0; i<NUM1; i++) {
s=0;
for(j=0; j<NUM2; j++)
s += data[i][j];
avg[i] = (float)s / NUM2;
}
}

int func2(const float avg[NUM1])
{
int i, best=0;
for(i=1; i<NUM1; i++)
if(avg[i]>avg[best])
best = i;
return best;
}

278: ◆tr.t4dJfuU
08/05/31 20:04:05
>だいたい、EXCELに書き出すって何?
>OLEでも使ってEXCEL起動さす気?

説明不足で済みません。得たデータがexcelだと、後々の考察が楽なのでexcelに書き出すと書きました。
txtファイルでも問題ないのですが、後々の処理が大変だと思ったので、出来たらとおもいまして。


279:デフォルトの名無しさん
08/05/31 20:05:11
>>277
m<_ _>m

280:デフォルトの名無しさん
08/05/31 20:11:39
URLリンク(kansai2channeler.hp.infoseek.co.jp)
流れも読まずにHTMLのTABLEにBMP画像を出力するプログラムを書いてみたでおじゃる
クソースゆえ突っ込まないでたもう

281: ◆tr.t4dJfuU
08/05/31 20:28:51
>>280
ありがとうございます。しかし、私の求めるものとちょっと違うんです。
勉強のために有意義に使わせていただきます。すみません

282:デフォルトの名無しさん
08/05/31 20:37:03
EXCEL形式とはいかんが、CSV形式に出力したのを
EXCELで読み込むとか?

283: ◆tr.t4dJfuU
08/05/31 20:41:16
>>282
それなら、Excelの処理も楽ですね。よろしくお願いします。

284:デフォルトの名無しさん
08/05/31 21:04:01
URLリンク(kansai2channeler.hp.infoseek.co.jp)
RGBそれぞれ2桁ずつ、計6桁の16進数の値を
コンマで区切る形式に出力することは出来たが・・・
EXCELへのインポートの際、少々問題が。
バージョン2003で データ>外部データの取り込み で試してみたんだが、
16進数は10進数の数値としては扱えないため、セルの書式を数値にしてあると
先頭に0があればそれはなくなってしまった。
予めワークシートのセルの書式を文字列にしてみたが、今度は
Eが入っていると 5.54E+48 のように表示されている・・・
さて、その辺の対策は・・・プログラム側でしておくべきか?

285:269
08/05/31 21:07:06
>>270
宜しくお願いします

286: ◆tr.t4dJfuU
08/05/31 21:53:10
>>284
返信遅くて済みません。ありがとうございます。bmpを256色対応で読み込むようにしたら良くなりませんか?
質問できちんと書いていなかったんですが、256色を使おうと思っているんですが。
手直しなど大変だと思いますが、よろしくお願いします。

287:デフォルトの名無しさん
08/05/31 21:58:05
URLリンク(www.kk.iij4u.or.jp)
256色のBMPを解析して、後はそれに応じて・・・
あのコードを適当に書き換えればおkだが、ちと疲れたんで明日また

288: ◆tr.t4dJfuU
08/05/31 22:05:44
>>287
わがままに付き合っていただいて大変ありがとうございます。
私も作っていただいたプログラミングで勉強します。

289:デフォルトの名無しさん
08/05/31 22:28:50
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):実数がどのように保存されているか表示する。(txt)
1行16バイトで表示。
[3] 環境
 [3.1] OS: windows
 [3.2] コンパイラ名とバージョン: visual studio
 [3.3] 言語: C言語
[4] 期限: 2008/5/31
[5] その他の制限: 特になし


290: ◆GV8UxHX4R.
08/05/31 22:31:04
[1] 授業単元:プログラミング演習
[2] 問題文:3次元ベクトルの内積と成す角を算出せよ
[3] 環境
 [3.1] OS:xp
 [3.2] コンパイラ名とバージョン:borland C++ compiler ver.5.5
 [3.3] 言語: C++(?)
[4] 期限:6/5 21:59まで
[5] その他の制限:ベクトルは配列を使って表すこと。内積の計算はループ文で行うこと。絶対値はsqrt、角度はacosを使って求めること。1次元配列まで習っています

URLリンク(kansai2channeler.hp.infoseek.co.jp)
ベクトルA、Bの成分を全て1か2にした時に(まだ見落としがあるかもしれませんが)「acos: DOMAIN error」と表示され、成す角が「+NAN」と表示されてしまいます。
それ以外の値では正常に動作するようです。
また、37、38行目で「abs_a = sqrt((vctr_a[0])*(vctr_a[0]) ・・・」としていますが、これを「abs_a = sqrt((vctr_a[0])^2 ・・・」とするとおかしなことになります。
書き方が間違っているということですが、後者のように表記する方法はないのでしょうか。

どなたかご教授願います。

291:デフォルトの名無しさん
08/05/31 22:34:06
>>46 >>289
>>50


292:デフォルトの名無しさん
08/05/31 22:34:18
[1] ゼミ実験
[2]
○実験1、マルコフ情報源の生成プログラムの作成
プログラムは
double markov(int K ,double alfa, double *a_coeff, double *mem);
のように、次数Kとαの値および長さKの係数配列a_coeffとメモリ配列memのポインタを引数としマルコフ情報源出力Xnを返す関数文で書く。
main文では、Kとαの値の設計および配列a_coeffとmemの確保と配列の値の設定を行う。
なお、memは全零に初期設定する。
main文で関数marukovを呼出す度にマルコフ情報源の系列の値が順次得られ、N個のデータをファイルに記憶する。
なお、一様乱数からガウス関数への変換は(1)または(2)の方法を用いる。
○実験2、マルコフ情報源の生成実験
上で作成したプログラムを用いて、K=1の1次マルコフ情報源についてのみ系列の生成実験を行う。
ここで、係数a1は安定条件より|a1|<1の範囲に限定する必要があり、実験では、a1=±0.1、±0.9の4種類についてマルコフ情報源出力系列の1024個のデータ(最初の1番目のデータは捨てる)をファイルに出力され、それらのグラフを描く。
なお、係数αは出力系列Xnの分散σx^2=1になるように決定する。
 問題【1】実験1のマルコフ情報源の生成プログラムを示しなさい。
 問題【2】実験2のマルコフ情報源出力系列を図示し、AR係数a1=±0.1、±0.9の場合について、系列の違いを定性的に説明しなさい。
      また、その違いの出る理由をK=1のときの式(2)のファイルの周波数応答F(e^jω)=α/(1+a1・e^-jω)より説明しなさい。
Un=(1./(RAND_MAX+1.))*rand(); ・・・・(1)式
F(z)=α/(1+a1・z^-1+a2・z^-2+・・・・・・+ak・z^-K)  ・・・・・(2)式

[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン: Vidual Studio2005
 [3.3] 言語:C++
[4] 期限: 2008年6月1日24:00
[5] その他の制限:
急ぎですいません。問題【2】実験2は図示があるので問題【1】だけでもいいのでお願いします。


293:側近中の側近 ◆0351148456
08/05/31 22:34:48
>>290
(っ´▽`)っ
(vctr_a[0])^2
ではなく、C言語では、
power(vctr_a[0], 2)
ね。
前者の表記の仕方はBASICかな?なんだっけ?

294:側近中の側近 ◆0351148456
08/05/31 22:36:13
>>290
(っ´▽`)っ
間違った。powだった。pow!
URLリンク(www.bohyoh.com)

295:側近中の側近 ◆0351148456
08/05/31 22:37:28
>>290
(っ´▽`)っ
ちなみに、C言語上、^は、ビット単位の排他OR演算子を表す。
全く別物。

296:側近中の側近 ◆0351148456
08/05/31 22:38:26
>>290
(っ´▽`)っ
っていうか、明らかにC言語のソースなのに、
拡張子がcppなのは何故?

297:デフォルトの名無しさん
08/05/31 22:42:38
3より大きく、入力された上限の数未満の全ての自然数かつ非素数について、3で割り切れるものは無視し、3で割った余りが1のものは加算し、余りが2のものは減算して合計を求めよ
#include <stdio.h>
int main(void)
{ int i ; int num;
int sum;
sum = 0;

printf("Input Upper Limit: ");
scanf("%d", &num);
for(; num <= 3; num = num - 1)
{
if( num % 2 == 0)
{
if( num % 3 == 2) { sum = sum + num; }
if( num % 3 == 1 ) { sum = sum - num; }
}
else
{
for ( i=3; i*i<=num; i = i + 2)
{
if( num % i == 0)
{
if( num % 3 == 2) { sum = sum + num; }
if( num % 3 == 1 ) { sum = sum - num; }
}
}
}
}
printf("%d\n", sum);
return 0;
}
自分でやってみたんですがうまくいかないです。どこがおかしいですか?

298:側近中の側近 ◆0351148456
08/05/31 22:54:12
>>290
(っ´▽`)っ
VS2005で実験。
確かにacosの戻り値が-1.#IND000000000000になった。
デバッグしたら、prd / (abs_a * abs_b)=1.0000000000000002
つまり、acosの定義域[-1, 1]外ということ。
この誤差(0.0000000000000002)に対応しなければならない。

299:側近中の側近 ◆0351148456
08/05/31 22:56:02
(っ´▽`)っ
ついでに、C言語だとしたら、
double ang = acos(prd / (abs_a * abs_b));
はダメだよ。
ちゃんと、関数の最初にdouble angって宣言しないとね。

300:yumi
08/05/31 23:18:27
>>297
よく読んでないからわかんないけど
3より大きい数字を入力したら
for(; num <= 3; num = num - 1) <-このループに入れないよ
この時点でオカシイよねっ
それと素数判定もしなきゃダメなんじゃない?


お風呂入って寝ます
オヤスミ♪<(゜ー^)ノ^*・'゜☆。.:*:・'☆'・:*:.。.:*:・'゜:*:・'゜☆

301:デフォルトの名無しさん
08/05/31 23:23:51
>>297
たぶん、これでいい。
#include <stdio.h>
int main(void)
{
int i ; int num; int sum = 0;
printf("Input Upper Limit: ");
scanf("%d", &num);
for(; num > 3; num --) {
if( num % 2 == 0)
{
if( num % 3 == 2) { sum = sum - num; }
if( num % 3 == 1 ) { sum = sum + num; }
}
else
{
for ( i=3; i*i<=num; i += 2)
{
if( num % i == 0)
{
if( num % 3 == 2) { sum = sum - num; }
if( num % 3 == 1 ) { sum = sum + num; }
break;
}
}
}
}
printf("%d\n", sum);
return 0;
}

302: ◆GV8UxHX4R.
08/06/01 00:28:02
側近中の側近 ◆0351148456さん回答ありがとうございます。

>>296
教師に言われた手順に従っていただけなのですが、違うんですね。
適当な教師だなあ

>>298
prd / (abs_a * abs_b)の部分を一旦別のdouble型変数に入れてからacosしてみましたがダメでした。
doubleの精度ならその程度の誤差は出ないんじゃないかと思ったんですが・・・。

>>299
それは一番最初に宣言しておけと言うことでしょうか。

303:デフォルトの名無しさん
08/06/01 00:34:16
>>297,301
「入力された上限の数未満」なので、以下。

#include <stdio.h>
int main(void){
int i, num, sum=0;
printf("Input Upper Limit: ");
scanf("%d", &num);
for(num--; num > 3; num--){
for ( i=2; i*i<=num; i ++){
if( num % i == 0){
if( num % 3 == 2){ sum -= num; }
if( num % 3 == 1){ sum += num; }
break;
}
}
}
printf("%d\n",sum);
return 0;
}



304:デフォルトの名無しさん
08/06/01 00:39:10
>>303
なぜ処理速度を落とした><

305:デフォルトの名無しさん
08/06/01 01:04:59
>>109
こんな感じでどうでしょ。親はすぐ終わって、子プロセスが2秒後に環境変数吐き出します。

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

int main(int argc, char *argv[], char *envp[])
{
int i;
pid_t pid = fork();

if (pid == -1) exit(1);
if (pid == 0)
{
/* 子プロセスの処理 */
sleep(2); /* 子というのを分かりやすくしてます */
for (i=0; envp[i]!=NULL; i++)
printf("%s\n", envp[i]);
}
else
{
/* 親プロセスで何かしたいならここに */
}
exit (0);
}

306:デフォルトの名無しさん
08/06/01 01:09:29
>>305
Sleep(2)じゃなくて2000じゃない?

307:305
08/06/01 01:14:07
>>306
DOSならそうかもですね。

308:デフォルトの名無しさん
08/06/01 01:26:10
Linuxか ゴメ

309:10
08/06/01 01:33:51
期限は過ぎてしまいましたが、まだ完成させることができません・・・
気が向いたときでいいんでどうかよろしくお願いします> <

URLリンク(kansai2channeler.hp.infoseek.co.jp)

310:デフォルトの名無しさん
08/06/01 01:45:17
奥村さんのアルゴリズム事典に載ってるので買うとよいかもです。
図書館で借りてもいいかも。

311:デフォルトの名無しさん
08/06/01 02:35:19
>>304
速度気にするなら素数判定は篩にして、ループも分けろよw

312:デフォルトの名無しさん
08/06/01 02:46:09
>>309
URLリンク(kansai2channeler.hp.infoseek.co.jp)
張ってあるソースは使ってません

313:デフォルトの名無しさん
08/06/01 03:08:09
>>311
素数判定部のループについて、元ソースの
for ( i=3; i*i<=num; i = i+2)

for ( i=2; i*i<=num; i ++)
こう変えちゃったことについてだよ。

出題者なりのチューニング結果を無駄にしちゃったらかわいそうだよって
いいたかったの。

314:デフォルトの名無しさん
08/06/01 03:39:59
>>313
意味が判っててチューニングしてるんなら無視すれば良いんじゃね?
コピペしか出来ないなら、チューニング以前に身につけるべきものが多そうだし。


315:デフォルトの名無しさん
08/06/01 03:46:19
301のは速度に拘ったソースでもないだろ
else ifにすらしてないんだから

316:デフォルトの名無しさん
08/06/01 09:10:24
どなたか>>102>>104をお願いします†~。゚(>о<)゚。


317:デフォルトの名無しさん
08/06/01 09:19:31
[1] 授業単元: プログラミング1
[2] 問題文 URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows 2000
 [3.2] コンパイラ名とバージョン: Vidual Studio2005
 [3.3] 言語: C++
[4] 期限:2008年6月2日
[5] その他の制限: 標準ライブラリー禁止、初歩関数まで学習

標準ライブラリー使えないとなるとさっぱりなのですが
どなたかお助けを・・・





318:デフォルトの名無しさん
08/06/01 10:06:54
>>317
int zettaichi( int x ) { return x < 0 ? -x : x; }
int main() { printf("-9 => %d\n3 => %d\n0 => %d\n", zettaichi(-9), zettaichi(3), zettaichi(0)); }
printfだけ標準ライブラリだが、そこまで禁止なら手に負えん

319:デフォルトの名無しさん
08/06/01 10:31:25
>>318
ありがとうございます、全て禁止だと表示できませんよね(´Д`;)

これでokです、助かりました

320:デフォルトの名無しさん
08/06/01 11:56:13
課題出してくれる人は
頼むからリストに追加してまとめてくれ。
どれが優先事項なのかさっぱりわからん。

321:10
08/06/01 12:37:58
>>312
すごい・・・スタート地点の頂点も選べるようになってる・・・!

解説までつけていただき、とてもわかりやすかったです!
ありがとうございましたm(_ _)m


322:デフォルトの名無しさん
08/06/01 13:29:02
お願いします。全くわかりません><
[1] 授業単元:コンピュータシミュレーション
[2] 問題文(含コード&リンク):
モンテカルロ法により、円の面積を求める考え方を利用し、
「球の体積」と円周率、真の円周率に対する誤差を求めるプログラムを完成させよ。
必要となる一様乱数は、課題②のGOUDOU関数を使用すること。
プログラムは必ず可動であること。
URLリンク(pubweb.cc.u-tokai.ac.jp)
※課題②
URLリンク(pubweb.cc.u-tokai.ac.jp)一様乱数フローチャート.pdf
[3] 環境
 [3.1] OS:WindousXP
 [3.2] Visual C++
 [3.3] 言語:C++
[4] 期限:今日の24時まで
[5] その他の制限:無し

323:デフォルトの名無しさん
08/06/01 13:36:13
>>316
>>104 だけやった
URLリンク(kansai2channeler.hp.infoseek.co.jp)
エラーチェックは一切やってないけど、チェックすべきとこはコメントで書いといた

つーか大分大学の出力ワロタw

324:デフォルトの名無しさん
08/06/01 14:26:14
>>319
できますよ。前スレでそのようなのを作った。

325:デフォルトの名無しさん
08/06/01 15:16:04
[1] 授業単元:アルゴリズム
[2] 
連結リストを用いて、スタックを実現するプログラムを作成
連結リストを用いて、キューを実現するプログラムを作成
[3]
 [3.1] OS:win
 [3.3] 言語: C
[4] 期限:月曜


お願いします。

326:デフォルトの名無しさん
08/06/01 15:29:35
月曜っていつの月曜日だよ
今日中ってことか?

327:デフォルトの名無しさん
08/06/01 15:40:42
>>288 >>272
URLリンク(kansai2channeler.hp.infoseek.co.jp)
たぶん出来ている

328:デフォルトの名無しさん
08/06/01 15:49:29
>>102
こんなんでいいのかな?
URLリンク(kansai2channeler.hp.infoseek.co.jp)

329:316
08/06/01 16:07:10
>>323
>>328
ありがとうございましたm(._.)m
明日動作確認してみます!

330:デフォルトの名無しさん
08/06/01 16:07:44
>>305
解説まで付けていただき、ありがとうございました。
助かりました!

331:デフォルトの名無しさん
08/06/01 16:14:17
>>171
>>172
二人とも、ありがとうございました!
返事が遅くなってすみません。

332:デフォルトの名無しさん
08/06/01 16:23:42
>>288 >>272 修正
URLリンク(kansai2channeler.hp.infoseek.co.jp)

333:デフォルトの名無しさん
08/06/01 16:26:41
お礼の豊作じゃー><

>>329
途中を削除ってのはやってますが、リストの途中に追加、というのを
やってないことに気づきました。
そのような処理を実装できなさそうなら言ってください。

>>330
よかったです。こちらも初めてのforkでしたのでドキドキしてました。

334:292
08/06/01 16:34:28
大変申し訳ありません。ミスがありましたので訂正します。
[2]
○実験1、マルコフ情報源の生成プログラムの作成
プログラムは
double markov(int K ,double alfa, double *a_coeff, double *mem);
のように、次数Kとαの値および長さKの係数配列a_coeffとメモリ配列memのポインタを引数としマルコフ情報源出力Xnを返す関数文で書く。
main文では、Kとαの値の設計および配列a_coeffとmemの確保と配列の値の設定を行う。
なお、memは全零に初期設定する。
main文で関数marukovを呼出す度にマルコフ情報源の系列の値が順次得られ、N個のデータをファイルに記憶する。
なお、一様乱数からガウス関数への変換は(1)または(2)の方法を用いる。
○実験2、マルコフ情報源の生成実験
上で作成したプログラムを用いて、K=1の1次マルコフ情報源についてのみ系列の生成実験を行う。
ここで、係数a1は安定条件より|a1|<1の範囲に限定する必要があり、実験では、a1=±0.1、±0.9の4種類についてマルコフ情報源出力系列の1024個のデータ(最初の1番目のデータは捨てる)をファイルに出力され、それらのグラフを描く。
なお、係数αは出力系列Xnの分散σx^2=1になるように決定する。
 問題【1】実験1のマルコフ情報源の生成プログラムを示しなさい。
 問題【2】実験2のマルコフ情報源出力系列を図示し、AR係数a1=±0.1、±0.9の場合について、系列の違いを定性的に説明しなさい。
      また、その違いの出る理由をK=1のときの式(1)のファイルの周波数応答F(e^jω)=α/(1+a1・e^-jω)より説明しなさい。
F(z)=α/(1+a1・z^-1+a2・z^-2+・・・・・・+ak・z^-K)  ・・・・・(1)式
(1)1系列の一様乱数Unから以下の計算により1系列のガウス乱数Gnを得る。
  Gn= U12n + U12n+1 + ・・・・・ + U12n+11 -6 (n=0,1,2,・・・・)   (中心極限定理)
(2)Box-Muller法:2系列の一様乱数 Un,1 , Un,2 から以下の計算により独立な2系列のガウス乱数 Gn,1 , Gn,2 を得る。
 Gn,1=(√-2ln(1-Un,1))×cos(2πUn,2) Gn,2=(√-2ln(1-Un,1))×sin(2πUn,2)

急ぎですいません。問題【2】実験2は図示があるので問題【1】だけでもいいのでお願いします。
式など分かりにくいところがありましたら言って下さい。期限は過ぎてもかまわないのでよろしくお願いします。

335:デフォルトの名無しさん
08/06/01 18:02:21
>>334
プログラム以前にマルコフ情報源とか応答特性についての知識がスッポリ抜けてることに驚いた
とりあえずこの辺の情報がないと俺できない/(^o^)\

336:316
08/06/01 19:11:24
>>333
すみません、できなさそうなのでよかったらお願いしますm(v_v)m


337:デフォルトの名無しさん
08/06/01 19:20:16
>>367
火曜日まででOKです・・

338:デフォルトの名無しさん
08/06/01 19:35:00
>>336
こんなのでも適当に放り込んでみては?
work = head->next->next->next->next;
work2 = create_node(100);
work2->next = work->next;
work->next = work2;

work = head->next->next->next->next->next->next;
work2 = create_node(200);
work2->next = work->next;
work->next = work2;

339:デフォルトの名無しさん
08/06/01 19:36:17
[1] 授業単元: プログラミング1
[2] 問題文 URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Vidual Studio2005
 [3.3] 言語: C++
[4] 期限:2008年6月8日
[5] その他の制限: 初歩関数まで

色々調べて試してみましたがさっぱり
自作関数を定義する方法がいまいち理解できない\(^o^)/

340:デフォルトの名無しさん
08/06/01 19:42:54
>>339

int Min, Max;
void minmax(int x, int y, int z);

void minmax(int x, int y, int z){
  int min=x, max=x;
  if(min>y) min=y;
  if(min>z) min=z;
  if(max<y) max=y;
  if(max<z) max=z;
  Min=min;
  Max=max;
}

341:デフォルトの名無しさん
08/06/01 20:32:47
>>325

キュー
URLリンク(blackapples.web.fc2.com)

スタック
URLリンク(blackapples.web.fc2.com)




342:デフォルトの名無しさん
08/06/01 21:22:42
test

343:デフォルトの名無しさん
08/06/01 22:03:33
>>174です。
大事なとこが抜けてました。

成績データレコード
struct PERSONAL_REC
{
unsigned char number; (クラス番号)
unsigned char reserve[3]; (予備)
unsigned char name[80];
short kokugo;
short sansuu;
};

成績集計レコード
struct CLASS_REC
{
unsigned char number; (クラス番号)
unsigned char reserve[3]; (予備)
short kokugo;
short sansuu;
};

を使うということです!
どなたか明日のお昼までにお願いします!
m(__)mm(__)m

344:側近中の側近 ◆0351148456
08/06/01 22:11:36
>>174
(っ´▽`)っ
ヒント:qsort

345:デフォルトの名無しさん
08/06/01 22:16:18
>>343
スレリンク(tech板:945番)
たまたま同じ質問してる人がいるからそっちの結果を見てみたら?

346:デフォルトの名無しさん
08/06/01 22:22:11
>>345
結果出てないんです。
3日間考えたけどわからないんです…。

347:デフォルトの名無しさん
08/06/01 22:31:23

【質問テンプレ】
[1] 授業単元: CSVファイルをきれいに表示するツールを作りたい
[2] 問題文(含コード&リンク):まずはオープンダイアログを作りたい
[3] 環境
 [3.1] OS: Windows Vista Home Basic
 [3.2] コンパイラ名とバージョン: VC++.net 2003
 [3.3] 言語: C++
[4] 期限: 2008年6月3
[5] その他の制限: 以下の分でビルドエラーがでます

private: System::Void file_open_Click(System::Object * sender, System::EventArgs * e)
{
this->file_open->Click += new
System::EventHandler(this, file_open_Click);

if(openFileDialog1->ShowDialog() == DialogResult::OK)
{
System::IO::StreamReader * sr = new
System::IO::StreamReader(openFileDialog1->FileName);
MessageBox::Show(sr->ReadToEnd());
sr->Close();
}

348:デフォルトの名無しさん
08/06/01 22:43:14
マルチする奴は消えろ

349:デフォルトの名無しさん
08/06/01 22:50:43
すいません、>>252 >>265 お願いしますm(_ _)m

350:デフォルトの名無しさん
08/06/01 22:51:55
>>340
ありがとうございます

351:側近中の側近 ◆0351148456
08/06/01 22:58:04
>>174
(っ´▽`)っ
入力の条件が書かれてないから適当に。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

352:デフォルトの名無しさん
08/06/01 23:01:23
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:LSI-C86
 [3.3] 言語: C
[4] 期限: 特に無し
[5] その他の制限: if文とswitch文まで習いました。よろしくお願いします。

353:174
08/06/01 23:13:49
>>351
ありがとうございます!!!!!!!
明日までに自分で解析できるように頑張ります!

354:デフォルトの名無しさん
08/06/01 23:19:43
>>352
maという、変数を、チャル型に、して、『ma=’-’;』のように、囲んで、 テレビに、出すときは、%cに、してみては、いかがでしょう??

355:デフォルトの名無しさん
08/06/01 23:27:24
>>352
URLリンク(kansai2channeler.hp.infoseek.co.jp)

356:352
08/06/01 23:30:18
>>354-355
アドバイス、ありがとうございます。チャル型というのは、まだ習っていません・・・。
それを使わないとしたら、if型でまた分けるのでしょうか。

357:デフォルトの名無しさん
08/06/01 23:33:28
キャラ型(char型)をチャルってのは・・・w

358:デフォルトの名無しさん
08/06/01 23:36:07
たまにチャーと言ってしまいます。

359:デフォルトの名無しさん
08/06/01 23:38:56
ノッってるときはカールって言ってる

360:デフォルトの名無しさん
08/06/01 23:39:46
>>352
#include <stdio.h>
int main(void)
{
int score;
printf("点数を入力してください:");
scanf("%d", &score);
if(score > 100)
printf("評価できません。\n");
else if(score == 100)
printf("評価はA+です。\n");
else if(score < 60)
printf("評価はFです。\n");
else {
switch(score/10) {
case 9: printf("評価はA"); break;
case 8: printf("評価はB"); break;
case 7: printf("評価はC"); break;
case 6: printf("評価はD"); break;
}
switch(score%10) {
case 9: case 8: case 7: printf("+"); break;
case 0: case 1: case 2: case 3: printf("-"); break;
}
printf("です。\n");
}
return(0);
}

361:352
08/06/01 23:44:43
>>360
おおおおお!!!!ありがとうございます!!

362:347
08/06/02 00:30:24
意味不明な質問してしまって、すみません・・・

363:デフォルトの名無しさん
08/06/02 00:50:38
>>362
なんかしらんけどエラーメッセージ貼ってみたら?

364:デフォルトの名無しさん
08/06/02 06:16:33
いやソースをよこせ

365: ◆tr.t4dJfuU
08/06/02 09:12:24
>>332
大変ありがとうございました。

366:デフォルトの名無しさん
08/06/02 10:27:30
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク)URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:VC9.0
 [3.3] 言語: C
[4] 期限: 特に無し
[5] その他の制限:  ファイルの入出力あたりがどうもこんがらがってしまって


367:デフォルトの名無しさん
08/06/02 11:59:01
>>366
難しく考えることないでしょ。
入力ファイルオープン
全部を一旦エリアAに読み込み(この段階で長さも判明)
入力ファイルクローズ

同じ長さのエリアBをもう1つ確保、エリアA->エリアBへ判定転送処理を行う。

出力ファイルオープン
完成したエリアBを書き込み
出力ファイルクローズ

368:デフォルトの名無しさん
08/06/02 12:10:56
>>367
ファイルサイズが大きいとアレじゃない?
fseekとか使ってオンメモリで処理できるサイズのバッファごとに反転させるほうがよさげ。

369:デフォルトの名無しさん
08/06/02 12:12:49
と思ったけど問題主の雰囲気からいってそれで十分かもだったorz
おさわがせしますた。

370:367
08/06/02 12:15:41
>>368
でもPCのメモリでも足らないとなると
今度は入力側と出力側の両方のファイルを開けておいて
入力側はシークで最後までファイルポインタを移動して
読み込み->判定・加工処理->出力側へ・・・


371:デフォルトの名無しさん
08/06/02 12:26:49
[1] 授業単元:情報実験
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Mac OS X
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限: 特に無し
[5] その他の制限:ヘッダはstdio.hとstdlib.hしか扱ってないのでこれらのみでお願いします

372:デフォルトの名無しさん
08/06/02 12:29:59
いきなり答えのサイト貼るのはありかな?
URLリンク(www.geocities.jp)

373:デフォルトの名無しさん
08/06/02 13:01:39
>>366
URLリンク(kansai2channeler.hp.infoseek.co.jp)

374:デフォルトの名無しさん
08/06/02 13:03:09
>>372
構造体が違うんで完璧な答えにはならんけど、ヒントにはなる。

375:デフォルトの名無しさん
08/06/02 13:14:53
まあリスト(線、循環、双方向)とか2分探索木とかってネットで探せば
いくらでもサンプルはでてくるからな~

376:368
08/06/02 13:33:29
>>370
両方開きっぱでいいと思うよっていうか、いいたかったことを>>373が実装したw


377:デフォルトの名無しさん
08/06/02 13:53:46
>>373の実装だとちょっとおかしくね?
でかいファイルを扱うことを想定してるのであればmallocでわざわざワークを
確保しなくてもリードしてそのまま書き込めばいい。

小さいファイルを扱うことを想定してるのだと読んだあとわざわざ入力側を
開けっ放しにする必要があるのかどうか・・・

378:デフォルトの名無しさん
08/06/02 13:56:14
[1] 授業単元:プログラミング
[2] 問題文:スタック,キューの理解
   リスト構造によるスタックとキューそれぞれについて,格納されている
   要素数を取得する方法を利点,欠点を交えて説明せよ。
   また,取得した要素数の用途について考察せよ。
[3]言語:C
[4] 期限:2008年6月5日まで
プログラム組む問題ではないですが、調べてもわからなかったのでお願いします。

379:デフォルトの名無しさん
08/06/02 13:58:46
あれホント。よく見てなかったよー。
ある程度の大きさのバッファに読み込んで、それを逆にして出力を
繰り返してるものだと思い込んでた。

1バイトずつ読んで書いてより、ある程度のバッファ単位で処理したほうが
多分速くなると思うんだ。HDDのキャッシュ的に。

380:デフォルトの名無しさん
08/06/02 14:04:50
>>378
URLリンク(www.mm.ics.saitama-u.ac.jp)

スタックというのはアセンブラなんかでcall命令を使う際に
レジスタの内容や戻り先アドレスを格納するのに使ったりしますね。
URLリンク(www.geocities.jp)
これをリスト構造でってのは使うことあるのかな?
アセンブラなんかだとスタックポインタというのがあってそれで管理してるんですけどね。

キューというのはメッセージキューなんかで使われるものです。
FIFOとかいう言葉も関連します。
まあこれはリスト構造を使って実現することが多いですけど。

381:デフォルトの名無しさん
08/06/02 14:05:00
スタックとキューの実装方法によらない?
リスト構造であるという点で同じであれば何か小細工をしない限り
要素数を数えるコストは同じだと思うので、利点欠点は無いと思う。
用途は制限かけたいときに使えるとかじゃないの?

382:デフォルトの名無しさん
08/06/02 14:06:25
>>379
windowsの場合だと一度読みに行くとキャッシュにあがってるから
1バイト読みでも問題ないんじゃないかな?
ただファイルの最終から読む場合はキャッシュの扱いはわからんw

383:373
08/06/02 14:28:52
>>366
言われたとおりバッファ消しました
URLリンク(kansai2channeler.hp.infoseek.co.jp)

384:デフォルトの名無しさん
08/06/02 14:41:52
>>371 をやり始めたんだが、なんかその補足に書かれていることから
すでに間違っているが・・・とりあえず適当に書き換えておきまつ

385:デフォルトの名無しさん
08/06/02 15:45:44
判定処理もないじゃん。

386:デフォルトの名無しさん
08/06/02 15:50:46
>>366
>その際、逆順バイト列内に0x54,0x450x53,0x54があればファイルの先頭からのオフセットを表示する
>また、ファイル長は不定とする
これってさ

>その際、逆順バイト列内に0x54,0x45,0x53,0x54があればファイルの先頭からのオフセットを表示する
>また、ファイル長は不定とする

ということでOK?
後オフセットを表示するってのは標準出力でいいのかな?

387:デフォルトの名無しさん
08/06/02 15:52:50
[1] 授業単元: プログラミング
[2] 問題文:簡単なアニメーションを考案して作成せよ(できればマウスやキーイベントも考慮)
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: gcc 
 [3.3] 言語:C
[4] 期限:2008年6月2日24時まで

まったくわかんねー\(^o^)/

388:デフォルトの名無しさん
08/06/02 15:54:35
>>387
なんだよ、その漠然とした例題はw

389:デフォルトの名無しさん
08/06/02 15:58:43
自分でやれ

390:デフォルトの名無しさん
08/06/02 16:00:13
>>388
#include <math.h>
#include <GL/glut.h>
#include <time.h>
float R_ball=0.1, x_ball=0.0, y_ball=0.5;
float dx, dy;
float g=0.01, elasticity_x=0.98, elasticity_y=0.98;

void gdisc(float xc,float yc, float r){
float x, y, dt; int i,N=60;
dt=2.*M_PI/(float)N;
glBegin(GL_POLYGON);
for(i=0; i<N; i++){
x=xc+r*cos((float)i*dt); y=yc+r*sin((float)i*dt);
glVertex2d(x,y);
}
glEnd();
}
void myDisplay(void){
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(0., 0., 0.);
gdisc(x_ball,y_ball,R_ball);
glutSwapBuffers();
}
void myIdle(){
x_ball=x_ball+dx;


391:デフォルトの名無しさん
08/06/02 16:01:12
if(x_ball<=-1.+R_ball){
x_ball=-1+R_ball;
dx=-dx*elasticity_x;
} else if (x_ball>=1.-R_ball){
x_ball=1.-R_ball; dx=-dx*elasticity_x;
}
y_ball=y_ball+dy;
if(y_ball<=-1.+R_ball){
y_ball=-1.+R_ball; dy=-dy*elasticity_y;
dx*=0.99;
} else if (y_ball>=1.-R_ball){
y_ball=1.-R_ball; dy=-dy*elasticity_y;
dx*=0.99;
}
dy=dy-g;
Sleep(1);
glutPostRedisplay();
}
int main(int argc, char *argv[]){
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA);
glutCreateWindow("Ball");


392:デフォルトの名無しさん
08/06/02 16:01:50
glClearColor(1.0, 1.0, 1.0, 0.0);
glutDisplayFunc(myDisplay);
glutIdleFunc(myIdle);
srand(time(NULL));
dx=0.01*(rand()%5+1);
dy=0.01*(rand()%5+1);
glutMainLoop();
return 0;
}
自力でここまでやりましたがこれだと駄目と言われたので
これに何らかのキーボードイベントを入れたいわけです

で、そのキーボードイベントの入れ方がわかんねー\(^o^)/
というわけです。



393:デフォルトの名無しさん
08/06/02 16:02:13
ソース貼るならできればテキストファイルをどこかロダにあげて
そのリンクを・・・w

394:デフォルトの名無しさん
08/06/02 16:03:55
>>392
スレリンク(tech板:83番) なんてどう?

395:デフォルトの名無しさん
08/06/02 16:06:37
アニメーション
1 アニメーション
ピクセルの色を制御することができれば、図形を自由自在に表現することができるようになる。更に、図形の
位置、形状または色を徐々に変化させて図面を更新することにより、アニメーションの実現が可能である。そのポ
イントは
1. 図形の位置、形状または色を少し変化させる
2. 変化した図面を再描画する
3. 手順1 へ戻る
の3 点にある。「繰返して図形に変化を与える」には関数
void glutIdleFunc(void (*f)(void))
を用いて「変化を与える」関数fを指定する。指定された関数fは繰り返して呼び出されるため、その中に図形
の座標、形状、色を変化する文があれば、定期的に図形に変化を与えることになる。更に、変化した場合再描画
する関数
void glutPostRedisplay()
を呼び出すことで図面を更新することを指示する。
関数glutIdleFunc で指定した関数f はイベントが起きていない限り繰返して呼び出される。図面更新の時間間
隔の調整はSleep(int seconds) 関数が有効だが、繰り返しの時間間隔はやはりCPU の性能やコンピュータに与え
られているタスクにより異なる。CPU の性能などによらずに時間間隔を制御したい場合は、関数
void glutTimerFunc(unsigned int msecs, void (*f)(int value), int value)
を使うことが可能。この関数は指定されたミリ秒数msecs の後に関数f(int value) を1 回呼び出す。また、呼び出
しを区別するために、与えられた整数value を関数f に渡す。関数glutTimerFunc を用いてアニメをつくるには、
繰り返しを実現するために関数f(int value) の中で最後にglutTimerFunc を再度呼び出すように指示しなければ
ならない(glutIdleFunc を用いる場合は不要)。
以下は例を用いてglutIdleFunc の使い方を説明する。ウインドウの中で横を移動し、境界に当たると移動方向
を逆転するボールのアニメーションを考えよ。このアニメは塗りつぶした円形の描画と上記の仕組みを用いて実
現でき、プログラムBall.c を用いて簡単に説明する。

396:デフォルトの名無しさん
08/06/02 16:06:56
>>394
たしかに動くけどw

397:デフォルトの名無しさん
08/06/02 16:09:58
int main () {
for(;;)
{
:処理
i
f (Esc押されたら) break;
}
return 0;
}
これでいいんじゃね(>ω< =3

398:デフォルトの名無しさん
08/06/02 16:11:35
>>397
それじゃあ無理だろw
ソース全部貼ってるのが主だとすればgl使ったものなので

399:デフォルトの名無しさん
08/06/02 16:16:35
>>398
glです。

できれば何かのキーを押したら重力がなくなるとかのイベントがいいです

400:デフォルトの名無しさん
08/06/02 16:16:37
>>341
ありがとうございます!

401:デフォルトの名無しさん
08/06/02 16:25:02
>>387>>390-392>>395
のようにじゃなくてソースをどこかに上げたほうがいいと思うぞw

>>1にロダも貼ってあるし

402:デフォルトの名無しさん
08/06/02 16:32:31
void myKeyboard(unsigned char key, int x, int y){
switch(key){
case 'a':
g=0.;
  glutPostRedisplay(); break;

課題のサンプルがあってこんなのを入力したらなんかできましたw

ありがとうございますw

403:デフォルトの名無しさん
08/06/02 16:35:19
>>402
>>387なのか?
名前欄に質問した際のレス番号いれてくれないとわかりにくいぜ。

404:デフォルトの名無しさん
08/06/02 19:12:12
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:Vidual Studio2003
 [3.3] 言語:C++
[4] 期限:今日の23時59分59秒まで
[5] その他の制限: 繰り返し関数return使えば問題ないと思われます。よろしくお願いします


405:デフォルトの名無しさん
08/06/02 19:16:40
>>404
URLリンク(www.geocities.jp)

406:デフォルトの名無しさん
08/06/02 19:16:56
>>292>>334のものですが過去レポという最強のものを手に入れたのですがそれがC言語なのです。
出来れば今日中にお願いしたいのですが、↓のものをC++に変換して頂けないでしょうか?

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

double markov(int K,double alfa,double *a_coeff,double *mem);

void main(void){
int i;
double *a_coeff,*mem,alfa,*x;
FILE *fp;

int N=1024,K=1;
char *file_name="output.dat";

if((fp=fopen(file_name,"w"))==NULL){
printf("%s can't open",file_name);
exit(-1);
}
x=new double [N];
a_coeff=new double [K];
mem=new double [K];
for(i=0;i<K;i++){
mem[i]=0.;
}
a_coeff[0]=0.1;
alfa=sqrt(1.-a_coeff[0]*a_coeff[0]);

for(i=0;i<N;i++){
x[i]=markov(K,alfa,a_coeff,mem);

407:デフォルトの名無しさん
08/06/02 19:17:20
if(i!=0){
printf("%d\t%f\n",i,x[i]);
fprintf(fp,"%d\t%f\n",i,x[i]);}
}
printf("\n");
fprintf(fp,"\n");

delete[] mem;
delete[] a_coeff;
delete[] x;
fclose(fp);
}

double markov(int K,double alfa,double *a_coeff,double *mem)
{
int i;
double u1,u2,g,x=0.,PI=3.1415926;

u1=(1./(RAND_MAX+1.))*rand();
u2=(1./(RAND_MAX+1.))*rand();
g=sqrt(-2.*log(1-u1))*cos(2.*PI*u2);


for(i=K-1;i>=0;i--){
x+=a_coeff[i]*(mem[i]);
if(i-1>=0) mem[i]=mem[i-1];
}
mem[0]=alfa*g-x;

return (mem[0]);
}


408:デフォルトの名無しさん
08/06/02 19:19:07
>>405
これみても分からない俺ガイル。。
タスケテ('A`)

409:デフォルトの名無しさん
08/06/02 19:22:35
>>406
最初の三行を
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
に変えて、
void mainの行を
int main() {
に変えればOK。

410:デフォルトの名無しさん
08/06/02 19:27:21
>>409
即レスありがとうございます!大変助かります

411:デフォルトの名無しさん
08/06/02 19:34:04
>>410
>409でいいのか? 本当にいいのか?w

412:デフォルトの名無しさん
08/06/02 19:41:53
>>411
どうなんでしょうか?ww
 >>409=>>411ですか?


413:411
08/06/02 19:48:07
要は、>406の要求する「C++」が何を指しているのか、だな。
C++としてコンパイルできるだけでいいのなら、>409でいい。
iostreamを使わないといけないなら入出力周りを作り直す必要がある。
まぁまさか、この程度でオブジェクト嗜好に則ってクラス設計しろってことはないだろうけれど。

414:デフォルトの名無しさん
08/06/02 19:55:19
>>413
なんか難しいんですけど、iostreamを使ったやり方だとかなり変更が必要ってことですか?
出来ればiostreamの方がいいのですが。

415:371
08/06/02 19:59:19
>>372を見ましたがよくわかりませんでした…。
各関数単体でもよいのでよろしくお願いします。

416:デフォルトの名無しさん
08/06/02 20:00:07
過去レポを手に入れたが理解できず、C++にコンバート依頼まで
するような相手にみんな親切だな。
他人のソースコードを許可無くうpしてんのかなあ

417:デフォルトの名無しさん
08/06/02 20:01:41
>>415
/* 循環リストに要素を追加する */
void addlist(void)
/* 循環リストから要素を削除する */
void deletelist(void)
/* 循環リストの内容を表示する */
void showlist(void)
という関数が記載されていたが、ほしいのはこれじゃないってことー?

418:デフォルトの名無しさん
08/06/02 20:02:37
>>414
つーか、>406もC++だね。古い流儀で書かれているけど。
寧ろ、new/deleteを使っているからCじゃコンパイルできない。
いい練習だと思って、自分でiostream版に書き換えたら?

419:デフォルトの名無しさん
08/06/02 20:36:46
>>418
ちょっと考えましたけど自分にはちょっと・・・・。
甘えてばっかりいたらいけないと思いますが、提出期限が明日で時間的に厳しいので教えていただけるとうれしいです。


420:デフォルトの名無しさん
08/06/02 20:52:26
>>419
提出期限がよくわからない。
結局いつが期限なの?

421:415
08/06/02 20:53:44
>>417
欲しいのは大体それと同じなんですが、
例えばaddlistなら追加するデータがint型の整数じゃなくてData型の整数と文字じゃないですか?
それをどうやって渡すのかよくわからなくて・・・

422:デフォルトの名無しさん
08/06/02 20:55:02
すいません >>269言語はC++でコンパイラはVisual Stadio2003です。宜しくお願いします。

423:デフォルトの名無しさん
08/06/02 20:56:12
>>420
すいません、提出期限は明日です。
期限: 2008年6月1日24:00だったのは他のレポートもありましてそれの兼ね合いからです。

424:デフォルトの名無しさん
08/06/02 20:57:04
>>421
addlistのなかで整数と文字を入力させて、それをData構造体に放り込めばよいのでは?

425:デフォルトの名無しさん
08/06/02 21:04:39
>>424
いやそんなことしなくても>>372のサンプルで>>421で言ってることに十分対応できる。

>>371の実行例が最初よくわからんかったけど

(0) Insert a Node (1) Delete a Node (2) View the List (3) exit :

でコマンド待ち

0でエンターすると

No.:
Name:

入力になって終わると

(0) Insert a Node (1) Delete a Node (2) View the List (3) exit :

を再度表示なので





426:デフォルトの名無しさん
08/06/02 21:07:50
>>423
明日の何時なの?ここでは「自分にはちょっと・・・・」とか言ってるのにさ、
自信満々に「作ってきましたあ!」って言って丸パクリの過去レポ出しちゃうの?

俺がその立場なら「…え?これで、、、マルコフ情報源、生成できる?ねぇ?」
とかカマかけられただけでションベン漏らすね。間違いない。
そんなこと想像したらもう今日寝れねえな。

427:デフォルトの名無しさん
08/06/02 21:08:52
>>419
URLリンク(kansai2channeler.hp.infoseek.co.jp)

428:デフォルトの名無しさん
08/06/02 21:13:14
>>427
ちょっと見てみたんですけど自分には難しすぎますので教授を
納得させられるようなコメントを記述してもらえませんか?
提出が明日なので何とかお願いします。

429:デフォルトの名無しさん
08/06/02 21:17:39
>>371
作りかけ
URLリンク(kansai2channeler.hp.infoseek.co.jp)

addlistのところは参考程度にいじった

430:427
08/06/02 21:20:13
>>428
俺はC++に直しただけであってマルコフなんたらってのは知らん

431:デフォルトの名無しさん
08/06/02 21:22:06
しかし、勉強になるし面白いなw

社会に出たらほとんど組まないであろうニュートン法のプログラムとかw
さすがに微分積分とか苦手なんで無理w

432:デフォルトの名無しさん
08/06/02 21:24:34
俺もこういう数学的な何かを活用する場面に出くわした事はないなー。
会社によってはそればっかりになるんだろうけどねw

433:406
08/06/02 21:34:52
>>426
明日の4時です。でもその前に講義があるので実質明日の午前中までです。
ゼミの先生はあまり突っ込んで聞いてこないので大丈夫だと思います。

>>427
助かりました、本当にありがとうございます!

>>428
偽者が現れるとはw

434:デフォルトの名無しさん
08/06/02 21:36:51
>>371の例題って不親切だよね。
リスト追加の際は表示する例が載ってるけど
ノード削除、ノードの表示に関する仕様が
無い。
どうやって作れっていうんだろうな。

435:デフォルトの名無しさん
08/06/02 21:41:27
センスで

436:デフォルトの名無しさん
08/06/02 22:17:42
[1] 授業単元:プログラミングⅡ
[2] 問題文(含コード&リンク):0~20までの実数の乱数を発生させなさい
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Vidual Studio2005
 [3.3] 言語:C++
[4] 期限:2008年6月3日12:00まで
[5] その他の制限:特になし
(double)rand() / ((double)RAND_MAX + 1)が0から1までの乱数で
(rand() %20 + 1)が0~20までの整数の乱数というのはわかるのですがどう組み合わせればいいかお願いします。

437:デフォルトの名無しさん
08/06/02 22:21:41
c言語というより、知能の問題な気がする

438:デフォルトの名無しさん
08/06/02 22:31:08
>>436
>(double)rand() / ((double)RAND_MAX + 1)が0から1までの乱数で
>(rand() %20 + 1)が0~20までの整数の乱数
こう思う時点で問題あり...

439:デフォルトの名無しさん
08/06/02 22:31:16
>>436
ぜ、0から1までの乱数を20倍してみてはいかがでしょうか。。。

440:デフォルトの名無しさん
08/06/02 22:33:59
>>371 は麻呂がクソースを書いている最中でおじゃ~る

441:デフォルトの名無しさん
08/06/02 22:36:14
rand()なんて使ったこと無いや。
ちなみにRAND_MAXの値って環境で変わるの?

442:デフォルトの名無しさん
08/06/02 22:36:41
>>436さんに意見するな!!!!

443:デフォルトの名無しさん
08/06/02 22:40:22
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語: C言語
[4] 期限:出来るだけ早くが望ましいです。
[5] その他の制限: loadする際にmallocやfseekなど使用、構造体を3つ用意、グローバルなポインタも用意すること

かれこれ、1週間悩んでます。完璧にとは言いません、どなたか力を貸してください。

444:デフォルトの名無しさん
08/06/02 22:42:20
>>443
悩んだなりに作ったソースプリーズ

445:デフォルトの名無しさん
08/06/02 22:44:28
しかしコマンドでaddとかってPC88のころのAVGみたいだなw

446:デフォルトの名無しさん
08/06/02 22:45:03
>>443
興味深いなあ。
生徒によって異なる実装が行われやすいような問題になってるね。

447:デフォルトの名無しさん
08/06/02 22:47:03
コマンドの扱いってどうすればいいんだろ?
addt
とか間違った場合の挙動は?

何もsaveしてない状態でloadしたら?

設問ってこんないい加減なの?

448:421
08/06/02 22:49:34
皆様の助言の下、なんとかそれっぽいものが作れました。
教えてくださった方々、本当にありがとうございました。

>>434
ですよね。結局自分で解釈して作ってみましたが・・・

449:デフォルトの名無しさん
08/06/02 22:51:40
>>448
なんだ、できるんじゃんw
おつかれさーん

450:デフォルトの名無しさん
08/06/02 22:58:16
>>444
すいません、学校のPCにソースが入ってて自宅のPCには入ってないんです。
主に学校で作業を行ってて、そこで分からなかった関数など自宅で調べてる感じなので、すいません。

>>445
そうなんですか?よく知らないんですけど、そうなってましたw

>>446
そうみたいです、だから早く出来た人は皆答え違ってるみたいです。

>>447
間違えた場合はもう1度メニューを出す形でお願いします。
saveについては自分も分かってません、同じ様なケース考えたんですがどう対処していいか分からなくて。
されないことを祈るというカタチでお願いしますw明日に先生に質問してみます。
設問かなりいい加減です、動作例とバイト数だけ書いてあって、後は自分で考えてって感じでしたorz



451:デフォルトの名無しさん
08/06/02 23:01:26
>>448
麻呂がクソースを書くって言ったじゃないでおじゃるか~~

452:デフォルトの名無しさん
08/06/02 23:01:58
>>450
んじゃまた明日ソース持っておいで。
途中まで作ってるならそれベースのほうが理解できるでしょ。
覚えてる範囲で再現してもいいけど、ちょっと難しいでしょ?

453:デフォルトの名無しさん
08/06/02 23:02:52
[1] プログラミング
[3][3.1] XP
 [3.2] 不明
 [3.3] C
[4] 期限: 080604

URLリンク(kansai2channeler.hp.infoseek.co.jp)

のプログラムを実行すると
1>c:\documents and settings\keita\my documents\visual studio 2008\projects\1212\1212\1212.cpp(13)
: error C3874: 'main' の戻り値の型には、'int' を使用してください。'stack' は使用できません

というエラーが起こります


454:デフォルトの名無しさん
08/06/02 23:04:41
[1]授業単元 C言語
[2]問題 平均、分散、標準偏差を求めよ。
[3]環境 vista コンパイラ cygwin
[4]期限 明日の昼まで
[5]その他 ヘッダーはstdio.h stdlib.h math.hのみ?

情報が少ないかも知れませんがよろしくお願いします。

455:デフォルトの名無しさん
08/06/02 23:06:00
>>453
main() → int main()

456:デフォルトの名無しさん
08/06/02 23:06:08
>>453
main()
の戻りが消えてる。
void main()
とか
int main()
とかになるのが普通

457:デフォルトの名無しさん
08/06/02 23:07:48
>>452
分かりやすいとは思いますが、ほとんど作ってないですorz
フローチャート作成にほとんどの時間費やしてやっとこさソース書いてみようってところです。
しかもそのフローチャート、合ってるか先生が休んだおかげで確認もしてませんorz
まぁ、ソース作成してる時にどう処理するんだ?って疑問が沢山出てきたんで明らかに間違ってるんでしょうが・・・。

明日また作成するので出来るところまでやってみようと思います。
明日、宜しくお願いします。

458:デフォルトの名無しさん
08/06/02 23:08:04
>>436
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

//0から1までの乱数
double RandBetweenFromOneToZero()
{
return (double)rand() / ((double)RAND_MAX + 1);
}
//0から19までの乱数
int RandBetweenFromZeroToTwenty()
{
return rand()%20;
}
int main()
{
double drdm;
srand((unsigned)time(NULL));
drdm = RandBetweenFromOneToZero() + RandBetweenFromZeroToTwenty();
printf("%lf \n",drdm);
return 0;
}

459:デフォルトの名無しさん
08/06/02 23:13:34
>>457
お。いい子だーw
きっとちゃんとしたソースもらえると思うよ。がんばってね。

ってかさ、このスレって前からこんなピリピリした雰囲気だった?
なんか殺伐としてる。。2chだからといえばそうなんだけど><

460:デフォルトの名無しさん
08/06/02 23:14:29
>>454
URLリンク(kansai2channeler.hp.infoseek.co.jp)

461:448
08/06/02 23:14:34
>>451
自分のソースに自信がないので>>451さんのソースも見せていただけますか?
他にも作ってくれていた方がいたら見せていただけると有り難いです。

462:デフォルトの名無しさん
08/06/02 23:15:35
今、カニ雑炊を食べ終わったから、書き続けているでおじゃる

463:デフォルトの名無しさん
08/06/02 23:20:08
一休さんかよw
…まさかとは思うが、作ったものをまずうpしてみ?
足利将軍様はしばらくうp待ってみてくだされ

464: ◆tr.t4dJfuU
08/06/02 23:25:32
272に質問を書いたものです。やさしい職人さんに>>332のプログラミングを書いていただいたのですが、
画像は読み込めるのですが、RGB値を出す事が出来ませんでした。再びですが、どなたかよろしくお願いできませんか?
解決方法もともにおいえてください。以下に再び質問を欠かさせていただきます。

[1] 実験解析
[2] プログラムと同じフォルダ内のbmpファイル(256色)(200*300pix)をプログラム実行
時に読み込ませ,1pixごとにそのRGB値を調べさせてCSV形式で書き出すプログラム
[3] 環境
 [3.1] OS:Xp
 [3.2] BCC Developer
 [3.3] 言語 c
[4] 期限: 無期限ですが,できるだけ早いうちに宜しくお願いします.
[5] その他の制限:特にはありません.私は初心者なので,後学のために解説等が
含まれていたらうれしいです.

465:448
08/06/02 23:29:00
>>463
URLリンク(kansai2channeler.hp.infoseek.co.jp)

466:デフォルトの名無しさん
08/06/02 23:34:25
>>464
解説というかBMPのファイル仕様がこうなってる
URLリンク(www.kk.iij4u.or.jp)

でも>>322のプログラムはヘッダ部分を決め打ちで読んでるな・・・

467: ◆tr.t4dJfuU
08/06/02 23:40:08
>>466
ということは、画像読み込みから変更したほうが良いという事なのでしょうか?

468:316
08/06/02 23:43:09
>>323
>>328
どちらも実行できました!
>>338
追加実行できました。
みなさんありがとうございました!

469:デフォルトの名無しさん
08/06/02 23:44:46
>>463
もう少し待ってたもう、今最後の free(); 処理の部分を書いているでおじゃ~る

470:デフォルトの名無しさん
08/06/02 23:50:59
[1] プログラミング演習
[2]
x.datというファイルがあり
その中には
1
4
5
6
16
8
9
,,,,,,,,,というような形式で数字がN個蓄えられている
このファイルを読み込み、中に入っている数字を配列x[i]の中に蓄え
x[0]からx[N]まで全て足した値を求めなさい
という問題です

言語:C言語

制限などはありません
よろしくおねがいします



[3] 環境
 [3.1] OS:Xp
 [3.2] BCC Developer
 [3.3] 言語 c
[4] 期限: 無期限ですが,できるだけ早いうちに宜しくお願いします.
[5] その他の制限:特にはありません.私は初心者なので,後学のために解説等が
含まれていたらうれしいです.


471:470
08/06/02 23:52:23
すいません環境以下の方の部分は無視してください、ごめんなさい

472:デフォルトの名無しさん
08/06/02 23:53:45
URLリンク(www13.plala.or.jp)
の円周率を求めるプログラムで小数点以下が4桁で区切られてるんですけど何処で定義してるんでしょうか?


473:デフォルトの名無しさん
08/06/03 00:16:55
>>455
>>456
迅速な回答ありがとうございます。
両方を試してみた結果
(12) : error C2628: 'stack' の後に 'int' を続けて記述できません(セミコロン ';' で区切ってあるか確認してください)。
(13) : error C3874: 'main' の戻り値の型には、'int' を使用してください。'stack' は使用できません
のようなエラーが出てしまします。

474:454
08/06/03 00:21:41
>>460
ありがとうございます!
これでテストも乗り切れます

475:デフォルトの名無しさん
08/06/03 00:23:47
>>371
URLリンク(kansai2channeler.hp.infoseek.co.jp)

476:デフォルトの名無しさん
08/06/03 00:24:38
>>473
struct stack{
char list[STACKMAX];
int num_of_data;
};
にする

477:デフォルトの名無しさん
08/06/03 00:38:14
>>470
#include <stdio.h>
#define N 7
int main()
{
int iary[N]={0};
FILE *fop = fopen("x.dat","r");
int i,sum = 0;
for(i = 0; i < N; i++){
fscanf(fop,"%d",&iary[i]);
sum += iary[i];
}
printf("sum = %d \n",sum);
return 0;
}

478:デフォルトの名無しさん
08/06/03 00:43:37
>>470
URLリンク(kansai2channeler.hp.infoseek.co.jp)

479:デフォルトの名無しさん
08/06/03 00:45:58
>>470
C勉強中です。突っ込みあればよろしくです。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

480:デフォルトの名無しさん
08/06/03 00:47:04
>>470の人気にshit!

481:470
08/06/03 00:55:37
477さん478さん479さん本当に、ありがとうございます。
コメント等が丁寧なおかげで私でも理解できそうです。ありがとうございます。


482:470
08/06/03 00:56:27
すいませんsage忘れました。

483:366
08/06/03 01:19:22
>>386
そうです
そのほか答えてくださった方もありがとうございます。規制で書き込み遅くなって申し訳ないです


484:デフォルトの名無しさん
08/06/03 02:02:21
疲れたでおじゃる。麻呂のクソースは今日中にということで、寝るでおまる。
deleteのところが、ちと不完全で。先頭のレコードを消すと
バグったでおじゃる。

485:デフォルトの名無しさん
08/06/03 02:07:48
[1] 授業単元:画像情報処理
[2] GIF形式の画像を8ビットにビットスライスし、最下位ビットプレーンの各画素を変更する手法で電子透かしを作りなさい。
各画素は0~255の明るさの階調があり、それを1ずらすことによってデータを埋め込む。
例えば、画像の6行1列目~6行8列目の画素に01010001というデータを埋め込む場合、
元の明るさのデータが「133 132 132 134 133 133 134 134」だとすると、
埋め込んだ後のデータが「134 133 132 135 134 134 134 135」となるよう、
0の場合偶数に、1の場合奇数にデータを変更するようなプログラムとしなさい。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008年6月9日 23:00まで
[5] その他の制限: 特になし

よろしくお願いします。

486:デフォルトの名無しさん
08/06/03 02:22:25
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: MS VS2005
 [3.3] 言語: c++
[4] 期限: 2008/6/4
[5] その他の制限: 特に無し

駄目だ上手く組めない。。。。
宜しくお願いしますorz

487:デフォルトの名無しさん
08/06/03 02:29:42
>>486
つstatic変数

488:デフォルトの名無しさん
08/06/03 02:30:56
#include <stdio.h>
double kekkahozon( double i ){
static double j;
j+=i;
return j;
}
void main(){
double x;
int i;
for(i=1; i<=10; i++){
x = kekkahozon( (double) i );
printf("合計: %f\n", x);
}
}

489:デフォルトの名無しさん
08/06/03 02:31:38
double kekkahozon( double d )
{
  static ret = 0;
  return ret += d:
}

490:デフォルトの名無しさん
08/06/03 02:33:58
被った上にミスった
static double ret = 0;


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch