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


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

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



1 名前:デフォルトの名無しさん [2007/07/15(日) 22:31:51 ]
あなたが解けない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++の宿題を片付けます 92代目
pc11.2ch.net/test/read.cgi/tech/1183511364/

577 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:08:30 ]
お前は何を言ってるんだ

578 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:16:34 ]
適当に大きめの2次配列に入れるなり、
動的確保するなりして入れればいいだけじゃないか。
表示できるなら配置もできるだろ。

579 名前:デフォルトの名無しさん [2007/07/21(土) 16:20:31 ]
【即会い!!】

私自身が使用してみて、即出会えた出会い系サイトを紹介するブログ始めました。
2chと併用して使える良質な即日系サイトのみを厳選して薦めております。

フリメ登録OKなサイトを拡充しました!
↓↓↓
【ブログ 〜即出会えるサイト】deaigets.blog97.fc2.com/

580 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:34:05 ]
>>494
最小限の実装.変な式を入れたときにどうなるかは知らない.
<変更点>
・以下のグローバル変数を追加
int ops[100], vals[100], optop, valtop;

・term()は使わないので消していい

・expression() の内容を以下に変更
int expression() {
valtop = optop = -1;
vals[++valtop] = number();
while (1) {
int opcode;
if (*p == '+') opcode = 1;
else if (*p == '-') opcode = 2;
else if (*p == '*') opcode = 3;
else if (*p == '/') opcode = 4;
else opcode = 0;
while (optop >= 0 && ops[optop] >= opcode) {
if (ops[optop] == 1) vals[valtop-1] += vals[valtop];
if (ops[optop] == 2) vals[valtop-1] -= vals[valtop];
if (ops[optop] == 3) vals[valtop-1] *= vals[valtop];
if (ops[optop] == 4) vals[valtop-1] /= vals[valtop];
valtop--; optop--;}
if (opcode == 0) break;
ops[++optop] = opcode;
*p++;
vals[++valtop] = number();}
if (valtop != 0) printf("some error\n");
return vals[0];}

581 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:40:46 ]
>>578
なんで2次配列なのか小一時間問い詰めたい

582 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:44:54 ]
>>576
なんで2重ループなのか小一時間問い詰めたい

583 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 16:55:27 ]
>>578
表示できるといっても再帰で表示させてるんで
うまいこと添字があわなくて…
配列に配置させるのに利用できないんです

584 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:16:20 ]
>>453 俺もやってみた。クソースだがw
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4698.c

585 名前:519 [2007/07/21(土) 17:31:19 ]
>>574
名前が被ってるというと?



586 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:43:21 ]
>>575
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4699.txt
2次元配列ではなくポインタ配列だが。

587 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 17:44:29 ]
>>585
関数と変数が同じ名前ってこと。
問題ないけどソース読みづらい。

588 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:28:35 ]
[1] 授業単元: C言語入門
[2] 問題文(含コード&リンク):
ゼータ関数は次式で定義される。

   ζ(s) = (1/n^s)

s=6のとき、π^6/945に収束する。これを確認するプログラムを作製せよ。
ただし、級数の和を無限個とるのではなく、有限の範囲内で(n=100)で計算せよ。

条件1:倍精度型で計算し、6パターン以上は比較できるようにすること。
条件2:二重ループを使うこと。そのため、外側ループでは初期値をmとして,
nまでm刻みで値を変更し、内側ループでは該当する値に応じたゼータ関数値を算定できるようにコーティングせよ。(例えば、n=1000と、m=100に設定した場合、nの値を10パターン変化させることができる。)

[3] 環境
 [3.1] OS:MAC OS X
 [3.2] コンパイラ名 gcc
 [3.3] 言語:C
[4] 期限:来週の月曜日まで
[5] その他の制限: とくに無し

条件が多いですが、よろしくお願いします。



589 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 18:43:31 ]
それ7/18までじゃなかったっけ?

590 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:03:58 ]
>>587
同じ名前で変数と関数があったら、
普通、再定義エラーにならないか?

591 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:14:43 ]
グローバルとローカルの違いってCの基礎じゃないの?

592 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:20:33 ]
グローバル変数と関数が同じ名前だったんだが。

