トップページ⇒tech
1001コメント370KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさんNGNG?S★(532222)
あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://s2.etowns.slyip.net/~c_cpp_homework/cgi-bin/joyful/joyful.cgi
http://codepad.org/ ←遅い時間は重い事があります
http://ideone.com/
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】        http://chomework.sakura.ne.jp/
【wiki】               http://www23.atwiki.jp/homework/
前スレ
C/C++の宿題片付けます 143代目
http://hibari.2ch.net/test/read.cgi/tech/1289913298/
0153デフォルトの名無しさん2010/12/07(火) 19:56:17
>>111-112
>>118はおそらくヒープ間違い
単元が「アルゴリズム」で,>>112の「子と親の関係」という記述もあることだから
おそらく配列を使ったヒープ構造を指しているのじゃなかろうか
0154デフォルトの名無しさん2010/12/07(火) 20:16:52
>>152
http://codepad.org/ufiOZlpC
http://codepad.org/ptpmKt45
http://codepad.org/JWQb7pse
0155デフォルトの名無しさん2010/12/07(火) 20:57:05
どなたか>>103をお願いします
0156デフォルトの名無しさん2010/12/07(火) 22:07:34
>>153
そうです

>>118って結局合ってるんですかね?

時間ないですが>>111お願いします………
切実です………
0157デフォルトの名無しさん2010/12/07(火) 22:28:28
質問なんですがstatic voidとは結局どのような意味なのでしょうが?
もし説明しろと言われると詰まるので・・・
0158デフォルトの名無しさん2010/12/07(火) 22:34:02
>>157
staticだけ消してもうその事は忘れろ
0159 ◆QZaw55cn4c 2010/12/07(火) 22:35:09
>>157
一つのプログラムが一つのファイルで構成されている場合は、関数の宣言の前につける static は省略してもかまいません。
static void func() なら void func() だけでOK。
0160デフォルトの名無しさん2010/12/07(火) 22:38:01
>>118は全くの見当違い
気球(バルーン)を作って欲しかったのに
出来上がったものは紙風船(バルーン)だった
0161デフォルトの名無しさん2010/12/07(火) 22:42:48
>>157
static void は検索すれば何なのか分かるが、少なくともそのコードでは
特に意味のある、必要不可欠な部分ではないことは確か。
0162デフォルトの名無しさん2010/12/07(火) 22:43:45
>>160は英単語では同じだからこうかな
船(シップ)を作って欲しかったのに湿布(シップ)が出来たと
0163デフォルトの名無しさん2010/12/07(火) 22:51:40
まとめるとstaticと表記された部分を全て消去すればおk ということですね?

>>118さんも補足してくれた皆さんも本当にありがとうございます・・・!
0164デフォルトの名無しさん2010/12/07(火) 23:11:48
>>118をコンパイルすると

36:21: warning: multi-character character constant

In function ‘main’
36: 警告: 暗黙の定数変換でオーバーフローしました


となり
実行結果は表示されるのですが値の前になぜか\がついてしまいます

すいません・・・

このコンパイル結果はエラーではないのですかね?
0165デフォルトの名無しさん2010/12/07(火) 23:26:56
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
次の手品を完成させるための、7組の数字郡を表示するプログラムを作りなさい。
(1)手品師は1~99 の数字の書かれた7枚のカードを用意し、客に渡す。
(2)客は1〜99の中の任意の数字を1つ思い浮かべ、
 7枚のカードの中からその数字が入っているものを全て選び手品師に渡す。
(3)手品師は渡されたカードを見て、客の思い浮かべた数字を瞬時に言い当てる。
タネ
(4)手品師は渡されたカードの最初の数字の合計を暗算する。
 その合計値が客の思い浮かべた数字となる。

問題
7枚のカードに書くべき数字をカードごとに表示するプログラムを作成しなさい。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: MinGW
 [3.3] 言語: C言語
