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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:30:56 ]
あなたが解けない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++の宿題を片付けます 108代目
pc11.2ch.net/test/read.cgi/tech/1211980711/


620 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:10:08 ]
>>617-618
ありがとうございました。

621 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:11:02 ]
594と610と614以外は参考にしちゃ駄目だから

622 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:17:28 ]
>>620
いまどきは滅多にないと思うけど、618は環境によっては正しく動かない可能性あるから。

623 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:21:18 ]
IT業界関連社会人を目指す学生向けの回答はこっち
>>614はパソコン愛好会のお遊び勉強会向けのコードで大学の宿題じゃNG
効率はやや悪いが、
1.何を書き換えるかが把握しやすい。
2.ローカル変数をstaticにしている(必要もなくautoにしない)
3.newで許可無く勝手に変数を作っていない
という点に相違がある。こういうのが非常に大事になってくる。
int RemoveZeroElements(int *array, int n){
static int i,j;
for(i=0;i<n;i++){
if(array[i]==0){
for(j=i+1;j<n;j++){//後ろに0でない項があれば、それと交換する
if(array[j]){array[i]=array[j];array[j]=0;break;}
}//for
}//if
}//for
for(i=0;i<n;i++)
if(array[i]==0)
return i+1;
}

624 名前:623 mailto:sage [2008/06/15(日) 10:24:17 ]
return n;が抜けてたから追加しといて

625 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:29:00 ]
>>623
>return i+1;
>return i+1;
>return i+1;
>return i+1;

626 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:30:43 ]
>>623
なんだこのクソコードw

627 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:23:48 ]
カウンタ用の変数をプログラム全体の実行終了までメモリ上に保持しとくとか・・・。
実行環境はメモリ余りまくりのWindowsXPだというのに・・・。
バカなの?

628 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:42:17 ]
再帰とか普通禁止されてる業務用コードは、リエントラントである
ことなんて要求されないから、ローカル変数をautoに統一だなんて
DOSとかの貧弱なメモリ環境のコード書いてた時の戒律だぜw

実行環境はメモリ余りまくりのWindowsXPだというのに・・・。
それをやらないのってひょっとして

バカなの?



629 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:57:23 ]
わざわざ似た文面で返すところを見ると、よっぽど悔しかった模様。

630 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:00:31 ]
>>623
すいません、実行すると配列の最後に0が入っちゃうんですけど。
配列の長さも9になってしまいます。

631 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:16:42 ]
628は627をわかりやすく補足しただけだろ

632 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:20:30 ]
>>320
>>593
誰もやらない理由って言うかさ、問題文と提示コードの内容が違うからじゃね
提示コードで処理してる data[3][Y_SIZE][X_SIZE]ってさ、明らかにPNMフォーマットじゃ無い
しかし問題文はPNMフォーマットを利用って書いてある
意味不明だよ、提示コードも良く分らずに君が書いたのか?

633 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:22:59 ]
スレッドセーフを意識しないのが最近の流行なんだ?
よし、俺も関数内static変数バンバン使うぜ!

634 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:46:15 ]
>>592
C++ならこんな感じ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6910.txt

635 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:07:10 ]
>>320
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6911.c

636 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:09:47 ]
>>632
8行目のPS3をP3にし、
21行目の%dの後ろにスペースを一個追加すれば、
ppmを吐くようになる。

637 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:16:15 ]
その上で、16行目を以下の4行で置き換えればとりあえずsinカーブを書くようになるよ。
for (x = 0; x < X_SIZE; x++) {
y = 256 / 6.28 * sin(x / 256.0 * 6.28) + 128;
data[0][y][x] = 255;
}


638 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:17:08 ]
連投すまん、
#include <math.h>
も忘れずに。



639 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:30:50 ]
円を角煮は、パラメトリック表示した円の式を使うのが楽。
(ただし、あまり美しくはかけない。)
double t;
for (t = 0; t < 6.28; t += 0.01) {
x = 128 * cos(t);
y = 128 * sin(t);
data[0][y][x] = 255;
}
ぐらいでどうかな。
渦巻きは、半径(ここでは128)をtにあわせて変化させてやれば良い。