593 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:22:03 ]
ローカルでも普通にエラーでるんじゃね?

594 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:23:01 ]
っていうか>>519の最新が553?

595 名前:593 mailto:sage [2007/07/21(土) 19:25:33 ]
さっき>>553で名前被りエラー出なかったからあのレス忘れてくれ。



596 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 19:29:31 ]
最新にしてはエラーや警告出まくるんだけどw
で、comに考える力を与えてみた。

int com_put(){

int input;

do{
input = rand()%9;
}while(area[input] != 0);

if (area[0] + area[1] + area[2] == 8) input = (area[0] == 0)*0 + (area[1] == 0)*1 + (area[2] == 0)*2;
else if(area[3] + area[4] + area[5] == 8) input = (area[3] == 0)*3 + (area[4] == 0)*4 + (area[5] == 0)*5;
else if(area[6] + area[7] + area[8] == 8) input = (area[6] == 0)*6 + (area[7] == 0)*7 + (area[8] == 0)*8;
else if(area[0] + area[3] + area[6] == 8) input = (area[0] == 0)*0 + (area[3] == 0)*3 + (area[6] == 0)*6;
else if(area[1] + area[4] + area[7] == 8) input = (area[1] == 0)*1 + (area[4] == 0)*4 + (area[7] == 0)*7;
else if(area[2] + area[5] + area[8] == 8) input = (area[2] == 0)*2 + (area[5] == 0)*5 + (area[8] == 0)*8;
else if(area[0] + area[4] + area[8] == 8) input = (area[0] == 0)*0 + (area[4] == 0)*4 + (area[8] == 0)*8;
else if(area[2] + area[4] + area[6] == 8) input = (area[2] == 0)*2 + (area[4] == 0)*4 + (area[6] == 0)*6;
else if(area[0] + area[1] + area[2] == 2) input = (area[0] == 0)*0 + (area[1] == 0)*1 + (area[2] == 0)*2;
else if(area[3] + area[4] + area[5] == 2) input = (area[3] == 0)*3 + (area[4] == 0)*4 + (area[5] == 0)*5;
else if(area[6] + area[7] + area[8] == 2) input = (area[6] == 0)*6 + (area[7] == 0)*7 + (area[8] == 0)*8;
else if(area[0] + area[3] + area[6] == 2) input = (area[0] == 0)*0 + (area[3] == 0)*3 + (area[6] == 0)*6;
else if(area[1] + area[4] + area[7] == 2) input = (area[1] == 0)*1 + (area[4] == 0)*4 + (area[7] == 0)*7;
else if(area[2] + area[5] + area[8] == 2) input = (area[2] == 0)*2 + (area[5] == 0)*5 + (area[8] == 0)*8;
else if(area[0] + area[4] + area[8] == 2) input = (area[0] == 0)*0 + (area[4] == 0)*4 + (area[8] == 0)*8;
else if(area[2] + area[4] + area[6] == 2) input = (area[2] == 0)*2 + (area[4] == 0)*4 + (area[6] == 0)*6;

area[input] = 4;

}

597 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 21:56:05 ]
>>586
どうもありがとうございます。
なんか今更情報科にきたことを後悔…
複雑になると頭がこんがらがる

598 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:32:47 ]
[1]単元:プログラミング
[2]問題:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4700.txt
[3]環境
  OS:リナックス
  コンパイラ:gcc
言語:C
[4]7月23日
 よろしくお願いします。

599 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:41:33 ]
>>588 MinGWで。Macで動くか知りません
#include <stdio.h>
#include <math.h>
int main(int argc, char *argv[])
{
int i, j, s = 6, n = 100, m = 10;
double d = 0;
for(i = m; i <= n; i += m) {
for(j = i-m+1; j < i; j++) d += 1/pow(j,s);
printf("n = %i\t:\t%.15f\n", i, d);
}
printf("π^6/945:\t%.15f\n", pow(M_PI,s)/945);
return 0;
}