[4] 期限: 2010年12月8日23時59分
[5] その他の制限: 制限無し
0166 ◆QZaw55cn4c 2010/12/07(火) 23:41:03
>>165
http://codepad.org/ufLOGCmS
0167 ◆QZaw55cn4c 2010/12/07(火) 23:47:28
>>164
手元の環境では問題なくコンパイルできます。
なんかまちがったところを消したりしてませんか?
0168デフォルトの名無しさん2010/12/07(火) 23:58:35
>>167

\のとこは解決できました。

一応実行は出来るのですが

警告文は無視していいのですかね?
一応気になったもので・・・
0169デフォルトの名無しさん2010/12/07(火) 23:58:55
>>165
> (2)客は1〜99の中の任意の数字を1つ思い浮かべ、
> 7枚のカードの中からその数字が入っているものを全て選び手品師に渡す。

これってどういう意味?
例えば 17 を思い浮かべたとすると 1 もしくは 7 の数字が入ったカードって意味?
0170デフォルトの名無しさん2010/12/08(水) 00:12:40
>>165
これって答えの一つになる?ならない?
10 26 38 46 58 70 90
0171デフォルトの名無しさん2010/12/08(水) 00:14:07
>>121 まだならどうぞ。
#include <stdio.h>
int main(void) {
int i, j;
double x, y;
printf("整数1つ目を入力してください:");
scanf("%d", &i);
printf("整数2つ目を入力してください:");
scanf("%d", &j);
printf("実数1つ目を入力してください:");
scanf("%lf", &x);
printf("実数2つ目を入力してください:");
scanf("%lf", &y);
printf("%d + %d = %d\n", i, j, i + j);
printf("%d - %d = %d\n", i, j, i - j);
printf("%f * %f = %f\n", x, y, x * y);
printf("%f / %f = %f\n", x, y, x / y);
return 0;
}
0172デフォルトの名無しさん2010/12/08(水) 00:14:34
>>169
>>166
01731692010/12/08(水) 00:18:13
>>172
出力結果を見る限り、問題の意味を分かってないんじゃないかと
01741652010/12/08(水) 00:21:13
>>169-170
う〜ん。どうでしょう。165が問題文の全てです。
問題に隙があればイヤミ臭くコメントにでも書きます。

>>170
◆QZaw55cn4c さんの >>166 の回答を見る限り、
17を思い浮かべた時に1と7は含まれず、そのものズバリの17だけのようです。

>>170
どうでしょう。よく分かりません。

色々、確認してみてるのですが ◆QZaw55cn4c さんの >>166 は正しそうですね。
どういうことなのかしら?
01751692010/12/08(水) 00:23:13
>>174
いま題意が分かった

>>166 さんゴメン
0176 ◆QZaw55cn4c 2010/12/08(水) 00:28:16
>>165
>>173
たとえば客が 29 を想像し、
card 1, 3, 4, 5 を手品師に渡す。
card 1, 3, 4, 5 の先頭の数字は、1, 4, 8, 16
手品師は 1+4+8+16=29 と暗算する。
0177176 ◆QZaw55cn4c 2010/12/08(水) 00:29:31
遅かった。失礼しました。
0178デフォルトの名無しさん2010/12/08(水) 00:43:18
>>176
2010年12月8日23時59分でいいのでタネあかしを一つよろしく。
それまで俺なりに考えます。
注)モリタポは持ってません。
0179 ◆QZaw55cn4c 2010/12/08(水) 00:52:50
>>178
モリタポか‥‥‥。ネタのつもりでネタに徹したのですが、思わぬ反響がありますねえ。
それはともかく、
card1 二進数で 2^0 の位が 1 であるような数全部
card2 二進数で 2^1 の位が 1 であるような数全部
card3 二進数で 2^2 の位が 1 であるような数全部

客が card1 card3 を手渡してきたとき、それは暗に「私の思い浮かべている数は二進数で 2^0 の位が1、2^2 の位が1、あとは 0」といっているようなものです。
0180デフォルトの名無しさん2010/12/08(水) 00:53:22
これだけでよくね?
#include <stdio.h>