640 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:37:50 ]
不動小数点数をループカウンタに使うなよ。
横着しないでpiから計算すれ。

641 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:39:04 ]
>>640
それぐらいは許容範囲にしてやれw

642 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:28:14 ]
1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6912.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C++
[4] 期限: 2008/6/17
[5] その他の制限:問題文の制限のみ

なんだかもう頭の中がごちゃごちゃになってきました
御教授お願いしますorz

643 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:52:12 ]
>>642
#include<stdio.h>
int main()
{
int a[10], i, *pa, *pb;
for(i = 0; i < 10; i ++)
a[i] = i;
pa = a; /* a と &a[0] のどちらでも可 */
printf("a[0]=%d\n", pa[0]); /* pa[0] と *pa のどちらでも可 */
printf("a[4]=%d\n", pa[4]); /* pa[4] と *(pa+4) のどちらでも可 */
pb = a+5; /* a+5 と &a[5] のどちらでも可 */
printf("*(pb-2)=%d\n", *(pb-2)); /* *(pb-2) と pb[-2] のどちらでも可 */
return 0;
}

644 名前: ◆bVi8L9tS1c mailto:sage [2008/06/15(日) 18:29:50 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6913.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C
[4] 期限: 本日24時まで
[5] その他の制限:出来るだけ簡素に

すいません、よろしくお願いします

645 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:37:20 ]
>>644
#include <stdio.h>
int char2int(const char *s);
int main(void){
char s[]="123";
int t;
t = char2int(s);
printf("文字列: %s \n", s);
printf("数値: %d \n", t);
return 0;
}
int char2int(const char *s){
int n = 0;
while(*s)
n = n * 10 + (*s++ - '0');
return n;
}

646 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:38:36 ]
>>644
#include <stdio.h>
#include <stdlib.h>
int char2int(char const *s);
int main(void){
char s[]="123";
int t = char2int(s);
printf("文字列: %s\n", s);
printf("数値: %d\n", t);
return 0;
}
int char2int(char const *s){
return atoi(s);
}

647 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/15(日) 19:45:02 ]
[1] 授業単元:基礎プログラミング
[2] 問題文:
(1) char*pstrというchar型のアドレスを宣言して、256バイトのメモリ領域を割り当てます。
割り当てたメモリ領域に以下のような文字を入れ、表示させなさい。

I'll finish this book today.

(2) (1)で割り当てたメモリ領域を512バイトに拡張しなさい。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ:VC 6.0
 [3.3] 言語:C
[4] 期限: 今日中でお願いします。
[5] その他の制限: malloc関数を使ってください。

648 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:47:08 ]
reallocは使用可能?



649 名前: ◆bVi8L9tS1c mailto:sage [2008/06/15(日) 19:47:15 ]
>>645-646
ありがとうございました

650 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/15(日) 19:48:17 ]
すみません書き忘れてました。
(2)はrealloc使用OKです。

651 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:53:43 ]
>>647
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char *pstr;
pstr = malloc(256);
strcpy(pstr, "I'll finish this book today.");
fputs(pstr, stdout);
pstr = realloc(pstr, 512);
return 0;
}
エラーチェックは省略。

652 名前:231 mailto:sage [2008/06/15(日) 19:56:47 ]
>>562
ありがとうございました!

653 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:18:54 ]
>>320
>>593

既に>>635で出てるが…
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6916.txt

654 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:59:58 ]
>>651
freeつける癖つけましょう

655 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:04:29 ]
昔、あるfjで、exitの前に
freeすべきかどうかで
大論争があったね。

656 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:12:49 ]
[1] 授業単元:プログラミング演習
[2] 問題文:
次をポーランド記法を用いて計算し、標準出力に出力せよ。
* + 3.2 1.6 - 8 / 9.1 0.2

[3] 環境
 [3.1] OS:WindowsVista64
 [3.2] コンパイラ:bcc32
 [3.3] 言語:C