600 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 22:55:00 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):以下のプログラムのmainとnumberは変更しないで、
intのスタックを2つ作る。1つは数値をいれる。もう1つには演算子を表す数をいれる
#include <stdio.h> #include <stdlib.h> #include <ctype.h>
char *p; char c[100]; int expression(void);int term(void);
int number(void);main(){ int ans;while(1){
printf("Enter expression : ");fgets(c,90,stdin);
p=c;if(*p == '\n') break;ans = expression();
printf("Answer:%d\n", ans);}}int expression(){
int ans;ans = term();while(1){if(*p == '+'){
p++;ans = ans + term();}else if(*p == '-'){
p++;ans = ans - term();}else break;}
return(ans);}int term(){int ans,x;ans = number();
while(1){if(*p == '*'){p++;ans = ans * number();}
else if(*p == '/'){p++;x = number();
if(x == 0){printf("Division by 0\n");
exit(1);}ans = ans / x;}
else break;}return(ans);}
int number(){int i=0;while (isdigit(*p)){i=i*10+(*p++)-48;}
return(i);}
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 年07月23日
[5] その他の制限: 特になし


601 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:04:37 ]
いい加減にしろよカス

602 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:09:04 ]
>>600
インクルードくらいは改行しなよ、ナス!

603 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:26:13 ]
>>602
600です。すいません。改行が多いと言われてしまったので。
確かに読みずらいですよね。でも、お願いします。

604 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:27:08 ]
>>603
上のほう見ろ、答えあるから

605 名前:デフォルトの名無しさん [2007/07/21(土) 23:33:42 ]
>>603
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm




606 名前:519 [2007/07/21(土) 23:34:53 ]
>>553で、私の環境では特にエラー出ませんでした^^;

>>596さんのやつはどういう挙動になるんですか?


607 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:38:59 ]
>>598
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4701.c

608 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:42:11 ]
>>606
エラーはカンマとピリオドを打ち間違ってるところ、
警告は戻り地が無い関数なのにintで宣言してるところ。

609 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:47:36 ]
>>604>>605
同じ書き込みがあったんですね。
ありがとうございます

610 名前:デフォルトの名無しさん mailto:sage [2007/07/21(土) 23:54:29 ]
>>606
あれで動くってどんな環境だよwww

611 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:02:17 ]
>>607
助かりました☆

612 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:02:55 ]
>>607
ここ> animal=(animal+direction+road_size)%road_size;
と、ここ> fp=fileopen("data");
仕様と違うと思う

613 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:06:51 ]
>>598
道の右端と左端はつながってないの?

>>612
ファイル名の data1.txt data2.txt data3.txt ... になるんだけどどの辺が違う?

614 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:19:46 ]
>>612 プログラムの冒頭に「系列ファイル文字列」をキーボードから入力するってあるので

同じだけど一応オレも。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/4702.c

615 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:28:05 ]
>>614
thx
見落としてた

>>598
>>607 はキーボードからの入力になってないので >>614 をどうぞ



616 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:33:28 ]
>>607 は他にも間違いがある…orz

関数 fileopen 中の
fclose(fp);

else fclose(fp);

617 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:49:50 ]
UPする前に質問します
C言語の筆記問題はスレ違いになるのでしょうか?


618 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:50:34 ]
スレ違いではないとおもうけど、食指が動かない

619 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 00:51:12 ]
別にいいんでね?質問する前にUPして欲しい。
すれ違いなら優しいおじさんが誘導してくれるかもしれない。

620 名前:617 mailto:sage [2007/07/22(日) 00:58:38 ]
レスありがとうございます
食指は動かないかもしれませんが、後でUPしてみます

621 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:10:02 ]
後でって、さっさとうpしろよw
みんな寝ちゃうぞ

622 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:23:50 ]
2 4 6 30 32 34 36 40 42 44 46 50 52 54 56 60 62 64 66

この数列の、20項以降を表示させる関数を作れといわれたのですが
分かりませんでした

623 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:28:07 ]
>>622
0は入らないのか?10台、20台は入らないのか?
数列の並びがよくわからん。

624 名前:617 mailto:sage [2007/07/22(日) 01:30:15 ]
筆記問題なので、注意してくださいませ