int main(void)
{
int i, j;

for(i=0;i<7;i++)
{
printf("Card %d :", i+1);
for(j=1;j<=99;j++)
{
if(j&(1<<i)) printf(" %d", j);
}
printf("\n");
}
return 0;
}
0181デフォルトの名無しさん2010/12/08(水) 00:54:13
2進数
0182デフォルトの名無しさん2010/12/08(水) 00:55:46
それ以外にも先頭の数字の組み合わせ方とかあるのかな
0183デフォルトの名無しさん2010/12/08(水) 00:58:38
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): http://ywata-lab.yz.yamagata-u.ac.jp/PDF/pro2-12-8.pdf
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 無期限
[5] その他の制限: 制限なし

よろしくお願いします。
01841652010/12/08(水) 00:58:43
なるほど2進数か。さっき理解した。
解ければ、なかなかいい問題じゃんと思えてきた。
0185デフォルトの名無しさん2010/12/08(水) 00:59:32
>>182
あるよ
1 2 4 8 16 32 36
1 2 4 8 16 32 37
1 2 4 8 16 32 38
1 2 4 8 16 32 39
1 2 4 8 16 32 40
1 2 4 8 16 32 41

みたいにね
0186176 ◆QZaw55cn4c 2010/12/08(水) 01:06:59
>>183
http://codepad.org/ZqF8YjUR
0187デフォルトの名無しさん2010/12/08(水) 01:21:02
◆QZaw55cn4cは出てくるなよ
0188デフォルトの名無しさん2010/12/08(水) 01:41:11
>>182
#include<stdio.h>

int main(void)
{
int kind[]={50, 25, 12, 6, 3, 2, 1};
int i, j, k, rest;

for(i=0;i<7;i++)
{
printf("Card %d :", i+1);
for(j=1;j<=99;j++)
{
rest=j;
for(k=0;k<i;k++)
{
if(rest>=kind[k]) rest-=kind[k];
}
if(rest>=kind[i]) printf(" %2d", j);
}
printf("\n");
}

return 0;
}
0189デフォルトの名無しさん2010/12/08(水) 02:50:17
>>103をお願いします・・・
0190デフォルトの名無しさん2010/12/08(水) 04:25:14
>>103
再帰使ったらダメなの?
http://codepad.org/zsO8UpZy
01911182010/12/08(水) 08:56:59
みなさん、わらかしてしまってすいません。
staticは「どうせ、このファイルでしか使わないし」と思ってつけました。
0192デフォルトの名無しさん2010/12/08(水) 09:16:10
いや、それは正しい。笑った奴が素人。
0193デフォルトの名無しさん2010/12/08(水) 09:38:43
>>192
必要性のないことをしたから笑われたんだろ。知ってて笑われていることに気づかないお前が素人以下。
0194デフォルトの名無しさん2010/12/08(水) 09:39:45
>>192
いや、お前が素人。自分は意味を知っていたけど、相手は知らずに笑ったと思ったんだろ?
他人に理解されないとかではなく、意味も成さないコードを書くと笑われて当然。
もう少し他人の目を気にした方が良いですよ、知ったかの似非上級者さん。
自分は知っている=上級者ではないから。
0195デフォルトの名無しさん2010/12/08(水) 09:44:31
>>192
そこまで言うなら、その他の課題、コードにも全部 static 戻り値の変数の型 func()
って書けば?何で常にそれを貫き通さないのに、突発的に記述したりしなかったりする訳?
それが本質的に必要不可欠ならまだしも、あのコードは違和感を感じる人がいてもおかしくない。

お前は一生#include <stdio.h> int main() で良いよ。と言うかそれに限定しろ。

知ったか無知の思い上がったバカが特定できるから、コードに穴があったら
徹底的に批判してやるから。その内、自分のスタイルを叩かれて自身をなくすだろうけど
正さない、無駄な行動が多い奴は必要なことを最低限するという頭がなく
不要な無駄なことばかりして、自分は出来るんだと見せ付けたいお子ちゃまレベルの
低脳だから、バレバレ。
0196デフォルトの名無しさん2010/12/08(水) 09:48:14
ttp://www.geocities.jp/ky_webid/c/032.html