[4] 期限: 今日中でお願いします。
[5] その他の制限: ありません。

657 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:33:10 ]
[1] 授業単元:
C言語
[2] 問題文(含コード&リンク):()
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6917.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6918.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明後日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
二つあります。両方お願いします。


658 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:05:10 ]
>>656
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6919.txt



659 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:11:29 ]
>>658
ありがとうございます。

660 名前:デフォルトの名無しさん [2008/06/15(日) 22:12:38 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
CSVファイル内のレコードをスペース区切りで入力した文字列でアンド検索せよ
(「あいう けこ」と入力すると「あいうえお,かきくけこ,さしすせそ」というレコードがヒットする)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 明日まで
[5] その他の制限: ライブラリはなしで

一つの文字列での検索は出来るのですが、複数のときにどうしたらいいのかわかりません…。
今書いているソース↓

FILE *fp= fopen(IN_FILE, "r");
char buff[256]; //CSVファイルのデータ用
char srch[256]; //検索ワード用
gets(srch); //検索するワードの取得
int i = 0; //行数。その後の編集や削除処理でデータを特定するために使用
int line = 0; //ヒットした行数
while(fgets(buff, 256, fp) != NULL)
{
++i;
if(strstr(buff, srch) != NULL)
{
printf("%d%s", i,buff);
++line;
}
}
fclose(fp);

661 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:31:12 ]
>>657
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6920.c
問題017 単純選択法 発展

662 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:38:26 ]
>>660
入力された文字列をスペース区切りで複数の文字列に分割する
分割した文字列ごとに検索する

663 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:44:22 ]
>>657
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6921.c
問題018 単純交換法 配列は乱数で決定しているんで、適当に
自分で入力する形式に変更してたもう

664 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:45:15 ]
>>657
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6922.c

665 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:47:57 ]
>>663 は間違えた・・・

666 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:52:34 ]
>>657
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6923.c
問題018 単純交換法

667 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:57:49 ]
ソートネタ大人気だな

668 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:59:12 ]
そーっと しておいてくれ・・・



669 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:09:04 ]
ありがとうございます。

670 名前:657 mailto:sage [2008/06/15(日) 23:14:34 ]
>>669
名前忘れました>>657です。

671 名前: [2008/06/16(月) 00:14:46 ]


672 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:02:14 ]
>>623 がいるからIT(笑)って言われるんだよ

673 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:09:29 ]
>>462
掘り返してすいません
何故さきに余りを求めて足して最後に1000以上なら1000を引くのかがわかりません
どうしてその考えにいたるのかが分かりません
できれば詳しく説明して欲しいのですがよろしいでしょうか?

674 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:11:56 ]
[1] 授業単元:C言語入門
[2] 問題文:二次方程式 ax2+bx+c=0に適当なa,b,cを与えて
      もし実数解をもつならば 解を計算して表示し、
      虚数解であれば「実数解をもちません」と表示
      するような、プログラム if-else文を使って作成せよ