[1] 授業単元: C言語 基礎&応用
[2] 問題文(含コード&リンク):
www-2ch.net:8080/up/download/1185034647068718.NcCDgq
※jpegファイルが6つ入ってます(No1〜No6)
 No3〜No6までが、今回やってもらいたいファイルです
 No1とNo2は自分でも問題無かったので入れる必要は無かったのですが
 テスト形式なので(100点満点)、中途半端に抜かすのもどうかと思い入れました
 
[3] 環境
 [3.1] OS:windowsXP
 [3.2] コンパイラ名とバージョン:Visual studio.2005
 [3.3] 言語:C言語
[4] 期限:23日のAM1時くらいまでが好ましいですが、25日くらいまで大丈夫です
[5] その他の制限:


625 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 01:56:58 ]
>>622
それ英語のなぞなぞ (答えTwo thousands)



626 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 02:06:35 ]
1時なんかもう過ぎてるだろボケ
・・・ボケは私です。
4-1 for(i=0;i<N;i++)b[i]=a[i]; 4-2 1
5-1 t1.a+t1.b; 5-2 5
6-1 4 6-2 7
7-1 return y; 7-2 (a)5 (b)20
8-1 (a) i=0; (b) (i<10) (c) += 8-2 84 8-3 6.800000 + 11.200000 i
8-4 (a) NULL (b)cellp->next 8-5 (a) b==0 (b) gcd( b, a%b )
9-1 変数 9-2 型 9-3 typedef 9-4 定義 9-5 桁オチ 9-6 情報欠落

かなりテキトー。特に用語のあたりとか。

627 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 02:10:56 ]
>>622
答えは >>625 の言葉でググったら出てきたけど
プログラムで書こうとすると難しいよ

628 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 02:16:26 ]
>>624
No.3
[4]
(1) : (a) 0 (b) N (c) b[i] = a[i]
(2) : (a) 1
[5]
(a) t1.a + t1.b (b) 5
[6]
(a) 4 (b) 7
[7]
・・・・・・・もうめんどくせ

629 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 03:17:14 ]
>>622
#include <stdio.h>
int main(){int *a,*b,*c,*d,i=0,val;
int n[]={0,2,4,6,-1};int m[]={0,3,4,5,6,-1};
for(a=m;*a>=0;a++)for(b=n;*b>=0;b++)
for(c=m;*c>=0;c++)for(d=n;*d>=0;d++){
val=((*a*10+*b)*100+*c)*10+*d;i++;
if((i>20)&&(i<=320)) printf("%d\n", val);}return 0;}


630 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 04:37:34 ]
設問者がなぞなぞ好きならそれはそれで良いのかもしれないが。
それで単位を取れるかどうかとなると、学生がちょと河合祖。

631 名前:519 [2007/07/22(日) 11:12:25 ]
戻り値が無い関数はvoidがいいんですか?

632 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 11:16:21 ]
そうだよ☆
でもmainだけは戻り値がいらなくてもintにするのが習慣みたいね

633 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 11:19:41 ]
>なぞなぞ
また1つ賢くなった、ありがとう

634 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 11:23:57 ]
>>632
お前は要らないかもしれないけど、システムにとって必要だよ。

635 名前:519 [2007/07/22(日) 11:35:30 ]
あと . と , は直してアップしたつもりでした



636 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 11:37:10 ]
>>622
#include <stdio.h>

int main(void)
{
    int i;
    for(i = 1; i < 100; i++)
        printf("%ld\t", i%4*2 + i/4*10 + (i < 4 ? 0 : 20));
    return 0;
}

英語のなぞなぞって何?

637 名前:617 mailto:sage [2007/07/22(日) 13:34:20 ]
解答ありがとうございました
参考にさせていただきます!

638 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:14:48 ]
>>632
習慣じゃなく規格で決まっている。

639 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:50:54 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
行列のサイズ n, m, l と,それに応じた n×m, m×l の行列が記録されたファイルを食べて,結果を別のファイルに書き出そう.

%cat testfile

3
2
3

3.2 4.8
8.2 6.5
4.3 -2.2

-5.0 6.2 8.9
3.5 -0.2 -5.8

であるとする.3×2, 2×3の行列の積をとり,3×3の行列を得る事になる.そこでプログラムを開発して、