○静的関数
静的変数の関数版が、静的関数(static関数)です。関数なので、
ローカルということはありませんから、ローカル/グローバルの別はありません。
静的関数を使う方法は、関数の宣言時に、先頭にstaticと付けるだけです。
static void func(void);
関数の定義の方には、付けても付けなくても構いません。もちろん、付けておけば分かりやすいでしょう。

静的関数の意味は、静的グローバル変数と同じで、
そのソースファイル内からしかアクセスできないようにするというものです。


複数のソースを纏めて、その他にも同じ関数名のものがあるなら分かるが
118でその意味は理解されないよ。
それから BubbleSort の中身、揚げ足取りをしたくはないが
厳密に言うと無駄があるよ。
0197デフォルトの名無しさん2010/12/08(水) 09:49:57
無駄な部分を指摘しておくぞ

for(j = i; j<size;j++){
if(temp[i] <= temp[j])

後は自分で気づけ。
0198デフォルトの名無しさん2010/12/08(水) 09:59:41
っつか、それ、バブルソートじゃねーよ
0199デフォルトの名無しさん2010/12/08(水) 10:06:14
選択ソートだとしても
swap(&temp[i],&temp[j]);
の場所が不適切で無駄が発生しているよ。
比較して交換する候補が見つかったら、その位置を記憶して
2つ目のループの最後に交換で構わない。
0200デフォルトの名無しさん2010/12/08(水) 10:09:08
動けばいいのではないだろうか
0201デフォルトの名無しさん2010/12/08(水) 10:10:28
>>195
> そこまで言うなら、その他の課題、コードにも全部 static 戻り値の変数の型 func()
> って書けば?何で常にそれを貫き通さないのに、突発的に記述したりしなかったりする訳?

はあ? >>118は必須なシンボル(main)以外は全部staticになっているぞ。
「何で常にそれを貫き通さない」ってなんの事だよ。
0202デフォルトの名無しさん2010/12/08(水) 10:22:12
[1] 授業単元:プログラミング

[2] 問題文(含コード&リンク):
例題4の3個のfor文について規則性を見出し,
これを1つのfor文でまとめよ.
ヒント:2重ループのfor文になる.

[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C

[4] 期限: 本日中

[5] その他の制限:
for文、if文、配列を習っているところです。
下記の例題4の解答のレベルに合わせてもらえると幸いです。

例題4は↓の問題です。
例題3と同じく,int型の配列aを
a={ 5, 3, 1, 8, 3, 4, 7, 2}
と初期設定する.
このとき,配列の要素どうしの入れ替えを行い,
a[0] に一番大きい値
a[1] に二番目に大きい値
a[2] に三番目に大きい値
を格納するようなプログラムを作成せよ。

http://codepad.org/k5jEHRGr
0203デフォルトの名無しさん2010/12/08(水) 10:26:32
[1] 授業単元:プログラミング

[2] 問題文(含コード&リンク):
10進数で表現された63以下の正の整数をキーボードから入力する.
これを2進数に変換し,1の位から順にint型の配列a[0]〜a[5]に代入するプログラムを作成せよ.

ヒント
10進数を2進数へ直す計算方法を思い出そう.
この例は10進数に21を与えている.
21を2で割ったあまりを順に並べて各位の値を決めたはずである.
この場合は63以下なので,たかだか6回の割り算であまりを求めればよい.

[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C

[4] 期限: 本日中

[5] その他の制限:
for文、if文、配列を習っているところです。
こちらも上記の例題4の解答のレベルに合わせてもらえると幸いです。
0204デフォルトの名無しさん2010/12/08(水) 10:40:29
#include <stdio.h> int main() 大爆笑
その内、嘲笑、失笑になるから。
0205デフォルトの名無しさん2010/12/08(水) 10:53:45
>>195は逃亡ですか?

>>204
static voidの話なんだが、それが#include <stdio.h> int main()と何か関係有るのか?
0206デフォルトの名無しさん2010/12/08(水) 10:56:14
>>202
http://codepad.org/O0XCfpWf
0207デフォルトの名無しさん2010/12/08(水) 10:57:32
話題引きずりすぎっすわぁwwww
0208デフォルトの名無しさん2010/12/08(水) 10:59:55
(´-`).。oO(馬鹿は放置しとけばいいのに)
02091182010/12/08(水) 11:07:57
>>197
for(j = size-1;j>i;j--)
02101182010/12/08(水) 11:23:34
>>203
新たに作るのめんどくさいから、http://codepad.org/sV4AAxVS を
参考につくってみて
0211デフォルトの名無しさん2010/12/08(水) 11:26:47
>>203
http://codepad.org/CEDJtiLR
0212デフォルトの名無しさん2010/12/08(水) 11:28:29
>>206
ありがとうございます

>>210
すみません、まだプログラミングを学び始めたばかりで
わからないところが多すぎて参考になりそうにないです…
0213デフォルトの名無しさん2010/12/08(水) 11:33:49
整数i,j,実数x,yそれぞれに任意の値を入力し,i+j,i-j,およびx*y,x/yを
計算し,その結果を出力するプログラムを作成せよ。入力にはscanf関数,
出力にはprintf関数を用いること。また,出力結果は次のような形式で
表示されること。当然ではあるが,数値については各自のi,jの値の選び方
によって計算結果が異なる。
おねがいします
0214デフォルトの名無しさん2010/12/08(水) 11:35:12
>>213
テンプレ
0215デフォルトの名無しさん2010/12/08(水) 11:37:19
>>214
>>171に書いておいたぞ。
02162152010/12/08(水) 11:38:08
ミス
>>213
>>171に書いておいたぞ。
0217デフォルトの名無しさん2010/12/08(水) 11:38:19
>>211
すみません、>>210よりはまだ理解出来そうなのですが
while break putchar a[i++]
この辺りを使わずに出来ますかね?
0218デフォルトの名無しさん2010/12/08(水) 11:43:42
>>217
http://codepad.org/1M0xn7hr

こんなもんでどうですか?
0219デフォルトの名無しさん2010/12/08(水) 11:45:00
>>216
ありがとうございます。
0220デフォルトの名無しさん2010/12/08(水) 11:46:20
>>200
そういう問題ではないんだが・・・
0221デフォルトの名無しさん2010/12/08(水) 11:51:42
>>218
お手数をおかけしました
ありがとうございます
0222デフォルトの名無しさん2010/12/08(水) 12:01:21
意味を成さない無駄な動作をさせても動けば良い、あっそ。
そんな考えならプログラマーになんて向いてないよ。早く別の職種に転職を考えな。
適性のない選択をすると、一生を無駄にしますよ。ほら、こうしている間にも
確実にいつか必ず死ぬ日に刻一刻と近づいて、生きられる時間は短くなっていますから。
それは明日かもしれませんよ?
0223デフォルトの名無しさん2010/12/08(水) 12:04:30
>>222
自己紹介乙
そういうのを余計なお世話って言うんだよ
0224176 ◆QZaw55cn4c 2010/12/08(水) 12:28:09
>>204
>>141
0225デフォルトの名無しさん2010/12/08(水) 12:37:02
>>224
ねえねえC89の話をしてるのにどうしてC99の規格票を参考にするの?
わけを教えて?意味あるの?
0226デフォルトの名無しさん2010/12/08(水) 13:51:40
>>225
コピペ厨に聞いても返ってくるわけないじゃん
0227デフォルトの名無しさん2010/12/08(水) 18:28:27
>>223
どこをどう読んだら自己紹介になるんだろうか・・・
あぁ、お前>>118かw
0228デフォルトの名無しさん2010/12/08(水) 18:33:51
いや、いつかは分からなくても、こうしている間にも時間は経過して
必ず老化も進み、衰弱するか病気になるかもハッキリとは分からないが
必ずいつかは誰もが死ぬんだが?いくら再生医療が発達した現代でも
DNAが分裂して新しい細胞が生み出されている訳だが、その再生できる回数に
限りがあるとのこと。その寿命が来た時、あるいは著しく健康を悪化させた結果
癌などに侵されるなりして、生物はいつかは死ぬんだが。
まぁ、人の死が身近ではない人もいるだろうけど、いずれ周りの人間で誰かは死ぬし
もしかすると自分が、不慮の事故などで死ぬかもしれないよ。

そんな中、こんな場所で自分より劣るプログラマーを見つけては罵倒して楽しイカ?
悪いがそんな池沼と付き合いたくないし、そんなバカと関わっても有意義な時間、人生が
過ごせるとは思えないんで。ここは幸い、IDもなく自分が特定されずに済むから
>>223 みたいなバカが居たらスルーするんで、以後放置よろ。
0229 ◆QZaw55cn4c 2010/12/08(水) 18:34:54
>>225
どこにC89の話とかいてあるのですか?
あと、この話題はC89でもC99でも同じです。
0230デフォルトの名無しさん2010/12/08(水) 18:40:11
これだけ嫌われてるのに普通に書き込める厚顔さには呆れる
0231デフォルトの名無しさん2010/12/08(水) 18:42:20
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
http://情報処理試験.jp/FE22b-pm/t08.html
この問題のプログラム1とプログラム2をそれぞれ関数化しメイン関数で呼び出し実行するプログラムの作成。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:12月10日
[5] その他の制限:なし
宜しく御願いします
0232デフォルトの名無しさん2010/12/08(水) 18:45:49
長文と ◆QZaw55cn4cの2大キチガイの競演かw
0233デフォルトの名無しさん2010/12/08(水) 18:46:57
>>229
C89だと main()は main(...)と同じ意味になってしまうんですけど?
C99はmain(void)ですが
0234デフォルトの名無しさん2010/12/08(水) 18:48:23
自分がいつ死ぬか分からないとは言え、自殺すればその時が自分の人生の終わりさ。
高速で移動する物体の前に飛び出してごらん。鉄道じゃ吹き飛ぶかぶっ潰されて
ばらばらに切断されるか。そう言えば、100km/hの車に轢かれて
上半身だけボンネット、フロントガラスに、下半身が衝突した場所に残っていた
悲惨な事故を思い出したぜ。要するに 人間なんて脆い 生き物だよ。
大災害で死ぬかもしれないよ。ほら、明日にでも自分の住む地域に
大地震が発生したらどうよ?その先生きのこれる自身
0235デフォルトの名無しさん2010/12/08(水) 18:48:25
>>230
だから◆QZaw55cn4cは自己愛性人格障害なんだよ

>尊大で傲慢な行動、または態度。

アスペルガー症候群だと思っていたが、この厚顔無恥さは間違いなく自己愛だ
0236デフォルトの名無しさん2010/12/08(水) 18:55:25
自己愛性人格障害の特徴 17人目★
http://toki.2ch.net/test/read.cgi/utu/1291613687/

◆QZaw55cn4cそのものだ

前スレの内容がなかなか良かったのだが残念ながらDAT落ち
●を持っている人は読んでみてくれ
とにかくこの種の人に関わらない方が良いという事が痛いほどわかる
0237 ◆QZaw55cn4c 2010/12/08(水) 19:11:10
>>233
そう、つまり C89/C99 どちらにしても int main() は規格に適合するのです。
0238デフォルトの名無しさん2010/12/08(水) 19:47:13
ドヤッ
0239デフォルトの名無しさん2010/12/08(水) 19:57:49
>>237
お前アホか?意味が違ってくると言ってるんだけど
規格に適合するかどうかなど聞いてない
0240デフォルトの名無しさん2010/12/08(水) 20:01:45
構ってくれるから嬉しい
0241デフォルトの名無しさん2010/12/08(水) 20:11:16
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):AOJ0004 http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0004&lang=jp
[3] 環境
 [3.1] OS:windows
 [3.2] VC++
 [3.3] 言語: C
[4]期限:無し
[5] その他の制限:無し

http://codepad.org/6t8deX5z
現在のコードです。OnlineJudgeが通りません。
よろしくお願いします。
0242 ◆QZaw55cn4c 2010/12/08(水) 20:11:58
>>239
>>204 -> >>224 -> >>225 -> >>229 -> >>233 -> >>237
これらの一連の流れを参照してください。
C89/C99 の両者でパラメータが空リストの場合に意味が異なるのは当然ご存知の上で、 int main() が規格に適合するか適合しないか、を問題にしているのです。
0243デフォルトの名無しさん2010/12/08(水) 20:20:20
うんぽこー!
0244デフォルトの名無しさん2010/12/09(木) 01:06:53
>>242
ここで相手すんな。すごくうざい。
0245デフォルトの名無しさん2010/12/09(木) 02:19:07
不当に流れが早くて、なんか困る
02461182010/12/09(木) 05:22:39
>>241
#include <stdio.h>

double Y_Answer(double a,double b,double c,double d,
double e,double f)
{
return ((c/a)-(f/d))/((b/a)-(e/d));
}
double X_Answer(double c,double b,double y,double a)
{
return (c-b*y)/a;
}
int main()
{
double a,b,c,d,e,f,x,y;

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

y = Y_Answer(a,b,c,d,e,f);
x = X_Answer(c,b,y,a);

printf("%.3lf %.3lf \n",x,y);

return 0;
}
0247デフォルトの名無しさん2010/12/09(木) 06:49:45
>>241
君の回答だと 0x + 0y = 1, 0x + 0y = 2 の時に x = 0, y = 0 になるけどこれはおかしい
正しくは一意解無しで題意からすると不正な入力だ
同様に 0x + 1y = 1, 0x + 2y = 3 も x = 0, y = 1 になりおかしい
簡単に言うと a * e == b * d の場合は全て不正な入力という事だ
よって while() 内だけ書くと

if( a * e == b * d ) {
  printf( "Ileagal input.\n" );
}
else {
  x = ( c * e - f * b ) / ( a * e - b * d );
  y = ( c * d - f * a ) / ( b * d - a * e );
  printf( "%.3f %.3f\n", x, y );
}

で良いと思うのだけど
0248デフォルトの名無しさん2010/12/09(木) 10:23:10
a*e-b*d==0となるのは行列式が潰れている、つまり固有値0で解なしという事だな
0249デフォルトの名無しさん2010/12/09(木) 10:23:57
×固有値
○行列式
0250デフォルトの名無しさん2010/12/09(木) 10:53:36
>>248
知ってると思うけど行列式≠0という事はこの行列が正則行列である事をしめしており、
逆行列が存在する必要十分条件ね

逆行列が存在すると言う事はこの連立一次方程式は解けるという事と等価
0251デフォルトの名無しさん2010/12/09(木) 13:27:16
k
0252デフォルトの名無しさん2010/12/09(木) 13:31:10
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):

二つの整数width, heightを入力として受け付ける。
文字*を使って幅(横)width,高さ(縦)height,縁の太さ2の「中が空白の長方形」を描きなさい。
例えば, 7 6 を読み込んだときには,
*******
*******
**___**
**___**
*******
*******
と表示されればよい。
ただし_のところは空白文字を示すので,
画面上では何も表示されない)。
なお,width, heightは4以上30以下と仮定してよい。

[3] 環境
 [3.1] OS: Windows7
 [3.2] コンパイラ名とバージョン: gcc 4
 [3.3] 言語: C
[4] 期限: できるだけはやく
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

よろしくお願いします
■ このスレッドは過去ログ倉庫に格納されています