[3] 環境
 [3.1] OS: (WindowsXPです
 [3.3] 言語: (Cになります。
[4] 期限: ([2008年6月16日10:00まで] になります(´;ω;`)

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

675 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:21:01 ]
#include <stdio.h>
#include <math.h>

int main(void)
{
double a, b, c, d;

scanf("%lf%lf%lf", &a, &b, &c);

d = b * b - 4 * a * c;

if(d < 0) printf("実数解をもちません\n");
else if(d > 0) printf("%f, %f\n", (-b + sqrt(d))/ (2*a), (-b-sqrt(d)) / (2*a));
else printf("%lf\n", -b / (2 * a));

return 0;
}

676 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:22:01 ]
>>675
っ a==0

677 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:22:07 ]
>>673
> 何故さきに余りを求めて足して
まともに計算したら巨大な数になって、intもlongも超えちゃう。
最終的に下3桁を求めればいいのだから、
乗算と加算だけなら下3桁の範囲だけで計算していれば十分。
合同式とかいうんだっけ?あまり詳しくないけど。

> 1000以上なら1000を引くのか
rtは2000未満なので、余りを求めているのと同じ。

678 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:27:33 ]
>>673
1 + 4 + 27 + 256 において、10で割った余りを求めることにしよう。

1^1 と 2^2 は10を越えていないんでそのままでおk。この時点で余りの合計は5。

3^3は27で10を越え、10で割った余りの7のみを残しておk。5+7=12、
ここで合計も10を越えたから10で割った余りの部分を残して2。

4*4 = 16 は10で割った余りの6のみ残して、次は
本来は16*4 = 64 だが、前の6に4を掛けて24で4のみ残しておk、さらにもう一度
本来は64*4 = 256 だが、前の4に4を掛けて16で6のみでおk
2+6 = 8で、答えはあっているじゃろう。
そうやって、10で割った余りの部分だけを残してべき乗を継続しても成り立つのが分かる。



679 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:33:32 ]
#include <stdio.h>
#define MAX 4
#define MOD 10
int main(void) {
int i, j, rt = 0;
for(i=1; i<=MAX; i++) { int r = 1;
for(j=0; j<i; j++) r = (r * i) % MOD;
rt += r;
if(rt >= MOD) rt%=MOD; } printf("%d\n", rt);
return 0; }

ちょいと拝借して、このソースの MAX 、 MOD を適当に変えてみ。
理屈が成り立つことが分かるから。

680 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:33:50 ]
>>676
>二次方程式

681 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/16(月) 01:35:35 ]
>>651
error C2440: '=' : 'void *' から 'char' に変換できません。
1> この変換が可能なコンテキストはありません。
って出るんですけどどうしたらいいでしょうか

682 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:53:09 ]
>>655
単に strdup() を無神経に使っていることに噛み付いただけなんですけれど‥‥‥。

683 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:17:03 ]
>>681
明示的にキャスト汁
pstr=malloc(256); →pstr=(char *)malloc(256);
pstr=realloc(pstr,512); →pstr=(char *)realloc(pstr,512);


684 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:19:57 ]
>>681
エラーメッセージのコピペかソースコードのコピペで失敗してるんじゃない?

685 名前:デフォルトの名無しさん [2008/06/16(月) 02:20:47 ]
C++だとvoid*を他のポインタ型に代入するときに明示的なキャスト必要なんだっけ?

686 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:20:58 ]
>>681
C++ 扱いでコンパイルしてませんか?

687 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:47:08 ]
[1] 授業単元:C言語入門
[2] 問題文:ある2つの実数aとbを入力し、aの数が3で割り切れる、
      または、bの数が2で割り切れる場合のみに、それらの
      四則演算を行い、その結果を表示するプログラムを作成せよ
[3] 環境
 [3.1] OS: WindowsXP
 [3.3] 言語: C
[4] 期限: 今日中にお願いしたいです。。

よろしくお願いします。

688 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:50:03 ]
>>687
整数ではなくて実数?
実数なら必ず2で割り切れるという扱いでおk?



689 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/16(月) 02:53:04 ]
>>683
それでできました、ありがとうございます><b

690 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 03:14:05 ]
>>688
はい、実数で、
2で割り切れる扱いでお願いいたします(*´д`*)

691 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 03:27:09 ]
>>687
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main(void){
char buf[256];
int i, chk, bufindex;
double a, b;

printf("Input a : ");
scanf("%255s", buf);
if(sscanf(buf, "%lf%n", &a, &bufindex)<1) return 1;
for(i=0,chk=0;i<bufindex;i++) if(isdigit(buf[i])) chk+=buf[i]-'0';
if(chk%3!=0) return 2;

printf("Input b : ");
if(scanf("%lf", &b)<1) return 3;

printf("a+b=%f+%f=%f\n", a, b, a+b);
printf("a-b=%f-%f=%f\n", a, b, a-b);
printf("a*b=%f*%f=%f\n", a, b, a*b);
if(b) printf("a/b=%f/%f=%f\n", a, b, a/b);

return 0;
}

692 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:24:04 ]
>>691
それでは「aの数」、「bの数」をどう解釈しても題意を満たさないのでは?

693 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:25:29 ]
>>572
ありがとうございます!
助かりました
今日提出しにいこうと思います