% ./prog0 testfile ANSWER

とすれば,積が ANSWER というファイルに書き込まれるようにせよ.argv[], argc, fscanf(), fprintf() を総動員する.
[3] 環境
 [3.1] OS: (Windows/Linux/等々) Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 7/25まで

よろしくおねがいしますm(_ _)m

640 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 15:51:45 ]
argv[], argc, fscanf(), fprintf() を総動員する.
ワロタ

641 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:07:42 ]
>>639
もうマジで日本語でおk

642 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:11:50 ]
入力テキストは
n
m
l

行列1

行列2
って形式なんだろう

643 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:31:25 ]
>結果を別のファイルに書き出そう.

>そこでプログラムを開発して、

出題者はどういうノリなんだ。

644 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:35:10 ]
>>639
#include <stdio.h>
#define N 128
int main(int argc, char *argv[])
{
    FILE *fpin, *fpout;
    int n, m, l, i, j, k;
    double mat1[N][N], mat2[N][N], mat3[N][N];
   
    if(argc < 3 || (fpin = fopen(argv[1], "r")) == NULL || (fpout = fopen(argv[2], "w")) == NULL) return 1;
   
    fscanf(fpin, "%d%d%d", &n, &m, &l);
    for(i = 0; i < n; i++)
        for(j = 0; j < m; j++)
            fscanf(fpin, "%lf", &mat1[i][j]);
    for(i = 0; i < m; i++)
        for(j = 0; j < l; j++)
            fscanf(fpin, "%lf", &mat2[i][j]);
   
    for(i = 0; i < n; i++){
        for(j = 0; j < l; j++){
            mat3[i][j] = 0;
            for(k = 0, mat3[i][j] = 0; k < m; k++)
                mat3[i][j] += mat1[i][k]*mat2[k][j];
            fprintf(fpout, "%f ", mat3[i][j]);
        }
        fprintf(fpout, "\n");
    }
   
    fclose(fpin), fclose(fpout);
    return 0;
}

645 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:36:27 ]
学校行けよ



646 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:45:22 ]
今時期は夏休み返上で赤点補習かな

647 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 16:53:38 ]
>>644
出来ました。ありがとうございますm(_ _)m


648 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 17:39:10 ]
はしかのせいで補習のやつが多そうだな

649 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 17:46:05 ]
なるほど、失速しないのはその影響か。

650 名前:デフォルトの名無しさん [2007/07/22(日) 18:52:14 ]
行列matの転置行列を求めて次のように出力するプログラムを完成させよ。

| 1 6 11 16 21 |
| 2 7 12 17 22 |
| 3 8 13 18 23 |
| 4 9 14 19 24 |
| 5 10 15 20 25 |


651 名前:デフォルトの名無しさん [2007/07/22(日) 18:52:45 ]
#include <stdio.h>
#define MSIZE 5
void swap(int *a, int *b) {
int c;
(a) = *a;
*a = *b;
*b = (a) ;
}
void main(void) {
int i, j, mat[MSIZE][MSIZE] = { { 1, 2, 3, 4, 5},
{ 6, 7, 8, 9,10},
{11,12,13,14,15},
{16,17,18,19,20},
{21,22,23,24,25} };
for(i = 0; i < MSIZE - 1; i++) {
for(j = (b) ; j < (c) ; j ++) {
swap( (d) , (e) );
}
}
for(i = 0; i < MSIZE; i ++) {
printf("|");/25小計
for(j = 0; j < MSIZE; j ++) {
printf("%3d ", mat[i][j]);
}
printf(" |\n");
}
}

さっぱりわかりません
よろしくお願いします

652 名前:デフォルトの名無しさん [2007/07/22(日) 18:53:43 ]
あるカップラーメンの値段を店ごとに調べた.それを配列に
入れて,下の出力のように10円刻みに分布をとることを考える.
そのためのプログラムを下に示す.空白を補え.

80- 89円: 2
90- 99円: 2
100-109円: 1
110-119円: 2
120-129円: 1
130-139円: 2


653 名前:デフォルトの名無しさん [2007/07/22(日) 18:55:33 ]
#include <stdio.h>
#define C_NUM 6