694 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:58:25 ]
[1] 授業単元: 入門
[2] 問題文(含コード&リンク):
1.
{C1}=(a11 a12){b1}
{C2}=(a21 a22){b2}
↑は行列の積です。
C=A・bの形でA,bはfloat型
これを求めるプログラムの計算です。
2.
{d1}=(a11 a12)n乗{b1}
{d2}=(a21 a22){b2}
↑は1と同じ行列の積ですが、Aのところがn乗となっています。
わかりにくくて申し訳ないですが、お願いします。
[3] 環境
 [3.1] OS: vista 
 [3.3] 言語:C
[4] 期限: できるだけはやくほしいです
[5] その他の制限: まだ、3ヶ月ほど習っただけでやったことがあるのは
演算と型、if、switch、do、while、for、配列、関数ぐらいです。

695 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:01:23 ]
[1] 授業単元:
C言語
[2] 問題文(含コード&リンク):()
ポゴソートについて調査し、それを実演するプログラムを書け。
データ数N=10000の場合について、整数の一様乱数の整数配列を作成してから
それをポゴソートし、結果がソートされているかをプログラムでチェックする。
配列を作成した時点からソートが完了した時点までにかかった時間をミリ秒単位で測定し、
処理にかかった時間を出力せよ。10回実行し、かかった時間を表にし、平均時間も計算し、
プログラムコードと共に提出せよ。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
GCC
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
本日中
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
乱数は起動の度に異なるようにすること。乱数配列の出力、整列済み乱数配列の出力は不要とのことです。


696 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:16:46 ]
ボゴソートなら知ってるがポゴソートは知らないな

697 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:22:04 ]
意味は通じているのにいちいち誤字を指摘するか。
格の低い男だな。

698 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:22:24 ]
データ数10000のボゴソートなんて正気じゃねえなw



699 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:25:37 ]
ttp://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%B4%E3%82%BD%E3%83%BC%E3%83%88
これは酷い。こんなのは授業の一部で、効率の悪い例としてさらっと話して
生徒は聞き流す程度で終わらせてしまえば良いものを、敢えて課題にするとは・・・
嫌がらせか?

700 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:27:47 ]
ボゴソート

int check(int *a, int size)
{
int i;
for(i=1; i<size; i++) if(a[i] < a[i-1]) return 0;
return 1;
}

void bogo_sort(int *a, int size)
{
int i, j, temp;
do {
for(i=1; i<size; i++) {
j = rand() / (RAND_MAX + 1.0) * (i + 1);
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}while(!check(a, size));
}

701 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:56:02 ]
嫌らしい難問だナ まともとは思えないのでスルーがよろしいかと
(一様乱数とはほど遠い線形合同法を使ったCのライブラリ乱数で
N=10000もの順列を一様に生成すること自体至難の技なのだが)

702 名前:691 mailto:sage [2008/06/16(月) 09:25:54 ]
>>687
>>691 は無かったことにして

703 名前:デフォルトの名無しさん [2008/06/16(月) 09:47:52 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):プログラムを、共振周波数を固定しCを変化させるプログラムに変更せよ
問題
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6925.c
complex.txt
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6926.txt
complex.h
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6927.txt
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Visual C++(よくわかりません)
 [3.3] 言語: C
[4] 期限: 2008/06/12 10:30
[5] その他の制限: RLC共振回路の問題です。先生に聞いてもよくわかりませんでした。
RとLを固定してやるそうです。急ぎです。よろしくおねがいします。