void makedist(int a[10], int b[C_NUM]) {
int i;

for(i = 0; i < 10; i ++) {
b[ (a) ] += 1;
}
}

void main(void) {
int price[10] = {80, 120, 111, 130, 139, 95, 98, 89, 105, 119};
int dist[C_NUM], i;

for(i = 0; i < C_NUM; i++) {
dist[i] = (b) ;
}
makedist( (c) , dist);
for(i = 0; i < C_NUM; i++) {
printf("%3d-%3d円: %3d\n", (d) ,
(e) , dist[i]);
}
}

これもさっぱりです・・・
教えてください


654 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 18:58:12 ]
>653
(a)a[i]/10-8
(b)0
(c)price
(d)80 + i * 10
(e)89 + i * 10

655 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 19:08:49 ]
>>650-651
a:c
b:0
c:i
d:mat[i][j]
e:mat[j][i]




656 名前:655 mailto:sage [2007/07/22(日) 19:10:03 ]
訂正
d:mat[i][j]→&mat[i][j]
e:mat[j][i]→&mat[j][i]

657 名前:655 mailto:sage [2007/07/22(日) 19:20:36 ]
何度も済まん…

>>650-651
a:c
b:0
c:i+1
d:&mat[i+1][j]
d:&mat[j][i+1]


658 名前:デフォルトの名無しさん [2007/07/22(日) 19:23:54 ]
ありがとうございます!!


659 名前:デフォルトの名無しさん [2007/07/22(日) 19:29:39 ]
与えられた正数aの逆数1/aを,除算を用いずに求めるアルゴリズムを
ニュートン法によって作りたい.
ただし,初期値x0は十分に解に近いところから出発するものとする.
次の[1]から[4]の空欄(a)から(f)を埋めよ.

[1]
ニュートン法でaの逆数1/aを求めるためには
f(x)=(a)のゼロ点を求めればよい.

[2]
[1]の式に対して,ニュートン法による第n+1回目の反復による値Xn+1は,
第n回目の反復による値Xnを用いて
Xn+1=(b)と表される.



660 名前:デフォルトの名無しさん [2007/07/22(日) 19:30:11 ]
[3]
[2]で示した反復によるアルゴリズムを実現すると次のようになる.
#include <stdio.h>

void main(void) {
double u, v;
int i;
printf("正数を入力して下さい.\n");
scanf( (c) );
printf("逆数に十分近い初期値を入力して下さい.\n");
scanf( (d) );
for(i = 0; i < 3; i ++) {
u = (e) ;
printf("%5.3f\n", u);
}
}

[4]
[3]で作ったプログラムを実行し,「3」,「0.5」の順に入力した際に
for文の中のprintf関数による出力結果をすべて示すと次のようになる.

(f)



661 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:37:35 ]
>>659
(a) 1/x - a {x = 1/a → 0 = 1/x - a だから}
(b) Xn*(2-a*Xn) {Xn-f(Xn)/f'(Xn) →Xn-(1/Xn-a)/(1/(-Xn*Xn))だから}
(c) "%lf",&v (d) "%lf",&u (e) u*(2-v*u)
(f)
0.5
0.250
0.332

662 名前:デフォルトの名無しさん [2007/07/22(日) 20:37:52 ]
関数myreplaceを使って実際に文字列を変換させるプログラムを作成したところ,
出力結果(1)は「tuat」となった.
空欄(a)〜(f)を埋めて次のプログラムを完成させ,
出力結果(2)を空欄(g)に記入せよ.



663 名前:デフォルトの名無しさん [2007/07/22(日) 20:39:44 ]
#include <stdio.h>
(a) ;

void main(void) {
char code[16] = "GHIGFACDFDBA";
char ret[16] = "";
myreplace(" (b) ", ret);
printf("%s\n", ret); ・・・出力結果(1)
myreplace(code, ret);
printf("%s\n", &ret[5]); ・・・出力結果(2)
}
void myreplace(char org[ ], char ret[ ]) {
char string1[16] = (c) ;
char string2[16] = "v)(^e_tua";
int i, j;
for(i = 0; org[i] != (d) ; i ++) {
for(j = 0; string1[j] != (d) ; j ++) {
if(org[i] == string1[j]) {
(e)
}
}
}
(f) /* 終端記号 */
}

出力結果
(g)




664 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 20:42:23 ]
>>659 訂正
(f)
0.250
0.313
0.332


665 名前:デフォルトの名無しさん [2007/07/22(日) 21:04:07 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
2 つのchar 型配列x[],y[] に格納された文字列を入れ替えるプログラムを作成せよ.
ただし入替え処理には,関数swap array(char *,char *) を作成して用いること.
% ./test
入替前のx: "abcdefgh"
入替前のy: "ABC"
関数swap_array() を呼び出しました
入替前のx: "ABC"
入替前のy: "abcdefgh"
%
[3] 環境
 [3.1] OS: (Linux)
 [3.2] コンパイラ名とバージョン: (gcc 3.4)
 [3.3] 言語: (C)
[4] 期限: (07月23日00:00まで)
[5] その他の制限:ポインタまで習ってます
よろしくおねがします




666 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 21:05:33 ]
>>650マルチ必死だな(´,_ゝ`)プッ

667 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 21:39:34 ]
>>662 なんかヤな問題だな。回答は複数あるけどたぶん↓
(a) void myreplace(char org[], char ret[]); (b) GHIG (c) "ABCDEFGHI"
(d) '\0' (e) ret[i] = string2[j]; (f) ret[i] = '\0'; (g) v(^_^)v

668 名前:デフォルトの名無しさん [2007/07/22(日) 22:05:25 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
1start で示されるアドレスからlength バイト分だけの領域に関して,
値val で埋める関数cmemset(char*start, int value, int length) を作成せよ.
さらに,malloc() 関数を用いてchar 型配列のメモリ領域を確保し,
cmemset() が正確に動作することを確認
(メモリ領域の内容を整数値として表示)するプログラムを作成せよ.
%./kadai
4 -89 0 1 5 43 ... 112 ← cmemset 使用前
0 0 0 0 0 0... 0 ← 0 で埋めたとき
88 88 88 88 88 88 ... 88 ← 88 で埋めたとき
%
2src で示されるアドレスからlength バイト分だけの領域を,dest で示される領域へコピーする関数
cmemmove(char *dest, char *src, size t length) を作れ.なお,送り元の領域と送り先の領
域がオーバーラップしていても,正しくコピーできる仕様にせよ.さらに,malloc() 関数を用いて
char 型配列のメモリ領域を確保し,cmemmove() が正確に動作することを確認(メモリ領域の内容を
整数値として表示)するプログラムを作成せよ.
% ./kadai
1 2 3 4 5 0 0 0 0 0 0 0 0 0 0 0 0 0 ← cmemmove 実行前
1 2 3 4 5 0 0 0 0 0 1 2 3 4 5 0 0 0 ← 0 番目から5 個を10 番目へ
1 2 3 1 2 3 4 5 0 0 1 2 3 4 5 0 0 0 ← 0 番目から5 個を3 番目へ
%
[3] 環境
 [3.1] OS: (Linux3.2)
 [3.2] コンパイラ名とバージョン: (gcc 3.4)
 [3.3] 言語: (C)
[4] 期限: (07月23日まで)
[5] その他の制限:おねがいします

669 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:24:59 ]
char配列埋めるのにvalueはintかよ

670 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:27:26 ]
標準のmemset()もそうでしょ

671 名前:デフォルトの名無しさん [2007/07/22(日) 22:41:46 ]
わかる方でいいのでおねがいします

672 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:43:25 ]
何を?

673 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:43:59 ]
どれを?

674 名前:671 mailto:sage [2007/07/22(日) 22:45:03 ]
すみません全部忘れてました
村上ファンド事件についてインサイダー取引という単語を用いて100字以内にまとめよ
です

675 名前:デフォルトの名無しさん mailto:sage [2007/07/22(日) 22:47:02 ]
he is very very bad



676 名前:デフォルトの名無しさん [2007/07/22(日) 22:51:21 ]
665と668です

677 名前:671 [2007/07/22(日) 23:03:48 ]
本当に誰か答えてください><






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

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

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