704 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:30:56 ]
無保証。自己責任で参考にしてね
void main(void)
{
complex zin, ai;
double v=10.,l=13.92e-3,c=0.01591e-6,pi=3.14159;
double r,fr,f,q,w,x,za,aiabs;

r=5;
// fr=1./(2.*pi*sqrt(l*c));
// q=2*pi*fr*l/r;
// printf("R=%lf fr=%lf Q=%lf¥n¥n",r,fr,q);
printf("C(Farad) L(Henry) freq.(Hz) I(ampare) Zin(ohm)¥n");
// for(f=9000.;f<=11000.;f+=25.){
f=9000.0;
for(c=1.0E-8;c<1.0;c*=1.001){
w=2.*pi*f;
x=w*l-1./(w*c);
zin=cmplx(r,x);
za=cabso(&zin);
ai=cmplx(v,0.0);
ai=cdiv(&ai,&zin);
aiabs=cabso(&ai);
printf("C=%12.2lf l=%f f=%12.2lf %14.4lE %15.5lE¥n",c,l,f,aiabs,za);
}
getchar();
return ;
}

705 名前: ◆rR6EHrq.2w [2008/06/16(月) 13:38:07 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):下記のプログラムを参考にし、f(x)=2cos(x)-x/8=0の数値解を求めるプログラムを作成せよ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6928.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C
[4] 期限: 2008/06/16 14:30
[5] その他の制限:出来る限り簡単なものでお願いします


706 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:32:39 ]
>>705
問題のタイプが全然違うので、参考(マウスで選択して、キーボードからちょこちょこっと入力)にして解くことは
期待できないね。
この問題を出した奴はよほどのバカだ。まだ>>695を出したアホのほうがマシ
まともに相手せず、「氏んだほうがいいよ」と白紙のレポートなりメールなり出すのが吉かと

707 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:11:57 ]
>>705
微分を知っていれば10秒ほどでできるよ。
f()の中身をreturn 2 * cos(x) - x / 8.;にしてdf()の中身をreturn -2 * sin(x) - 1 / 8.;にするだけだ。

708 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:10:40 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):(kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6929.txt
上記のソースコードをキューを使い幅優先探索するプログラムに変更せよ。
[3] 環境
 [3.1] Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限:明後日まで



709 名前:デフォルトの名無しさん [2008/06/16(月) 17:58:40 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):クイックソートでは、値が等しい要素 の位置を入力された順に
保つことができない。この問題を解

710 名前:デフォルトの名無しさん [2008/06/16(月) 18:01:55 ]
すいません、なんか切れてしまったのでもう一度・・・

[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):クイックソートでは、値が等しい要素 の位置を入力された順に
保つことができない。この問題を解

711 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:02:21 ]
学習能力のない香具師だな。

712 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:14:25 ]
>>710
>クイックソートでは、値が等しい要素 の位置を入力された順に
>保つことができない。
そのような事実は無い

713 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:15:26 ]
は?
クイックソートが安定ソートじゃないのは常識だろ

714 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:21:44 ]
じゃ使わなきゃいいだろ

715 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:25:09 ]
>>712=714か? だとしたらとんでもない間抜けだな。

716 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:28:56 ]
>>714
そうだね
>>709,710は諦めたのかな

717 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:43:42 ]
>>715
すぐ下のレスで完全否定される間抜けさからして、>>706も同一かもよ

718 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:56:33 ]
[1] 授業単元:プログラミング実習問題
[2] 問題文:『階上の計算』
n=1〜12に対して、n!を計算して出力する。
ただし、n!=1*2*3*・・・・*(n-1)*nである。
なお、再帰法を用いてもよい。

[3] 環境
 [3.1] OS:vista
 [3.2] コンパイラ名:visual studio 2005
 [3.3] 言語:C
[4] 期限:[2008年6月18日まで]
[5] その他の制限:まだ大した勉強はしていません、すいません。
         多分C言語検定3級程度の実力くらいしかないです。



719 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:56:37 ]
マイナスの初期値与えたら暴走するようなプログラムを10秒で作って出来たと
思ってる>>707だろよ

720 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:58:30 ]
ja.wikipedia.org/wiki/%E5%AE%89%E5%AE%9A%E3%82%BD%E3%83%BC%E3%83%88






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

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

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