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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けない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://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【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++の宿題片付けます 137代目
http://pc12.2ch.net/test/read.cgi/tech/1276810079/
2デフォルトの名無しさん:2010/07/17(土) 04:16:52
/: : / /: : : : : : : : : : : : : : : : : : : ヽ
: : : / /: : : : : /: : : : : : : : : : : : : : : : \
7 : { / : : : : /: : : : : : : : : : : ノ: :/: : : : : : ヽ
: : : Y :{: : : : : :/: : : : : : : :/| : /|i: : : : : : \
: : ハ{: :ハ : :/ :/ : : : : : /⌒ l /  |:ト、 : : : ヽ:ト\
: ||V: : V: :/ : : : :/ 、  〃   ‖`'; :ヽ : ':!
ヘ U : : :/ィ" : : /、アΤ}ヽ/    |  : : l : :|
  ヽ ハ/ { : /{ ん ィ/      ィぅ、 | : |: : |
     {  ∨   ゞ‐'′     んハ} 〉 l : ハ: :|
     ヽ._  ""         ゞ '′ / :/ V
         人        '   "" イ/
        , -_jヽ.    {⌒ン    /   宿題ですよ
    __.ノ: . ヾ  \  `´   ,. ′
 ィ<: . . : . . : ヽ  ` ーr<   // `丶、
´- 、 ヽ\. : . . : ヽ   /| : . \//     `丶、
    \\\: . . : ヽ-ー┤. : .}//         `丶、
     \\\: . . ヽ二l . : //            /
      \\\. : .', l_:_//            /
        i  \\\ / -、`Y              /
\     l  } \ヽ/´-‐ 、 }J          /)、
      l  /   / ⌒ヽ )′          (´.ィ′
3デフォルトの名無しさん:2010/07/17(土) 11:08:46
早くカレンダー出力の課題、こいやー!
4デフォルトの名無しさん:2010/07/17(土) 13:58:03
夏休みの宿題ってのもあるのかな
5デフォルトの名無しさん:2010/07/17(土) 14:33:41
だからおまいは新参かってw 毎年のことだろw
6デフォルトの名無しさん:2010/07/17(土) 19:21:24
言っておくがこのスレ、ほとんどのプログラミング授業TAがチェックしてるからな
7デフォルトの名無しさん:2010/07/17(土) 19:29:32
>>6
冗談はよしこさん。
8デフォルトの名無しさん:2010/07/17(土) 20:00:04
#include <stdio.h>

int tanka,suuryou,kingaku,kingaku2;

int main(void)
{
printf("単価を入力してください\n");
scanf("%d",tanka);

printf("数量を入力してください\n");
scanf("%d",suuryou);

kingaku = tanka * suuryou;
kingaku2 = tanka * 1.05 + suuryou;

printf("金額は%d円,消費税込み金額は%d円です\n",kingaku,kingaku2);

}

単価と数量打ち込んで
金額と消費税込み金額表示させるプログラムなんだけど
毎回単価入力したあと動作停止する

どうして?教えて偉い人
9デフォルトの名無しさん:2010/07/17(土) 20:01:07
ああ、良くある間違えだな
10デフォルトの名無しさん:2010/07/17(土) 20:02:47
>>9
何がおかしくなってますか?
11デフォルトの名無しさん:2010/07/17(土) 20:12:20
>>8だけど自己解決した

scanfの変数の前に&付けるの忘れてた
あとkingaku2の式は tanka * 1.05 *suuryouだった
12デフォルトの名無しさん:2010/07/17(土) 20:13:01
>>10
うん、おにいちゃんの頭がおかしいよ
小学生でもkingaku2 = tanka * 1.05 + suuryou
こんなことすると低脳って馬鹿にされるのに
おにいちゃんは幼稚園児ですか?
13デフォルトの名無しさん:2010/07/17(土) 20:20:35
>>12
バリバリリーマンですww
14デフォルトの名無しさん:2010/07/17(土) 20:23:13
リーマンがなぜこんな勉強してるんだ?
単に趣味で始めただけかな。
15デフォルトの名無しさん:2010/07/17(土) 20:24:52
>>14
仕事で使えたら便利だった。

まだ全然趣味レベルにもなってないww
16デフォルトの名無しさん:2010/07/17(土) 20:29:49
>>15
kingaku = tanka * suuryou;
kingaku2 = tanka * 1.05 + suuryou;
これじゃ周りからあの人、仕事の効率悪くて駄目ねって言われているな
17デフォルトの名無しさん:2010/07/17(土) 20:32:31
>>16
mjsk

どうやったらいいの?
18デフォルトの名無しさん:2010/07/17(土) 20:57:21
プログラマは頭が腐ってるから煽りを真に受けないほうがいいよ
19デフォルトの名無しさん:2010/07/17(土) 21:09:20
kingaku2 = kingaku * 1.05;
答えのわかってる tanka * suuryou をkingaku2でも計算するのは無駄。
20デフォルトの名無しさん:2010/07/17(土) 21:11:57
>>19
なるほど
タメになります
21デフォルトの名無しさん:2010/07/17(土) 21:12:44
22デフォルトの名無しさん:2010/07/17(土) 21:13:51
値引き区分、単価、数量を入力する。値引き区分が1のとき5%引き、2のとき10%引き、3のとき15%引き、それ以外は値引きなしとし、金額を算出し表示する。
っていうプログラムなんだけどわかんない(´;ω;`)

なんか合計が絶対0円になっちゃう

#include <stdio.h>

int tanka,kubun,suuryou,nebiki,goukei;
main()
{
printf("単価を入力してください\n");
scanf("%d",&tanka);

printf("数量を入力してください\n");
scanf("%d",&suuryou);

printf("区分を入力してください 1/5% 2/10% 3/15% それ以外の数字/なし\n");
scanf("%d",&kubun);

switch(kubun)
{
case 1 :nebiki = 0.95;break;
case 2 :nebiki = 0.9;break;
case 3 :nebiki = 0.85;break;
default :nebiki = 0;
}
goukei=tanka*nebiki*suuryou;
printf("%d円です\n",goukei);
return 0;
}
23デフォルトの名無しさん:2010/07/17(土) 21:14:53
int nebiki;
nebiki = 0.95;
goukei=tanka*nebiki*suuryou;
そりゃまー0になるな
24デフォルトの名無しさん:2010/07/17(土) 21:16:01
>>23
なして・・?

バカだからわかんない(´;ω;`)
25デフォルトの名無しさん:2010/07/17(土) 21:17:17
>>24
型を int から double にしてみよう。
26デフォルトの名無しさん:2010/07/17(土) 21:18:36
>>25
あっ、、、

少数はdoubleか!
あざーす
27デフォルトの名無しさん:2010/07/17(土) 21:28:43
あとdefaultの場合それでいいのかもういっかい考えろ
28デフォルトの名無しさん:2010/07/17(土) 21:49:09
[1] 授業単元:情報処理演習
[2] 問題文(含コード&リンク):元金a円、利率r円で、何年預けると目標金額b円を超えるか。ただし金利は複利計算によって求めるものとする。
[3] 環境
 [3.1] OS: Windows 7
 [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2008 Express Edition
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: 2010年07月19日12:00まで
[5] その他の制限: forやwhileでの繰り返しまで習いました。

よろしくお願いいたします。
29デフォルトの名無しさん:2010/07/17(土) 21:53:53
オラオラー、完全数、カレンダー、ニュートン法、素数、何でもこいやー
微積分だけは勘弁なw
30デフォルトの名無しさん:2010/07/17(土) 21:55:24
>>29
旧暦カレンダーよろしく
31デフォルトの名無しさん:2010/07/17(土) 22:03:38
>>29
二千万桁までの素数見つけてきて
32デフォルトの名無しさん:2010/07/17(土) 22:05:25
33デフォルトの名無しさん:2010/07/17(土) 22:17:47
>>30
駄目だ、俺の管轄はグレゴリオ暦からだw
>>31
32bitの範囲内で頼む ・ω・
34デフォルトの名無しさん:2010/07/17(土) 22:46:29
>>29
オラオラー定数を27行以内で。
35デフォルトの名無しさん:2010/07/17(土) 22:59:28
>>32
ありがとうございます
36デフォルトの名無しさん:2010/07/17(土) 23:00:46
>>33
Project Euler - Problem 41
n桁の数がPandigitalであるとは, 1からnまでの数を各桁に1つずつもつことである. 例えば2143は4桁のPandigital数であり, かつ素数である.
n桁のPandigitalな素数の中で最大の数を答えよ.

http://odz.sakura.ne.jp/projecteuler/index.php?Problem%2041

ちなみにProject Eulerには1分ルールというのがあってプログラムが1分以内に解けるような
問題しか出題されないのでその点も踏まえてコーディングすること
37デフォルトの名無しさん:2010/07/17(土) 23:02:59
オーバーフローして終了
38デフォルトの名無しさん:2010/07/17(土) 23:24:46
>>36
#include<stdio.h>

int main(void)
{
printf("7652413\n");
return 0;
}
39デフォルトの名無しさん:2010/07/17(土) 23:29:28
>>38
合ってるけどそれはダメだろw
40デフォルトの名無しさん:2010/07/17(土) 23:36:29
>>39
なら、これはどうだ?
#include<stdio.h>

int main(void)
{
puts("7652413");
return 0;
}
41デフォルトの名無しさん:2010/07/18(日) 00:58:34
前スレで出したのですが、自力でできず再度こちらにお願いします。

[1] 授業単元:ゼミ
[2] 問題文(含コード&リンク):画像上の円を発見するプログラム。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10860.txt
[3] 環境
 [3.1] OS: Windows 7
 [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2008 Express Edition
 [3.3] 言語: C++
[4] 期限: 2010年07月19日22:00まで
[5] その他の制限:構造体まで勉強しました。画像の読み込み部はテンプレートがあるので大丈夫
テンプレ:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10859.txt

よろしくお願いします
42デフォルトの名無しさん:2010/07/18(日) 02:05:15
1] 授業単元:く興味本位での自習
[2] 問題文
(繰り返し文を用いて)
1〜10までの偶数を出力

2
4
6
8
10
[3] 環境
 [3.1] OS: Windows Xp 32bit
 [3.2] コンパイラ名とバージョン:LSI C-86?
 [3.3] 言語: C
[4] 期限: 特になし
[5] その他の制限
配列の前まで勉強しました。私なりに考えて記述してみましたがうまくいきません。
初歩的な質問ですがよろしくお願いします。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10861.txt
43デフォルトの名無しさん:2010/07/18(日) 02:16:44
×=<
○<=
44デフォルトの名無しさん:2010/07/18(日) 02:41:55
>>43
早速のレスありがとうございます
凡ミスでしたね・・・今後気をつけて取り組んでいきます!
ありがとうございました。
45デフォルトの名無しさん:2010/07/18(日) 03:05:45
>>42
「 < 」 と 「 = 」の順番が逆になってる。

while(i=<10);

ではなくて

while(i<=10);

46デフォルトの名無しさん:2010/07/18(日) 12:15:26
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):

@下に示したスタックプログラムのpush()関数とpop()関数を実装し、プログラムが適切に動くようにしなさい。
このプログラムはint型の変数をキーボードから入力し、それをスタックにpushまたはpopするプログラムである。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10862.txt

A@と同じように、キューのプログラムを作成しなさい。
ただし、配列をずらすことなくキューの操作ができるように実装しなさい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年7月21日まで
[5] その他の制限:なし
47デフォルトの名無しさん:2010/07/18(日) 13:12:51
メモリマネージャーの作り方を教えてください
48デフォルトの名無しさん:2010/07/18(日) 13:15:35
>>47
頑張って勉強する

頑張って設計する

頑張って実装する

(゚Д゚)ウマー
49デフォルトの名無しさん:2010/07/18(日) 13:20:20
[1] 授業単元:プログラミング実習
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10863.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:7/19まで
[5] その他の制限:
よろしくお願いします。
50デフォルトの名無しさん:2010/07/18(日) 14:20:00
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):県から国、及び国から県に換算する関数を作成し、
main関数でキーボードから数値とその値が国であるか県であるかを入力し、県ならば国に、
国ならば県に換算した値を小数点以下1桁までで出力するプログラムを作成しなさい。
値を引数とする関数で計算させ(関数名は nation とする)、出力は main関数で行うこと。

関係は以下の通り
県(A):(B+2)*5 国(B):A/3+25
<例>
数値を入力してください: 75
75 が「県」なら "A" を「国」なら "B" を入力してください: B

県 14.4 = 国 75

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual Studio2008

#include <stdio.h> int main(void) {

 [3.3] 言語: C++
[4] 期限:7/21まで
[5] その他の制限:if文かfor文を用いること。

何度も投稿してすいませんでした。
でも助けてください!ピンチなんです。
51デフォルトの名無しさん:2010/07/18(日) 15:24:08
>>50
数式の意味が分からん
> #include <stdio.h> int main(void) {
> [3.3] 言語: C++
52デフォルトの名無しさん:2010/07/18(日) 15:29:35
この時期って中間或いは最終課題だよね
わからないなら素直に単位落とせよって思う
53デフォルトの名無しさん:2010/07/18(日) 16:23:23
>>49ですが、
アドレスが8byteずつ変化することを表したいんです。お願いします。
54デフォルトの名無しさん:2010/07/18(日) 16:44:33
>50
途中まで作ってみたんだが、そもそも例がおかしくないか……?
入力値75に対して、どんな計算をした結果が14.4なんだ?
(B+2)*5 も A/3+25 も、どちらをあてはめても14.4という結果にならないと思うんだが……
それがわからんことにはプログラム書けないぞ
55デフォルトの名無しさん:2010/07/18(日) 16:52:53
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):

nを読み込み,n個のint型配列を動的に確保,n個の配列はn人の勇者とする.以下仕様に従ったプログラムを作成せよ.

?それぞれの勇者にヒットポイントを与える.
?敵のヒットポイントを与える.
?乱数を発生し,誰の攻撃かを決定する.
?攻撃をする際に,会心の一撃,普通の攻撃,ミスを乱数で決定する.
?相手に与えるダメージを乱数で決定する.
?敵の攻撃の場合,何人にどれだけ攻撃をするかを乱数で決定する.
?敵のヒットポイントが無くなるか,勇者が全滅したら終了とする.

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21まで
[5] その他の制限:とくにありません

よろしくお願いします。
56デフォルトの名無しさん:2010/07/18(日) 17:20:01
n 個のものの中から r 個のものを取り出すときの組合せの数 nCr を求める関数 CCO(int n, int r) を再帰型で作成しなさい.
ただし, x, y の入力と結果の出力は main関数で行わせること.

#include <stdio.h>

int CCO(int x,int y)
{
if((x < 0) || (x < y)){
return -1;
}else if(x <= 1){
return 1;
}else{
(return x * CCO(x-1))/(return y * CCO(y-1));
}
}
int main(void)
{
int a,b;

printf("値を入力してください: ");
scanf("%d", &a);

printf("値を入力してください: ");
scanf("%d", &b);

printf("%dC%d = %d\n", input1,input2, CCO(a,b));
return 0;
}
57デフォルトの名無しさん:2010/07/18(日) 17:21:14
どなたか>>56を完成させてください。
よろしくお願いします。
58デフォルトの名無しさん:2010/07/18(日) 17:29:09
どなたか、前スレの>>953をお願いします。
http://pc12.2ch.net/test/read.cgi/tech/1276810079/953
今日中に出さないと留年が決まってしまいます。。。
59デフォルトの名無しさん:2010/07/18(日) 17:30:17
>>58
問題がわけわからんので無理
60デフォルトの名無しさん:2010/07/18(日) 17:44:37
メモリマネージャーの最初に確保した領域からメモリを割り当てるっていうのがよく分かりません・・・
教えていただけませんか?

61デフォルトの名無しさん:2010/07/18(日) 17:46:11
>>59
問題に記載漏れがありました。申し訳ありません。

[1] 授業単元: 解析入門

[2] 問題文(含コード&リンク):
オイラー法、2次のルンゲクッタ法をそれぞれ用いて、以下の1階常微分方程式の初期値問題を解き、
解析解と同じグラフに表示せよ。
(横軸x/縦軸y)

dy(x) / dx = y (0 <= x <= 3) 初期条件:y(0)=1
(1)Delta x = 0.1
(2)Delta x = 0.3

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 本日中にお願いします。
62デフォルトの名無しさん:2010/07/18(日) 17:47:12
>>58
f(0)の初期値はいくつ?
63デフォルトの名無しさん:2010/07/18(日) 17:52:28
>>58
オイラー法 2次のルンゲ・クッタ法 1階常微分方程式 初期値
最終学歴尋常小学卒にはさっぱりわからないことだらけ
1階常微分方程式ってなんて読むの?
64デフォルトの名無しさん:2010/07/18(日) 17:53:24
>>58
オイラー法は初期値が必要だった気がするが、気のせいか?
65デフォルトの名無しさん:2010/07/18(日) 18:01:24
>>61
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10864.txt

急いでやったんで手荒な部分があるので適当に手直ししてくれ
一応動く
66デフォルトの名無しさん:2010/07/18(日) 18:02:41
gnuplotはわからんので他の人に任せた
67デフォルトの名無しさん:2010/07/18(日) 18:12:20
>>65
ありがとうございます。
68デフォルトの名無しさん:2010/07/18(日) 18:18:02
>>56
変数や引数が意味不明なものばかりなんで却下
69デフォルトの名無しさん:2010/07/18(日) 18:29:42
>>56
#include <stdio.h>
int CCO(int n, int r) {
if (n < 0 || n < r){
return -1;
} else if (r == 0 || n == r){
return 1;
} else{
return CCO(n - 1, r - 1) + CCO(n - 1, r);
}
}
int main(void) {
int n, r;
printf("値を入力してください: ");
scanf("%d", &n);
printf("値を入力してください: ");
scanf("%d", &r);
printf("%dC%d = %d\n", n,r, CCO(n, r));
return 0;
}
70 ◆QZaw55cn4c :2010/07/18(日) 18:33:43
7154:2010/07/18(日) 18:43:58
>70
国→県と県→国が逆になってるぞ。
で、俺もそんなかんじのソース書いてみたんだけど、
それだと>50が処理例として書いている
『国の値として50を入力すると県の値として14.4を出力する』って結果にならないんだよ。
>50の処理例がどういう計算式の結果なのか、もしくは処理例がそもそも間違ってるのか、がわからないとソース書けね。
72デフォルトの名無しさん:2010/07/18(日) 18:45:35
× 50を入力すると
○ 75を入力すると

急いで書いてミスったスマソ。
73デフォルトの名無しさん:2010/07/18(日) 18:47:26
>>71
んー、>>50 からの解説待ちですね。
74デフォルトの名無しさん:2010/07/18(日) 19:23:25
【質問テンプレ】
[1] 授業単元:情報処理課題
[2] 問題文(含コード&リンク):英語の文章で構成されるテキストファイルに対して、その中に含まれる総文字数と異なる文字ごとの出現回数とを数え上げよ。
[3.3] 言語:C
[4] 期限:2010年07月19日00:00まで
[5] その他の制限:Xcodeを使用しています。読み込むファイルは"/Users/user/Desktop/data.txt"で。

似たようなプログラムを作った時は「数列を入力し総文字数と数字ごとに出現回数とを数え上げグラフで表示」というような課題で
数字だったので0〜9までを表示することが簡単に出来ましたがアルファベットなのでa-zをどう表示したものか
またstrlenだと半角空白も数えてしまうので総"文字"数とずれてくるのではないかと悩んでいます。
よろしくお願いします。
75デフォルトの名無しさん:2010/07/18(日) 19:28:32
#include <stdio.h>
#include <string.h>
int main(){
int i;
int alphabet[26];
const char FILENAME[] = "/Users/user/Desktop/data.txt";
const int LEN;
memset( alphabet, 0, sizeof( alphabet ) );
len = strlen(FILENAME[]);
printf( "総文字数は%d (但し半角空白を含む)\n", len );
for (i = 0; i < len; i++) {
alphabet[ FILENAME[i] - '0' ]++;
}
for (i = 0; i < 26; i++) {
printf("%d / %d個", i, alphabet[i] );
return 0;
}

一応自分で書いてみたソースです。
たぶん間違いだらけ。
76デフォルトの名無しさん:2010/07/18(日) 19:39:05
>>75
ファイルの中身を知るには、まず、ファイルをオープンして、配列なりなんなりに読み込まなければいけません。
77デフォルトの名無しさん:2010/07/18(日) 21:29:35
#include <stdio.h>
#include <string.h>
void main(){
int i, LEN;
int alphabet[26];
char buf{};
FILE *fp = fopen("/Users/user/Desktop/data.txt","r");
if (fp == NULL){
printf("%sが存在しません。\n→プログラム終了\n", fp);
exit(1);
}
while(fgets(buf, sizeof buf, fp))
LEN = strlen( buf );
printf( "総文字数は%dです。\n", LEN );
for (i = 0; i < LEN; i++) {
alphabet[ buf[i] - '0' ]++;
}
for (i = 0; i < 26; i++) {
printf("%d / %d個\n", i, alphabet[i] );
return 0;
}

弄ってて??になってしまいましたが…。
bufに読み込むってこういうことですか?
78デフォルトの名無しさん:2010/07/18(日) 21:30:44
>>56ですが、>>69だと答えが変なんですが

6C3=120のはずなのに↓

正整値を入力してください: 6
正整値を入力してください: 3
6C3 = 20

あと、公式をはり忘れていました
nCr = n-1Cr-1 * n / r = n! / {(n-r)! * r!} = n * (n-1) * ・・・ * (n-r+1) / {r * (r-1) * ・・・ * 2 * 1}
79デフォルトの名無しさん:2010/07/18(日) 21:36:49
>>78
6C3 = 20 では?
80デフォルトの名無しさん:2010/07/18(日) 21:37:42
>>78
6C3 は (6*5*4)/(3*2*1) じゃないの?
81デフォルトの名無しさん:2010/07/18(日) 21:40:12
>>78
ゆとりテラワロスwwwwwwwwwwwwwwwwwwwwwww
82デフォルトの名無しさん:2010/07/18(日) 21:40:48
>>77
考え方はそうですが、
c では配列の大きさ(char buf[])
はプログラムの最初に決定しておかなければなりません。
(char buf[256] など)
>>77 は行単位で処理されているようですので
それを考慮すれば、正解までもうすぐです。
83デフォルトの名無しさん:2010/07/18(日) 21:42:00
>>78
小学校の算数もできん奴にプログラムなんてできるわけないwwwww
腹いてーwww
84デフォルトの名無しさん:2010/07/18(日) 21:50:25
俺ならパスカルの△で解くなぁ。時間も求められる値の上限もかなり差が出るし。
85デフォルトの名無しさん:2010/07/18(日) 21:53:12
>>84
>>69 はまさしくパスカルの三角形を利用して書かれています。
http://ja.wikipedia.org/wiki/%E3%83%91%E3%82%B9%E3%82%AB%E3%83%AB%E3%81%AE%E4%B8%89%E8%A7%92%E5%BD%A2
86デフォルトの名無しさん:2010/07/18(日) 22:13:47
[1] 授業単元:プログラミング応用
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10869.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:7/19まで
[5] その他の制限:初心者レベルでお願いします。
よろしくお願いいたします。
87デフォルトの名無しさん:2010/07/18(日) 22:19:17
>>82
#difine MAX 1000
を最初に追加し
buf[]→buf[MAX]

fgets→fgetc

という記述で大丈夫でしょうか?
88デフォルトの名無しさん:2010/07/18(日) 22:29:45
>>87
個々の strlen() の結果を集めて合計する、ということは必要かと。
fgets() のままでいいのでは?
89デフォルトの名無しさん:2010/07/18(日) 22:46:37
>>85 分かっているけど >>56 の書き方からして
階乗を再帰で計算したものを使おうとしたのかな?と思ったもんで
90デフォルトの名無しさん:2010/07/18(日) 23:07:18
どなたか>>46お願いします。
91デフォルトの名無しさん:2010/07/18(日) 23:16:37
#include <stdio.h>
#include <string.h>
void main(){
int i, sum;
int alphabet[26];
char buf[MAX],LEN[MAX];
FILE *fp = fopen("/Users/user/Desktop/data.txt","r");
if (fp == NULL){
printf("%sが存在しません。\n→プログラム終了\n", fp);
exit(1);
}
while(fgets(buf, sizeof buf, fp))

LEN[] = strlen( buf );
for(i=0;i<=4;i++){
sum += LEN[j];

printf( "総文字数は%dです。\n", LEN );
for (i = 0; i < LEN; i++) {
alphabet[ buf[i] - '0' ]++;
}
for (i = 0; i < 26; i++) {
printf("%d / %d個\n", i, alphabet[i] );
return 0;
}
92デフォルトの名無しさん:2010/07/18(日) 23:22:06
投稿ミスです;;申し訳ない。。

#include <stdio.h>
#include <string.h>
#difine MAX 1000
void main(){
int i, j;
int alphabet[25];
char buf[], LEN[];
FILE *fp = fopen("/Users/user/Desktop/data.txt","r");
if (fp == NULL){
printf("%sが存在しません。\n→プログラム終了\n", fp);
exit(1);
}
while(fgets(buf, sizeof buf, fp))
LEN[] = strlen( buf );
for(j=0; j<=MAX; j++)
sum += LEN[j]
printf( "総文字数は%dです。\n", sum );
for (i = 0; i < sum; i++) {
alphabet[ buf[i] - '0' ]++;
}
for (i = 0; i < 26; i++) {
printf("%d / %d個\n", i, alphabet[i] );
return 0;
}

LENも配列にして?新しくsumという変数を宣言してみましたが…。
93デフォルトの名無しさん:2010/07/18(日) 23:26:42
(・∀・) ニヤニヤ
94デフォルトの名無しさん:2010/07/18(日) 23:45:38
[1] 授業単元: C言語入門
[2] 問題文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10871.txt
[3.1] OS:Windows 
[3.2] VC 6.0
[3.3] 言語:C
[4] 期限:なし
[5] 制限:void main(void)を使用すること void main( int argc, char *argv[], char *env[] )等は禁止
お願いいたします
95デフォルトの名無しさん:2010/07/18(日) 23:53:03
そりゃ void main なんて書かれたら吹くわw
96デフォルトの名無しさん:2010/07/19(月) 00:11:53
97デフォルトの名無しさん:2010/07/19(月) 00:49:40
98デフォルトの名無しさん:2010/07/19(月) 01:10:33
[1] 授業単元: C言語A
[2] 問題文
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10872.txt
[3.1] OS:Windows 
[3.2] VC 6.0
[3.3] 言語:C
[4] 期限:7月24日
[5] 制限:特にありません
まずA〜Fのアルファベットを出力させる方法がわかりませんでした。よろしければそちらについて詳しく教えてください
99デフォルトの名無しさん:2010/07/19(月) 01:50:24
どなたか前スレの>>869をやっていただけないでしょうか…
100デフォルトの名無しさん:2010/07/19(月) 01:51:04
>>98
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
h#define SEL 4

int main(void)
{
char s[] = "ABCDEF", tmp;
int i, j, lth = 0;

srand(time(NULL));
while (s[lth])
lth++;
for (i = 0; i < SEL; i++) {
j = rand() % (lth - i) + i;
tmp = s[j];
s[j] = s[i];
s[i] = tmp;
}
s[i] = '\0';
printf("%s\n", s);

return 0;
}
101デフォルトの名無しさん:2010/07/19(月) 02:13:12
>>99
前スレ落ちてて見れない。
102デフォルトの名無しさん:2010/07/19(月) 02:18:17
869 :デフォルトの名無しさん :2010/07/15(木) 14:07:23
お手上げなので助けてください。

[1] 授業単元:応用プログラミング
[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10833.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual Studio2008
 [3.3] 言語:C
[4] 期限:2010/07/19 23:59まで
[5] その他の制限:OpenCV使用可。その他制限は無し。

よろしくお願いします。
103デフォルトの名無しさん:2010/07/19(月) 03:07:48
>>100
ありがとうございます

申し訳ないですがHit&Blowのプログラムの正解が数字でなくアルファベットである場合書き方がわからない為引き続き>>98のお手伝いをお願いします。
104デフォルトの名無しさん:2010/07/19(月) 06:04:36
>>103
数字、アルファベットのどちらでも同じコードが使えると思うが。
コードを晒してみたら?
105デフォルトの名無しさん:2010/07/19(月) 15:14:16
十分に答える気もなく、まともに動作しないどころかコンパイルさえ通らない
クソースを投稿するなよw
106デフォルトの名無しさん:2010/07/19(月) 15:18:18
>>105
お前は野次だけは一人前だな
107デフォルトの名無しさん:2010/07/19(月) 17:00:38
[1] 授業単元:C++プログラミング
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10874.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual Studio2008
 [3.3] 言語:C++
[4] 期限:2010/07/29 23:59まで
[5] その他の制限:無し
8題中6題まで出来ましたが、あと二つが解りません。
よろしくお願いします。
108デフォルトの名無しさん:2010/07/19(月) 17:10:51
>>107
制限ないならそのまま配列宣言すれば終了。
109デフォルトの名無しさん:2010/07/19(月) 17:16:58
よろしくお願いします。 文字列sと文字列tの中の文字の並びが完全に一致するかどうかを調べて、完全に一致すれば整数値1を、そうでない場合は整数値0を返す c言語関数compare_strings(s,t)を書け。ただし、文字列sとtは\0で終端されていると仮定してよい。
110デフォルトの名無しさん:2010/07/19(月) 17:26:04
>>108
すみません。書き忘れました。その方法ではだめみたいです。
111デフォルトの名無しさん:2010/07/19(月) 17:35:37
>>109
int compare_string(const char *s, const char *t) { return strcmp(s, t) == 0 ? 1 : 0; }
112 ◆QZaw55cn4c :2010/07/19(月) 18:16:24
113デフォルトの名無しさん:2010/07/19(月) 18:49:18
>>102
問3までは面倒そうだったので、問2まで。すまん。
これを参考に問3を作ってくれ。

数時間前にOpenCVをインストール&設定したくらい、
OpenCV初心者だから、変なところもあるかも。

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10875.zip

ちなみにVisualStudio2005だけど、プロジェクト変換すりゃVisualStudio2008でもいけるとおも。
114デフォルトの名無しさん:2010/07/19(月) 18:49:51
>>86を誰かお願いします。
11598:2010/07/19(月) 19:01:27
>>104
現状自分で書いたコードは
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10876.txt
です。
間違っている点等ご教授をお願いします。
116デフォルトの名無しさん:2010/07/19(月) 19:03:31
>>109
int compare_string(char *a, char *b){
char *p = a, *q = b;

while ((*p == *q) && (*p && *q)) {
p++;
q++;
}
return *p == *q;
}
117デフォルトの名無しさん:2010/07/19(月) 19:06:18
>>86
#include <stdio.h>
int main(void) {
char buffer[100], c, *buffer_pos;
int i;
buffer_pos = buffer;
printf("文字列を入力:\n");
scanf("%s", buffer);
while (c = *buffer_pos++) {
if (c == 'n') {
printf("\n");
} else if (*buffer_pos) {
for (i = 0; i < *buffer_pos - '0'; i++) {
printf("%c", c);
}
buffer_pos++;
}
}
return 0;
}
118デフォルトの名無しさん:2010/07/19(月) 19:54:51
>>115
入力文字と答えのチェック部分で
ans[k] == guess[k] - '0'
てのを
s[k] == guess[k]
てな感じに変えてみたらどう?

printf("正解は[%d%d%d%d]でした\n", ans[0], ans[1], ans[2], ans[3]);
ってところも
printf("正解は[%s]でした\n", s);
こんな風に
119デフォルトの名無しさん:2010/07/19(月) 20:02:51
>>115
それと
char guess[ANSWER_SIZE];
って宣言してるところは
char guess[ANSWER_SIZE+1];
という風に1つサイズ増やしたほうがいいかも
VS2008で実行すると答え合わせて終了したときに、この配列でエラーが出るよ
scanfでguessに文字列入れたときにエンター入力分がないってことなのかね
120デフォルトの名無しさん:2010/07/19(月) 20:10:54
>>115
X if (ans[l] == guess[l] - '0') {
○ if ((s[k] == guess[l]) && (k != l)) {
121デフォルトの名無しさん:2010/07/19(月) 20:11:23
#include <stdio.h>

int main(void)
{
FILE *fp;/* ファイル用ポインタ */
char kadai[49][63];/*文字列用 */
int x,y;

fp = fopen("課題2ビットマップデータ.txt", "r");
for(x=0;x<49;x++)
{
for(y=0;y<63;y++)
{
printf("%c", kadai[x][y]);
}
}
}

テキストに入った縦50、横64の文字列を表示させたいんですが出来ない、
だれか教えてくれると助かります
122デフォルトの名無しさん:2010/07/19(月) 20:20:40
>>106
バーーカw
123デフォルトの名無しさん:2010/07/19(月) 20:34:15
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
与えられた負でない整数nに対して、
を求める関数を関数の再帰呼び出しを使って作成せよ。
一般的なアルゴリズムは以下のようになる。

% ./factorial
負でない整数を入力して下さい: 4
24
% ./factorial
負でない整数を入力して下さい: 0
1
%



[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません
124デフォルトの名無しさん:2010/07/19(月) 20:40:42
125デフォルトの名無しさん:2010/07/19(月) 20:45:51
>>123
何を求めるじゃいw
126デフォルトの名無しさん:2010/07/19(月) 20:47:21
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
2つのchar型配列x[],y[]に格納された文字列を入れ替えるプログラムを,関数swap_stringWithPointer(char *, char *)を用いて実装せよ.下記の例では,2つの文字列xとyをキーボードから入力し,入れ替えた後に表示している.


% ./stringSwap
文字列x (20字まで)? Ritsumeikan
文字列y (20字まで)? BKC
入替後の x: "BKC"
入替後の y: "Ritsumeikan"
%


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

127デフォルトの名無しさん:2010/07/19(月) 20:47:34
>>123
#include <stdio.h>

#define FACT(n) factrial(n,1)

int factrial(int n, int r)
{
if(n!=0){
r*=n;
return factrial(--n,r);
}
return r;
}

int main()
{
int n;
printf("負数でない整数を入力してください: ");
scanf("%d",&n);
printf("%d\n",FACT(n));
}

128デフォルトの名無しさん:2010/07/19(月) 20:49:27
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):

文字列xに文字列yが含まれるかどうかを判定する関数str_compWithPointer(char *, char *)を作成せよ.この関数を用いて、入力されたひとつめの文字列にふたつめの文字列が含まれているかを判定するプログラムを作成せよ。


% ./compare
文字列x (64字まで)? Ritsumeikan-University
文字列y (64字まで)? Univ
"Ritsumeikan-University"に"Univ"は含まれます.

% ./compare
文字列x (64字まで)? Ritsumeikan-University
文字列y (64字まで)? city
"Ritsumeikan-University"に"city"は含まれません.





[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

129デフォルトの名無しさん:2010/07/19(月) 20:52:21
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
標準入力から正の整数値を読み込み,0が入力されたらそれらの整数を小さい順に表示するプログラムを作成せよ.

以下のような処理の流れでプログラムを作成すること。

数字を読み込むごとに, それまでに入力された数値が格納された配列の最後の要素から, 先頭に向かって順に大小の比較を行う. これにより、読み込んだ数字の方が入るべき位置がわかる.
読み込んだ数字が入るべき箇所を空けるために、 既に記憶されている配列の要素のうち、 この数字よりも大きな数字をひとつ後ろにずらす。 空いた箇所に読み込んだ数字を代入する.
次に入力される数字の処理へ移る.

% ./ordering
正整数: 17
正整数: 3
正整数: 9
正整数: 4
正整数: 0
入力された整数は小さい順に 0, 3, 4, 9, 17 です.
%


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

130デフォルトの名無しさん:2010/07/19(月) 20:53:41
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
文字列xに文字列yが含まれるかどうかを判定する関数str_comp(char [], char [])を作成せよ.この関数を用いて、入力されたひとつめの文字列にふたつめの文字列が含まれているかを判定するプログラムを作成せよ。


% ./compare
文字列x (64字まで)? Ritsumeikan-University
文字列y (64字まで)? Univ
"Ritsumeikan-University"に"Univ"は含まれます.

% ./compare
文字列x (64字まで)? Ritsumeikan-University
文字列y (64字まで)? city
"Ritsumeikan-University"に"city"は含まれません.






[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

131デフォルトの名無しさん:2010/07/19(月) 20:55:08
複数の文字列を読み込み,さらに,それらの文字列を繋ぎ合わせる順番を入力し結果を出力するプログラムを作成せよ.

【実行例】

何個の文字列を入力しますか?:4
入力文字列[1]:AAA
入力文字列[2]:BBB
入力文字列[3]:CCC
入力文字列[4]:DDD

繋ぎ合わせる順番:
2
4
3
1

結果:BBBDDDCCCAAA

申し訳ありませんがませんが、よろしくお願いします。
132デフォルトの名無しさん:2010/07/19(月) 20:55:36
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
char型配列xに格納された文字列を1文字ごとに空白を空けて逆順に出力する関数reverse_array(char [])を作成せよ.変換後の文字列の長さがもとの文字列よりも長くなっているので、長さの検査が必要であることに注意せよ。
この関数を用いて、入力された文字列を並び替え、その結果を印字するプログラムを作成せよ。


% ./reverse
処理前の文字列 (64字まで)? Ritsumeikan
関数reverse_array()を呼び出しました
処理後の文字列 "n a k i e m u s t i R"


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

133デフォルトの名無しさん:2010/07/19(月) 20:56:14
[1] 授業単元:C++プログラミング
[2] 問題文(含コード&リンク): 航空会社が持っている小型航空機(座席数:24)のフライトに座席を割り当てるシステムをプログラミングせよ。
この航空機の座席は中央に通路を挟み左右にそれぞれ2座席ずつの列が計6列ある。
座席は 1A, 1B, 1C, 1D, ..., 6A, 6B, 6C, 6D で表示され、 1, 2列目が喫煙区画で、 A, D が窓側、 B, C が通路側を示している。

プログラムはまず最初に次の選択メニューを表示する。

喫煙席を希望する方は 1 をタイプしてください。
禁煙席を希望する方は 2 をタイプしてください。

喫煙/禁煙の選択が終わると、 窓側か通路側かの選択を求める。

窓側を希望する方は 1 をタイプしてくださ。
通路側を希望する方は 2 をタイプしてください。

希望に沿える席がすべて予約済みで割り当てられない場合には、窓側又は通路側の希望については無視して割り当てる。
ただし, 「窓側(あるいは通路側)はすでに満席のため通路側(窓側)で予約します」というメッセージを出力し、
以下のように座席番号と喫煙席/禁煙席の区分が書かれた搭乗券を(この課題では画面上に)出力する。

--------
2A 禁煙
--------
134デフォルトの名無しさん:2010/07/19(月) 20:56:26
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
char型配列xに格納された英単語からなる文字列が回文(逆から読んでも同じ)であるかをチェックする関数anagram(char [])を作成せよ.ただし,チェック対象の文字列はソースコードのmain()関数内で記述するものとする(キーボードから入力しない).


% ./checkAnagaram
文字列 "Ritsumeikan" は回文ではありません.

% ./checkAnagaram
文字列 "Was it a cat I saw?" は回文です.

ヒント: 回文のルールは以下の通り.

(i)
前から読んでも後ろから読んでも同じアルファベットの並びとな る,
(ii)
記号「?」,「.」,「,」,「-」,「 」(空白)は無視する,
(iii)
大文字と小文字は区別をしない.

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

135デフォルトの名無しさん:2010/07/19(月) 20:57:24
入力したDNA塩基配列中にある塩基 t, c, a, gそれぞれの個数をカウントするプログラムを作成せよ.

【実行例】
% ./a.out
tataatccg ← 入力し,リターンを押して ^D
Thymine (t) : 3
Cytosine (c) : 2
Adenine (a) : 3
Guanine (g) : 1
%
136デフォルトの名無しさん:2010/07/19(月) 20:57:41

それから、禁煙区画(あるいは喫煙区画)が窓側又は通路側ともに満席のときには喫煙区画(禁煙区画)でも良いかどうか乗客に尋ねなければならない。
乗客がOKすれば(窓側/通路側の希望はできるだけ尊重した上で)空いている座席を割り当て搭乗券を出力し、しなければ「3時間後に次のフライトがあります。」というメッセージを出力して終了する。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual Studio2008
 [3.3] 言語:C++
[4] 期限:2010/07/26まで
[5] その他の制限:なし

よろしくお願いします。
137デフォルトの名無しさん:2010/07/19(月) 20:59:03
>>128>>130どう違うの?
てか制限無いならstrstrのラッパーでいい?
138デフォルトの名無しさん:2010/07/19(月) 20:59:48
>>133の続きが>>136です。
139デフォルトの名無しさん:2010/07/19(月) 21:00:32
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
発展課題 13..1
ATM(Automated Teller Machine; 現金自動預け払い機)システムを実現するプログラムを考える。
氏名,口座番号,暗証番号,預金残高を要素とする構造体を宣言し, 512人分の口座が作成可能なようにせよ.また,初期値として次のように構造体の内容を設定せよ.
立命太郎の口座番号は1234で,預金残高を1,234,560円に設定する.
野路花子の口座番号は5678で,預金残高を987,600円に設定する.
衣笠一郎の口座番号は9012で,預金残高を538,600円に設定する.
暗証番号は口座番号に1111を足して10000で割った余りに設定する.
ここで暗証番号は、口座番号を引数としてとり、それに1111を足して10000で割った余りを計算する関数を作成して設定すること.
上記の方法で初期値を設定し、設定された3人の預金残高を画面へ出力するプログラムを作成せよ.ただし、ひとり分の預金残高を表示する関数を作成して、これを繰り返し使って3人の預金残高を出力すること.
% ./initAccount 預金残高は次のとおりです.
立命太郎 (1234) 1234560 円
野路花子 (5678) 987600 円
衣笠一郎 (9012) 538600 円
%
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

140デフォルトの名無しさん:2010/07/19(月) 21:02:10
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
[3] 環発展課題 13..2
発展課題13.1を基に「引出し」の機能を追加せよ.具体的には,口座番号の入力,暗証番号の入力と確認,支払額の入力,預金残高の更新をするプログラムを追加すればよい.機能の選択は,起動時できるようにすること.
% ./withdraw
[0]終了 [1]残高表示 [2]引出し: 2
口座番号を入力してください: 5000 ← 存在しない
暗証番号を入力してください: 0123
口座番号または暗証番号が間違っています.
口座番号を入力してください: 9012
暗証番号を入力してください: 5555 ← 間違っている
口座番号または暗証番号が間違っています.
口座番号を入力してください: 9012
暗証番号を入力してください: 0123
引出し額を入力してください: 1000000 ← 預金額より多い
預金額が不足しています.
口座番号を入力してください: 9012
暗証番号を入力してください: 0123
引出し額を入力してください: 20000
ありがとうございました.残高は 518600 円です.
[0]終了 [1]残高表示 [2]引出し: 2 ← 始めに戻る
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

141デフォルトの名無しさん:2010/07/19(月) 21:04:06
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
発展課題 13..3
発展課題13.2を基に,「振込み」の機能を実現せよ.具体的には,利用者の口座番号・暗証番号・振込額の指定と確認,振込先の口座番号の指定と確認,両者の預金残高の更新をするプログラムを作成せよ.
なお,以下の例では省略するが,口座番号や暗証番号を間違った場合のチェックや,預金額が不足する場合のチェックもすること.
% ./transfer
[0]終了 [1]残高表示 [2]引出し [3]振込み: 3
口座番号を入力してください: 9012
暗証番号を入力してください: 0123
振込先の口座番号を入力してください: 1000
口座番号をご確認ください. ← 存在しない
口座番号を入力してください: 9012
暗証番号を入力してください: 0123
振込先の口座番号を入力してください: 5678
振込み額を入力してください: 30000
野路花子 様に 30000 円振り込みました.
ありがとうございました.残高は 508600 円です.
[0]終了 [1]残高表示 [2]引出し [3]振込み: ← 始めに戻る

振り込まれた先の口座の金額が増えていることを、デバッガで確認せよ。この例では、「野路花子」の残高は 1017600 円のはずである。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

142デフォルトの名無しさん:2010/07/19(月) 21:05:44
>>137

>>128についてはポインターをつかった演習で、>>130は文字列に関する演習ですので関数が違うみたいなんです、すいません><
14398:2010/07/19(月) 21:06:45
>>118-120
ありがとうございます
指摘してもらった部分を訂正してみたのですが12回を超えた所で答えは正しく表示されるのですがHitとBlowの数の表示が正しくできませんでした。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10877.txt
他に訂正しなくてはいけない部分はどこでしょうか?
144デフォルトの名無しさん:2010/07/19(月) 21:07:07
145デフォルトの名無しさん:2010/07/19(月) 21:07:31
>>129
825 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/14(水) 07:15:41
>>820
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10824.c

828 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/14(水) 09:01:59
>>820 漏れもやってみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10827.c

828 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/14(水) 09:01:59
>>820 漏れもやってみた
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10827.c
146デフォルトの名無しさん:2010/07/19(月) 21:09:37
>>131
197 名前:デフォルトの名無しさん[sage] 投稿日:2010/06/24(木) 15:07:11
>>196
演習6-1
#include <stdio.h>
int main(void)
{
char buff[32], str[1024], *p, *q;

int i, n;

printf("何個の文字列を入力しますか?:");
scanf("%d", &n);

for(i = 1, p = str; i <= n; i++) {
printf("入力文字列[%d]:", i);
scanf("%s", buff);
for(q = buff; *q; q++, *p++) *p = *q; *p++ = ' '; }
*(p - 1) = '\0';
printf("\n結果:%s\n", str);
return 0;
}

>>132
923 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/16(金) 04:59:50
>>918
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10840.c
>>919
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10841.c

147デフォルトの名無しさん:2010/07/19(月) 21:10:25
入力したDNA塩基配列中に,atgという並びがいくつあるか調べるプログラムを作成せよ.但し,入力には t, c, a, g以外の文字も入っている.塩基以外の文字は無視すること.

【実行例】
% ./a.out
1gattatgtga
11tgccgatatc
21gatatgattc
(ここで ^D を押す)
#ATG is 3
%

すいません、お手上げです。お願いします。
148デフォルトの名無しさん:2010/07/19(月) 21:10:33
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
>>139の問題を基に
口座を表現した構造体をstruct accountとする。初期値を設定された3人の預金残高を画面へ出力するプログラムを、構造体のアドレスを引数とする関数void print_account(struct account *)を用いて作成せよ.

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

149デフォルトの名無しさん:2010/07/19(月) 21:12:03
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
>>141 を基に 口座を表現した構造体を struct accountとする。以下の関数を作成し、発展課題 13.3と同じ機能をもつプログラムを作成せよ。


指定された口座番号に対応する口座情報を探索する関数
struct account *search_account(int id)

指定された口座番号に相当する講座がないとき、この関数は NULL を返すものとする。


口座内容を印字する関数
void print_account(struct account *account)


振込み元の講座から振込先の口座へ指定された金額だけ振り込む関数
int transfer(struct account *from, struct account *to, int amount)

この関数は成功した場合1を、失敗した場合は負の整数を返すものとする.

これらの関数の中では printf() や fgets() などの入出力関数は用いないようにせよ。


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

150デフォルトの名無しさん:2010/07/19(月) 21:12:47
>>124
参考になりました
ありがとうございます。
151デフォルトの名無しさん:2010/07/19(月) 21:13:50
>>134
930 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/16(金) 09:57:35
>>919
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10842.txt

932 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/16(金) 10:32:57
>>919
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10843.txt


>>139
924 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/16(金) 05:13:05
>>920
http://codepad.org/OdsISH0l

925 名前:924[sage] 投稿日:2010/07/16(金) 05:19:35
勢いで書いたらケーシングとかバラバラで、なんかごめん。
簡単なコードにはなってると思う。


 三           三三
      /;:"ゝ  三三  f;:二iュ  三三三
三   _ゞ::.ニ!    ,..'´ ̄`ヽノン <どうしてこんなになるまでほっといたんだ!
    /.;: .:}^(     <;:::::i:::::::.::: :}:}  三三
  〈::::.´ .:;.へに)二/.::i :::::::,.イ ト ヽ__
  ,へ;:ヾ-、ll__/.:::::、:::::f=ー'==、`ー-="⌒ヽ←>>>>123-141

. 〈::ミ/;;;iー゙ii====|:::::::.` Y ̄ ̄ ̄,.シ'=llー一'";;;ド'
  };;;};;;;;! ̄ll ̄ ̄|:::::::::.ヽ\-‐'"´ ̄ ̄ll
152デフォルトの名無しさん:2010/07/19(月) 21:14:24
配列a[n],配列b[n]と配列の大きさnを渡すと配列の要素を入れ換えるプログラムをポインタを用いて作成せよ.

例えば,a[3]={1,2,3},b[3]={101,102,103}とするとき,結果として,a[3]={101,102,103},b[3]={1,2,3}となるようにせよ.
153デフォルトの名無しさん:2010/07/19(月) 21:15:55
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
name(名前: char型配列), height(身長: float型変数), bloodType(血液型: char型変数)をメンバに持つ構造体を宣言し, 128名分が記憶可能になるようその構造体の配列を定義せよ.また,その配列に対して値を入力し,
さらに表示できるようにせよ.構造体のメンバ値を表示するには、ひとつの構造体の各メンバの値を表示する関数を作成すること。
% ./bodyData
1人目のデータ: 立命太郎 175.5 A
2人目のデータ: 野路花子 169.0 B
3人目のデータ: 衣笠一郎 180.4 O
4人目のデータ: 0 0 0 ← 0 0 0 と入力すると終わる.
名前 身長 血液型
立命太郎 175.5 A
野路花子 169.0 B
衣笠一郎 180.4 O
%

ヒント: 各人の名前、身長、血液型のデータを1行で入力するためには、参考12.1に示されたfgets()関数で、これらを1度に取り込み、最初の空白までを名前とみなし、次の空白までを身長とみなし、次に改行までを血液型をみなせばよい。これらを別々の文字列として、
必要に応じて整数や浮動小数点数に変換し、構造体のメンバに設定すること。

ヒント: ひとつの構造体の各メンバの値を表示する関数に構造体を引渡すことを繰り返えせばよい。





[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません
154デフォルトの名無しさん:2010/07/19(月) 21:17:12
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
>>153を基にデータを身長の高い順に出力するよう変更せよ.
% ./orderByHeight
… ← 入力は前課題と同じなので省略.
名前 身長 血液型
衣笠一郎 180.4 O
立命太郎 175.5 A
野路花子 169.0 B
%
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/20まで
[5] その他の制限:とくにありません

155デフォルトの名無しさん:2010/07/19(月) 21:19:02
1題ずつろだに上げる→まとめてURLをここに書く、とかしてくれるとありがたい
156デフォルトの名無しさん:2010/07/19(月) 21:20:27
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
入力したDNA塩基配列中に,atgという並びがいくつあるか調べるプログラムを作成せよ.但し,入力には t, c, a, g以外の文字も入っている.塩基以外の文字は無視すること.

【実行例】
% ./a.out
1gattatgtga
11tgccgatatc
21gatatgattc
(ここで ^D を押す)
#ATG is 3
%


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:とくにありません

157デフォルトの名無しさん:2010/07/19(月) 21:23:44
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
入力したDNA塩基配列中にある塩基 t, c, a, gそれぞれの個数をカウントするプログラムを作成せよ.

【実行例】
% ./a.out
tataatccg ← 入力し,リターンを押して ^D
Thymine (t) : 3
Cytosine (c) : 2
Adenine (a) : 3
Guanine (g) : 1
%



[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:とくにありません

158デフォルトの名無しさん:2010/07/19(月) 21:47:02
>>117さん、ありがとうございました。
159デフォルトの名無しさん:2010/07/19(月) 21:49:10
>>49です。
どなたかお願いできませんか。
160デフォルトの名無しさん:2010/07/19(月) 21:56:57
>>159
解いてやりたいが、低脳で問題が全く理解できない
161デフォルトの名無しさん:2010/07/19(月) 22:11:59
>>135
>>157
>>http://pc12.2ch.net/test/read.cgi/tech/1276810079/937, >>http://pc12.2ch.net/test/read.cgi/tech/1276810079/941

941 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/16(金) 14:22:36
>>937
#include <stdio.h>
#define LEN 128
int main(void)
{
char buf[LEN], *p;
int t, c, a, g;

t = c = a = g = 0;
gets(buf);

p = buf;
while (*p) {
switch (*p) {
case 't': t++; break;
case 'c': c++; break;
case 'a': a++; break;
case 'g': g++; break;
}
p++;
}

printf("Thymine (t) : %d\nCytosine (c) : %d\nAdenine (a) : %d\nGuanine (g) : %d\n", t, c, a, g);

return 0;
}
162デフォルトの名無しさん:2010/07/19(月) 22:14:12
>>147
>>156
http://pc12.2ch.net/test/read.cgi/tech/1276810079/943, http://pc12.2ch.net/test/read.cgi/tech/1276810079/954
954 名前:デフォルトの名無しさん[sage] 投稿日:2010/07/16(金) 18:19:08
#include <stdio.h>
#include <string.h>
#define N 100
int main(void)
{
    int cnt = 0;
    char s[] = "atg", s2[] = "tcag", buf[N], *p1, *p2;
    p1 = buf;
    while (scanf("%99s", p1) != EOF)
while (*p1)
    p1++;
    p1 = p2 = buf;
    while (*p1) {
while (strchr(s2, *p1) == 0)
    p1++;
*p2++ = *p1++;
    }
    *p2 = *p1;
    p1 = buf;
    while (strstr(p1, s)) {
cnt++;
p1 = (strstr(p1, s));
p1++;
    }
    printf("#ATG is %d\n", cnt);
    return 0;
}
163デフォルトの名無しさん:2010/07/19(月) 22:14:54
ほんと重複がおおいな。夏休み前ってこんなもんだっけ?
ATM回答書いたものだが、前スレの出題者が条件を全部書かなかったばかりに
ちょっと不完全な部分があるので改造して提出ドゾー。
164デフォルトの名無しさん:2010/07/19(月) 22:17:10
165デフォルトの名無しさん:2010/07/19(月) 22:18:56
166デフォルトの名無しさん:2010/07/19(月) 22:26:12
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
配列a[n],配列b[n]と配列の大きさnを渡すと配列の要素を入れ換えるプログラムをポインタを用いて作成せよ.

例えば,a[3]={1,2,3},b[3]={101,102,103}とするとき,結果として,a[3]={101,102,103},b[3]={1,2,3}となるようにせよ.


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:とくにありません
167デフォルトの名無しさん:2010/07/19(月) 22:29:47
>>49
問題の意味がよくわからんが、こんなんでいいのか?

#include <stdio.h>
int main(void) {
char src[32];
int *ptr_i;
double *ptr_d;
int i;
for(i = 0; i < 32; i++) {
src[i] = i;
}
ptr_i = (int *)src;
ptr_d = (double *)src;
for(i = 0; i < 8; i++) {
if ((char *)ptr_i == (char *)ptr_d) {
printf("ptr_d:");
ptr_d++;
} else {
printf(" ");
}
printf("%p) = 0x%x\n", ptr_i, *ptr_i);
ptr_i++;
}
return 0;
}
168デフォルトの名無しさん:2010/07/19(月) 22:36:47
>>139
http://codepad.org/I7AxHHCg

>>140
http://codepad.org/m5DcvLvu


結構ひどいコードになった…。
169デフォルトの名無しさん:2010/07/19(月) 22:38:50
>>133>>136です。
どなたかお願いしますorz
170デフォルトの名無しさん:2010/07/19(月) 23:23:00
171デフォルトの名無しさん:2010/07/19(月) 23:29:31
172デフォルトの名無しさん:2010/07/19(月) 23:34:22
>>46お願いします!!
173 ◆QZaw55cn4c :2010/07/19(月) 23:44:25
174デフォルトの名無しさん:2010/07/19(月) 23:50:13
[1] 授業単元:C++基礎
[2] 問題文(含コード&リンク):
基底クラスとして Shape、その派生クラスとして Rectangle (正方形)を定義し、
正四角形の辺の長さの合計と面積を計算する。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VisualStudio2005 コマンドプロンプト
 [3.3] 言語: C++
[4] 期限: 2010/7/20 8:50
[5] その他の制限: 基底クラスとMainは変更不可。加筆は、ソースコメント「問題箇所」で示します。

派生クラスを加筆しましたが、以下のエラーが出ます。
どう直せばいいか分かりません。お願いします。
enshu6_3.cpp(32) : error C2512: 'Shape' : クラス、構造体、共用体に既定のコンストラクタがありません。
課題はこの後投稿します。
175デフォルトの名無しさん:2010/07/19(月) 23:52:05
#include <stdio.h>
#include <math.h>
// クラス Shape
class Shape {
protected:
int n; // 辺の数
double l; // 辺の長さ
public:
Shape(int, double); // コンストラクタ
double hen(); // 辺の長さの合計
virtual double menseki() = 0; // 面積の計算(純粋仮想関数)
};

//問題箇所start
class Rectangle : public Shape
{
public:
Rectangle(){}
Rectangle(int n, double l ){} //: Shape(int, double) {} // コンストラクタ
double hen(){ return n * l; }
virtual double menseki(){ return l * l; }
};
//問題箇所end

int main()
{
double x;
scanf("%lf", &x);
Rectangle r(4, x);
printf("%.3f %.3f\n", r.hen(), r.menseki());
}
176デフォルトの名無しさん:2010/07/19(月) 23:53:00
>>143
hit計算部
X if ((s[k] == guess[l]) && (k != l)) {
○ if (s[k] == guess[k]) {

blow計算部
○ //break;
177デフォルトの名無しさん:2010/07/19(月) 23:59:38
void swap(int *a, int *b, int n){
while (--n >= 0) {
*a ^= *b;
*b ^= *a;
*a ^= *b;
a++;
b++;
}
}
178 ◆QZaw55cn4c :2010/07/20(火) 00:07:31
179デフォルトの名無しさん:2010/07/20(火) 00:09:30
>>177
swap (a, a, sizeof(a)/sizeof(int));
とやると、破綻しないか?
180デフォルトの名無しさん:2010/07/20(火) 00:12:51
void swap(int *a, int *b, int n){
int *aa=a;
int *bb=b;
while (--n >= 0) {
*aa ^= *bb;
*bb ^= *aa;
*aa ^= *bb;
aa++;
bb++;
}
}
181デフォルトの名無しさん:2010/07/20(火) 00:14:54
いや、そういうことじゃなくて0になるってことか
182デフォルトの名無しさん:2010/07/20(火) 00:16:20
始めにif(a==b) return;を入れればいいな
183デフォルトの名無しさん:2010/07/20(火) 00:18:13
>>180
どこでききかじったかしらないが、
swap(a, a, sizeof(a)/sizeof(int));
と書いてしまうと、a が 0 になってしまわないか?
184デフォルトの名無しさん:2010/07/20(火) 00:33:25
>>178
ありがとうございます!できました!
ちょっと気になるのは、派生クラスの加筆が問題だったのですが、
基底クラスにも加筆しているところです。
派生クラスだけの加筆では解決できないのでしょうか。
185デフォルトの名無しさん:2010/07/20(火) 00:36:07
ローカル変数tmpを使って入れ替えるのがそんなにイヤか?
186デフォルトの名無しさん:2010/07/20(火) 00:37:17
よろしくお願いします。 
文字列sの中の文字の順番を逆にコピーした文字列dを作るc言語の関数str_revcopy(d,s)を書け。
関数の返す値はコピーをした先のdとする。
ただし文字列sを逆順にコピーするのに十分な記憶領域があらかじめ確保されていて、その先頭がdで指されていると仮定する。
さらに、dとsの記憶領域には重なりがないとする。例えば
str_revcopy(d,"ABCDE")は文字列"EDCBA"を返し、
str_revcopy(d,"This is a pen")は文字列".nep a si sihT"を返し、
str_revcopy(d,"")は文字列""を返す。
187 ◆QZaw55cn4c :2010/07/20(火) 00:47:30
>>184
派生クラスを public に継承させている状態なので、
基底クラスのメンバ変数 n, l を基底クラス、派生クラスのどちらのコンストラクタで初期化するべきか、
という判断になります。派生クラス側で全部初期化するのであれば、次のようになるかと思います。
http://codepad.org/3LbwV44M
188デフォルトの名無しさん:2010/07/20(火) 00:50:53
1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
n個の実数(double型)を配列に読み込んだ後,配列を指すポインタを用いて,最大値と最小値を探索するプログラムを作成せよ.また,入力した値の平均値もポインタ変数を用いて計算せよ.

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:とくにありません


189デフォルトの名無しさん:2010/07/20(火) 01:15:21
190デフォルトの名無しさん:2010/07/20(火) 01:17:10
>>187
ありがとうございます。基底クラスで初期化するのが一般的みたいですね。
助かりました!
191デフォルトの名無しさん:2010/07/20(火) 01:30:49
>>167さんありがとうございました。
192デフォルトの名無しさん:2010/07/20(火) 01:45:56
[1] 授業単元:プログラミング応用
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10878.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:7/20まで
[5] その他の制限:
よろしくお願いします。
193186:2010/07/20(火) 01:49:33
[1] 授業単元:アルゴリズム
[2] 問題文(含コード&リンク):
文字列sの中の文字の順番を逆にコピーした文字列dを作るc言語の関数str_revcopy(d,s)を書け。
関数の返す値はコピーをした先のdとする。
ただし文字列sを逆順にコピーするのに十分な記憶領域があらかじめ確保されていて、その先頭がdで指されていると仮定する。
さらに、dとsの記憶領域には重なりがないとする。例えば
str_revcopy(d,"ABCDE")は文字列"EDCBA"を返し、
str_revcopy(d,"This is a pen")は文字列".nep a si sihT"を返し、
str_revcopy(d,"")は文字列""を返す。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VisualStudio コマンドプロンプト 2010
 [3.3] 言語:C
[4] 期限:7月20日16時
[5] その他の制限:特になし
194 ◆QZaw55cn4c :2010/07/20(火) 02:09:23
195デフォルトの名無しさん:2010/07/20(火) 02:35:53

>関数の返す値はコピーをした先のdとする。
あいかわらず問題文ちゃんと読めてないなw

>d[++j] = '\0';
ひどすぎるw
196 ◆QZaw55cn4c :2010/07/20(火) 08:02:15
>>195
ご指摘感謝、これでどうですか?
http://codepad.org/vfeg18JP
197デフォルトの名無しさん:2010/07/20(火) 08:13:37
◆QZaw55cn4c って確実に引きこもりニートだろ?こんなの相手にしていられる
暇があるなんて。稼ぎについては聞かないが、こんなことしてリア充な訳無いだろうしw
198デフォルトの名無しさん:2010/07/20(火) 08:30:47
>>196
横レスだが、個人的にはこの方が好き。
char *str_revcopy(char *d, char *s)
{
    int len, i = 0;
    len = strlen(s);
    while (len)
d[--len] = s[i++];
    d[i] = '\0';
    return d;
}
199デフォルトの名無しさん:2010/07/20(火) 11:14:36
[1] 授業単元:C++基礎
[2] 問題文(含コード&リンク):
n個の実数(double型)を配列に読み込んだ後,配列を指すポインタを用いて,最大値と最小値を探索するプログラムを作成せよ.また,入力した値の平均値もポインタ変数を用いて計算せよ.

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:とくにありませ
200デフォルトの名無しさん:2010/07/20(火) 11:15:57
[1] 授業単元:プログラミング基礎I
[2] 問題文(含コード&リンク):
配列a[n],配列b[n]と配列の大きさnを渡すと配列の要素を入れ換えるプログラムをポインタを用いて作成せよ.

例えば,a[3]={1,2,3},b[3]={101,102,103}とするとき,結果として,a[3]={101,102,103},b[3]={1,2,3}となるようにせよ.


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:とくにありません

201デフォルトの名無しさん:2010/07/20(火) 11:55:45
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
複数の文字列を読み込み,さらに,それらの文字列を繋ぎ合わせる順番を入力し結果を出力するプログラムを作成せよ.

【実行例】

何個の文字列を入力しますか?:4
入力文字列[1]:AAA
入力文字列[2]:BBB
入力文字列[3]:CCC
入力文字列[4]:DDD

繋ぎ合わせる順番:
2
4
3
1

結果: BBBDDDCCCAAA

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:途中までやったのですがうまくいきません。文字列を繋ぎ合わせる順番を入力し結果を出力するプログラムというのが難しいです。



202デフォルトの名無しさん:2010/07/20(火) 11:57:30
>>201の途中までやったプログラムです。申し訳ありませんが、どなたかよろしくお願いします。

int
main(void)
{
int i, j, p,q,seq[4], n;
char s[NN][100];

loop(i, NN) {
printf("何個の文字列を入力しますか?[%d]=", i);
scanf("%s", s[i]);
}
printf("繋ぎ合わせる順番を入力してください\n");
loop(i, NN) {
scanf("%d", &n);
seq[i] = n;
}
printf("結果 -> ");
loop(i, NN) {
loop(j, NN) {
loop(p,NN){
if (seq[j] == i + 1)
printf("%s", s[j,p]);


}
}
}
return 0;
}
203デフォルトの名無しさん:2010/07/20(火) 12:13:39
>>201 過去ログにあったなぁ・・・
204デフォルトの名無しさん:2010/07/20(火) 12:16:09
>>200
>>173

>>197
自己紹介ありがとうございます。
205 ◆xIIUupxBXw :2010/07/20(火) 12:19:14
1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク):
一行ごとにテキストファイル名が無限に書いてあるテキストファイルがある。
このファイルを読みだして書いてあるファイル名のファイル内容をすべて表示するプログラムを作れ
一行ごとに書いてあるファイルの最後は改行で終わっているものとする。

[3] 環境
 [3.1] OS: Windows
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日午前中
[5] その他の制限: とくにありません
206デフォルトの名無しさん:2010/07/20(火) 13:25:46
>>133,136
C++に詳しい人、書き換え頼む。
http://codepad.org/C4PXq60o
207デフォルトの名無しさん:2010/07/20(火) 13:28:13
>>205 (1/2)
#include <stdio.h>
#include <stdlib.h>
void chomp(char *cs) {
    int i = strlen(cs) - 1;
    for (;0 <= i && (cs[i] == '\r' || cs[i] == '\n'); i--) cs[i] = '\0';
}
void print(char *filename) {
#define SIZE 1024
    static char buff[SIZE];
    FILE *f = fopen(filename, "r");
    if (!f) return;
    for (;fgets(buff, SIZE, f);) printf("%s", buff);
    fclose(f);
#undef SIZE
}
208デフォルトの名無しさん:2010/07/20(火) 13:29:00
>>205 (2/2) >>204の続き
int main(int argc, char **argv) {
    FILE *f;
#define MAX_PATH 256
    char filename[MAX_PATH + 1];
    if (argc < 2) {
        printf("%s: no input files\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    if (!(f = fopen(argv[1], "r"))) {
        printf("%s: cannot read %s\n", argv[0], argv[1]);
        exit(EXIT_FAILURE);
    }
    for (;fgets(filename, MAX_PATH, f);) {
        chomp(filename);
        print(filename);
    }
#undef MAX_PATH
    fclose(f);
    return 0;
}
209 ◆xIIUupxBXw :2010/07/20(火) 13:42:42
>>208
仕事が早くて非常に感謝します
210デフォルトの名無しさん:2010/07/20(火) 13:54:30
いえいえ
211デフォルトの名無しさん:2010/07/20(火) 14:06:25
>>204
え?トリップ付けてないけど、あんたの自己紹介で間違いないの?
リア充ではない引きこもり乙
212デフォルトの名無しさん:2010/07/20(火) 15:30:20
[1] 授業単元:C++基礎
[2] 問題文(含コード&リンク):
n個の実数(double型)を配列に読み込んだ後,配列を指すポインタを用いて,最大値と最小値を探索するプログラムを作成せよ.また,入力した値の平均値もポインタ変数を用いて計算せよ.


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:7/21
[5] その他の制限:とくにありません


213デフォルトの名無しさん:2010/07/20(火) 15:33:01
配列を読み込み,平均値と総和を計算するプログラムを作成する.但し,以下の仕様を満足せよ.
# main関数では以下の関数だけを呼ぶだけにする.
# 整数nを読み込み,n個の配列に実数を読み込む関数.input(int *, double *)
# 整数nとn個の配列を渡すと,総和,平均を計算する関数.calcu(int, double *, double *, double *)
# 総和と平均を印字する関数output(double, double)

【プログラム(q8-0.c)】

#include <stdio.h>
void input(int *, double *);
void calcu(int, double *, double *, double *);
void output(double, double);

int main(void) {
int n;
double a[10];
double xsum, ave;

input(&n, a);
calcu(n, a, &xsum, &ave);
output(xsum, ave);

return 0;
}

214デフォルトの名無しさん:2010/07/20(火) 16:19:49
>>213
色々ひでーなw やるき(゚听)オキネ
215デフォルトの名無しさん:2010/07/20(火) 16:28:04
平均値とか総和とかさ…
それ作れないで授業受ける意味あるの?
まあ自分のことだからいいけどさ
216デフォルトの名無しさん:2010/07/20(火) 17:06:24
>>107
...
#define N 10
#define min(a,b) ((a<b)?a:b)
#define max(a,b) ((a>b)?a:b)

int main(void){
int i, j, a[N][N];
for (i = 0; i < N; i++)
for (j = 0; j < N; j++)
a[i][j] = min(min(i, j), 9 - max(i, j));
/*...
*/
return 0;
}
217デフォルトの名無しさん:2010/07/20(火) 17:53:05
>>107
//kadai6
for(int i = 0; i < 5; ++i) {
for(int j = i; j < 10 - i; ++j) {
a[i][j] = a[j][i] = a[9-i][j] = a[j][9-i] = i;
}}

//kadai8
for(int i = 0, k = 0; i < 5; ++i) {
for(int j = i; j < 10 - i; ++j) a[i][j] = k++;
for(int j = i + 1; j < 9 - i; ++j) a[j][9 - i] = k++;
for(int j = 9 - i; j > i; --j) a[9 - i][j] = k++;
for(int j = 9 - i; j > i; --j) a[j][i] = k++;
}
218 ◆QZaw55cn4c :2010/07/20(火) 18:51:09
>>201
http://codepad.org/EdDFTD5R

>>198
nice ですね。

>>197
自己紹介ありがとうございます。
219デフォルトの名無しさん:2010/07/20(火) 18:54:11
>>218
お前の自己紹介で間違ってなかったのかw
220デフォルトの名無しさん:2010/07/20(火) 19:09:59
>>219
お前も同類だろw
221デフォルトの名無しさん:2010/07/20(火) 19:17:28
1] 授業単元: C言語プログラミング
[2] 問題コード
秒数を与えると,それが何時間何分何秒にあたるかを計算する関数 void calctime(int sec, int *hp, int *mp, int *sp); を作れ.たとえば calctime(3725, &h, &m, &s); として呼び出すと h = 1, m = 2, s = 5 となる.但し,1時間2分5秒は3725秒である.

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません


222デフォルトの名無しさん:2010/07/20(火) 19:40:12
>>221
#include <stdio.h>
void calctime(int sec, int *hp, int *mp, int *sp){
*sp=sec%60; *mp=sec/60; *hp=*mp/60; *mp%=60;
}

int main(){
int sec, h, m, s;
h=m=s=0;
sec = 3725;
calctime(sec, &h, &m, &s);
printf("%d時%d分%d秒\n",h,m,s);
}
223デフォルトの名無しさん:2010/07/20(火) 19:42:22
>>222
ありがとうございます。助かります!
224デフォルトの名無しさん:2010/07/20(火) 19:50:05
[1] 授業単元:C++プログラミング
[2] 問題文(含コード&リンク): 航空会社が持っている小型航空機(座席数:24)のフライトに座席を割り当てるシステムをプログラミングせよ。
この航空機の座席は中央に通路を挟み左右にそれぞれ2座席ずつの列が計6列ある。
座席は 1A, 1B, 1C, 1D, ..., 6A, 6B, 6C, 6D で表示され、 1, 2列目が喫煙区画で、 A, D が窓側、 B, C が通路側を示している。

プログラムはまず最初に次の選択メニューを表示する。

喫煙席を希望する方は 1 をタイプしてください。
禁煙席を希望する方は 2 をタイプしてください。

喫煙/禁煙の選択が終わると、 窓側か通路側かの選択を求める。

窓側を希望する方は 1 をタイプしてくださ。
通路側を希望する方は 2 をタイプしてください。

希望に沿える席がすべて予約済みで割り当てられない場合には、窓側又は通路側の希望については無視して割り当てる。
ただし, 「窓側(あるいは通路側)はすでに満席のため通路側(窓側)で予約します」というメッセージを出力し、
以下のように座席番号と喫煙席/禁煙席の区分が書かれた搭乗券を(この課題では画面上に)出力する。

--------
2A 禁煙
--------
225デフォルトの名無しさん:2010/07/20(火) 20:03:21
1] 授業単元: C言語プログラミング
[2] 問題コード

三角形の3頂点の座標,(x1,y1),(x2,y2),(x3,y3)を読み込んで 3つの内角の角度θ1,θ2,θ3をdeg単位(°)で計算し,印字するプログラムを作成せよ.
但し,double型変数 θ1,θ2,θ3へのポインタ変数とdouble型変数 x1,y1,x2,y2,x3,y3を引数とする関数を作成し,main関数では同関数を呼び出すようにせよ[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません

226デフォルトの名無しさん:2010/07/20(火) 20:04:20
それから、禁煙区画(あるいは喫煙区画)が窓側又は通路側ともに満席のときには喫煙区画(禁煙区画)でも良いかどうか乗客に尋ねなければならない。
乗客がOKすれば(窓側/通路側の希望はできるだけ尊重した上で)空いている座席を割り当て搭乗券を出力し、しなければ「3時間後に次のフライトがあります。」というメッセージを出力して終了する。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual Studio2008
 [3.3] 言語:C++
[4] 期限:2010/07/26まで
[5] その他の制限:なし

どなたか親切な方…よろしくお願いします。
227デフォルトの名無しさん:2010/07/20(火) 20:05:24
>>224の続きが>>226です
228デフォルトの名無しさん:2010/07/20(火) 21:28:19
>>192ですが、
勝つとモンスターのヒットポイント、アタックポイント、ガードポイントを
それぞれアップするという機能を追加して作っていただきたいのですが。
よろしくお願いします。
229 ◆QZaw55cn4c :2010/07/20(火) 21:44:59
>>225
http://codepad.org/REwumesl

>>197
自己紹介ありがとうございます。
230デフォルトの名無しさん:2010/07/20(火) 21:45:54
231デフォルトの名無しさん:2010/07/20(火) 21:58:09
1] 授業単元: C言語プログラミング
[2] 問題コード

人数nを読み込んだ後,n個のfloat型配列を動的に確保し,配列に身長のデータを読み込んでいき,
入力された身長を10cmごとにわけたヒストグラムを生成するプログラムを作成せよ.
但し,nの読み込みとn個の動的メモリ確保はmain関数内で行い,身長の読み込み及び,印字する部分は関数として作成せよ.

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません
232 ◆QZaw55cn4c :2010/07/20(火) 22:04:43
>>213
http://codepad.org/16zuXnfY

>>197
自己紹介ありがとうございます。
233デフォルトの名無しさん:2010/07/20(火) 22:06:50
いつの間に自己紹介スレになったんだ、ここは
234デフォルトの名無しさん:2010/07/20(火) 22:17:08
何度も失礼します。
どなたか>>46おねがいします。
235 ◆QZaw55cn4c :2010/07/20(火) 22:26:17
>>231
http://codepad.org/FcARwSFG

>>197
自己紹介ありがとうございます。
236デフォルトの名無しさん:2010/07/20(火) 22:34:50
1] 授業単元: C言語プログラミング
[2] 問題コード
nを読み込み,n個のint型配列を動的に確保,n個の配列はn人の勇者とする.以下仕様に従ったプログラムを作成せよ.

•それぞれの勇者にヒットポイントを与える.
•敵のヒットポイントを与える.
•乱数を発生し,誰の攻撃かを決定する.
•攻撃をする際に,会心の一撃,普通の攻撃,ミスを乱数で決定する.
•相手に与えるダメージを乱数で決定する.
•敵の攻撃の場合,何人にどれだけ攻撃をするかを乱数で決定する.
•敵のヒットポイントが無くなるか,勇者が全滅したら終了とする

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません
237 ◆QZaw55cn4c :2010/07/20(火) 22:39:22
>>46
>>234
http://codepad.org/TaipQ6dl

>>197
自己紹介ありがとうございます。
238デフォルトの名無しさん:2010/07/20(火) 22:43:44
239デフォルトの名無しさん:2010/07/20(火) 22:52:39
>>192 >>228です。
どなたかお願いします。
240デフォルトの名無しさん:2010/07/20(火) 23:00:13
>>239

>>228の付加条件では、

> 2.構造体のメンバ変数を1つ以上増やすこと。

を満たせないと思うが。
241デフォルトの名無しさん:2010/07/20(火) 23:01:12
>>239
「勝つと」という条件だけではなぁ。
そもそもゲームの中身が分からない件。
242デフォルトの名無しさん:2010/07/20(火) 23:02:38
>>241
いや、多分関数が用意できれば良くて、
それを呼び出す(戦闘を行って勝つ)必要はないような気がする。
243デフォルトの名無しさん:2010/07/20(火) 23:14:24
>>239
http://codepad.org/XhStFj1R

1.関数を新たに1つ作成すること

 IsRunAway()を追加。
  逃走可能かどうかを調べる関数。
  モンスターのスピードポイントが、プレイヤーのスピードポイントを上回れば、逃走可能。

2.構造体のメンバ変数を1つ以上増やすこと。

 int sp; //スピードポイント(※追加)
  素早さを表すスピードポイントを追加。

>>228とは違うけど、こんな感じ?
244デフォルトの名無しさん:2010/07/20(火) 23:21:30
>>243さん、ありがとうございます。
条件はなんでも良かったので助かりました。
他の方も返答いただきありがとうございました。
それにしても、皆さん作るのが速くてうらやましいです。
245デフォルトの名無しさん:2010/07/21(水) 00:03:22
どなたか>>224>>226をお願いします
246107:2010/07/21(水) 00:05:27
>>216-217
ありがとうございます。
247229 ◆QZaw55cn4c :2010/07/21(水) 00:25:39
>>225
間違えておりました。訂正します。
http://codepad.org/obITTN9G

>>197
自己紹介ありがとうございます。
248デフォルトの名無しさん:2010/07/21(水) 09:14:07
[1] C言語プログラミング
[2] http://www.dotup.org/uploda/www.dotup.org1041113.c
[3] 環境
 [3.1] mac
 [3.2] 学校のパソコンなんでわかりません、たぶんgcc
 [3.3] C
[4] 7/22
[5] 4次のルンゲクッタ法で
d^2x/dt=-x/√(x^2+y^2)^3
d^2y/dt=-y/√(x^2+y^2)^3
を解きたいのですがどうもうまくいきません。
上の部分でルンゲクッタ法の関数を直していただきたいです。
249248:2010/07/21(水) 09:15:52
すいません正しくは
d^2x/dt^2=-x/√(x^2+y^2)^3
d^2y/dt^2=-y/√(x^2+y^2)^3
です。訂正しなくてもわかると思いマスが・・・
250デフォルトの名無しさん:2010/07/21(水) 10:47:19
208のをfgetcを使ったプログラムをお願いします。
251デフォルトの名無しさん:2010/07/21(水) 10:57:16
1] 授業単元: C言語プログラミング
[2] 問題コード
nを読み込み,n個のint型配列を動的に確保し, n回サイコロを振った結果をその配列に格納せよ.
その後,偶数が出た回数と奇数が出た回数,1から6までの出た目の確率を表示せよ.但し,nの読み込みとn個の動的メモリ確保はmain関数内で行い,サイコロの配列読み込み部分と計算の部分,表示の部分はそれぞれ関数として作成せよ.

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません
252デフォルトの名無しさん:2010/07/21(水) 11:48:37
>>250
>>207-208のfgetsを_fgetsに置き換えたりするのは…駄目?
char *_fgets(char *cs, int n, FILE *f){
    int c;
    char *p;
    for (p = cs; --n > 0 && (c = getc(f)) != EOF; ) if ((*p++ = c) == '\n') break;
    *p = '\0';
    return (c == EOF && p == cs) ? NULL : cs;
}

上記_fgetsはK&Rのものをパクりました。あと、エラー処理も、

    if (argc < 2) {
        fprintf(stderr, "%s: no input files\n", argv[0]);
        exit(EXIT_FAILURE);
    }
    if (!(f = fopen(argv[1], "r"))) {
        fprintf(stderr, "%s: cannot read %s\n", argv[0], argv[1]);
        exit(EXIT_FAILURE);
    }

こうしたほうがちょとだけマシ。
253デフォルトの名無しさん:2010/07/21(水) 11:59:44
>>46です。
>>237
ありがとうございます。
Aの課題の、キュー(先入れ先出し方式のデータ構造)のプログラムもお願いします。
254デフォルトの名無しさん:2010/07/21(水) 12:24:01
255デフォルトの名無しさん:2010/07/21(水) 12:33:19
1] 授業単元: C言語プログラミング
[2] 問題コード

この問題が良く分かりません。すいませんがよろしくお願いします。
問題
以下のプログラムは正しくない.どのように正しくないか.このプログラムをコンパイルするとエラーメッセージは表示されるか.実行するとどのようになるか結果を考察せよ.

【プログラム(bad2.c)】

#include <stdio.h>

void func(double *p) {
*p = 13;
}

int main(void) {
int d = 12;

func(&d);
printf("%d\n", d);
return 0;
}



[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません
256デフォルトの名無しさん:2010/07/21(水) 12:56:28
1] 授業単元: C言語プログラミング
[2] 問題コード
n個の実数(double型)を配列に読み込んだ後,配列を指すポインタを用いて,最大値と最小値を探索するプログラムを作成せよ.また,入力した値の平均値もポインタ変数を用いて計算せよ.

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません
257デフォルトの名無しさん:2010/07/21(水) 13:26:13
>>255 絞殺してみた。
問題点
void func(double *p) < 引数はdouble型のポインタ
main 関数の中
int d = 12; < dはint型の変数
func(&d);  < アドレスを渡しているのは問題ないが、dの変数がint型なので不適切
変数の型が一致しない点が問題。

結果はコンパイル、実行して確認すれば分かる。
258デフォルトの名無しさん:2010/07/21(水) 15:45:05
[1] 授業単元: 情報処理(C言語)
[2] 問題文:1+2+3+4+5+6…というように足していき、
その累計がはじめて一万を超える時の値を求めるプログラムを作成せよ。
[3] 環境
 [3.1] OS:Windows xp 32bit
 [3.2] コンパイラ名:visual studio 学校のパソコンなのでバージョンはわかりません。
 [3.3] 言語:C言語
[4] 期限: 2010年7月26日(月)まで
条件は特にありません ちなみに
「ヒント:for文、あるいはwhile文を使うと簡単」と書いてありました。
回答、よろしくお願いします。
259デフォルトの名無しさん:2010/07/21(水) 15:58:01
> 「ヒント:for文、あるいはwhile文を使うと簡単」と書いてありました。
エェ〜〜等差数列の和の公式を用いる方が効率が良いYO!
260258:2010/07/21(水) 16:03:21
すみません、等差数列とは何ですか?
261デフォルトの名無しさん:2010/07/21(水) 16:16:41
#include <stdio.h>
int main()
{
int i, s=0;
for(i=1;s<=10000;i++) s+=i;
printf("%d", s);
return 0;
}
262260:2010/07/21(水) 16:24:59
ありがとうございます。
明日学校で早速コンパイルしようと思います。
263デフォルトの名無しさん:2010/07/21(水) 16:29:25
>>260
ちょっwwww 高校の数学レベルwwww
264デフォルトの名無しさん:2010/07/21(水) 16:32:09
意味合いとしては〜を超えるとはイコールでは駄目。
s>10000が適切な解釈。今回は問題はなかったが。
数学だけでなく言葉の意味としても以上との区別はされる。
http://dic.yahoo.co.jp/dsearch?enc=UTF-8&stype=1&dtype=5&p=%E8%B6%85%E3%81%88%E3%82%8B
265261:2010/07/21(水) 16:36:42
>>264
(s>10000)の逆が真である限り足し続けるのではないでしょうか
266デフォルトの名無しさん:2010/07/21(水) 17:03:02
1] 授業単元: C言語プログラミング
[2] 問題コード
n個の実数(double型)を配列に読み込んだ後,配列を指すポインタを用いて,最大値と最小値を探索するプログラムを作成せよ.また,入力した値の平均値もポインタ変数を用いて計算せよ.
[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月21日
[5] その他の制限: とくにありません
267デフォルトの名無しさん:2010/07/21(水) 17:07:52
>>259
乗算使う和の公式が、単純に加算してくやり方より効率よくなるなんてことはないと思うが。
ためしにちょっとコード書いてみてくれ。
268デフォルトの名無しさん:2010/07/21(水) 17:22:24
期限7月21日ってもう間に合わなくね
269デフォルトの名無しさん:2010/07/21(水) 18:01:35
なんか質問者と回答の半分くらいのホストが一緒なんだけど自作自演ってことでよろしいか?
270デフォルトの名無しさん:2010/07/21(水) 18:05:09
>>269
よろしいよ。

つうかこのスレは質問をするか回答をするかのどっちかなのに
一人で両方するとか意味のわからん人だな
271デフォルトの名無しさん:2010/07/21(水) 19:00:46
>>187
Shape::Shape(int n, double l) : n(n), l(l) {}
double Shape::hen() { return n * l; }

class Rectangle : public Shape
{
public:
Rectangle(int n, double l ) : Shape(n, l) {}
virtual double menseki(){ return l * l; }
};

亀だが、こうしろってことじゃなかったのかなぁ。
272デフォルトの名無しさん:2010/07/21(水) 19:05:10
>>269
やけに活気があると思ったら、そういうことか。
273デフォルトの名無しさん:2010/07/21(水) 19:10:36
[1] 授業単元:プログラミングT
[2] 問題文(含コード&リンク):以下に示す2つのプログラムを作成せよ
              1)文字配列の文字列の順序を逆にする関数toReverseを作成せよ。
                また、関数toReverseを用いて入力した文字列の順序を逆にした
                文字列を表示するプログラムを作成せよ。
                void toReverse(char[]); とする
                実行例:abcde
edcba

2)文字配列の文字列に含まれる小文字を大文字にする関数toUpperを作成し、
                 入力した文字列の小文字を大文字に変換して表示するプログラムを作成せよ。
                実行例:This is a pen.
THIS IS A PEN.

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限:[2010年07月22日18:00まで]
[5] その他の制限:問題文中に指定されている関数を使用してください。

よろしくお願いします。
274デフォルトの名無しさん:2010/07/21(水) 19:31:01
275デフォルトの名無しさん:2010/07/21(水) 19:34:45
276273:2010/07/21(水) 19:38:47
>>274
ありがとうございました
277デフォルトの名無しさん:2010/07/21(水) 19:43:59
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク):画像から画素値を読み込み2値化してコマンドライン上に0or1のみで出力
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Borland C++
[4] 期限:[明日AM9時]
[5] その他の制限:画素の抽出手順がイマイチ分からないので、そこを分かりやすくお願いします

私が考えた手順
1.画像ファイルを開ける
2.fgetc(file名)!= EOFの間、2次元配列にfgetc(file名)を代入
3.適当な基準(閾値)で0と1に分けて出力

例えば、左上から斜め下に直線を引いた5x5pixの画像なら、
10000
01000
00100
00010
00001

と出力させたいのですが、私の作ったものだと直線になってくれません。よろしくお願いします。
278277:2010/07/21(水) 19:45:11
追記すみません。使用言語はCです。
279デフォルトの名無しさん:2010/07/21(水) 20:01:29
>>269
前にも同じようなことがありましたねえ‥‥‥。
難度が高くて未回答の問題が繰り返しポストされていたんです。
なんだかおんなじような反応ですね。
280デフォルトの名無しさん:2010/07/21(水) 20:04:38
>>267

#include <math.h>
#include <stdio.h>
int main(void)
{
int a = 10000;
int n = (int)((-1 + sqrt(1+8*a)) / 2 + 1);
printf("%d", n);
return 0;
}
281 ◆QZaw55cn4c :2010/07/21(水) 20:12:40
>>271
ん、私も基底クラス側で基底クラスのメンバ変数を初期化するもの、と最初は思っていたのですが、
要望としては、派生クラス側でメンバ変数を初期化したかったみたいです。
だから、派生クラスのコンストラクタで基底クラスのメンバ変数を初期化するしかない、と考えました。
いや、まあ、あの、なんというか、public な基底クラスを public で継承すれば、そういうことも可能ではあるのですけれども。
282デフォルトの名無しさん:2010/07/21(水) 20:15:48
>>96
>>97
お礼が遅れて申し訳ありませんでした ありがとうございました
283デフォルトの名無しさん:2010/07/21(水) 20:28:08
>>281
派生クラスでメンバ変数を初期化したいという要望なんてないよ。
あるのは、>>175での「問題箇所」以外の部分を変更して欲しくないという要望だけ。

それで、題意を満たすためには、
もともと実装されていないShapeクラスのメソッドを実装することと、
派生クラスの記述をすれば十分でしょう、ということなんだけど。
284 ◆QZaw55cn4c :2010/07/21(水) 20:33:48
>>283
なるほど、そういうことですか。
でも、最初は >>178 で基底クラスのコンストラクタをあらためて記述したんですが、>>184 で基底クラスに加筆するな、ていわれてしまったので、
コンストラクタを含む基底クラスの一切を変更せずに >>187 で派生クラスにのみ手を加えることにしました。
必然的に、派生クラスのコンストラクタで基底クラスのメンバ変数を初期化することになったんです。
285デフォルトの名無しさん:2010/07/21(水) 20:41:49
C言語で以下の機能をもつプログラムを作りなさい
@12ヶ月分の平均気温が入力できる
A入力された月ごとの気温の小数点以下は四捨五入し、その数だけ横に*を並べていくことで気温の推移を視覚化できる
B年間平均気温、最高気温、最低気温を計算し、出力できる

C言語自体さっぱりわかりません どなたかよろしくお願いします。
286デフォルトの名無しさん:2010/07/21(水) 20:43:04
さっぱり分らんなら、単位はすっぱりあきらめろ。
287デフォルトの名無しさん:2010/07/21(水) 20:44:16
とすればいいのでは?と言っているよ。
>>187は「コンストラクタを含む基底クラスの一切を変更せず」を満たしていないよ。
既存のコンストラクタを削除した上でデフォルトコンストラクタを追加しているよね。
それに対し、>>271は加筆を行う場所以外のコードを一切変更していないよ。

というかそこが本題なんだけど。。
288デフォルトの名無しさん:2010/07/21(水) 20:48:18
>>286そうもいかないのでどうかひとつ;;
#include <stdio.h>

int main(void)
{
double t[12];  /*12ヶ月間の月平均気温*/
double max,min; /*最高気温、最低気温*/
double kei=0; /*12ヶ月気温合計*/
double te; /*月平均気温*/
int tz; /*月平均気温+0.5後切り捨て*/
int a,b,c; /*記号*/

/*入力*/
for(a=0;a<12;a++){
printf("%2d月の平均気温は(℃)",a+1);
scanf ("%lf",t[a]);
  }

/*計算:最高、最低気温*/
max = t[0];
min = t[0];

if (t[a]<t[0])
max = t[0]
if (t[a]>t[0]
min = t[0]
for(i=0;i<12;i++){
te = t[a];
tz = (int)(te+0.5); /*四捨五入*/
printf("%2d月 %2d度 |",a+1,tz);
for(b=0;b<tz;b++){ /* *グラフ出力*/
printf("*");
289287:2010/07/21(水) 20:48:48
ごめん、下書きが残ってた。1行目は無視してくだされ。
安価もつけ忘れてた。>>284宛てです。
290デフォルトの名無しさん:2010/07/21(水) 20:49:43

}
printf("\n");

kei = kei + t[a] /*12ヶ月の気温合計*/
}

/*年間平均気温、最高気温、最低気温出力*/
printf("年間平均気温:%3.2f\n",kei/12);
printf("年間最高気温:%3.2f\n",max);
printf("年間最低気温:%3.2f\n",min);

return 0;
}

見よう見まねで作っては見たのですがさっぱりです
とうかコンパイルの仕方もわかりません!助けてください!
291デフォルトの名無しさん:2010/07/21(水) 20:50:36
>>285 >>288
>>1を音読してください。理解したらもう帰っていいですよ。
292デフォルトの名無しさん:2010/07/21(水) 21:03:11
カレンダー算出の課題はないの?
293デフォルトの名無しさん:2010/07/21(水) 21:11:06
CodePadが重い・・・。回答できないぽ。
294デフォルトの名無しさん:2010/07/21(水) 21:14:32
>277-278
http://codepad.org/224dG4ho

自力でビットマップ読み込んで、
適当な閾値で0と1に分けて表示したけど、
こんな感じでおっけーだろうか?
295デフォルトの名無しさん:2010/07/21(水) 21:25:58
>>294
http://codepad.org/mQZw0DS6

mallocしてたのに、freeしてなかった、すまん。
296デフォルトの名無しさん:2010/07/21(水) 21:29:19
>>291失礼いたしました。改めてお願いします。
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):C言語で以下の機能をもつプログラムを作りなさい
@12ヶ月分の平均気温が入力できる
A入力された月ごとの気温の小数点以下は四捨五入し、その数だけ横に*を並べていくことで気温の推移を視覚化できる
B年間平均気温、最高気温、最低気温を計算し、出力できる
[3] 環境
 [3.1] OS: Window
 [3.2] コンパイラ名とバージョン: gcc ver不明
 [3.3] 言語: C
[4] 期限: ([2010年07月22日16:00まで]
[5] その他の制限: 初修のクラスです。制限は特になないとは思います。

どうかよろしくお願いします。
297デフォルトの名無しさん:2010/07/21(水) 21:48:58
>>295
structはノーパディングになるのか?
素直にwindows.hをインクルードしたほうが良いんじゃないか
298デフォルトの名無しさん:2010/07/21(水) 21:59:39
>>287
あらためて問題をみなおしてみると、私のコード >>187 は基底クラスに空っぽのコンストラクタを書きくわえているので、
ご指摘のとおり、一切変更しない、という課題は満たしていませんでした。

>>175 は、基底クラス
Shape(double, int);
とコンストラクタを書いていないので、派生クラス側でどのように記述しようとも、
派生クラスのコンストラクタが基底クラスのコンストラクタをよびだせないですね。
Shape(double, int) {};
と基底クラスのコンストラクタを(どんなものであれ)書かなくてはいけないようですね。
その上で、派生クラスのコンストラクタを
Rectangle(int n, double l ) : Shape(n, l) { this->n = n; this->l = l; }
などと書き、派生クラスのコンストラクタで基底クラスのメンバ変数を初期化することは問題ないですよね。

最低限の変更ですますのなら、
・Shape::Shape(int, double) に、からっぽにせよコンストラクタを陽に記述する。
・Rectangle::Rectangle() は削除する。
・Rectangle::Rectangle(int, double) に必要なコンストラクタ(n, l で初期化する)を書き、かつ、Shape::Shape(int, double) を呼び出すように陽に記述する。
でいいようですね。http://codepad.org/Ow5igEu3

>>271 も基底クラスのコンストラクタに空っぽのコードにせよ、かいていますよね。
299デフォルトの名無しさん:2010/07/21(水) 22:02:00
どなたか>>46のAの問題を解いていただけないでしょうか。
300デフォルトの名無しさん:2010/07/21(水) 22:16:15
>>297
パディングめっさ入ってる。
だからデータを塊で読むんじゃなくて、個別に読み込んじゃった。
まー確かに、Windows.h使った方が断然いいと思う。申し訳ない。
301デフォルトの名無しさん:2010/07/21(水) 22:28:29
わからんひとだなぁ。
それだと、
class Shape {
};
の中を変更してるでしょ。
ここを変えてくれるな、と出題者は言ってるわけで。
だから外に定義を書こうと言ってるんだよ。

> >>271 も基底クラスのコンストラクタに空っぽのコードにせよ、かいていますよね。
空っぽじゃないよ。

純粋仮想関数が含まれるクラスに、非仮想関数があって、
それを派生クラスで再定義していることについて違和感はないの?

提供されているクラスにツッコミどころはたくさんあるけど、
そのコードが持っている意図をくみ取ってあげようよ。

学生向けにわざとずれた回答を用意してるわけじゃないよね?
C++に慣れてないとか?
302デフォルトの名無しさん:2010/07/21(水) 22:35:13
>>296
マイナス温度入力には対応していない。
http://codepad.org/BBCHZ77k
303デフォルトの名無しさん:2010/07/21(水) 22:36:24
>>301
いやたしかにc++1には慣れていないと思います。失礼いたしました。
304 ◆QZaw55cn4c :2010/07/21(水) 22:38:37
>>299
http://codepad.org/LOHIaUGa

>>197
自己紹介ありがとうございます。
305303:2010/07/21(水) 22:43:54
typoです。s/c++1/c++/g
306デフォルトの名無しさん:2010/07/21(水) 22:48:04
>>303 >>305
どちらさま?

>>◆QZaw55cn4c
一応全体はっとくね。
http://codepad.org/ptllMGv9
長々になったけど、また適当な時に突っ込み入れます。回答がんばれ。
307 ◆QZaw55cn4c :2010/07/21(水) 23:02:22
>>306
>>303 = >>305 = >◆QZaw55cn4c です。
あらためて。
C++ には慣れておらず、頓珍漢なことを言っていたと思います。お付き合いくださり、またソース提供も、ありがとうございます。
308デフォルトの名無しさん:2010/07/22(木) 00:10:01
♠ ♦ ♥ ♣
309デフォルトの名無しさん:2010/07/22(木) 00:36:23
トリ付けたり外したりするのはなんか理由があるの?
310デフォルトの名無しさん:2010/07/22(木) 00:48:16
>>309
基本的には、トリップはいらないのですが、宿題の回答に対してはトリップをつけます。
宿題出題者とのコミュニケーションを円滑にするためです。

宿題回答以外でもトリップをつけているときがあれば、それは単にはずし忘れです。
311デフォルトの名無しさん:2010/07/22(木) 01:02:47
あとトリップをつけていると、ありがたい指摘をいただきやすい、ということもあります。
312デフォルトの名無しさん:2010/07/22(木) 02:38:19
なりすましと勘違いされないようにずっと酉つけておいた方がよいような。
せっかく回答してんのにもったいないねー
酉の付け外し(ID無し板での自演用?)がクセになってるのかと思っちゃうよ。
313デフォルトの名無しさん:2010/07/22(木) 03:32:39
そうかそうか、そんなに麻呂のクソミソースを見たいでおじゃるか?
お尻を出して準備しているでおじゃるから、早く課題を出すでおじゃる
314デフォルトの名無しさん:2010/07/22(木) 04:41:23
[1] 授業単元: 情報処理(C言語)
[2] 問題文:幅wと高さhを入力し、次のような長方形を
表示するプログラムを作成せよ。
w=7
h=5
*******
*_____*
*_____*
*_____*
*******
_はスペースです。この掲示板だとずれるのでこのように表記しました。
条件として、この処理には繰り返し処理を用いてつくること。
[3] 環境
 [3.1] OS:Windows xp 32bit
 [3.2] コンパイラ名:visual studio 学校のパソコンなのでバージョンはわかりません。
 [3.3] 言語:C言語
[4] 期限: 2010年7月26日(月)まで
条件は上に書いたとおり、繰り返し処理を用いてつくるのが条件だそうです。
回答、よろしくお願いします。
315デフォルトの名無しさん:2010/07/22(木) 05:00:27
>>314
#include <stdio.h>
int main(void) {
int i, j, w, h;
printf("w=");
if (scanf("%d", &w) != 1) {
return 0;
}
printf("h=");
if (scanf("%d", &h) != 1) {
return 0;
}
for (i = 0; i < h; i++) {
for (j = 0; j < w; j++) {
if (i == 0 || i == h - 1 || j == 0 || j == w - 1) {
putchar('*');
} else {
putchar('_');
}
}
putchar('\n');
}
return 0;
}
316314:2010/07/22(木) 05:07:28
>>315
ありがとうございます!!
それにしても作るの早いですね。
317デフォルトの名無しさん:2010/07/22(木) 12:29:33
>>313
あいかわらずやるやる詐欺ですか。
318デフォルトの名無しさん:2010/07/22(木) 13:14:10
1] 授業単元: C言語プログラミング
[2] 問題コード
キーボードから入力した文字列をファイルに書き出すプログラムを作成せよ.

【実行例】

% ./a.out
Ikuno
Soichiro
Hello World!
^D

% cat hoge.txt
Ikuno
Soichiro
Hello World!

[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語: C
[4] 期限: 7月23日
[5] その他の制限: とくにありません
319デフォルトの名無しさん:2010/07/22(木) 14:15:15
C++の多態性ってなんのこと?
教えてエロイ人
320デフォルトの名無しさん:2010/07/22(木) 14:48:32
>>318
#include <stdio.h>
int main(int argc, char* argv[])
{
char input[128];
FILE* fp;
if ((fp = fopen("hoge.txt", "w")) == NULL) return 0;
while (fgets(input, sizeof (input), stdin) != NULL)
fputs(input, fp);
fclose(fp);
return 0;
}
321デフォルトの名無しさん:2010/07/22(木) 15:42:44
>>317
数年も前にも出た似たような課題を今更解く気になれんし。
お前が回答しているから偉そうにしているんだろうけど、あまりにも
お前のソースが酷くて、クソース未満で話にならん。
322デフォルトの名無しさん:2010/07/22(木) 15:44:26
>>320
mainの引数は何に使うの?
323デフォルトの名無しさん:2010/07/22(木) 15:47:48
>>318
#include <stdio.h>
int main(void) {
char ch; FILE* fp;
if ( (fp = fopen("hoge.txt", "w")) == NULL ) return 1;
while ( (ch=getchar()) != EOF ) fputc(ch, fp);
fclose(fp);
return 0;
}
324デフォルトの名無しさん:2010/07/22(木) 17:15:25
[1] 授業単元: 情報処理(C言語)
[2] 問題文:入力した整数を因数分解してその値を全て表示するプログラムを作成せよ。
ただし、入力した整数が2未満の場合は「2以上の整数を入力してください。」と表示させること。
例:整数値42を入力→表示2 3 7
  整数値340を入力→表示2 2 5 17
[3] 環境
 [3.1] OS:Windows xp 32bit
 [3.2] コンパイラ名:visual studio バージョン:不明
 [3.3] 言語:C言語
[4] 期限: 明日(2010年7月23日(金))まで
[5]条件:特にありません。
よろしくお願いします。
325デフォルトの名無しさん:2010/07/22(木) 18:14:30
>>321
書かないくせに他人のソースと比べることができるのでしょうかね。
なんだったらひとつ書いて御覧なさい?書けるのかな?書けないでしょうけど。
326 ◆QZaw55cn4c :2010/07/22(木) 18:23:42
>>324
http://codepad.org/DZW7AQy1

>>197
自己紹介ありがとうございます。
327 ◆QZaw55cn4c :2010/07/22(木) 18:27:17
>>324
訂正します。
>入力した整数が2未満の場合は「2以上の整数を入力してください。」と表示させること。
http://codepad.org/VkWqo0Uj
328324:2010/07/22(木) 18:40:40
>>326-327
ありがとうございます。助かりました。
329デフォルトの名無しさん:2010/07/22(木) 19:09:44
>>325
しつけぇ、きめぇんだ、他人とじゃれ合う場所じゃねぇ、答える気がないなら失せろ
330デフォルトの名無しさん:2010/07/22(木) 19:11:12
>>329
回答してますけど、なにか?
331デフォルトの名無しさん:2010/07/22(木) 19:12:38
よっぽど麻呂に実力負けして悔しかったんだなw
こんな2ちゃんなんて便所の落書きに煩悩するって
日ごろ、現実世界で惨めな生活をしているんだろうねw
332デフォルトの名無しさん:2010/07/22(木) 19:21:54
◆QZaw55cn4c もそうだが、このスレの上から目線の回答者って
ものすごく陰険だよな。思想が閉鎖的。お前らが知っていることを
知っている人なんて、この世に何人もいるんだが?お前らは自分未満の
人間を相手にしているから、自分が偉いと思い込んでいるだけだろ?
いつか死ぬ人間だから、せいぜい狭い世界でお山の大将でもやってなさい。
この世は金を稼いだ者勝ちですよw
分かりきった答えのコードを書いても、収入なんて上がりましぇ〜ん
どこの専門学校、大学の講師か知らんがw
333デフォルトの名無しさん:2010/07/22(木) 19:22:04
[1] 授業単元: 情報基礎
[2] 問題文(含コード&リンク): http://codepad.org/FIMXj8NN
    文字列中の文字の出現数を数えて表示するプログラム(count-char.c)*上のリンク*を完成しなさい
    ただしすべての文字の出現回数を表示すること。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 7月26日13:00まで
[5] その他の制限:
   char型の配列 text を定義し,二重引用符を使った文字列で初期化しています.
   また使用する関数は make_histogram となっていますが、お好みで変えていただいて
   かまいません。
   お手数ですが、どなたかよろしくお願いします。
334デフォルトの名無しさん:2010/07/22(木) 20:22:58
[1] 授業単元: 情報(C++)
[2] 問題文:2つの値 x と y の差を(非負の整数として)返す関数形式マクロ diff(x, y) を定義し, main関数で
4つの整数 a, b, c, d をキーボードから読み込み, diff(a, b) * diff(c, d) を出力するようなプログラムを作成せよ。
また, 出力結果が正しいことを確認するため, 関数として diff2(x, y) も作成し, 結果が同じになることを同じソースコード内で確認できるようにしなさい。

ここまで作りました↓
#define diff(x, y) (diff((a), (b)) * diff((c), (d))
#include <stdio.h>
int main(void)
{
int a,b,c,d=0;
printf("整数aを入力してください:");
scanf("%d",&a);
printf("整数bを入力してください:");
scanf("%d",&b);
printf("整数cを入力してください:");
scanf("%d",&c);
printf("整数dを入力してください:");
scanf("%d",&d);
printf("%d",diff(x,y));
return 0;
}
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名:visual studio 2008
 [3.3] 言語:C++
[4] 期限: 明日(2010年7月23日(金))まで
[5]条件:特にありません。
よろしくお願いします。
335デフォルトの名無しさん:2010/07/22(木) 20:28:26
336デフォルトの名無しさん:2010/07/22(木) 20:33:23
>>331
書かない人に買ったか負けたかなんて、分かりっこないのですが。
そもそも勝った負けたの話じゃないと思うのですが?
337デフォルトの名無しさん:2010/07/22(木) 20:34:53
>>332
お、でましたでました、とりあえず 3 行にまとめてください。
338デフォルトの名無しさん:2010/07/22(木) 21:01:20
339デフォルトの名無しさん:2010/07/22(木) 21:07:19
340デフォルトの名無しさん:2010/07/22(木) 21:10:38
>>338
#define diff(x, y) (((x)<(y))?(y)-(x):(x)-(y))
では?
341デフォルトの名無しさん:2010/07/22(木) 21:13:40
>>339
/* 大文字と小文字は区別しない */ の処理が必要では?
342デフォルトの名無しさん:2010/07/22(木) 21:16:14
>>335 さん
>>339 さん

どちらも素早い回答ありがとうございました。
それぞれの長所を取り入れてつくっていきたいと思います。
343デフォルトの名無しさん:2010/07/22(木) 21:18:10
>>340
なるほど。
xとかyに計算式があるかもしれないので、>>340の方が安全ですね。
344デフォルトの名無しさん:2010/07/22(木) 22:32:10
質問者も回答者も一緒に成長していけばエエやん。
345デフォルトの名無しさん:2010/07/22(木) 22:37:13
回答してもらうだけで成長できたら苦労ないわw
346デフォルトの名無しさん:2010/07/22(木) 23:22:33
>>341さん
どっちの仕様に従うか迷いましたが、レスに書いてある
”すべての文字の出現回数を表示する”というほうに従いました。

>>333さん
バグがあったので再投稿します。
以下のソースは、アルファベットの大文字小文字を区別版です。
(区別するほうはコメントアウトしてます)
http://codepad.org/dh84WYtH
347デフォルトの名無しさん:2010/07/23(金) 02:36:13
確かにバグ確認しました。(Vine Linux5.0)
再レスありがとうございます。
参考にさせていただきます。
348デフォルトの名無しさん:2010/07/23(金) 05:30:42
[1] 授業単元: 情報処理(C言語)
[2] 問題文:関数y=-X二乗+2X+5におけるXとYの対応表を出力するプログラムを作成せよ。
ただし(-2<= X <=4)の範囲でXの値が整数の出力すること。
縦方向、横方向2パターン作成せよ。

縦方向の表示結果の例
X | Y
---+---
-2 |-3
-1 | 2
0 | 5
1 | 6
2 | 5
3 | 2
4 |-3

横方向の表示結果の例
X| -2 -1 0 1 2 3 4
--+---------------------
Y| -3 2 5 6 5 2 -3
[3] 環境
 [3.1] OS:Windows xp 32bit
 [3.2] コンパイラ名:visual studio バージョン:不明
 [3.3] 言語:C言語
[4] 期限: 7月26日(金)まで
[5]条件:%3dなどを使って数字のピッチをそろえること。
349348:2010/07/23(金) 07:38:30
間違えました。
>[4] 期限: 7月26日(金)まで ではなくて
7月26日(月)まで です。
350デフォルトの名無しさん:2010/07/23(金) 10:53:13
351デフォルトの名無しさん:2010/07/23(金) 10:56:18
>>348
http://codepad.org/sSltC40H
C++ばっか使ってたから無駄に時間掛かってしまった件
352デフォルトの名無しさん:2010/07/23(金) 11:01:19
かぶったサーセン\(^o^)/
353デフォルトの名無しさん:2010/07/23(金) 11:16:03
intの二乗にpow()使うなよw
354デフォルトの名無しさん:2010/07/23(金) 11:38:28
いやまあなんとなく気分でw
355デフォルトの名無しさん:2010/07/23(金) 12:22:30
>>350
つ putchar('\n');
356348,349:2010/07/23(金) 12:37:22
>>350-351
ありがとうございます。
357デフォルトの名無しさん:2010/07/23(金) 16:02:23
[1] 授業単元:プログラミング言語
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10883.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual Studio2008
 [3.3] 言語: C++
[4] 期限: 2010/07/28
[5] その他の制限: /*? ? */内の指示通りにお願いします
358デフォルトの名無しさん:2010/07/23(金) 17:17:17
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):入力ファイルと出力ファイル名をコマンドラインから入力してコピーするプログラムを作成せよ。
[3] 環境
 [3.1] OS: Windows(学校ではlinux)
 [3.2] コンパイラ名とバージョン:Visual Studio2008(学校ではemacs)
 [3.3] 言語: C++
[4] 期限: 2010/07/25
[5] その他の制限: コマンドライン引数の引き渡しとかその辺りの単元です。あと出力はcout、入力はcinでお願いします
359デフォルトの名無しさん:2010/07/23(金) 17:53:55
>>358
>入力ファイルと出力ファイル名をコマンドラインから入力してコピーするプログラムを作成せよ。
入力ファイルの内容を複製したものを出力ファイル名でファイルセーブしろってこと?
360デフォルトの名無しさん:2010/07/23(金) 18:06:15
>>332
書けない人にいわれても説得力がないですよ。
あと現在の大学には講師はなかったはず。
361デフォルトの名無しさん:2010/07/23(金) 18:25:30
>>357
>//クラスで関数が違うので注意
f(x)を教えてください。
362デフォルトの名無しさん:2010/07/23(金) 18:32:48
>>361
28日の授業内演習なのでまだわからないです…、すいません。
363デフォルトの名無しさん:2010/07/23(金) 18:46:59
>>360
雑魚うぜぇ。口よりコードで勝負しろ、ボケ
364デフォルトの名無しさん:2010/07/23(金) 18:47:01
>>359
多分そうだと思います
365デフォルトの名無しさん:2010/07/23(金) 18:47:42
◆QZaw55cn4c を擁護している奴は本人くらいだろ。自作自演うぜぇ。
ここはお前のオナニースレじゃねーんだよ
366デフォルトの名無しさん:2010/07/23(金) 18:52:41
宿題スレで煽りあってんじゃねぇよ・・・それこそチラシの裏にしろよ・・・
367デフォルトの名無しさん:2010/07/23(金) 18:59:32
>>366
基地外に
>それこそチラシの裏にしろよ・・・
は不可能。だから基地外
368デフォルトの名無しさん:2010/07/23(金) 19:17:19
>>357
http://codepad.org/9SSx5X9j

シンプソンのなんちゃらをよく知らんケドやってみた。
(4)はようわからん。とりあえずそのまま値を返したケドきっと違う。

学生番号と、名前のdefineを入れるのを忘れずに。
(1)が今のままだと0除算になるけど、いいのかわからん。

正直、何でこんな不安な状態で回答してんの俺?
って感じ。
他に頭いい人、頼んだ。
369デフォルトの名無しさん:2010/07/23(金) 19:43:24
分かりきった答えのある課題のコードを書いたくらいで
ホルホルしているようじゃたかが知れてる
370デフォルトの名無しさん:2010/07/23(金) 19:58:10
>>358

#include <iostream>
#include <fstream>

int main(int argc, char *argv[])
{
  std::ifstream ifs( argv[1] );     // 第一引数を入力ファイルストリームでOpen
  std::ofstream ofs( argv[2] );    // 第二引数を出力ファイルストリームでOpen

  char buf[512]={0};
  while( ifs.getline(buf, sizeof(buf)) )
  {
    ofs << buf << std::endl;
    std::cout << buf << std::endl;  // 確認用
  }
  ifs.close();
  ofs.close();
 
  return 0;
}
371デフォルトの名無しさん:2010/07/23(金) 20:00:33
全角スペース使ったから、そのままコピペしたらダメじゃんOre
372デフォルトの名無しさん:2010/07/23(金) 20:10:35
>>369
ごめん。
間違ってたら指摘してくれ。
ゼロ除算はやっぱりおかしい?
373デフォルトの名無しさん:2010/07/23(金) 20:19:59
毎年似たような課題が出て、それに答えて ホルホルホルホル・・・
374デフォルトの名無しさん:2010/07/23(金) 20:20:15
>>358
既出だが、
バイナリファイルでもいけるように、
ファイルサイズが大きくても大丈夫なようにしてみた
まあ俺の自己満足と言われればそれまで

ファイル入出力は種類多くてうざいな・・・
http://codepad.org/ivXJsWrE
375374:2010/07/23(金) 20:23:29
ファイルサイズ大きくてもって意味おかしいがスルーたのむ
376358:2010/07/23(金) 20:58:40
ごめんなさい。いい忘れてしまいました
using namespace std;というのをどこかに入れてもらえませんか
377デフォルトの名無しさん:2010/07/23(金) 21:05:24
>>376
>>374のが使ってるし、しっかりしてて良いかと思うが、一応。
http://codepad.org/QKouyGi2
378358:2010/07/23(金) 21:18:34
ほんとうにごめんなさい。何度もごめんなさい。
なるべく簡単にしてください。お願いします
379デフォルトの名無しさん:2010/07/23(金) 21:29:24
>>378

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
char cmd[512];
sprintf(cmd, "cp -p %s %s", argv[1], argv[2]);
system(cmd);
}
380デフォルトの名無しさん:2010/07/23(金) 21:32:21
こんな方法あるのかw驚いた
381デフォルトの名無しさん:2010/07/23(金) 21:37:50
>>379
逆に高度杉だろwwwおいwww
でも勉強になった。確かに、そういうのもアリか。
382デフォルトの名無しさん:2010/07/23(金) 22:24:10
>  [3.1] OS: Windows(学校ではlinux)
仕様を満たしていないから落第。
383デフォルトの名無しさん:2010/07/23(金) 22:25:40
>>382
じゃあ、学校で出たもの何でlinuxという事でおねがいします
384デフォルトの名無しさん:2010/07/23(金) 22:33:17
家で確認できないだけで、提出先の環境では動くからおkだろw
385デフォルトの名無しさん:2010/07/23(金) 22:35:27
>>384
ありがとうございました。では、今度学校で確認しますが、どれを使っても動くという事でしょうか?
386デフォルトの名無しさん:2010/07/23(金) 22:43:43
団子必死だなw
387デフォルトの名無しさん:2010/07/23(金) 22:50:15
課題の趣旨からすれば「不可」。良くて「可」。
OSの判別を工夫するとかひねってあって、ユーモアの通じる教官なら「良」くらいつけてくれるかも。
388デフォルトの名無しさん:2010/07/23(金) 23:05:46
>>387
では、どの方のが一番課題の趣旨的に一番いいんでしょうか?
389デフォルトの名無しさん:2010/07/23(金) 23:10:34
>>1
> 気に入らない質問やその他の発言はスルーの方向で。
これすら読めない、守れないバカが何かほざいてますね?
390デフォルトの名無しさん:2010/07/23(金) 23:18:36
>>388
>>379はネタだから、それ以外から好きなの選べ。
391デフォルトの名無しさん:2010/07/23(金) 23:27:03
>>390
そうなんですか。ありがとうございました。
392デフォルトの名無しさん:2010/07/23(金) 23:28:09
>>390
あ、これって、そのままコンパイルしてできますか?
もしかして、なんか用意するファイルとかって必要ですか?
393デフォルトの名無しさん:2010/07/23(金) 23:32:43
[2] 問題文(含コード&リンク):
ある差分方程式を、初期値から順々に予測していくプログラムを作ったのですが、
それぞれの本当の値と予測した値の差を誤差としたとき、その誤差をフーリエ変換することによって、
発生する誤差に周期が存在するかを確認するプログラムを作りたいです。
条件としては、もともとファイル(ex. log.data)に誤差の値を入れておいて、それをプログラム内で
参照するようなものが望ましいです。
簡単にたとえるなら誤差データ(log.data)が以下のような場合に
2.0
0.0
1.0
-2.0
2.0
0.0
1.0
-2.0
2.0
0.0
1.0
-2.0
フーリエ変換した結果をgnuplotなどで表示した際に周期が4のところにスペクトルが出るようなものを
作りたいです。

[3] 環境
 [3.1] OS:Mac OS 10.6.4
 [3.2] gcc
 [3.3] 言語:C
[4] 期限:[2010年07月27日23:00まで]
[5] その他の制限:標準ライブラリは使わないでいただけるとありがたいです
394デフォルトの名無しさん:2010/07/23(金) 23:37:20
>>386
どこに団子が?
395デフォルトの名無しさん:2010/07/23(金) 23:40:12
>>393
標準ライブラリをなるべく使わないようにって。。
・他のライブラリを使うことで、標準ライブラリを直接使うことを避ける
・むしろ他のライブラリもなし
どっちの方向に進めばよいんだ?
396sage:2010/07/23(金) 23:54:21
>>393
できる限りシステムコールで実装しろ、って事?
397393:2010/07/23(金) 23:57:51
>>395,396
すみません。標準ライブラリの意味を勘違いしていました。
なるべく簡単な方法でという意味で書かせていただきました。
なので標準ライブラリは使用して大丈夫です。
398デフォルトの名無しさん:2010/07/24(土) 00:05:46
[1] 授業単元:OS
[2] 問題文(含コード&リンク):サーバクライアント通信をFIFOで作る
– 一つのサーバプロセスが,
• FIFOを作る.
• データを待つ.
• SIGINTを受信したら,FIFOを削除してから終了する.
– 複数のクライアントプロセスが,サーバにリクエストを送る.
– 文字列を送るクライアントプロセスが複数(forkすればおk).
– サーバプロセスは単に表示する
[3] 環境
 [3.1] OS:UNIX
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:2010年7月24日18:00まで
[5] その他の制限:FIFOとシグナルを利用

0からですがよろしくお願いします・・・
399デフォルトの名無しさん:2010/07/24(土) 00:53:22
だってまだカレンダー出力の課題が出てないじゃーーん
400デフォルトの名無しさん:2010/07/24(土) 01:20:51
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):モンテカルロシミュレータにより円周率の計算をするプログラムを作成せよ
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン:emacs
 [3.3] 言語: C++
[4] 期限: 2010/07/26
[5] その他の制限: randというのを使ってました。乱数とかその辺りの単元です。あと出力はcout、入力はcinでお願いします。あとなるべく簡単にしてください。


401400:2010/07/24(土) 01:27:55
書き忘れてしまいました
#include <ctime>
#include <cstdlib>
srand(time(NULL));
という風に始まるっぽいんです。
402デフォルトの名無しさん:2010/07/24(土) 01:45:09
>>400
#include <iostream>
#include <ctime>
#include <cstdlib>

int main()
{
double x, y, pai;
int i, n, in = 0;

std::srand(std::time(0));

std::cout << "繰り返し回数 N = ";
std::cin >> n;

for (i = 0; i < n; i++) {
x = std::rand() / (RAND_MAX + 0.1);
y = std::rand() / (RAND_MAX + 0.1);
if (x * x + y * y <= 1.0)
in++;
}
pai = 4.0 * in / n;

std::cout << "繰り返し回数 N = " << n << '\n';
std::cout << "モンテカルロ法によるπ = " << pai << std::endl;
}
403400:2010/07/24(土) 02:02:09
using namespace std;
っていうのも最初に入れられたら入れてもらえますか?
404デフォルトの名無しさん:2010/07/24(土) 02:26:43
>>403
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;

int main()
{
double x, y, pai;
int i, n, in = 0;

srand(time(NULL));

cout << "繰り返し回数 N = ";
cin >> n;

for (i = 0; i < n; i++) {
x = rand() / (RAND_MAX + 0.1);
y = rand() / (RAND_MAX + 0.1);
if (x * x + y * y <= 1.0)
in++;
}
pai = 4.0 * in / n;

cout << "繰り返し回数 N = " << n << '\n';
cout << "モンテカルロ法によるπ = " << pai << endl;
}
405デフォルトの名無しさん:2010/07/24(土) 03:45:21
406デフォルトの名無しさん:2010/07/24(土) 07:36:42
>>404
> x = rand() / (RAND_MAX + 0.1);
> y = rand() / (RAND_MAX + 0.1);

x = (double) rand() / RAND_MAX;
y = (double) rand() / RAND_MAX;
の方がお勧め。
407デフォルトの名無しさん:2010/07/24(土) 14:54:24
[1] 授業単元:プログラミング
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Visual Studio2008
 [3.3] 言語: C++
[4] 期限: 2010/07/27
[5] その他の制限:なし
408デフォルトの名無しさん:2010/07/24(土) 14:57:34
[2] 問題文(含コード&リンク):自動座席予約システムの作成せよ。

その航空会社が持っている小型航空機(座席数:24)のフライトに座席を割り当てるシステムをプログラミングしなければならない。
この航空機の座席は中央に通路を挟み左右にそれぞれ2座席ずつの列が計6列ある。
座席は 1A, 1B, 1C, 1D, ..., 6A, 6B, 6C, 6D で表示され, 1, 2列目が喫煙区画で, A, D が窓側, B, C が通路側を示している。
このプログラムはまず最初に次の選択メニューを表示する。

喫煙席を希望する方は ● をタイプしてください.

禁煙席を希望する方は × をタイプしてください.

喫煙/禁煙の選択が終わると, 窓側か通路側かの選択を求める。

窓側を希望する方は ! をタイプしてください.
通路側を希望する方は # をタイプしてください.

もし希望に沿える席がすべて予約済みで割り当てられないときには, 窓側/通路側の希望については無視して割り当てる。
ただし, 「窓側(あるいは通路側)はすでに満席のため通路側(窓側)で予約します」というメッセージを出力し, 以下の
ように座席番号と喫煙席/禁煙席の区分が書かれた搭乗券を(この課題では画面上に)出力する。
--------
4A 禁煙
--------
また, 禁煙区画(あるいは喫煙区画)が窓側/通路側ともに満席のときには喫煙区画(禁煙区画)でも良いかどうか乗客に尋ねなければならない。
乗客がOKすれば(窓側/通路側の希望はできるだけ尊重した上で)空いている座席を割り当て搭乗券を出力し, OKしなければ
「3時間後に次のフライトがあります.」というメッセージを出力して終了する。
409デフォルトの名無しさん:2010/07/24(土) 16:25:10
双方向リストとカレンダー、こいやー!
410デフォルトの名無しさん:2010/07/24(土) 16:57:25
411デフォルトの名無しさん:2010/07/24(土) 17:17:33
[1] 授業単元:演習W
[2] 問題文(含コード&リンク):
次の構造体をつかった線形リストを使用して以下に述べる仕様のプログラムを作成しなさい。
struct data {
char *s
struct data *next;
};
@ データの線形リストへの追加
int add(struct data *l, char *s);
 返り値:正常に追加できれば 0, malloc() が失敗したら 1.
 引数 l: データを追加する線形リストへのポインタ.
 引数 s: 追加するデータ
※l で指定した線形リストの末尾にひとつ struct data を追加し、それにデータ s をセットする。
data も data->s も malloc() で領域確保すること。

A データの線形リストからの取り出し
int get(struct data *l, char *s);
 返り値:正常にデータを取り出すことができれば 0, 線形リストが空であれば 1.
 引数 l: データを取り出す線形リストへのポインタ.
 引数 s: 線形リストの先頭のデータ(文字列へのポインタ)
※l で指定した線形リストの先頭にある struct data にある data->s を引数 s に取り出す。
線形リスト l の先頭の struct data は領域解放する。

[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc4
[3.3] 言語:C
[4] 期限: 7/26 23:00
[5] その他の制限:構造体と構造体のポインタまで習いました。

よろしくお願いいたします。
412デフォルトの名無しさん:2010/07/24(土) 17:34:44
[1]プログラミング言語演習U
[2] データファイルから読みこんだデータを
  年齢順にリストに格納するプログラムを作成しなさい
  ttp://codepad.org/QWi25aKl
       
[3] 環境
 [3.1]Windows
 [3.2] gcc
 [3.3] C
[4]7月26日

お願いします
413デフォルトの名無しさん:2010/07/24(土) 19:41:25
狙った様にしかも単方向、オマケに出題者と回答者のリモホが同じという報告で
自作自演がバレたあいつが麻呂を揺さぶろうと必死だなw
414デフォルトの名無しさん:2010/07/24(土) 21:42:58
>>410
ありがとうございます。何度も投稿してすいません。。。
気がついてなかったんです。すいません!
415デフォルトの名無しさん:2010/07/24(土) 23:47:09
>>413
ここで両問題を解き男をあげよ。
416400:2010/07/25(日) 00:02:56
return 0;
って
}の前に入れた方がいいですか?
417デフォルトの名無しさん:2010/07/25(日) 00:05:57
>>377
int main(int argc, char *argv[])ってint main(int argc, char* argv[])
でも同じですか?この2つは、charの右の部分の*の位置が少し違います。
418デフォルトの名無しさん:2010/07/25(日) 00:07:38
int main : main 関数はint型の変数を返す
return 0; といった感じで何かしら値を返すコードを入れること。
入れた場所でreturnしてしまうので、基本的に一番最後の行
main 関数の閉じ括弧の前で良いでしょう。
419デフォルトの名無しさん:2010/07/25(日) 00:11:17
>>417
まったく一緒です。

信じられないならば、
int main(int argc, char * argv[])
と書いてみるといいでしょう。
「*」の前後どちらにも空白が入っています。
しかし、動作はそのどれもが同じでしょう。
420デフォルトの名無しさん:2010/07/25(日) 00:12:11
>>417
書き方は昔の名残のこともあるが、意味は同じ。ただ、ISO、ANSI準拠の
標準スタイルでは int argc, char *argv[] とのこと。
421デフォルトの名無しさん:2010/07/25(日) 00:49:25
麻呂の乗っているバイクは麻呂ーダー250でおじゃる。メーカーはスズキだが
マイナーなモデルのため市場にもほとんど出回ってないでおじゃる。
422デフォルトの名無しさん:2010/07/25(日) 00:51:45
C++規格に出てくるのは char* argv[] か char** argv みたいだけど
その標準スタイルってどこで見れるの
423デフォルトの名無しさん:2010/07/25(日) 00:59:42
ISO公式サイト
424デフォルトの名無しさん:2010/07/25(日) 01:02:59
>>418
>>404で言うと、
cout << "モンテカルロ法によるπ = " << pai << endl;
の下に書けばいいって事ですか?

>>418
>>419
>>420
ありがとうございます。学校で試してみます
425デフォルトの名無しさん:2010/07/25(日) 01:05:35
>>424
C++にはmain()のみreturn 0; は不要です
書かなければ自動的にmain()の最後に return 0; が挿入されます
Cはこうは行かないのでreturn 0; を明記する必要があります
426デフォルトの名無しさん:2010/07/25(日) 01:25:07
コンパイラが自動的に解釈する : ○省略可 ×不要
必要に応じて自分が返したい値を指定しても良い。
427デフォルトの名無しさん:2010/07/25(日) 01:50:39
>>426
当たり前だろ
アホか
428デフォルトの名無しさん:2010/07/25(日) 01:58:37
っつか、何も一番最後にreturn 0;でなくても、例えば
ある条件下で終了するような場合 if() return 1; といった場所でも
return を使うことがある。あくまでも int main とした場合
その戻り値はint型であることも条件として含まれる。
429デフォルトの名無しさん:2010/07/25(日) 02:01:16
だからそんな事は誰でも知ってるっつーの
430デフォルトの名無しさん:2010/07/25(日) 02:25:31
アホです
431デフォルトの名無しさん:2010/07/25(日) 02:40:59
>>425
それは MS のコンパイラだけの話では?
432424:2010/07/25(日) 02:54:12
じゃあ、return 0;は、とりあえず、省略可能って事ですか。入れるなら、cout << "モンテカルロ法によるπ = " << pai << endl;
の下に書けばいいって事ですよね
433デフォルトの名無しさん:2010/07/25(日) 03:01:05
[1] 授業単元:ビジュアルプログラミング
[2] 問題文:
-0.0001<x<10.0000、0.0<y<10.0000の範囲で
ランダムに(x,y)の値を1000個発生させ.
散布図のグラフで表示するプログラムを作成せよ
ヒント:WIN32API関数群についてよく調べること

[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ名とバージョン:Visual Studio2008
 [3.3] 言語:C++
[4] 期限: 8月1日

よろしくお願いします
434393:2010/07/25(日) 09:26:45
>>397
どなたかよろしくお願いします。
435デフォルトの名無しさん:2010/07/25(日) 09:27:07
>>431
言語仕様に明記されてるよ
CでもC99なら同じになる
436デフォルトの名無しさん:2010/07/25(日) 09:28:13
>>433
ほぼコピペで、やっつけだが
http://codepad.org/UJmwRiyz

問題分解釈まちがってたらサーセン
437デフォルトの名無しさん:2010/07/25(日) 10:01:56
>>432
そういうこっちゃ
438デフォルトの名無しさん:2010/07/25(日) 11:52:33
>>427
しつけぇ、アホは屁理屈言っているお前だろ、うぜぇなぁ・・・ネット弁慶。
何か間違ったこと言ってる?ちゃんと言語の使用と
もう一度 int main から見直して理解しろ、ボケ

>>429
お前みたいな無知には言ってねーし、お前は理解してないだろ
二度と知ったかレスするな!
439デフォルトの名無しさん:2010/07/25(日) 11:57:26
>>425 = >>427 = >>429
直接自分に対してのレスでもないのに、説明不足の自分の書き込みを無視されたせいか
突然話に割って入って自分は知ってる、当たり前だ!とか言い出す意味不明な基地外
お前の説明は全然なってない、自分の思い込み。原文を読んでからレスしろ。
不要となんて一言も書かれてませんが?
int mainでmain関数はint型の変数を返す関数であり、何も一番最後に
return 0;と書くことについての言及でもないんだが?
ある条件でプログラムを終了させる時にも、例えば
if() return 1; といった書き方もあり、return int型; が必ずしもプログラムの最後にしか
記述されないとは限らない。また return 0; を書いても問題ないどころか
書かなかった場合コンパイラが自動的に処理することについて説明されても
こっちも知ってるし当たり前だろ アホか ってなるわw
この手の話は数年前に既出なんだよ、最近の新参は今さら過ぎて馬鹿馬鹿しい。
何上から目線で顔真っ赤にして必死になってんの?w
440デフォルトの名無しさん:2010/07/25(日) 11:59:23
>>427 = >>429 間違ったこと書いてないなら良いだろ。
それについて理解していない奴に対して説明しているのに
何で知っているお前に対してしたレスでもないのに、ムキになってんの????
しかも、お前の説明は明らかにコンパイラが自動的に解釈することであって
警告文などを無視した勝手な振る舞いw
そんなんでプログラミングをやっていると、いつか致命的なミスを見落とすよ。
まぁお前みたいなのは、自動車の運転ではいつもやっている、通行している道で
事故は起こっていないから、合図や安全確認は不要と言っちゃっているおバカさんだと
気づいて下さいねw それがいつもと違った道では、事故に繋がるとw
441デフォルトの名無しさん:2010/07/25(日) 12:09:45
>>427 = >>429
当たり前だろ  アホか  < そっくりそのままお前に返す
だからそんな事は誰でも知ってるっつーの  < はぁ?returnは何も一番最後だけとは限りませんが?

また、void func() で return; なんてのもありますしね。とにかく、関数の最後は
必ずしも return 0; とも限らないし、これについて標準スタイルでも細かく説明されていない。
あくまでも省略した場合のコンパイラが自動的に処理する話を用いて、
勝手に 不要 と言われても困るんですが?×不要 ○省略可 これが適切な解釈。
あんたISOの英文の説明を読んだことある?無い?聖徳太子知ってる?知らない?
いきなりアホとか当たり前でしょ!とかブチ切れるのは、、あの人そっくりだw

http://www.youtube.com/watch?v=yyKpcleAQnY
http://tokihakita.blog91.fc2.com/blog-entry-861.html
442デフォルトの名無しさん:2010/07/25(日) 12:15:34
なんでこのスレ早速夏休みモードになっちゃってんの?w
443デフォルトの名無しさん:2010/07/25(日) 12:16:49
>>427 = >>429
そろそろ自分の無知、知ったかをお詫びしたら?勉強不足の癖して
基本原則(日常生活で言うならその国の法律)すら見ずに、勝手に
その場で判断しちゃうのは危険ですよ?日本に生活していても
まだまだ自分が知らない法律、ルールってあるでしょ?
年を取ると、今まで生きてきたことが変な自身になっているのか
知らなくても勝手に思い込んで、間違っていても押し通すようになるからな・・・
確かに微妙な部分もあるが、省略可と不要は別物。今回はint mainでの引数など
ISO、ANSI準拠の話もあったが、そもそも0であろうと return int型; がどうして用いられるか?
mainがプログラムの開始という前提で話をしているんであれば、戻り値について特に
言及する事もないでしょうけど、人によってはOSへ返す値を確認する人もいるし
人によっては必ずしも 0 とは限りませんよ?
444デフォルトの名無しさん:2010/07/25(日) 12:21:18
>>427
>>426 が間違っていないどころか、自分もそう思う、当たり前とか言われてもねぇ・・・
アホって何?アホはお前だろ。
>>425 が勝手にC++だの不要だの言い出してる方がアホじゃねーのか?
ねぇ、IDが出ないからって自作自演している新入りのお子ちゃま?
この手の話は数年前に散々既出。周りは知っているとか、知らない奴が
質問してんじゃん。口を慎めよ、青二才。お前の生活に余裕が無いのは
言動から滲み出てますから、もう少し先入観や思い込みを無くして生活してみ?
この世に、お前が知らないことは数多いし、知ったことなんてこの世のごく一部だって
早く気づいて下さいね、井の中の蛙さん?最近、質問と回答を自作自演している
講師の方ですか?大学院生ですか?そんなんじゃ貴方を慕って付いてくる人も
いなくなり、孤立して干されますよ?性格の悪さがたった1行で露呈しているし。
445デフォルトの名無しさん:2010/07/25(日) 12:31:16
return 0; は ×不要 ○省略可
書きたく無ければ書かなければ良いだろ?お前がそう思うんなら。
俺はもうソースを書く際に自動的に枠組みが生成されているから
特に気にしないが。1文字でもコードの文字数を減らしたいなら良いんじゃね?
そういう奴に限って、効率の良いアルゴリズムが書けないんだぜw
変なところを省略しようとするから。
446デフォルトの名無しさん:2010/07/25(日) 12:40:50
return 0になんでこんなに必死なの?
普通に宿題してればいいやんこのスレ
447デフォルトの名無しさん:2010/07/25(日) 12:42:12
>>435
了解。C99についてはちょっと調べてみる。

>>444
さらっとすませればいいものを、どうしてそうなってしまうのですか?
448デフォルトの名無しさん:2010/07/25(日) 12:53:26
>>443
うまく釣り上げましたね。
449デフォルトの名無しさん:2010/07/25(日) 13:03:31
>>444
釣られやすい人だこと。自演なんかしているからそうなっちまうんですよ。
450デフォルトの名無しさん:2010/07/25(日) 13:09:11
return int型; は ×不要 ○省略可
省略した際は return 0; としてコンパイラが自動的に処理する。
勝手に解釈、事実を捻じ曲げないで下さい。
451デフォルトの名無しさん:2010/07/25(日) 13:13:52
田舎コンパイラの特殊機能なんてどうでもいいよ。
452デフォルトの名無しさん:2010/07/25(日) 13:18:36
省略された場合でも最後にそれが挿入されているように解釈し
それに応じた実行をするか、下位プロセッサ向けコードを生成する
ことが処理系製造者に要請される。それを怠った処理系がC/C++処理系
を名乗ると製造者、もしくは使用者が苛められるかもです


多分これが正解
他の解釈は正統を装ってても、既にねじ曲げられてたりしてるw
453デフォルトの名無しさん:2010/07/25(日) 13:36:54
省略できるのはmainがint型の時だけ。>>452以前はこれに言及していないので全員落第。
454デフォルトの名無しさん:2010/07/25(日) 14:27:12
VC++やgccなんかはvoid main()でもreturn 0;と同等のコードを吐くけどな
455デフォルトの名無しさん:2010/07/25(日) 14:35:24
お前の目は節穴か?
gcc (GCC) 4.2.1

★voin main {}
.globl main
.type main, @function
main:
.LFB2:
pushq %rbp
.LCFI0:
movq %rsp, %rbp
.LCFI1:
leave
ret

★int main {}
.globl main
.type main, @function
main:
.LFB2:
pushq %rbp
.LCFI0:
movq %rsp, %rbp
.LCFI1:
movl $0, %eax
leave
ret
456デフォルトの名無しさん:2010/07/25(日) 14:48:32
return 0; は ×不要 ○省略可
コンパイラが自動的に処理するから記入しなくても良いとは言え
不要なら敢えてコンパイラもそんな処理はしないでしょう。
とにかく不要と省略可は別物。勝手に必要が無いと思わないで下さいね♥
457デフォルトの名無しさん:2010/07/25(日) 15:01:04
必要が無いから省略可なんだろ?
458デフォルトの名無しさん:2010/07/25(日) 15:18:37
余程悔しかったみたいですね
自分が余計な事を言って突っ込まれたのがw
459デフォルトの名無しさん:2010/07/25(日) 15:19:51
>>456の俺用語の「不要」「必要」「省略可」は通常の日本語のそれとは異なるから常人には理解不能。
もしかしたら「別物」も俺用語かもしれない。

これ以上掘り下げても意味は無いよ。
460デフォルトの名無しさん:2010/07/25(日) 15:21:58
>>444
C++の出題って書いてあるじゃん
ファビョりすぎて目が見えませんか?
もしかして朝鮮人ですか?
461デフォルトの名無しさん:2010/07/25(日) 16:00:12
C99には、単にmainで } に達したら0を返す、としか書いていないから、その時どうするかは、個々のコンパイラが決めること。

「return 0;」を挿入するなんていうのは単なる実装の1手段であって、規格上の要請でも何でも無い。
あえて言うなら、「不要」「省略可」ではなく、「有ってもいい」だ。

「int penis_penis;」とか「double oh_sex_sex;」が有ってもいいのと同じこと。
462デフォルトの名無しさん:2010/07/25(日) 16:10:48
>>460
> 朝鮮人
自己紹介乙。いい加減きめぇ。このスレに何しにきてんですか?
スレタイ読めますか?>>1 の1行目が見えませんか?
463デフォルトの名無しさん:2010/07/25(日) 16:11:51
>>461
最後意味分からん
464デフォルトの名無しさん:2010/07/25(日) 16:12:22
>>461
> あえて言うなら、「不要」「省略可」ではなく、「有ってもいい」だ。
意味不明。そもそもそれがなぜ記述されるか?int mainとした時点で
main関数はint型の値を返すから。return 0;でなければいけない訳でも無いが
省略したらコンパイラが自動的に処理するのを、勝手に 不要 と判断されても困ります。
465デフォルトの名無しさん:2010/07/25(日) 16:12:53
>>460
相手の素性も知らずに朝鮮人呼ばわりか、実に気持ち悪いねらーだ
つ鏡
466デフォルトの名無しさん:2010/07/25(日) 16:14:07
>>460
間違っていないことに対して、自分が間違って解釈していたことを用いて
反論にもならん意見をするなら失せろ。ねぇ、「不要」と主張しちゃったおバカさんw
467デフォルトの名無しさん:2010/07/25(日) 16:15:55
>>464
「省略」も何も、そもそも「int penis_penis;」とか「double oh_sex_sex;」と同様に「return 0;」は有っても無くてもよい文。

コンパイラが処理しているのは } に達したときに0を返すことであって、「return 0;」とは何ら関係がない。
468デフォルトの名無しさん:2010/07/25(日) 16:15:57
return 0; が ×不要 ○省略可(記述されていない場合コンパイラが自動的に処理する)
実行プログラムは終了時にOSへ0を返している訳だから、コードとしてはむしろ
ユーザが指定したいなら何かしらreturn int型;として記述するのが望ましい。
469デフォルトの名無しさん:2010/07/25(日) 16:27:33
>>468が自殺しそうで怖い。
470デフォルトの名無しさん:2010/07/25(日) 16:27:49
この火病っぷりは朝鮮人以外にあり得ない
471デフォルトの名無しさん:2010/07/25(日) 16:31:03
自分の間違いに突っ込まれて滅茶苦茶にファビョりまくってる馬鹿ワロスww
472デフォルトの名無しさん:2010/07/25(日) 16:40:52
§3.6.1 Main function

5 A return statement in main has the effect of leaving the main function (destroying any objects with automatic
storage duration) and calling exit with the return value as the argument. If control reaches the end
of main without encountering a return statement, the effect is that of executing
return 0;

これが目に入らぬか?
473デフォルトの名無しさん:2010/07/25(日) 16:47:22
何でこんな糞仕様を規格に含めたかな
474デフォルトの名無しさん:2010/07/25(日) 16:48:56
今度は規格に噛みつき出しました
自分の非を絶対に認めようとしない自己愛性人格障害者は
精神科に行ってくださいな
475デフォルトの名無しさん:2010/07/25(日) 16:51:20
自己愛性人格障害の特長

1. あからさまな傲慢さ  尊大で横柄な、また大げさで相手に軽蔑的な態度をとります。
  社会生活での慣習や規則をバカにし、自分には愚かで的はずれな規則だとあざ笑います。
  自分の高潔さを他人が見のがすことには怒り出しますが、他人のそういうことに対しては全くの無関心です。
2. 対人関係での搾取  当然の権利だと考えています。常に相手に対して自分を特別扱いするよう求めます。
  はずかしげもなく、自分が目立つためや願いを叶えるために他人を利用するのは当然のことと考えています。
3. 誇大性  えっ?と思うようなの空想をしたり、成功や美、愛に関する未熟で自己満足的な想像に浸りがちです。
  客観的事実はどうでもよく、事実を勝手に曲げ、自分に対する錯覚を必要とあらばうそをつくこともかまわない。
4. 自己像の賞賛  自分は価値があり、特別で(ユニークでなくても)大いなる称賛を受けるに
  値する人間だと信じていて、誇大的で自信に満ちた行動をとります。
  しかし、それに見合うような成果を収めることは少ないです。
  他人にはわがままで、軽率で、おおちゃくな人間だとみられているにもかかわらず、自分の価値を信じています。
5. 他人へのわざとらしさ  過去の対人関係はいいように記憶が変えられています。
  受け入れることができない過去の出来事や苦しみは簡単に作り直されます。
6. 合理化のメカニズム  自己中心的で周囲に対して思いやりに欠けた行動を正当化するために、
  もっともらしい理由を付けようとする。それらは欺瞞的で浅はかなものです。
7. 偽り  みえみえのうそをつきます。失敗をしてもすぐに埋め合わされ、プライドはすぐに復活します。
8. 無頓着  いっけん冷徹で無感動な自分を演じます。
  逆に、軽快で楽天的であるが、自己愛的な自信が揺さぶられるといかりや恥の感情や空虚感が表に出てきます。
476デフォルトの名無しさん:2010/07/25(日) 17:14:24
>>472
それ何なの?
477デフォルトの名無しさん:2010/07/25(日) 17:19:30
>>473
多分、このサンプルコードを記述したかっただけだと思う。
#include <iostream>
int main()
{
  std::cout << "Hello, world!";
}

>>476
規格書の抜粋だろ
478デフォルトの名無しさん:2010/07/25(日) 17:22:52
>>477
> 規格書の抜粋だろ

何の規格書?
479デフォルトの名無しさん:2010/07/25(日) 17:23:32
>>478
文章を適当にコピペしてググったらヒットするよ
480デフォルトの名無しさん:2010/07/25(日) 17:26:06
都合の悪い時はググレと言っておけばいいよね^^
481デフォルトの名無しさん:2010/07/25(日) 17:27:50
>>478
ISO/IEC 14882 だろ常識的に考えて
482デフォルトの名無しさん:2010/07/25(日) 17:29:17
はじめからそういえばいいのに
483規格絡みの話はこちらで:2010/07/25(日) 17:30:13
スレ誘導
C言語なら俺に聞け(入門編)Part 67
http://pc12.2ch.net/test/read.cgi/tech/1278759538/
484デフォルトの名無しさん:2010/07/25(日) 17:33:52
>>480
一体誰の都合がどのように悪かったと言いたいわけ?
485デフォルトの名無しさん:2010/07/25(日) 17:34:49
ISO/IEC 14882:2003(E)
3.6.1 Main function
5 A return statement in main has the effect of leaving the main function (destroying any objects with auto-
matic storage duration) and calling exit with the return value as the argument. If control reaches the end
of main without encountering a return statement, the effect is that of executing
return 0;
--> C++

ISO/IEC 9899:1999 (E)
5.1.2.2.3 Program termination
1 If the return type of the main function is a type compatible with int, a return from the
initial call to the main function is equivalent to calling the exit function with the value
returned by the main function as its argument;10) reaching the } that terminates the
main function returns a value of 0. If the return type is not compatible with int, the
termination status returned to the host environment is unspecified.
10) In accordance with 6.2.4, the lifetimes of objects with automatic storage duration declared in main
will have ended in the former case, even where they would not have in the latter.
--> C99
486デフォルトの名無しさん:2010/07/25(日) 17:35:50
まとめると、

C99では、mainの } に達したら、0を返して終了する。
C++では、mainの最後に達したら、return 0; を実行する。

return 0;を省略するとかしないとかの話ではないみたいだね。
単にmainの最後に達したらどうするかという話。
487デフォルトの名無しさん:2010/07/25(日) 17:36:20
>>482
教えてもらって礼も言えず、あまつさえ教える側に不備があると言わんばかりの
その傲慢な態度はいかがなものかとは思わないのか?
488デフォルトの名無しさん:2010/07/25(日) 17:38:11
何かを教えたつもりになってるヤツが居るw
489デフォルトの名無しさん:2010/07/25(日) 17:40:05
2.1.2.2 Hosted environment
Programming Language C, X3.???-1988.
"Program termination"
A return from the initial call to the main function is equivalent
to calling the exit function with the value returned by the main
function as its argument. If the main function executes a return that
specifies no value, the termination status returned to the host
environment is undefined.
--> C89, C90
490デフォルトの名無しさん:2010/07/25(日) 17:42:12
>>489
それがどうしたの?
491デフォルトの名無しさん:2010/07/25(日) 17:42:57
>>490
その釣りはもういいよ
492デフォルトの名無しさん:2010/07/25(日) 17:43:51
>>491
いや、>>489ってスレの流れに関係ないじゃん。
493デフォルトの名無しさん:2010/07/25(日) 17:44:52
ISO14882:2003も知らずにグダグタ言ってる奴は失せろ
時間の無駄だ
494デフォルトの名無しさん:2010/07/25(日) 17:46:26
No, thank u.
495デフォルトの名無しさん:2010/07/25(日) 17:46:40
いや、>>489には、return無しでmainが終了した時の振る舞いは書いていないだろって。
496デフォルトの名無しさん:2010/07/25(日) 17:48:05
return 0; は ×不要 ○省略可
497デフォルトの名無しさん:2010/07/25(日) 17:49:41
Fummmmmmmm.
498デフォルトの名無しさん:2010/07/25(日) 17:49:41
return 0; は ○不要 △省略可
499デフォルトの名無しさん:2010/07/25(日) 17:50:41
>>498
ちゃんとログを読みましたか?省略してもコンパイラが自動的に処理してくれると?
だから省略は可能なんですよ。ただ、不要ならなぜコンパイラが自動的に
int mainの戻り値を0にしたんですか?説明を願います。
500デフォルトの名無しさん:2010/07/25(日) 17:51:55
(キリッ
501デフォルトの名無しさん:2010/07/25(日) 17:53:22
まだ自己愛性人格障害者の>>438-441>>443>>444がファビョってんのか
顔真っ赤にして書き込んでるんだろうな
姿が目に浮かぶようだぜ
502デフォルトの名無しさん:2010/07/25(日) 17:53:45
ttp://www.bohyoh.com/CandCPP/FAQ/FAQ00014.html
C++
 明示的に値を指定しない場合、
return 0;
が暗黙のうちに実行されたものとみなされます。
  ↑コンパイラが自動的に処理してくれる
分かりましたか?不要なんて言っている奴は、他人が都合よく
見繕ってくれていることを知らない思い上がり、裸の王様なんだよw
503デフォルトの名無しさん:2010/07/25(日) 17:54:36
まだ自己愛性人格障害者の>>427 >>425がファビョってんのか
顔真っ赤にして書き込んでるんだろうな
姿が目に浮かぶようだぜ


504デフォルトの名無しさん:2010/07/25(日) 17:56:17
>>501
不要とする根拠を客観性のある説明が出来ないお前の人格が破綻してんだよ
お前の思い込み、基準、閉鎖的な思想での説明こそ不要。
聖徳太子知らない?
505デフォルトの名無しさん:2010/07/25(日) 17:58:21
>>503
悔しそうですねー
精神科に行ったら?そんなんじゃ生きてても面白い事ないだろうに
あ、ヒッキーでしたか こりゃ失礼 君みたいなクズはタヒんだ方がいいですね

しかも怒りすぎて自分の言葉で返せないものだからオウム返しモードになってるしw
頭まで悪いのか 燃えないゴミの日にでも出すか
506デフォルトの名無しさん:2010/07/25(日) 17:58:43
>>501
いや、顔を真っ赤にしているのはお前だろ。
説明という説明が無いどころか、丁寧にISO、ANSI準拠で説明している人の
人格攻撃とか、頭イカれてるわ。あと、俺は省略可とは言ったが
お前は見えない敵を相手にしているのか、俺以外にも説明している人を
俺と同一人物と勘違いしているようだな。そろそろここもID制にしてもらうか?
自作自演はキモイ。最近見られる出題者と回答者のリモホが一致するって話は
お前の存在で信憑性が濃厚になったな。
507デフォルトの名無しさん:2010/07/25(日) 17:58:50
この流れ何人でやってるの?
一人?二人?
508デフォルトの名無しさん:2010/07/25(日) 18:00:10
省略できるから何だとかとかどうでもいいけど、
可読性や処理の明確化の観点からすると、
明示的にreturn 0;を記入する方が良いと俺は思うな。

一行ifやforだって、中括弧省略する事は可能だけど、
多くの場合でちゃんと中括弧書きなさいって言われてない?
そんな感じでいいんじゃない。
509デフォルトの名無しさん:2010/07/25(日) 18:01:32
return 0; は ×不要 ○記述の省略は可
コンパイラが自動的に処理してくれている内容を無視して
勝手にそのコード(実行)を不要としないで下さいねw
int main、関数の戻り値から勉強をし直せ。
プログラムがOSへ返している値はあまり重要では無いんだろうけど
そんなんじゃ、標準ライブラリだけでなく独自で定義した関数でさえ
まともに戻り値を指定できているとは思えん。
510デフォルトの名無しさん:2010/07/25(日) 18:04:34
>>499
コンパイラが処理するのは、return 0;の有無とは全く関係なく、mainが終わった時に 0 を返すということだけ。

省略と言うのは、元々存在するものを省くこと。
だから、return 0; を「省略可」というのはおかしい。
511デフォルトの名無しさん:2010/07/25(日) 18:05:23
長文多すぎだろwww
512デフォルトの名無しさん:2010/07/25(日) 18:06:01
>>506
これはひどい
完全に狂ってますね
被害妄想まで入ってる
513デフォルトの名無しさん:2010/07/25(日) 18:06:10
ここで説明に対して人格攻撃している奴は
↓のように基地外なんだろうね。自分はさも間違ってない!みたいな。
ttp://www.youtube.com/watch?v=yyKpcleAQnY

それから、そろそろスレチなんでそういった議論をするスレでやれ。
いつまでも自分の意見を相手に受け入れてもらおうと思うんでもなく
主張を押し付ける為に引き摺って荒らすとか、暇人か?
514デフォルトの名無しさん:2010/07/25(日) 18:07:05
return 0; は ○不要 △記述の省略は可 ○有ってもいい
515デフォルトの名無しさん:2010/07/25(日) 18:08:42
いいからいい加減にageて書くのやめてくれ
516デフォルトの名無しさん:2010/07/25(日) 18:09:44
ついに、sage厨登場
517デフォルトの名無しさん:2010/07/25(日) 18:09:51
518デフォルトの名無しさん:2010/07/25(日) 18:10:32
>>510
あんたもしかして>>472の英語読めないの?

> mainが終わった時に 0 を返す

そんな事どこにも書いて無いよ?
519デフォルトの名無しさん:2010/07/25(日) 18:10:59
return 0; は ○省略可 ×不要
さっ、このスレの本来の流れに戻しましょう。これ以上は荒らしと看做し
然るべき場所に通報しますよ。
520デフォルトの名無しさん:2010/07/25(日) 18:12:48
>>518
return 0;は省略可とも書いていないね。
521デフォルトの名無しさん:2010/07/25(日) 18:13:46
結論

return 0; は ○不要 ○有ってもいい △記述の省略は可

C99では、mainの } に達したら、0を返して終了する。
C++では、mainの最後に達したら、return 0; を実行する。
522デフォルトの名無しさん:2010/07/25(日) 18:15:43
return 0; は ×不要 ○省略可
これ以上の議論は必要はありません。荒らすつもりなら出るところに出ますよ?
あなた、こんな場所を荒らして職場を解雇されたらお笑い種だw
プログラマーとして失格。return 0; 程度のことも間違って解釈してたと。
523デフォルトの名無しさん:2010/07/25(日) 18:16:52
>>521 で確定だな。
524デフォルトの名無しさん:2010/07/25(日) 18:17:08
おまえらこの話題に決着をつけろよ?
二度と繰り返さなくていいようにな。

それと、本気でレスつけてるつもりならトリップ付けれ。
525デフォルトの名無しさん:2010/07/25(日) 18:29:02
>>520
省略された場合の動作を定めているんだから、省略可と受け取って齟齬無いだろう。

一方不要かどうかは、省略された時にわざわざ自動で付加するぐらいなのだから、
必要である(不要ではない)と受け取って齟齬無いだろう。
526デフォルトの名無しさん:2010/07/25(日) 18:29:37
齟齬って言いたいだけでした。
527ぼるじょあ ◆yBEncckFOU :2010/07/25(日) 18:30:46
(・3・)エエー return 0; は不要または省略可だよ
528 ◆QZaw55cn4c :2010/07/25(日) 18:30:59
>>393
http://codepad.org/UPb2xNxw
参考文献はソースに書きました。

アイディアが面白くて、わたしもいろんなデータを fft にかけてみましたが、
周期性を検出するには、いろいろ工夫が必要なようです。
529デフォルトの名無しさん:2010/07/25(日) 18:35:08
>>520
省略可じゃないなら、コンパイラは通らん!
530 ◆QZaw55cn4c :2010/07/25(日) 18:35:39
一人でフレームを自作自演しているように見えるのですが、気のせいですか?
531デフォルトの名無しさん:2010/07/25(日) 18:37:50
多分、○省略可君は、C/C++の規格を知らないというより、「省略」の意味を知らないのだと思う。
532デフォルトの名無しさん:2010/07/25(日) 18:39:56
例えばC89でreturn 0; を書かなくてもコンパイルは出来る
警告は出るかもしれないが

void main()にしておくと警告すら出ない
533デフォルトの名無しさん:2010/07/25(日) 18:42:51
return 0; は ○省略可 ×不要 これ以上の議論は ○不要
534デフォルトの名無しさん:2010/07/25(日) 18:43:28
>>532
その警告ってただ単に関数に戻り値があれば、
全ての制御パスにreturnが書かれているか調べているだけじゃないの?
535デフォルトの名無しさん:2010/07/25(日) 18:45:26
mainの戻り値の話題は、>>521で結論が出てる。
536デフォルトの名無しさん:2010/07/25(日) 18:49:22
>>535
ということにしたいのですね。
537デフォルトの名無しさん:2010/07/25(日) 18:52:12
mainのreturn 0;がどうとかは、もうお前らココ行って議論してくれ。
ここなら誰かちゃんと答えてくれるんじゃね。

C言語なら俺に聞け(入門編)Part 67
http://pc12.2ch.net/test/read.cgi/tech/1278759538/
538デフォルトの名無しさん:2010/07/25(日) 18:52:16
いま一番ホットなスレはここ!!
             / ̄\
            │34nm |
             \_/    インテル!
             _|_|_
       n:     /      \    n:
       ||   /         ヽ    ||
      f「| |^ト  |   :::\::/:::   |  「| |^|`|  エーーックス
      |: ::  ! }  | <(゚)>::::<(゚)> |  | !  : ::}   ニジュウゴ
      ヽ  ,イ  ヽ  (__人__) /  ヽ  ,イ     エーーーッムッッ!
            \ `⌒´ /
539デフォルトの名無しさん:2010/07/25(日) 18:53:40
>>537
こっちの方が良かったかもしれん

【初心者歓迎】C/C++室 Ver.73【環境依存OK】
http://pc12.2ch.net/test/read.cgi/tech/1274395127/
540デフォルトの名無しさん:2010/07/25(日) 19:00:54
【初心者お断り】ガチ規格準拠C専用スレ Part134
http://pc12.2ch.net/test/read.cgi/tech/1246115922/
541 ◆QZaw55cn4c :2010/07/25(日) 19:01:56
http://pc12.2ch.net/test/read.cgi/tech/1246115922/
こっちもどうぞ。相手にしてくれるかどうかは疑問ですが。
542デフォルトの名無しさん:2010/07/25(日) 19:04:19
return 0; は ○省略可 ×不要
本当に不要ならmainはOSへint型の値を返しませんよ?w
543デフォルトの名無しさん:2010/07/25(日) 19:05:18
CとC++にわたる話題なのにCスレに誘導ってどうなの
544デフォルトの名無しさん:2010/07/25(日) 19:06:20
545デフォルトの名無しさん:2010/07/25(日) 19:06:33
いやに宿題スレが伸びてると思ったらお前ら・・・・
546デフォルトの名無しさん:2010/07/25(日) 19:11:42
では宿題をどうぞ
547デフォルトの名無しさん:2010/07/25(日) 19:15:35
return 0;は省くな。
省くと課題なら不可、仕事なら次から案件来なくなる
548デフォルトの名無しさん:2010/07/25(日) 19:18:44
では宿題をどうぞ
549デフォルトの名無しさん:2010/07/25(日) 19:27:29
>>537
お前もしつこいなぁ
C++とC99はいいっつーに
550デフォルトの名無しさん:2010/07/25(日) 19:28:12
×>>537
>>547
551デフォルトの名無しさん:2010/07/25(日) 19:40:48
>>1
> 気に入らない質問やその他の発言はスルーの方向で。
return 0; は ○省略可能 ×不要
552デフォルトの名無しさん:2010/07/25(日) 19:41:43
【結論】

mainのreturn 0; は ○不要 ○有ってもいい △記述の省略は可

C99では、mainの } に達したら、0を返して終了する。
C++では、mainの最後に達したら、return 0; を実行する。
553デフォルトの名無しさん:2010/07/25(日) 20:02:21
return 0; は ×不要 ○省略可 ○各自で適切に記述
勝手に不要としないで下さい ><;
お前の存在こそ、このスレにとっては不要です ><;
554デフォルトの名無しさん:2010/07/25(日) 20:03:37
555デフォルトの名無しさん:2010/07/25(日) 20:40:05
[1] 授業単元: 情報処理(C言語)
[2] 問題文:整数を入力し、1から入力された数値までの数値と、
1から入力された数値までの累計の対応表を出力するプログラムを作成せよ。


8を入力したとき

1  1
2  3
3  6
4  10
5  15
6  21
7  28
8  36
[3] 環境
 [3.1] OS:Windows xp 32bit
 [3.2] コンパイラ名:visual studio バージョン:不明
 [3.3] 言語:C言語
[4] 期限: 7月30日(金)まで
[5]条件:%6dを両方とも使い、数字のピッチをそろえること。
556393:2010/07/25(日) 20:48:48
>>528
ありがとうございます!
試しに読み込ませるデータを
1.0
2.0
3.0
4.0
5.0
1.0
2.0
3.0
4.0
5.0
1.0
2.0
3.0
4.0
5.0



としてやってみたのですが,
出力結果のそれぞれの行は何に対応しているのか教えていただけるとありがたいです.
とりあえず出力結果の1行目と2行目,1行目と3行目,1行目と4行目をgnuplotで表示してみたのですが,スペクトルがずれてしまっているような気がします,
これは何が原因なんでしょうか?
557デフォルトの名無しさん:2010/07/25(日) 20:50:28
int n;
int s = 0;

scanf("%d", &n);
for(int i = 1; i <= n; i++){
s+=i;
printf("%d %d", i, s);
}
558デフォルトの名無しさん:2010/07/25(日) 20:55:36
【教訓】
省略できるものを省略すると不幸が訪れる
省略できるものでもいつでもちゃんと書くと幸福が訪れる
-人生絶対教訓集より
559555:2010/07/25(日) 20:57:09
>>557
ありがとう!!
560デフォルトの名無しさん:2010/07/25(日) 21:04:57
>>558
別に省略しても構わんが、それを不要と解釈した奴が
根本、原理を理解していないから話がこじれている。
本当に不要というなら、ヘッダとかも記述しないで
コンパイラに自動的に入れてもらえば良いのにね。
561デフォルトの名無しさん:2010/07/25(日) 21:10:11
>>558
キチガイ
562デフォルトの名無しさん:2010/07/25(日) 21:11:14
>>557じゃダメだろw
563デフォルトの名無しさん:2010/07/25(日) 21:13:20
仕様の話と省略の良し悪し
二つの話をいっしょにするからめんどくさい事になってんだよ
564デフォルトの名無しさん:2010/07/25(日) 21:13:39
省略 : 一部分をはぶくこと。
省く : 必要がないとして取り除く。
不要 : いらないこと。必要がないこと。
565555:2010/07/25(日) 21:18:32
>>562
何がだめなの?
見た感じそれっぽいけどなー
566デフォルトの名無しさん:2010/07/25(日) 21:20:36
>>512
>>513
主張を押し付けるために荒らすどころか
ラウンジので荒らし依頼とか狂ってる

↓のスレは広域荒らしとして各板から恨まれている

sage強要撲滅委員会に入りませんか
http://changi.2ch.net/test/read.cgi/entrance/1258046401/38

> 38 名前:名無しさん?[] 投稿日:2010/07/25(日) 18:11:40 ID:K9O/EzN6
> http://pc12.2ch.net/test/read.cgi/tech/1279286575/515
567デフォルトの名無しさん:2010/07/25(日) 21:25:44
>>565
>>↓557の実行結果
1 12 33 64 105 156 217 288 36

↓修正後
#include <stdio.h>
int main(void)
{
int n, s = 0;

scanf("%d", &n);
for (int i = 1; i <= n; i++) {
s += i;
printf("%d %d\n", i, s);
}
return 0;
}
568565:2010/07/25(日) 21:29:13
>>567
そうか。改行が足りなかったのか。
訂正サンクス
569デフォルトの名無しさん:2010/07/25(日) 21:32:26
同じ手合のようだ。

C/C++の宿題片付けます 138代目
http://pc12.2ch.net/test/read.cgi/tech/1279286575/

C言語なら俺に聞け(入門編)Part 67
http://pc12.2ch.net/test/read.cgi/tech/1278759538/

【Perl,PHP】LLバトルロワイヤル11【Ruby,Python】
http://pc12.2ch.net/test/read.cgi/tech/1276128624/
570デフォルトの名無しさん:2010/07/25(日) 21:44:20
>>568
[5]条件:%6dを両方とも使い、数字のピッチをそろえること。
571 ◆QZaw55cn4c :2010/07/25(日) 21:58:18
572 ◆QZaw55cn4c :2010/07/25(日) 22:33:18
>>556
私は数学的な話はできませんが、フーリエ級数展開をイメージしています。
512 個のデータをフーリエ変換して出てきた結果ですが、
0: 0.000000 0.000000 0.000000
1: 0.000000 0.000000 0.000000
2: 0.500000 0.000000 -0.500000
3: 0.000000 0.000000 0.000000
4: 0.000000 0.000000 0.000000
5: 0.000000 0.000000 0.000000
6: 0.000000 -0.000000 0.000000
7: 0.000000 0.000000 0.000000
8: 0.000000 0.000000 0.000000
9: 0.000000 0.000000 0.000000
10: 0.000000 -0.000000 0.000000
(以下 511 までつづきます)
という結果では、二列目は cosのスペクトル、三列目は sin のスペクトル、そして一列目は cos と sin を総合したスペクトルをあらわしています。
(正確な内容はソースを参考にしてください。)
この例では、No. 2 にスペクトルがあらわれています。これは、512個のデータ列いっぱいいっぱいを一波長としたときに、
2分の1波長(すなわち 256 個分で一波長となる)の成分が沢山あることを示しています。
n 番目の数字は、n 分の1 波長の波の成分のスペクトルをあらわしている、といってよいでしょうか。

一度に全部を説明するのは、私の知識では無理ですので、対話しながらいきませんか?
573 ◆QZaw55cn4c :2010/07/25(日) 22:41:50
>>566
文章から受ける印象を考えると、いつものアイツの仕業でしょうね。単数だといいのですけれども。
私も自演とやらのせいで無駄な宿題をしてしまったようです。まあ、解くのは好きだから、どんな問題であれ、かってに解きますけれども。
それにしても age まくるくらいなら、私のようにコテをつけてくれるとありがたいのですが。
574デフォルトの名無しさん:2010/07/25(日) 22:47:40
>>573
いつものお前の意味が分からんが、トリップを付けずに自作自演している
いつものお前は変わらないんでしょうねw 見えない敵と戦うキモイ戦士乙。
出題者と回答者のリモホが同じなんすけど〜?どこの学校の講師ですか?
通報しておくから、教えてくれ。
575 ◆QZaw55cn4c :2010/07/25(日) 22:51:01
>>574
ほう、どうやってリモートホスト名を知ることができたのですか?
私は解答一辺倒で、あなたのいう自作自演はしてませんがね。
それよりも一度病院でみてもらってはいかがでしょうか?
576デフォルトの名無しさん:2010/07/25(日) 22:52:01
病気だな。
577デフォルトの名無しさん:2010/07/25(日) 23:23:10
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10884.txt
                 三角波の部分をお願いします。
[3] 環境
 [3.1] OS: (Windows/Linux/等々)Windows7
 [3.2] コンパイラ名とバージョン: visualStudio2010
 [3.3] 言語: C
[4] 期限:7/26
[5] その他の制限: 特になし
 
  よろしくお願いします。
578デフォルトの名無しさん:2010/07/25(日) 23:36:46
さすがに出題者と回答者のリモホネタを出すと、ビビって黙り込むな、こいつw
自作自演でこのスレを盛り上げているんだろうけど、このスレが一部の人間の間で
有名になって、学校側も監視しているって話じゃんw
そう、講師が答えてそれを丸写しした生徒を落とす魂胆さw
579 ◆QZaw55cn4c :2010/07/25(日) 23:42:28
>>578
学校関係者じゃないので、別に。
リモートホスト名がわかるのなら、このスレの質問者分と回答者分だけでも、そのリモートホスト名とやらをさらしてみてはいかがでしょうか?
580393:2010/07/25(日) 23:44:46
>>572
お付き合いありがとうございます.大変感謝しています.

なるほど,そういうことでしたか.
つまり,プログラムに読み込ませるある膨大な周期的なデータ(簡単な例:sin波がいつまでも続くようなデータ)
があったとしても,その読み込み範囲(その周期的なデータをはじめからどこまで読み込ませるか)によって
スペクトルが最大になる場所が変わるということですね.

自分はスペクトルが最大になるところの値がそのまま,読み込ませたデータの中に,最も多く含まれている
波長(周期)成分の値ということだと思っていたので,1万個程度のデータを読み込ませた際に,
スペクトルが一番はっきり出てくるポイントが大きくなってしまい,そのために先ほどは
スペクトルにずれがあるといっていました.

>>572に書いてくださったことは,スペクトルがはっきり出る部分のNo.分の1が,データ全体が
最も多く持っている波長成分という解釈でいいのでしょうか?
581393:2010/07/25(日) 23:55:42
>>580追記
最後の二行の部分を訂正です.


>>572に書いてくださったことは,スペクトルがはっきり出る部分のNo.分の1が,データ全体が
最も多く持っている波長成分という解釈でいいのでしょうか?


>>572に書いてくださったことは,スペクトルがはっきり出る部分のNo.分の1に読み込ませたデータ数を
かけたものが,データ全体が最も多く持っている波長成分という解釈でいいのでしょうか?
582 ◆QZaw55cn4c :2010/07/25(日) 23:59:48
>>580
そうそう、fft にかけるデータ数(512 個とか 1024個とか 2 のべき乗になります)を基準として、その 512 個で一周期となる波長を基準にして、
それより 1/2, 1/3, 1/4 ... 1/n の波長のスペクトルを調べるのが fft 、というイメージを持っています。

同じ波形のデータの繰り返しでもそれが 512 個のデータのなかの場合と、1024 個のデータのなかの繰り返しとでは、
スペクトルの位置が異なると思います。すなわち
(123412341234....) 512個 と (1234123412341234 ....) 1024 個とでは、同じデータ4個分の繰り返しであっても、スペクトル位置は、
それぞれ、4/512 と 4/1024 になり異なります。

※おもいっきりイメージで文章を書いています。はずしていたらすみません。

>>572に書いてくださったことは,スペクトルがはっきり出る部分のNo.分の1が,データ全体が
>最も多く持っている波長成分という解釈でいいのでしょうか?
そうです。そして、 なんの n/1 かというと、入力データ個数分いっぱいいっぱいで表現できる一波長ということになります。

繰り返しになりますが確認として書いておきました。
583 ◆QZaw55cn4c :2010/07/26(月) 00:02:11
>>581
入れ違いになりました。

>>572に書いてくださったことは,スペクトルがはっきり出る部分のNo.分の1に読み込ませたデータ数を
>かけたものが,データ全体が最も多く持っている波長成分という解釈でいいのでしょうか?

んー、よくわかりません。 >>582 が参考になりますでしょうか。
584393:2010/07/26(月) 00:11:12
>>583
返信ありがとうございます.
追記部分を言い直せば,
つまり,もし1012個分のデータの中に周期が4のデータ(今回は1,2,3,4の繰り返しとする)がなんども繰り返し入っているとした場合,
1012/4 = 253 番目に目立ったスペクトルが出るはずということでよいでしょうか?ということです.
585デフォルトの名無しさん:2010/07/26(月) 00:23:31
ちなみに繰り返してない系列長253のデータをDFTにかけて
間に3サブキャリアづつ挿入して系列長を1012にした場合とスペクトルは等しくなる
586デフォルトの名無しさん:2010/07/26(月) 00:26:14
今後は何度でも書いてやりますよ。
return 0; は ×不要 ○省略可
勝手に「不要」としないで下さいね ♥
587 ◆QZaw55cn4c :2010/07/26(月) 00:30:34
>>584
>>528 のプログラムはデータ数が 2 のべき乗になるように 0 を追加してしまいます(この場合は1024 個にします)が、
かりに 1012 個 で dft にかけることができれば、4 個の繰り返しは、おっしゃるとおり 253 個のところに現れます。
>>528 のプログラムは、データ数を 1024 にするので、1024 / 4 = 256 番目にスペクトルがあらわれるでしょう。

>>585
私は専門じゃないので差し支えなければ。
588393:2010/07/26(月) 00:42:52
>>587
すみません1024でした.書き間違えです.
おかげさまで,>>528のプログラムから,データの周期をどのように見いだせばよいのか分かりました.
もしもよろしければで良いのですが,一発でデータ内の周期成分そのものを
スペクトル表示するような方法は実現できないのでしょうか?
589デフォルトの名無しさん:2010/07/26(月) 00:44:03
>>588
gnuplot とか excel とか
590393:2010/07/26(月) 00:48:12
>>589
データ4個分で1周期のデータが1024個分ある場合に4の部分にピークのスペクトルが
でるようなプログラムという意味で書かせていただきました.
データの表示にはgnuplotを使用しています.
591 ◆QZaw55cn4c :2010/07/26(月) 00:53:32
>>586
鬼の首でもとったように‥‥‥。
592デフォルトの名無しさん:2010/07/26(月) 01:00:44
>>586
「省略可」なんて規格書に書いてねー事、捏造すんな。
593デフォルトの名無しさん:2010/07/26(月) 01:01:08
>>591
「鬼の首でもとったように」は用法をよく読み正しくお使い下さい。
594デフォルトの名無しさん:2010/07/26(月) 01:04:10
>>591
>>472の一文から導き出される結論は?
省略された場合の挙動について定義してるんだから、省略できると考えて何か問題が?
595594:2010/07/26(月) 01:04:35
>>592だったorz
596デフォルトの名無しさん:2010/07/26(月) 01:42:38
丸一日不要だ省略だって話してたのか
さすが日曜日
597デフォルトの名無しさん:2010/07/26(月) 01:47:14
>>594
> >>472の一文から導き出される結論は?
書いてある通り。int mainの時は0を返す。

> 省略された場合の挙動について定義してるんだから、省略できると考えて何か問題が?
省略とは、元から合ったものを省く/あるべき物を省く事だが、文法的にはreturn文は
必須では無いので、>>472は「書かれていない場合の挙動」についての定義であって、
省略されているわけではない。

面倒臭いから引用しといてやる。
6.9.1 Function definitions
……
If the } that terminates a function is reached, and the value of the function call
is used by the caller, the behavior is undefined.
598デフォルトの名無しさん:2010/07/26(月) 03:04:37
main関数は例外な
599デフォルトの名無しさん:2010/07/26(月) 03:33:35
return 0; は ×不要 ○省略可
不要は言い過ぎ。コンパイラが自動的に処理してくれているのを
勝手に不要と判断するユーザは、ヘッダも不要と言ってごらん?
600デフォルトの名無しさん:2010/07/26(月) 05:27:12
[1] 授業単元: コンピュータ工学
[2] 問題文(含コード&リンク): つぎのCプログラムを人手でコンパイルし、出力となるVCのアセンブリプログラムを示せ。
#include <stdio.h>

char str1[10]; /* global variable */
char str2[10]="abcdefghi"; /* global variable */

void strcopy(char *s1,char *s2) {
while(*s1++=*s2++)
;
}

int main(void) {
strcopy(str1,str2);
return 0;
}


今日の昼の1時まで出来る天才な方がいたらお願いします。。。
601デフォルトの名無しさん:2010/07/26(月) 05:33:36
お願いします。
プログラミングの授業です。
問題→次の設定のゲーム{MOONCAR} <_■  を作る。
                 ○=○
   MOONCARは、月面探索車で、画面の左に重ねてあるブロック(□3X5)を削りながら、先に進んでいく。
   ブロックを削るドリルは一度使うと10秒待たなければ 次を削ることができない。
5列のブロックをすべて削って画面の左端に到着するとステージクリア。
   月面には隕石(●)が絶えず降り注いでいる。(一個ずつランダムに現れる)
   これに当たるとMOONCARは破壊される。MOONCARは三台までしかなく、すべて破壊されるとゲームオーバーとなる。
   ブロックを削る、ステージをクリアするなどのイベントにより、スコアが加算される。
   そしてステージがあがるにつれて難易度が増すようにする。(隕石の数が増える)
(応用)ゲームタイトルを表示する。「S」キーを押すとゲームスタートし、「Q」キーを押すと終了する。
   ゲームオーバー時はプログラムを終了せずに、ゲームタイトル画面に戻る。

windowsでCです。
プログラムを習い始めて半年なので 難しいことがよくわかりません。
最初は
#include<stdio.h>
#include<conio.h>
#include<windows.h>
#include<time.h>

こんなかんじです。
できれば今日中にお願いしたいのですが大丈夫ですか?
100行は軽く超えると思いますが・・・><
602デフォルトの名無しさん:2010/07/26(月) 05:34:57
<_■
○=○ 
603デフォルトの名無しさん:2010/07/26(月) 05:57:30
int main(void)
{
printf("return 0; は ×不要 ○省略可\n");
}

↑さぁ、このコードをコンパイラしてみよう。恐らく2つ
警告が出るとは思いますが、コンパイルは出来ますよ v(^ω^)v
お前が不要というなら不要なんだろう、お前ん中ではな
604デフォルトの名無しさん:2010/07/26(月) 06:17:34
[1] 授業単元:C言語プログラミング基礎
[2] 問題文:1以上の正の整数を二つ入力、
その二つの数の最大公約数を求めるプログラムを作成せよ。

ただし以下の条件のような動きをするプログラムを作成すること。

「aをbで割ったときの余りをmとする。
 mが0ならばbが最大公約数である。
 mが0でなければaとbの最大公約数はbとmの最大公約数に等しい。
 したがって、bをaとし、mをbとして同じ処理を繰り返す。

312と120を入力したとき

312 % 120 = 72
120 % 72 = 48
72 % 48 = 24
48 % 24 = 0

よってこの場合は24が最大公約数となる。

[3] 環境
 [3.1] OS:Windows Vista Business
 [3.2] コンパイラ名:visual studio
 [3.3] 言語:C言語
[4] 期限: 7月26日(金)まで
[5]条件:上に書いたとおりです。
よろしくお願いします。
605デフォルトの名無しさん:2010/07/26(月) 07:14:19
cat -n foo.c
1 int main(void) {}

cc -Wall -pedantic-errors -std=c89 -S foo.c -o foo_c89.s
foo.c: In function ‘main’:
foo.c:1: 警告: control reaches end of non-void function

cc -Wall -pedantic-errors -std=c99 -S foo.c -o foo_c99.s

diff foo_c89.s foo_c99.s
11a12
> movl $0, %eax

c++ -Wall -pedantic-errors -S foo.c -o foo_cxx.s

grep \$0 foo_cxx.s
movl $0, %eax

cc --version
cc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48)
606デフォルトの名無しさん:2010/07/26(月) 08:01:17
>>599
わかってて省略して良い物と悪いものを混同するなカス
607デフォルトの名無しさん:2010/07/26(月) 08:20:20
>>598
どこに例外って書いてあるんだよ。捏造すんな。カス。

>>599
「省略可」なんて規格書に書いてねー事、捏造すんな。カス。
608デフォルトの名無しさん:2010/07/26(月) 09:02:24
609デフォルトの名無しさん:2010/07/26(月) 09:30:43
>>604
#include <stdio.h>
int main (void)
{
int a,b,c;
printf("数を2つ入力してください。\n1つ目:");
scanf("%d",&a);
printf("2つ目:");
scanf("%d",&b);
if (a<b){c=a;a=b;b=c;}
while (1){
printf("%d %% %d = %d\n",a,b,c=a%b);
if (c) {a=b;b=c;}else break;}
printf("最大公約数は%dです。\n",b);
return 0;
}
610604:2010/07/26(月) 12:26:13
>>609
ありがとうございます。
611609:2010/07/26(月) 12:52:31
>>610 いえいえ。
少し訂正で、cはmに、scanf("%d",&b);の下に
if (a<1||b<1){printf("1以上の整数を入力して下さい。最初からやり直しです。\n"); return 0;}
を追加して下さい。
612デフォルトの名無しさん:2010/07/26(月) 13:00:18
すごいなー
私も理解したい。
613デフォルトの名無しさん:2010/07/26(月) 14:40:36
同じ学校の生徒、講師に聞けよw
614デフォルトの名無しさん:2010/07/26(月) 15:17:56
あ〜〜〜早くカレンダー、双方向リストこねーかなぁ〜
自作自演の講師の方、やっちゃって下さいよ?
615デフォルトの名無しさん:2010/07/26(月) 15:21:41
return 0; は ◎省略可 ○必要 ×不要
616デフォルトの名無しさん:2010/07/26(月) 15:37:36
コンパイラが自動的に処理してくれる未熟者ユーザなら
return 0; は ○不要 ◎省略可 ○必要
617デフォルトの名無しさん:2010/07/26(月) 15:50:30
聞けないから書いてるのに。
618デフォルトの名無しさん:2010/07/26(月) 15:57:22
【質問テンプレ】
[1] 授業単元:C演習
[2] 問題文(含コード&リンク):
乱数で生成されたノンインタラクティブなノベルの自動生成プログラムを
書け

[3] 環境
 [3.1] OS: (Windows/Linux/等々) Windows Vista
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc3 CygWin
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C言語
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
8/31(新学期は9月だけど余裕をみてます)

[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
出来るだけ少ないコードで、出来るだけ沢山の展開のストーリーが
生成されると評価が高いそうです。夏休みの宿題です。
よろしくお願いします。
619デフォルトの名無しさん:2010/07/26(月) 15:58:31
return 0; は ◎絶対必要 ×××省略可 ×××不要
620デフォルトの名無しさん:2010/07/26(月) 16:39:32
return 0; は ○省略可 ××不要
621デフォルトの名無しさん:2010/07/26(月) 17:15:13
return 0;は文法的に不要。
622デフォルトの名無しさん:2010/07/26(月) 17:53:18
[1] 授業単元:C演習
[2] 問題文(含コード&リンク):
半楕円の描画

[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン:visualStudio2010
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C言語
[4] 期限:2010/07/26/24:59
623 ◆QZaw55cn4c :2010/07/26(月) 19:12:38
>>622
半楕円とはなにか教えてください。いろいろ調べましたがよくわかりませんでした。
624デフォルトの名無しさん:2010/07/26(月) 19:30:21
>>623
楕円の半分だけ描画です
625デフォルトの名無しさん:2010/07/26(月) 19:46:39
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク):
0〜255諧調の画像があり、
この中から約100〜150の輝度値を持った部分だけを切りだしたい。
また画像にはノイズも含まれていると仮定し、
できるだけきれいにその部分だけを切りだす方法を考えなさい。

[3] 環境
 [3.1] OS: Windows Vista
 [3.2] コンパイラ名とバージョン:visual Studio 2008
 [3.3] 言語: C言語
[4] 期限:2010/07/27/18:00 まで

626 ◆QZaw55cn4c :2010/07/26(月) 21:13:30
>>622
http://codepad.org/1WqDj0g2
>>436 を参考にさせていただきました。bcc5.5.1 で確認しています。
627デフォルトの名無しさん:2010/07/26(月) 21:55:08
>>608
ありがとうございました
628 ◆QZaw55cn4c :2010/07/26(月) 22:11:22
>>625
入力画像のフォーマットを教えてください。256色 bmp ファイルかつ白黒でいいですか?
629393:2010/07/26(月) 23:12:18
>>590
どなたかよろしかったらお願いします。
630デフォルトの名無しさん:2010/07/26(月) 23:23:21


[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10885.zip
[3] 環境
 [3.1] OS: (Windows/Linux/等々)Windows7
 [3.2] コンパイラ名とバージョン: visualStudio2010
 [3.3] 言語: C++
[4] 期限:7/27
[5] その他の制限: 特になし
よろしくお願いします
631デフォルトの名無しさん:2010/07/26(月) 23:27:12
[1] 授業単元:一般情報処理
[2] 問題文(含コード&リンク):剰余を用いた乗算表とその応用。
               p=6の場合とp=7の場合について
               kuku[x][y]=( x × y ) mod p
(プログラムの中ではkuku[x][y]=( x * y ) % p と表される)
               を中身にもつ掛け算表を表示するプログラムを作成せよ。
               その際、表の行と列は0からp-1までの値を表示すること。
<p=3の時の出力例>
0 0 0
0 1 2
0 2 1
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名:gcc
 [3.3] 言語:C
[4] 期限:2010年07月27日17:00まで
[5] その他の制限:問題文の指示以外に、とくに制限はありません。

どうぞよろしくお願いします
632 ◆QZaw55cn4c :2010/07/26(月) 23:53:52
633デフォルトの名無しさん:2010/07/26(月) 23:57:33
>>630
新しいWord は勘弁してください。pdf など皆が読めるものにしていただけないでしょうか。
634デフォルトの名無しさん:2010/07/27(火) 00:23:05
>>633
すいません

>>630
再うpします

[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):http://www1.axfc.net/uploader/File/so/48315.zip
[3] 環境
 [3.1] OS: (Windows/Linux/等々)Windows7
 [3.2] コンパイラ名とバージョン: visualStudio2010
 [3.3] 言語: C++
[4] 期限:7/27
[5] その他の制限: 特になし
よろしくお願いします
635631:2010/07/27(火) 00:24:03
>>632
ありがとうございました!
636デフォルトの名無しさん:2010/07/27(火) 01:04:08
>>634
これどっかで第一列の数字が小さくなり過ぎてるかもしれんね
ピボット選択をしたらいいかも
637デフォルトの名無しさん:2010/07/27(火) 04:16:16
カレンダー、リストの課題が出なきゃ麻呂のクソミソースが発動できません ><;
638デフォルトの名無しさん:2010/07/27(火) 04:24:03
そういえば、xについての二次方程式の解の公式で
ax^2 + bx + c = 0 (a≠0) なのに、a=0 の時の事も考えてとか
言っちゃったあなた、まだここを見てますか?
639デフォルトの名無しさん:2010/07/27(火) 07:37:06
そういえば、
char c;
c = fgetchar();
とかいたあなた、見てますか?
640デフォルトの名無しさん:2010/07/27(火) 08:44:36
コンパイルもせずに答えを貼る奴が信じられない
自分の能力を過信し過ぎ
641デフォルトの名無しさん:2010/07/27(火) 12:38:35
>>633
ビューア入れればいいのに
642デフォルトの名無しさん:2010/07/27(火) 15:56:11
>>628
それでOKです
643デフォルトの名無しさん:2010/07/27(火) 16:22:15
>>639 誰に向かって言っているのか知らんが、そんな奴おらんやろぉ〜w
勝手にそんなアホなコードを書いた奴を作り出すなよw
まぁお前のことなんだろうけどw
644デフォルトの名無しさん:2010/07/27(火) 16:27:44
そろそろEOFがマクロで定義されている(ヘッダにしっかりと記述されている)
ことを覚えて欲しいんですが?
その他、マクロで定義されている値
ttp://www.tamasoft.co.jp/lc/hlp/F025.html
645デフォルトの名無しさん:2010/07/27(火) 17:46:33
[1] 授業単元:C言語演習
[2] 問題文(含コード&リンク):
ttp://www1.axfc.net/uploader/Sc/so/138099
[3] 環境
 [3.1] OS: WindowsVista
 [3.2] コンパイラ名とバージョン: visualstdio2010
 [3.3] 言語: C
[4] 期限: 7月27日まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
リストの更新追加ソートの課題です。
辞書順のソートは関数strcmpを使って行うことです、よろしくお願いします、
646デフォルトの名無しさん:2010/07/27(火) 18:17:57
>>640
以前、性帝トーマスとか名乗っていたゴミクズコテハンね。
あいつ、コンパイルなんてせずにこのスレに投稿してたし。
647デフォルトの名無しさん:2010/07/27(火) 18:28:44
[1] 授業単元:情報処理 C言語演習
[2] 問題文(含コード&リンク):http://img710.imageshack.us/img710/3434/problemxw.jpg
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 2008
 [3.3] 言語:C言語(C++ではないです><)
[4] 期限:[無期限]
[5] その他の制限: 特になし
648デフォルトの名無しさん:2010/07/27(火) 19:05:53
[1] 授業単元:コンピュータアーキテクチャー
[2] 問題文(含コード&リンク):
コンピュータの処理においては、様々な数学的アルゴリズムを駆使して
計算や検索を加速させる技法が用いられる。
しかし、メモリアクセス速度など、計算処理以外の部分においても処理速度
に大きな影響を及ぼすものがある。
ディスクドライブ上に同じサイズのデータを書き込んだり参照したりする
場合とメモリに同じサイズのデータを書き込んだり参照したりする
際のハードウェア特性の差に着目し、
それが処理速度に大きな影響を及ぼしていることが明確に示せるような
対照実験プログラムを作りなさい。

注意:昨今のコンピュータでは、ディスクドライブに直接アクセスする
とは限らず、バッファと呼ばれるメモリを介してアクセスするケースも
多いので、工夫しなければその差を検出することは出来ない
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc(多分)
 [3.3] 言語: C++
[4] 期限:2010/09/10
[5] その他の制限:全文です
意外にムズかしいそうです。よろしくお願いします。
649デフォルトの名無しさん:2010/07/27(火) 20:10:03
<注意:昨今のコンピュータでは、ディスクドライブに直接アクセスする
<とは限らず、バッファと呼ばれるメモリを介してアクセスするケースも
<多いので、工夫しなければその差を検出することは出来ない

ここがウザイな。
OSによって違うだろうから、Windowsしかインストールしてない俺は実証できないや。
650 ◆QZaw55cn4c :2010/07/27(火) 20:59:17
651 ◆QZaw55cn4c :2010/07/27(火) 21:33:30
>>625
http://codepad.org/i6XH6wiR
第一引数は 入力ファイル(256色ビットマップか24bitビットマップ)
第二引数は出力ファイル(24bitビットマップ)
です。
なおノイズ云々の処理はしておらず、100〜150 階調の部分を白、その他を黒にしているだけになっています。m(_ _)m
652デフォルトの名無しさん:2010/07/27(火) 22:02:08
>>649
Windowsのファイルシステムにもバッファー(キャッシュ)はあるだろ。
653デフォルトの名無しさん:2010/07/27(火) 22:24:24
工夫の内容がOSによって違うだろうってことじゃ?
最近のLinuxなら system("sync; echo 3 > /proc/sys/vm/drop_caches"); でメモリキャッシュを解放するとか
654 ◆QZaw55cn4c :2010/07/27(火) 22:28:51
655デフォルトの名無しさん:2010/07/27(火) 22:37:06
キャッシュサイズが既知の場合、参照距離が常にキャッシュ空間を突破するような順番で
アクセスすればよさそうだが

キャッシュサイズが不明かつ低レベル制御で強制的にキャッシュを殺すのは不可な場合
以下の方針ぐらいしか思い浮かばないな…

A) OS起動直後にそのプログラムで時間を計る (対象ファイルがキャッシュされないことを期待して)
B) さらに続けてそのプログラムで時間を計る (対象ファイルがキャッシュされていることを期待して)

A,B 差がキャッシュ有無にまつわりそうな要素?
656デフォルトの名無しさん:2010/07/27(火) 22:39:48
open("filename", O_DIRECT|O_SYNC);
657デフォルトの名無しさん:2010/07/27(火) 22:46:29
OSが「工夫しなければその差を検出することは出来ない」くらいにしているのに、
わざわざそれを回避して「それが処理速度に大きな影響を及ぼしていることが明確に示せ」って意味不明だろ。

処理速度に大きな影響を及ぼしていないんだろ。

>>649
そこがウザイのではなく、問題文がウザイんだよ。
下記のように素直に書けばいいのにな。

◆素直な問題文

昨今のコンピュータでは、ディスクドライブに直接アクセスする
とは限らず、バッファと呼ばれるメモリを介してアクセスするケースも
多いので、工夫しなければその差を検出することは出来ない。
そこで、工夫してその差を検出する対照実験プログラムを作りなさい。
658デフォルトの名無しさん:2010/07/27(火) 23:33:07
要するにLinux上でRAMディスクに相当するキャラクタデバイスを
作成して、それと対照実験しろとしか解釈できないな、これって
デバドラは処理系依存環境依存だが環境も明示されてるが
カーネル再構築が必要?だったらここで扱える宿題のレベル
超えてるかもな。
659デフォルトの名無しさん:2010/07/27(火) 23:40:14
ん。>>656が答えじゃないの?
660デフォルトの名無しさん:2010/07/27(火) 23:56:36
>>656でおk
661デフォルトの名無しさん:2010/07/27(火) 23:58:19
open("filename", O_DIRECT|O_SYNC);
open("filename", O_BUFFERED|O_NOSYNC);←架空のマクロ
この2つを比べなきゃ対照実験にはならないよな気が酢
662デフォルトの名無しさん:2010/07/28(水) 00:09:57
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
(1)3つの整数値を読み込み、数値の大きい順に並べて出力するプログラムを作成せよ。
(2)等比数列の初項から第10項までを表示させなさい。
(3)自然数nを入力し、n!(nの階乗)を計算しなさい。
(4)要素数5個の配列に適当な初期値を入れておき、その最大値および最小値を表示するプログラムを作成せよ。
[3] 環境
 [3.1] OS: WindowsVista
 [3.2] コンパイラ名とバージョン: visualstdio2010
 [3.3] 言語: C
[4] 期限: 7月28日 9:00
[5] その他の制限: 特になし
自分の頭ではわかりません・・よろしくお願いします
663デフォルトの名無しさん:2010/07/28(水) 00:12:41
>>661
もちろん、比較するプログラムは作成すべきだけど、
バッファうんぬんの話は>>656で解決だと思う。
で、比較する対象が
・ディスクドライブへのread/write
・メモリへのread/write
だから、>>656で書き込んだのと同じバイト数だけ、
memcpyなりでもして両方の時間を計るプログラムを書けばオッケーだと思う。

うちの環境がLinuxじゃなくて動作確認できないから、俺は無理。
664 ◆QZaw55cn4c :2010/07/28(水) 08:05:23
>> 647
訂正します。
http://codepad.org/mgXkjRaB
665デフォルトの名無しさん:2010/07/28(水) 10:14:04
>>664
解答ありがとうございます。しかし
#include <stdlib.h>
これはまだ授業にでていないので・・・><
stdio.h math.h しか使った経験がありません。
666デフォルトの名無しさん:2010/07/28(水) 11:38:01
>>664
ヒントとは違う解き方だがヒントだから無視してもいいのか
667 ◆QZaw55cn4c :2010/07/28(水) 12:30:20
>>647
>>665
#include <stdlib.b> を使用しないということですから、
N をプログラム内で入力せず、コンパイル時に与えておく形に変更しました。
このプログラムでは N = 1000 に設定しています。
#define N 1000
の行をかえれば、他の N にも対応することができます。
http://codepad.org/1lgZWpSR

>>666
ヒントの記述にあわせるべく、>>664 から一行追加しました。
しかし、基本的には >>664 もこれもヒントの指定どおり、エラトステネスのふるいです。
668デフォルトの名無しさん:2010/07/28(水) 12:53:55
次の宿題をお願いします!

[1] アルゴリズムとデータ構造
[2] 問題
1.英語の文書を読み込み、2.その後指定した長さを入力すると、その長さの単語
の中で、出現頻度で上位3位までの単語を、出現回数とともに出力する。
3.他にその英文に対して新しい機能を追加して実装。
3.の新しい機能はなんでもいいです!ただし、2.と3.は同じコードで同時に実装
できるようにしてください。
[3] WindowsXP、C言語
669デフォルトの名無しさん:2010/07/28(水) 13:47:45
>>647
なるべくヒントに近く書いてみた。
#include <stdio.h>
int main(void)
{
int sieve[10000];
int i, j, cnt, n;
scanf("%d", &n);
if(n > 10000) return 0;
for(i = 0, j = 2; j <= n; i++, j++) sieve[i] = j;
cnt = i;
while(cnt) {
int temp = sieve[0];
printf("%d\n", temp);
for(i = 1, j = 0; i < cnt; i++) if(sieve[i] % temp) sieve[j++] = sieve[i];
cnt = j;}
return 0;}
670デフォルトの名無しさん:2010/07/28(水) 15:55:32
で、お前ら、怠け者学生の手助けをする暇のある奴はどんな人生を送ってんの?
2ちゃんにへばりついていられるくらい、暇人なんでしょうね。
年金暮らしのおじいちゃん?
671デフォルトの名無しさん:2010/07/28(水) 16:07:25
その暇人の集まりであるはずの2ちゃんねらから全スルーされたのが枕をしとどに濡らしたほどに悔しかったの?
臍を噬む思いに歯噛みしたの?
かみまみた〜って??
ぷくくっ
672667 ◆QZaw55cn4c :2010/07/28(水) 18:00:09
>>647
>>665
バグが紛れ込んでしまいました。すみません。以下に訂正いたします。
http://codepad.org/5DPYNqh4
673デフォルトの名無しさん:2010/07/28(水) 18:41:06
>>670
中には優秀な学生も多いんだカス
674デフォルトの名無しさん:2010/07/28(水) 21:50:52
>>668
スマン2で力尽きた
あまりいいコードではないと思うが、頑張ってみた
もっと頭のいい人が良いコードを張ってくれるのを期待
http://codepad.org/mFp7QhvP
ちなみに
English.txtは

This is a pen.
my name is Tom. Tom.
675デフォルトの名無しさん:2010/07/28(水) 22:29:01
>>673
はいはい、自称優秀な学生さん乙w
676デフォルトの名無しさん:2010/07/28(水) 22:31:09
>>673
お前に言ってねーよ?あっ、図星を指されたご隠居さんでしたかw
ご自分が育てたご自慢の 優秀な学生 がこのスレで必死に
答えてやっているんですか、是非とも 自分の為に時間を使え と言っておけ。
他人を甘えやかしている間に、時間は過ぎ去り無駄なことにしかならないと
早く気づいて下さいね ♥
677デフォルトの名無しさん:2010/07/28(水) 22:33:32
>>673
なんで”多いんだ”って思うの?カス?意味不明なんすけど?
IDも見えず、書き込む人の素性も分からないこんな場所で
何妄想して(自分の素性、自称優秀な学生)を気取ってんの?w
こんな場所でウダウダしていられる時間があるくらい、暇人なんでしょうね。
稼ぐ奴はこんな場所に常駐してねーよ、もっと現実を直視しましょうねw
678デフォルトの名無しさん:2010/07/28(水) 22:36:42
頼むから荒れるからスルーしてけろ・・・ケロケロ
679デフォルトの名無しさん:2010/07/28(水) 22:45:54
>>673
あぁ、自作自演している講師の方でしたか。貴方の優秀な生徒が
このスレを支配していると?優秀ねぇ・・・この程度の課題でw
さぞかし、ランクの高い大学の授業の課題を答えているんでしょうねぇ・・・
このスレでw
680デフォルトの名無しさん:2010/07/28(水) 22:47:04
ソースをcodepad にすらあげられないくせに意味もなくアげる馬鹿になにを言っても‥‥スルー力が足りませんでした、ごめんなさい。
681デフォルトの名無しさん:2010/07/28(水) 23:12:01
>>673 優秀な学生さん♥
682デフォルトの名無しさん:2010/07/28(水) 23:59:10
>>681
よう、底辺の低脳さん♥
683デフォルトの名無しさん:2010/07/29(木) 00:13:51
自分で自分を優秀な学生だと思い込んでいるバカはぁ〜
どこのどいつだぁ〜い?優秀ならこんな場所に来ないわw
答えてやってんだよ?てめぇが過去に解いてもらったのを
丸写しして答えてやっただと?バカかw
点数評価で済む学生はそれで済むが、社会は分かりきった答えの
案件だけじゃないんだよ。優秀な人間は臨機応変に対処できる人のことを言うんであって
自分が知った範囲内で完璧を求めても無駄だってことだ。
まぁこんなスレじゃ話にならん
684デフォルトの名無しさん:2010/07/29(木) 01:47:35
夏休みですねえ( ´ー`)y-~~
685デフォルトの名無しさん:2010/07/29(木) 01:55:45
>>683
優秀な学生の条件を満たしていれば優秀な学生だろ。アホ。
なんで、「社会は分かりきった答えの〜」とか言い出してるんだよ。加齢臭臭いんだよ。おっさん。
686デフォルトの名無しさん:2010/07/29(木) 02:03:31
ぃょぅ、自称優秀な生徒w こんな場所で優越感を感じているようじゃ
将来、社会に出てから営業成績トップが維持できなくなって
ファッビョーンしそうで怖いわw お前が思っているほど社会は甘くねーぞ?
所詮、金を稼いだ者勝ちなんだよ。どこに目をつけるか?が重要。
利権についても勉強しようや?お前がいくら自己満足で満足のいく
ソースコードが記述できても、金にならないんだよw
そう、必要とする人を満足させなきゃ意味ねーの。そんな市販の
教科書に載っているようなコードじゃ金儲けにもならんわw
687デフォルトの名無しさん:2010/07/29(木) 02:17:15
ん〜〜、優秀な学生さんがいっぱーい♪
初歩的な課題ばっかり解いて、自分は出来る!(キリッ)なんでしょうねw
優秀な学生さんは、いつか教授になるんですよね?
まさか、こんなことが出来たくらいで、霞ヶ関で省庁で働く
官僚になるわけじゃないよね?
688デフォルトの名無しさん:2010/07/29(木) 02:22:57
人生に失敗したクズのオッサンがいっぱいですね(;・∀・)
689デフォルトの名無しさん:2010/07/29(木) 02:27:22
分かりきった答えの課題を解いて自分は優秀な生徒です(キリッ)
だっておー(バンバン)
690デフォルトの名無しさん:2010/07/29(木) 05:31:13
優秀な学生がこのスレで回答しているんだって
なんで分かるんだろうね?性帝トーマスみたいな
とっくに学業を終えたオッサンもいるのにw
691デフォルトの名無しさん:2010/07/29(木) 06:02:08
[1] 授業単元:C言語プログラミング基礎
[2] 問題文:直角三角形の斜辺の長さをcとするとき、
a二乗+b二乗=cの二乗という公式が成り立つ。
1<=c<=30の範囲でa,b,cがすべて整数となるときの値を
求めるプログラムを作成せよ。

ただし、値が入れ替わっただけのものは同じとみなす。
例としてa=3,b=4,c=5とa=4,b=3,c=5など。
この場合はaの値が小さいほうのみ出力する。
[3] 環境
 [3.1] OS:Windows Vista Business
 [3.2] コンパイラ名:visual studio
 [3.3] 言語:C言語
[4] 期限:明日 (7月30日(金))まで
[5]条件:上に書いたとおりです。
よろしくお願いします。
692デフォルトの名無しさん:2010/07/29(木) 09:41:52
[1] 授業単元:C++実習
[2] 問題文:
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10886.txt[3] 環境
[3.1] OS:Windows Vista
[3.2] コンパイラ名:visual studio
[3.3] 言語:C++
[4] 期限:7月29日(木) 17:30

よろしくお願いします。
693デフォルトの名無しさん:2010/07/29(木) 10:34:41
>>692
見れないので再うpたのむ
694デフォルトの名無しさん:2010/07/29(木) 11:00:57
>>668
hashtableかなんらかのツリーでやったほうがいいんだろうけど、
素朴な双方向リストで。出現カウントを数えつつ、リスト中の位置を変える。
最終的に出現カウントの多い順に並んだ重複の無いリストを得る。
「出現頻度で上位3位までの単語を」には不完全に対応。新しい機能も無し。
ttp://codepad.org/lR4VrVSx
695デフォルトの名無しさん:2010/07/29(木) 11:01:44
696デフォルトの名無しさん:2010/07/29(木) 11:24:49
697デフォルトの名無しさん:2010/07/29(木) 11:35:47
[1] 授業単元:論理回路
[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10888.c
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語:C
[4] 期限: 2010年8月1日00:00まで
[5] その他の制限:特になし

お願いします
698デフォルトの名無しさん:2010/07/29(木) 12:55:23
>>692
>>695
>>696
http://codepad.org/YrQtV1cV
6と8、ちょっと長くなってしまった
699デフォルトの名無しさん:2010/07/29(木) 13:16:48
>>697
1、unsigned の最大値が 4294967295 (0xffffffff)なので
  10億を5回足すと、オーバーフローにより40億より
  小さな数字になるから。
2、加算する値を4294967296(4294967295 + 1)にすれば、足しつづけても延々と0のまま
  なので無限ループになる
700デフォルトの名無しさん:2010/07/29(木) 13:19:23
2^31 を加算のほうがよくないかい
701デフォルトの名無しさん:2010/07/29(木) 13:31:53
そのほうがスマートかもしれないな
702デフォルトの名無しさん:2010/07/29(木) 13:34:18
そのほうがスマートかもしれないな
703デフォルトの名無しさん:2010/07/29(木) 13:35:21
連投ミス
704デフォルトの名無しさん:2010/07/29(木) 14:14:31
>>691
#include<stdio.h>

int main()
{
  int i,j,k,l;

  for(i=1;i<30;i++)
    for(j=i;j<=30;j++) {
      if(30*30<(k=i*i+j*j))
        break;
      for(l=1;l<=30;l++) {
        if(l*l<k)
          continue;
        if(l*l==k)
          printf("a=%d,b=%d,c=%d\n",i,j,l);
        break;
      }
    }
  return 0;
}
705デフォルトの名無しさん:2010/07/29(木) 16:16:31
>>651
ありがとうございます
706デフォルトの名無しさん:2010/07/29(木) 16:26:33
707デフォルトの名無しさん:2010/07/29(木) 17:01:18
さすが優秀な学生が記述したソースコードは素晴らしい
是非、その能力を怠惰な生徒が将来、役に立たない人材として
学校を卒業する手助けで使って下さい♪
708デフォルトの名無しさん:2010/07/29(木) 17:17:02
問題はろくなコードも書けないくせに教える側に回ってる教員が多いこと。
学生は無意味な課題ばかりやらされている。育たないのは当然。
こんなことに時間使わず、他のこと回した方が遥かに有益だね。
709691:2010/07/29(木) 17:42:29
>>706
ありがとうございます。
710デフォルトの名無しさん:2010/07/29(木) 18:04:56
優秀な学生がCでint main()笑
711デフォルトの名無しさん:2010/07/29(木) 18:07:00
>>710
どこがおかしいのですか?
712 ◆QZaw55cn4c :2010/07/29(木) 18:31:32
>>710
http://pc12.2ch.net/test/read.cgi/tech/1269438098/101 で述べられ済み。

ISO/IEC 9899TC2
6.7.5.3 Function declarators (including prototypes)
14
An identifier list declares only the identifiers of the parameters of the function. An empty
list in a function declarator that is part of a definition of that function specifies that the
function has no parameters.
とあり、関数の定義のときには、空のリストは no parameters である。
すなわち引数が void の場合と等価であり、int main() は int main(void) と同じ。
713デフォルトの名無しさん:2010/07/29(木) 18:37:14
714デフォルトの名無しさん:2010/07/29(木) 18:55:09
いやぁ〜、やっぱ優秀な生徒には敵わないわw
俺なんて大学生時代に2単位しか貰えない週1の
プログラム言語(C言語でプログラミング)の授業しか受けてないから
さすが高ランク大の生徒のコードは素晴らしい!
715デフォルトの名無しさん:2010/07/29(木) 19:00:16
学生な
716デフォルトの名無しさん:2010/07/29(木) 19:08:58
あっ、あなたが優秀な学生さんでしたか、素晴らしいですねぇ〜
是非、人格から見習いたいと思います!
717619:2010/07/29(木) 19:15:38
>>704>>713
のお二人もありがとうございます。
718デフォルトの名無しさん:2010/07/29(木) 19:49:45
[1] 授業単元:プログラミング演習
[2] 問題文:http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10892.txt
[3] 環境
 [3.1] Windows
 [3.2] visual studio
 [3.3] 言語: C
[4] 期限: 明日金曜日24:00まで
[5] その他の制限: リンク先下部に載っている手順に沿う形でお願いします
よろしくお願いします
719デフォルトの名無しさん:2010/07/29(木) 20:38:45
>>718
GL/glut.h とはどういうものですか?
720デフォルトの名無しさん:2010/07/29(木) 20:39:36
>>719
OpenGLでググれ
721デフォルトの名無しさん:2010/07/29(木) 21:17:21
#include <stdio.h>
float CelsiusFahrenheit (float x,char op)
{
float ans=0;
if(op=='C'){
ans=9/5 * x+ 32;
}else if(op=='F'){
ans=((x - 32)*5/9);
}
return ans;
}
int main(void) {
float r;
char op;

printf("数値を代入してください: ");
scanf("%f", &r);

printf("%.0f 度が「摂氏」なら'C'を、「華氏」なら'F'を入力してください: ", r);
scanf("%s", &op);
putchar('\n');

if (op == 'C') {
printf("摂氏 %.1f = 華氏 %.1f\n", r, CelsiusFahrenheit (r,op));
} else if (op == 'F') {
printf("華氏 %.1f = 摂氏 %.1f\n", r, CelsiusFahrenheit (r,op));
}
return 0;
}
722デフォルトの名無しさん:2010/07/29(木) 21:19:36
>>721のプログラムなんですが、最後まで出力されるのに英字でDebug Error!と表示されます。
なぜなのでしょうか?
723デフォルトの名無しさん:2010/07/29(木) 21:23:09
>>722
&op のアドレスに二文字以上代入したから\0
724デフォルトの名無しさん:2010/07/29(木) 21:23:50
[1] プログラミング宿題
[2]
XY平面において座標値(x,y)のうちx,yのどちらか一方は少なくとも非負整数であるような点を
格子と呼ぶ。両方が非負整数の点を格子点と呼ぶ。
N>=1としコマンドラインでN個の格子点が与えられるものとする。
(同じ点が与えられた場合はその指定は無視する)
(0,0)から出発し格子上だけを通りすべての指定された格子点を1回ずつ通り(0,0)に戻り、なおかつ
同じ点は2度とおらないような経路で最短なものを一つ抽出するプログラムを作成
但し経路において右折が出来ないものとする。
解が無い場合は「不能」と表示すること。(最短経路解が複数あっても、抽出は一つのみで良い)
[3] Linux/GCC/ C/C++どちらでも可能
[4]9/16
725デフォルトの名無しさん:2010/07/29(木) 21:24:55
>>723
ありがとうございます!
726デフォルトの名無しさん:2010/07/29(木) 21:30:36
>>722
char op;
なのに、scanf("%s", &op);
として、1文字でも入力すれば、
*op に入力された文字
*(op + 1) に '\0' が入るのでオーバーフローする。
>>721 は根本的に間違っている。

char op[2];
scanf("%s", &op[0]);

が、まだましだが、これでも 2 文字以上入力してしまうと、オーバーフローする。
ちゃんと対応するには、fgets() などを使うしかない。
727724:2010/07/29(木) 21:40:23
問題文に不備がありました。訂正します。
×但し経路において右折が出来ないものとする
○但し経路において特定の格子点(x,yのいずれかが5の倍数である場合)
上では右折できないものとする
728デフォルトの名無しさん:2010/07/29(木) 21:43:13
>>726
%1s という手もある
729726:2010/07/29(木) 21:53:43
>>728
たしかに。
730デフォルトの名無しさん:2010/07/29(木) 22:56:36
[1] 授業単元:Cプログラミング
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

731デフォルトの名無しさん:2010/07/29(木) 23:03:15
>>730 どうした、いきなり?
732デフォルトの名無しさん:2010/07/29(木) 23:18:34

[1] 授業単元:プログラミング言語(C)
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10894.txt
最小値と最大値を求めるプログラムを作りました。このプログラムの
最小値を求める部分と最大値を求める部分を関数化しようと思うのですが
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
733デフォルトの名無しさん:2010/07/29(木) 23:20:51
>>132
すいません、途中送信してしまいました。
[1] 授業単元:プログラミング言語(C)
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10894.txt
最小値と最大値を求めるプログラムを作りました。このプログラムの
最小値を求める部分と最大値を求める部分を関数化しようと思うのですが
思うようにできません。
[3] 環境
 [3.1] OS:LinuxVine5.1
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
なし
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
なし
734デフォルトの名無しさん:2010/07/29(木) 23:40:28
735デフォルトの名無しさん:2010/07/30(金) 00:55:06
[1] 授業単元: 画像処理
[2] 問題文(含コード&リンク):
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10893.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++
[4] 期限: 7/31 24:00
[5] その他の制限: よろしくお願いします。
736デフォルトの名無しさん:2010/07/30(金) 01:07:45
>>735
和大乙
737デフォルトの名無しさん:2010/07/30(金) 01:08:48
こんな時間に、こんな所にも優秀な学生現る!
738デフォルトの名無しさん:2010/07/30(金) 01:38:45
余程の学歴コンプレックスの持ち主が粘着してるな
739デフォルトの名無しさん:2010/07/30(金) 01:45:45
優秀な学生 ≠ 高ランク大学の学生
低ランクで優秀とか言われても困るんだよw
740デフォルトの名無しさん:2010/07/30(金) 02:02:35
>>738
あれぇ〜、お前が言ったんじゃないのか?優秀な”学生”が”沢山”いるって?
自分が優秀な学生の中の一人なんじゃねーの?素性がバレないからって
口からでまかせを言ったつもりが、今、このスレにどんな連中が集まって来ているか
バラしちゃったんだろ?講師に通報して、ここで答えてもらったソースを
丸写しした生徒を落とすんだろ?
741デフォルトの名無しさん:2010/07/30(金) 02:07:48
どうやって個人特定してるんだろうな
742デフォルトの名無しさん:2010/07/30(金) 02:27:08
つまり丸写ししたのがばれて単位を落とされた過去がある人物が憂さ晴らししてるってことでおk?
743デフォルトの名無しさん:2010/07/30(金) 02:29:29
さすが優秀な学生だ、こんな時間まで研究室から書き込んで下さるとは
いや、参ったよ。自分も大学院生時代はやったもんだw
744デフォルトの名無しさん:2010/07/30(金) 02:47:55
頑固爺って長年、自分がそう信じて来たから今さらスタイルを変えるなんて
ことはしたくないせいか、自分のスタイルを否定するような意見に噛みついてくるし
そうでなくても、自分に意見する、口答えする奴を目の敵にするよな。マジうぜぇ。
時代遅れの役立たずカスはとっとと年金生活に入って、若手に譲れよ。
自民が爺が支配して衰退したのが良い例だw 日本の科学技術の分野に於いて
引き際を間違えた連中のせいで衰退するような事態だけは避けたいよね。
デジタル工房です
只今オープン価格中
http://gekiyasu.issekinicho.com

746デフォルトの名無しさん:2010/07/30(金) 03:06:04
即レス乙
747デフォルトの名無しさん:2010/07/30(金) 11:23:24
低学歴ジジイ発狂ワwwロwwスww
748デフォルトの名無しさん:2010/07/30(金) 14:07:02
おいおい、優秀な学生なんだから、当然、単位は優以上、秀ばかりなんだろうな?
可なんて1つもないよね?あったらブゲラッチョだよ?w
749デフォルトの名無しさん:2010/07/30(金) 18:34:31
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
カードゲームのブラックジャックの点数を計算するプログラムを作りなさい。ルールは以下のとおりである。

ブラックジャックは、1〜13の数が書かれたカードを使い、各カードには以下のような点数が割り当てられている。
・1は、1点あるいは11点
・2から9は、書かれている数の通りの点数
・10から13は、10点
このように決められた点数のカードを複数枚持つことで、各プレイヤーの手が決まる。
基本的にプレイヤーの手の点数はっくカードの合計点で表すが、以下のような計算ルールがある。
・カードの合計点が21より大きくなるときは、手の点数は0点とする。
・1は1点と計算しても11点と計算しても良いが、手の点数が最大となる方を選ぶとする。

ただし、1つの手に含まれるカードの枚数nは1以上12以下とし、同じ数を何枚でも含むことができるものとする。
手の入力はファイルから行うこと。
入力ファイルの形式は各行に一つの手が書かれているものとし、カード間の区切りはスペースとする。
結果は標準出力(ターミナルの画面)に表示すればよい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年8月2日まで
よろしくお願いいたします。
750 ◆QZaw55cn4c :2010/07/30(金) 18:42:47
>>743
前から思っているのだが、使う言葉が実体験とはずれているような気がする。
娑婆心ながら付言すれば、大学院生時代とは普通いわない。言ったとしても「院にいたとき」。
751デフォルトの名無しさん:2010/07/30(金) 18:45:45
>>750
娑婆心というのはどこの言葉だよw
752デフォルトの名無しさん:2010/07/30(金) 18:45:46
オイルインファイヤー
753 ◆QZaw55cn4c :2010/07/30(金) 18:46:05
>>742
「単位」という言葉も実感がないのでは?
754デフォルトの名無しさん:2010/07/30(金) 19:15:06
>>750
回答してる人を学生だと決めつけてる時点で相当にアレだと思う。
とりあえずこういう人とは関わりたくないね。
755デフォルトの名無しさん:2010/07/30(金) 19:51:28
>>749
手が 1 13 のとき、
結果は単に
21
って出せばいい?

それとも
1 13 : 21
みたいにするの?
756デフォルトの名無しさん:2010/07/30(金) 20:28:09
>>750 頭おかしいんじゃね?妄想癖のある人?
>>754 優秀な学生が多いといった奴がアホなだけだろw
757デフォルトの名無しさん:2010/07/30(金) 20:29:09
>>754

>>673
673 名前:デフォルトの名無しさん 投稿日:2010/07/28(水) 18:41:06
>>670
中には優秀な学生も多いんだカス

過去ログはしっかり読みましょうね。お前とも関わりたくないね。
自作自演厨
758デフォルトの名無しさん:2010/07/30(金) 20:32:46
ブラックジャックを略すとなぁ、ブラジャになるんだよ、覚えておけ
759デフォルトの名無しさん:2010/07/30(金) 20:33:51
おい、童貞ども。喧嘩はやめるんだ!!
760デフォルトの名無しさん:2010/07/30(金) 20:35:20
>>673 が言ったんだろ、優秀な学生が多いってな。
だから回答者に「優秀」な「学生」が多いんだろ?
同じ学校の授業で、別の生徒が質問したのを答えて
そいつがここのを丸写ししたのを講師にチクって落とさせてんだろ?w
そっちの方がキモイわ。それから、性帝トーマスは口を慎め。
キモイぞオッサン
761デフォルトの名無しさん:2010/07/30(金) 20:37:21
そりゃ、さぞかし優秀なんでしょうね、答えられたくらいで
天狗の鼻を伸ばしているようじゃ、社会じゃ通用しませんよ?
学業で優秀=有終の美を飾れる人生を送れる とは限らない。
学生時代、平凡だった俺が大金持ちになっているから
むしろ運命を重視するよ。もちろん、必要最低限の知識は必要だが。
762デフォルトの名無しさん:2010/07/30(金) 20:41:16
あっ、1つ言っておく。年商1億円は下らない、年収1000万円は下らない
政治家や官僚、その他、大儲けしている人から見ればまだまだ
雑魚レベルですが、生活には困ってません。金が有り余って
使い道に困っているのは事実ですが。そんな俺でも趣味程度で
C言語はやるが、プログラミングで稼ごうとしていないんで
それほどでもありませんがね。一応、大学生時代のプログラミングの授業の成績は
「秀」で最高でしたよ。
763デフォルトの名無しさん:2010/07/30(金) 20:43:47
採点してやるよ。お前が答えたのどれだ?
764デフォルトの名無しさん:2010/07/30(金) 20:44:32
大金持ちって自分で言う場合、たいしたことないことが多いよね
都会に住んでて趣味で船持ってるレベルならすごいとおもうけど
765デフォルトの名無しさん:2010/07/30(金) 20:45:38
優秀な学生なんでしょ?あんたが?自分がそうでもないのに
書き込みだけで相手の素性なんて分からないのに、勝手に
そうだと思い込んじゃった訳?本当は学校の講師が、生徒が
このスレに投稿する前に書き込んで、模範解答を自作自演で
自己レスして、それを真似た生徒を落としているんでしょ?w
リモホで学校もバレバレw
766デフォルトの名無しさん:2010/07/30(金) 20:57:42
>>764
第一、金持ちと言っても親の代からある利権、財産を引き継いだ
ペーペーが社会勉強もせずに、のうのうと生きていると
いずれその子孫はだらけて一族が消滅するか、利権の争いで
殺人事件まで発展するのがオチさw
あと、金持ちとは言ってないから。年商1億円は”下らない”
年収1000万円は”下らない”(実際は平均それ以上)ってだけで
今後も続けば我が一族は余裕で金持ち、億万長者w
次は何をすると思う?そう、資産運用。金が金を生む運用に切り替えるんだよ。
遊んでても金が舞い込んで来るぜ!汗水垂らして働くのは従業員で経営者じゃないの。
ねっ、世の中って不平等でしょ?法の下に平等、利権、経済力の下に不平等と
しっかり義務教育で指導すべきですよw
767デフォルトの名無しさん:2010/07/30(金) 21:00:50
言えば言うほど…w
768デフォルトの名無しさん:2010/07/30(金) 21:05:09
図星を指されたのか、静まり返ったな。自作自演講師乙。
お前は優秀な学生だったのかもしれないが、お前の生徒は
優秀にはなれんな。
769デフォルトの名無しさん:2010/07/30(金) 21:07:37
>>766
>あと、金持ちとは言ってないから。

>>761
>学生時代、平凡だった俺が大金持ちになっているから

成金ってやつだよね
実際はそこまで儲けてないみたいだけど
770デフォルトの名無しさん:2010/07/30(金) 21:14:32
スレ違い
771デフォルトの名無しさん:2010/07/30(金) 21:20:46
自分がどこまで知識を身につけたかなんて、自己満足だろ?
いずれ己の肉体もこの世から消滅するんだよ。
それよりも金だよ金。カネな。本物の金(きん)でも良いけどさw
自分一人が出来ることってちっぽけだろ?金持ちだからって
万能、優秀じゃないんだぜ?病気、怪我、老化、時間の流れにしろ
条件は違えと基本、条件は同じなんだよ。分かったか?
脳みそバーンしちゃえば終わり。自動車に轢かれたらただじゃ済まない。
そうならないように、賢く生きるんですよ。
で、コードをいくら書いても、収入や人徳が上がる訳でもなかろう?それが現実。
772デフォルトの名無しさん:2010/07/30(金) 21:21:30
一人何役やってるんだよw
773デフォルトの名無しさん:2010/07/30(金) 21:22:32
何か変だな。状況は違えど基本や条件は同じ。
ただ自分が優劣でどちらに属するか?遺伝子でも優劣について学んだよな?
劣勢でも何とかなるもんだよ。カネと権力がありゃな。
774デフォルトの名無しさん:2010/07/30(金) 21:34:11
本当に遺伝子の優劣について学んだのかな?
まぁ学んだのは中学生とかだろうから忘れただけだよねきっと
775デフォルトの名無しさん:2010/07/30(金) 21:46:06
噛みつく相手を間違えると、返り討ちにあいますよ?
己の技量を見誤って驕り高ぶった、消えていった人もいます。
謙虚さが無い人は、弱いくせに粋がっている癖に
失敗するから笑われるんですよw
776デフォルトの名無しさん:2010/07/30(金) 21:49:29
おいおい、スレが伸びていると思ったらこんなとこで言い争いか?
ここはC言語の宿題をするためのスレだぞ。日本語わかります?
醜い言い争いなんざ見たくねえや。
他でやってくれ。
777デフォルトの名無しさん:2010/07/30(金) 21:52:32
>>775
>謙虚さが無い人は、弱いくせに粋がっている癖に
>失敗するから笑われるんですよw
金持ち発言のことですよね
私もああならないように気を付けます
778デフォルトの名無しさん:2010/07/30(金) 21:56:29
ぷっ、フェラーリ、ランボ相手に軽自動車が赤信号でレースを挑むようなもんだろw
やめとけやめとけ。まぁ、バイクでもリッターなら3000ccレベルの四輪には
勝てるだろうけど、速度からして危険だしな。キモイ奴には関わらないのが一番。
779 ◆QZaw55cn4c :2010/07/30(金) 22:38:59
>>735
http://codepad.org/4lwC9a1p

c++ には慣れていなくて、c 臭さが抜けていなくてごめんなさい。
std::string を使おうとして挫折しました。(strtok() を忘れることができませんでした。)
try - catch を使おうとして挫折しました。(goto を忘れることができませんでした。)
780 ◆QZaw55cn4c :2010/07/30(金) 22:41:42
>>763
お願いします。
781デフォルトの名無しさん:2010/07/30(金) 22:53:47
>>765
リモホとやらが見えるのですか?
782デフォルトの名無しさん:2010/07/30(金) 22:57:58
>>773
主観的な表現ですが、社会生活の上で劣勢とみなされる形質と劣勢形質とに相関はあまりないと思うのですが。
783デフォルトの名無しさん:2010/07/30(金) 22:58:23
>>779
std::stringにはboost::stringtokしかないからそれでいいよ
784デフォルトの名無しさん:2010/07/30(金) 23:01:59
>>778
自分自身が、あなたのいうところの「キモい奴」だったらどうすればいいのでしょうか?
785デフォルトの名無しさん:2010/07/30(金) 23:02:59
>>772
前はずっとあげていたんですが、最近になって sage を勉強したようですね。
786デフォルトの名無しさん:2010/07/30(金) 23:07:04
>>779-780
>>763じゃないが、>>779のコードからすると仕事でC++使ってないだろ
ま、学生の課題だからよたよたプログラムのほうがよいだろうが
787デフォルトの名無しさん:2010/07/30(金) 23:09:40
>>772
自分のレスが複数の人間から集中砲火をあびているという事実を直視できず、特定の一人が沢山のレスを量産しているとしか考えられないようですね。いやいいんですけどね。
788 ◆QZaw55cn4c :2010/07/30(金) 23:15:50
>>786
pgm を題材にする、という時点で、pbm や ppm をも視野にいれたコードにしたかったし、
ファイルを読み込んで、その内容に従ってオブジェクトを再設定するときに、自分自身をコンストラクタに渡したかったし、(そんなことできるんですかね?)
ちゃんと例外を使いたかったし、

いろいろ妄想はわいたのですが、何一つ実現できませんでした。
789デフォルトの名無しさん:2010/07/30(金) 23:17:17
>>787
それ、お前のことだろ?w
優秀な学生さん?
790デフォルトの名無しさん:2010/07/30(金) 23:19:14
>>787
IDも無くこのスレを見ている人数も把握できないのに
何勝手に妄想してんの?優秀な学生さん?
791デフォルトの名無しさん:2010/07/30(金) 23:26:26
>>787
さすが優秀な生徒。言うことが一味も二味も違うぜ。いや、そこまで妄想できるなんて。
要するにお前が複数を装って集中攻撃しているってゲロって自白してんだろ?
なぁ、自作自演で課題を出して答えている暇人。
792デフォルトの名無しさん:2010/07/30(金) 23:28:24
自演うぜえ。
一人でどんだけ書くんだよ
793デフォルトの名無しさん:2010/07/30(金) 23:30:51
>>792 そうかそうかw
794デフォルトの名無しさん:2010/07/30(金) 23:33:21
そもそも、業務がどうとか言うが、業務でやっている人っているの?
ソフトウェア会社だって、必ずしも効率の良いアルゴリズムが
使われているとは限らないし、完璧ではないというのは
リリース後に何かしら不具合や修正があって、パッチで処理することもあるくらい
この世に完璧はない。それどころか、ここで出されるようなものが
そのままそっくり使える訳じゃない。独自で仕様を考え、それを具体的にコードにする。
作業分担で各パートごとに求められたルーチン、モジュールを開発する。
そういうもんだよ。各々は本当に単純な作業。
795デフォルトの名無しさん:2010/07/30(金) 23:39:50
あんまり回答しないけど業務でやってるよ
796デフォルトの名無しさん:2010/07/30(金) 23:45:59
>>724
俺には難しすぎるので、数学板でアルゴリズムを聞いた方がいいと思う
右折禁止ルールのおかげで、可解か非可解を決定するだけでも難しい
797デフォルトの名無しさん:2010/07/30(金) 23:52:55
ほほぅ、それで?優秀な学生は多数いるんだろ?
その優秀な学生で特定できない誰かを集中攻撃したと?
なるほどなるほど、同じ学校の優秀な学生は陰険で悪質ですね。
是非、学校にそういう愉快犯がいると通報しておかねば。
リモホ、アクセスログがバレバレだから、通報も簡単ですね。
798デフォルトの名無しさん:2010/07/30(金) 23:53:04
>>796
右折禁止ということから
指定の格子点全てが長方形の辺上にあるかどうかを調べればよい

と思うよ
799デフォルトの名無しさん:2010/07/30(金) 23:53:36
>リモホ、アクセスログがバレバレ
是非さらしてください
800デフォルトの名無しさん:2010/07/30(金) 23:55:49
801デフォルトの名無しさん:2010/07/30(金) 23:56:09
>>755
単に
21
と出して頂ければいいです。
802デフォルトの名無しさん:2010/07/30(金) 23:57:18
自作自演とか優秀とか関係ない。
人の回答についていけず将来的にも無理だと思うからそう思うんだよ。
煽り方も夏厨レベルだし粘着せずにプログラムの勉強したら?
803デフォルトの名無しさん:2010/07/31(土) 00:04:01
良い線言っているんだけどいまいち、もう一歩ってのがあるのは
学生向けにレベルを落としているからなのかもしれんが
素人の俺でもそのコードは効率が悪いって気づくことはあるぜ?
804デフォルトの名無しさん:2010/07/31(土) 00:04:45
>>798
単純な右折禁止ならそうなるな。
でもこの場合はnの倍数の時だけ右折禁止だからめんどい。

そもそも右折禁止ルールが無いシンプルな問題なら、
ブラウン管テレビの走査みたいにすれば絶対に経路はある。

そこに、倍数での右折禁止ルールが加わると、
可解かどうかを決定するだけで俺はお手上げ。
805デフォルトの名無しさん:2010/07/31(土) 00:15:43
>>804
すまん
>>727 を見落としてた
806デフォルトの名無しさん:2010/07/31(土) 00:24:56
>>803
具体的に。
807デフォルトの名無しさん:2010/07/31(土) 00:40:46
>>724
>>727が無ければ、
前回の点P1(x1, y1), 現在の点P2(x2, y2)、次の点P3(x3, y3)として、
ベクトルP1→P2から、ベクトルP2→P3の角度(0<=θ<180)が最小となるP3を次々選べばいい。
答えは(0, 0)から始まる左回りの渦巻になる。

>>727があるなら、基本的に巡回セールスマン問題なんじゃないの?
全組み合わせを求めて最小値を求めるしかないのでは。NP完全だけど。
808デフォルトの名無しさん:2010/07/31(土) 01:03:35
>>807
>>727がない場合は、格子点しか通れないという条件と
(0, 0)に戻る条件に違反してるから間違ってる。
その場合は、>>798にすでに正解が出てるよ。

>>727がある場合も、単純な巡回セールスマン問題ではないよ。
経路が交差してはいけないし、2点取り出したときに結ぶ経路も1つではない。
809デフォルトの名無しさん:2010/07/31(土) 01:18:20
>>808
> 格子点しか通れないという条件と

格子点しか通っていないよ?

> (0, 0)に戻る条件に違反してるから間違ってる。

これは見落としていた。

> その場合は、>>798にすでに正解が出てるよ。

長方形の辺上に限定する必要ないよね?

> >>727がある場合も、単純な巡回セールスマン問題ではないよ。
> 経路が交差してはいけないし、2点取り出したときに結ぶ経路も1つではない。

確かに経路は一つではないかもしれないが、すくなくとも直線か、左曲がりの曲線だよね。
あと、経路が交差してはいけないなんて条件書いていないのでは。
810デフォルトの名無しさん:2010/07/31(土) 01:19:12
で?お前はブラジャの課題が出来たの?
811デフォルトの名無しさん:2010/07/31(土) 01:20:12
>>800に書いたよ。
812デフォルトの名無しさん:2010/07/31(土) 01:23:42
>>809
もう一度よく考えてみてくれ
813デフォルトの名無しさん:2010/07/31(土) 01:25:27
>>812
何を?具体的に言わないと分からないよ。反論があるならハッキリと。
814デフォルトの名無しさん:2010/07/31(土) 01:27:03
>>802
意味不明。日本語でおk。それから自己紹介乙。
粘着や罵倒はお前の方がやっていることだろ?
何自分は悪くありませんみたいな、白々しい自作自演をしているんですか?
お前こそ勉強しろよw
815デフォルトの名無しさん:2010/07/31(土) 01:29:12
>>809
格子点しか通れないの意味は、
θ=0かθ=90しかないって意味だよ。
2点間を一直線に進んだら、格子点以外を通っているかもしれないじゃない。

上の条件と、(0, 0)以外2回通れないということから、交差が許されない。
816デフォルトの名無しさん:2010/07/31(土) 01:29:21
>>802
何言ってんだ?こんな個人を特定できないスレで
粘着されたとか、ストーカーされているとか妄想しちゃうタイプ?
大丈夫、お前が誰かなんて第三者には分からないから。
まあ被害妄想なんてしちゃうくらい、お前は自分で自分を
優秀な学生と自称しちゃったお痛いちゃん?w
誰もお前みたいなゴミクズなんて相手にしている暇はねーから
せいぜいこんなスレで自分は一生懸命ソースを書いて
堕落した生徒をますます堕落させて単位を取らせて
駄目な人材を作ってしまっています!宣言してろよw
お前のオナニーレスなんていらねーよ
817デフォルトの名無しさん:2010/07/31(土) 01:30:34
>>813
分からないなら分からないでいいから
首を突っ込まないで
818デフォルトの名無しさん:2010/07/31(土) 01:31:31
>>802
ぃょぅ、自称”優秀”な”学生”さん?本当はどっかの低レベルな学校の講師なんだろ?
お前が育てたゴミクズ生徒が下手なプログラムで世を混乱させないように
しっかり面倒見ぃ〜やぁ。こんなスレででけぇ口叩いて偉そうにしていられるのは
このスレが低レベルだからだろ?と同時にお前も低レベルだがなw
精神レベルも技術面でも。まともな人間ならこんなゴミクズスレで偉そうにしてないよ。
それなりの場所で金儲けのために高度なコードを書いているからw
プッ、ププッ、高度なコード、ちょっと自分でもウケたw
819デフォルトの名無しさん:2010/07/31(土) 01:31:36
820デフォルトの名無しさん:2010/07/31(土) 01:34:25
まぁこのスレの流れをここ数年間見てきたけど、相変わらず常駐している住人は
精神レベルも低いようだなw 同じ課題を何度も解いている内に、自分が出来る人間だと
勘違いし始めたようだ。複数に攻撃されているって、誰のことだよ?
あっ、お前のことかw だから自分は自作自演である一人を叩いてムキになっちゃたと
自己紹介しちゃって、恥ずかしいねw
こんなスレで大きな顔をしていられるけど、現実世界では虐められっ子のチビなんだろ?
高収入、金持ちがこんな場所で偉そうにはしないもんなw
俺みたいにw
821デフォルトの名無しさん:2010/07/31(土) 01:34:32
>>815
> 格子点しか通れないの意味は、
> θ=0かθ=90しかないって意味だよ。

そんな意味>>724のどこにも書いていないよ。

> 2点間を一直線に進んだら、格子点以外を通っているかもしれないじゃない。

格子点以外選ばなければいいのでは。何故、格子点以外をわざわざ通るの?

> 上の条件と、(0, 0)以外2回通れないということから、交差が許されない。

同じ点を通れないだけで、交差が許されないなんて問題文にない。
822デフォルトの名無しさん:2010/07/31(土) 01:35:10
823デフォルトの名無しさん:2010/07/31(土) 01:36:01
824デフォルトの名無しさん:2010/07/31(土) 01:40:34
ここで偉そうにしている奴は、自分が多数回答しているからって事で
驕り高ぶっているだけだろ。レスを見る限りじゃ、かなり低レベルなコードだぞ。
本当にまともにアルゴリズムを学んだか、怪しいものも少なくない。
俺が答えないのは、数年前にとっくにいくつも答えたからだよ。
今さら答える気もないが、低レベルなコードを指摘して後だしすると
後だししたことを妙に噛みついてきた基地外がいるからやらないんだよ。
バカの相手なんてしている暇ねーし。参考までにどんな課題があるか見るが
それも講師の自作自演と来た。最低だな。そんな詰まらない人生を歩んでいて
楽しい?
825デフォルトの名無しさん:2010/07/31(土) 01:44:42
かなり前に、ある値まで加算した剰余を求めるコードを
麻呂が書き換えて出したら、妙に噛みついてきた基地外もいたしな。
ああいうのがまだこのスレを支配した気になってんだろ?
2ちゃんもこのスレも誰か個人の所有物でもテリトリーでも
管轄、管理下にあるものでもないんですけど?ちったぁ黙ってろよ
自称優秀な学生さんw
826デフォルトの名無しさん:2010/07/31(土) 01:45:51
827デフォルトの名無しさん:2010/07/31(土) 01:47:06
>>724
格子は
>x,yのどちらか一方は少なくとも非負整数
であり、最終的に原点(0, 0) にもどってこなければならないことから、
x >= 0 かつ y >=0
と考えていいでしょうか?
828デフォルトの名無しさん:2010/07/31(土) 01:48:25
829デフォルトの名無しさん:2010/07/31(土) 01:49:56
まっ、麻呂の肛門、封鎖できません ><;
クソースが放出されそうです ><;
830デフォルトの名無しさん:2010/07/31(土) 01:50:19
>>827
格子は
x >= 0 または y >= 0
の点

格子点は
x >= 0 かつ y >= 0
の点
831デフォルトの名無しさん:2010/07/31(土) 01:50:19
>>821
問題文よく読んでください。
> (0,0)から出発し格子上だけを通り…

与えられた点は、すべて格子上にありますから、
あなたの論理で正解ならば、上記条件は不要です。
例えば、(2, 3)の1点が入力だとして、
(0, 0) → (2, 3)と一直線に進むような移動はダメなのですよ。
例えば、(0, 0) → (0, 1) → (0, 2) → (0, 3) → (1, 3) → (2, 3)
のように進むということが求められているのでは?
832デフォルトの名無しさん:2010/07/31(土) 01:52:52
クルクルパー、暇人じゃないから自称「優秀」な「学生」になんて
付き合ってられましぇ〜ん。誰が優秀な学生かもこちらからは
見分けがつきませ〜ん。粘着しているのはむしろお前の方だろw
こんな時間に起きて、怠け者の相手をしていられるご身分の方には
敵いませんよ。なんせ、毎日忙しいけど年商1億円は下らない
年収1千万円は下らない、まだまだ貧乏人ですからw
833デフォルトの名無しさん:2010/07/31(土) 01:55:37
>>831
> 例えば、(2, 3)の1点が入力だとして、
> (0, 0) → (2, 3)と一直線に進むような移動はダメなのですよ。

何故?
その移動を禁止する条件は>>724には書いていないけど。

> 例えば、(0, 0) → (0, 1) → (0, 2) → (0, 3) → (1, 3) → (2, 3)
> のように進むということが求められているのでは?

いいえ。問題文ではそのようなことは求めていないよ。
834デフォルトの名無しさん:2010/07/31(土) 01:57:52
>>833
肝心なところを読み飛ばしてるって。
じゃあ、わざわざ「格子上だけ通り」と、出題者が書いた理由を説明してごらんよ。
835デフォルトの名無しさん:2010/07/31(土) 01:58:42
>>829
>>721 もずいぶんと糞でしたが。
836デフォルトの名無しさん:2010/07/31(土) 02:00:48
837デフォルトの名無しさん:2010/07/31(土) 02:01:58
>>807
> 格子上だけを通り
を無視して、自由に移動できるとした場合でも、
星型の各頂点を格子点としたとき、2重の渦巻きと星型を描くのはどっちが短いと思うの?
838デフォルトの名無しさん:2010/07/31(土) 02:02:13
>>807の続き

最短かどうかは分からないけど、
左回りの渦巻の中心から最後の点から(0, 0)に戻るときに、
右折しない、つまり左曲がりの曲線で既に通った格子点を避けながら(0, 0)に戻れば
一応一つの経路は求まるね。
839デフォルトの名無しさん:2010/07/31(土) 02:03:08
ゴメンねゴメンねぇ〜、年収1000万円程度の貧乏人の雑魚で。
自動車も200万もしない安物で、2〜3千万円程度の住居が2つしかなくて
ほんと貧乏でゴメンねゴメンねぇ〜、プログラミングも10年以上やっているけど
こんなスレが幼稚に見えて、ゴメンねゴメンねぇ〜
840デフォルトの名無しさん:2010/07/31(土) 02:04:41
841デフォルトの名無しさん:2010/07/31(土) 02:06:31
>>839
よく分からないけど熟練のプログラマ、しかもお金持ちさんにスレをみていただいてうれしい限りです。
もっといいプログラムが書けるように努力しますので、過去数年と同じように今後も何年も居続けてくださいね^^
842デフォルトの名無しさん:2010/07/31(土) 02:06:47
>>837
>>>807
>> 格子上だけを通り
>を無視して、自由に移動できるとした場合でも、

その条件を無視したらダメだろ。

>星型の各頂点を格子点としたとき、2重の渦巻きと星型を描くのはどっちが短いと思うの?

なるほど、星の凹んだ部分の格子点でも、左曲りの曲線で180度以上回転すれば、右側にある点に行けるのか。
それなら、星型を描いてもいいね。

でも、その場合は、完全に巡回セールスマン問題だろう。
843デフォルトの名無しさん:2010/07/31(土) 02:09:32
>>842
>>807ではそれを無視しているよね。
その上で、渦巻きを描くのが常に最短だといっているから、
それはおかしいよと指摘をしただけだよ。

なにも無視して回答しようなんていってない。

お金持ちが居るから緊張してんの?
844デフォルトの名無しさん:2010/07/31(土) 02:09:56
麻呂のクソースにも劣るゲリソースw
高度なコードでも書いてみろよ〜w
845デフォルトの名無しさん:2010/07/31(土) 02:11:32
>>844
>>721 より酷いのはちょっとかけない
846デフォルトの名無しさん:2010/07/31(土) 02:13:55
>>843
>>807では無視してないよ。格子上しか通っていない。

何を以て無視していると言っているのか分からない。具体的に示してほしい。
847デフォルトの名無しさん:2010/07/31(土) 02:17:39
格子点を通る ==格子点上を通る
格子点を通る != 格子上を通る

この違いが分かってないんじゃないの
848デフォルトの名無しさん:2010/07/31(土) 02:21:31
>>847
>>830なのだから、格子⊃格子点だよね。

だから、
「格子点上を通る⇒格子上を通る」は真
「格子上を通る⇒格子点上を通る」は偽
だよ。
849デフォルトの名無しさん:2010/07/31(土) 02:26:11
ああ、>>830を鵜呑みにして、ここで言う格子は一般的な格子じゃないと思ってる?
なら、右折はどこまでが右折なの?
850デフォルトの名無しさん:2010/07/31(土) 02:26:46
優秀な学生さんの高度なコードには敵いませんよw
851デフォルトの名無しさん:2010/07/31(土) 02:27:02
さ あ 、 も り あ が っ
                  て
                     ま
                       い
                         り
                          ま
                           し
                           た

852デフォルトの名無しさん:2010/07/31(土) 02:28:00
>>848
「格子上だけを通り」が何の意味もなさない言葉になるな。
853デフォルトの名無しさん:2010/07/31(土) 02:28:26
みなさんのおかげで
ログを消す行動に移る決心が出来ました
本当にありがとうございました
854デフォルトの名無しさん:2010/07/31(土) 02:28:46
>>849
ここで言う格子は、>>724で定義している通り、
「XY平面において座標値(x,y)のうちx,yのどちらか一方は少なくとも非負整数であるような点」だよ。
855デフォルトの名無しさん:2010/07/31(土) 02:28:55
>>850
ただでさえオヤジギャクな上に、なんども繰り返すなんて、加齢臭満載ですね。
856デフォルトの名無しさん:2010/07/31(土) 02:30:27
>>852
私もそれは指摘したのですが、スルーされました。
素直に>>848を説得するのは諦めて、
>>848だけ単なる巡回セールスマン問題を解いてもらいましょう。
857デフォルトの名無しさん:2010/07/31(土) 02:32:24
>>849
内積が負になったら右折じゃない?
858デフォルトの名無しさん:2010/07/31(土) 02:33:58
>>856
俺としては>>848に格子上のみを通り、別の格子点へ
どうやって移動するのかを聞くまでは諦めないよ。

>>848の知恵をもってすれば、
格子(=点)から格子(=点)へ、格子点(=点)の上のみを使って移動できる
というのだから。
859デフォルトの名無しさん:2010/07/31(土) 02:34:10
>>852
何故、何も意味をなさなくなるの?
860735 :2010/07/31(土) 02:34:26
>>779
書いてくださったのはありがたいんですが、実際のところメインはLanczosの実装なんです。
クラスと関数はある前提で使っていいので…
861デフォルトの名無しさん:2010/07/31(土) 02:36:22
>>859
格子点が格子に含まれるって自分で言ってたじゃないか。
いい加減、わざわざ言う必要のない条件になると気づいてよ。
862デフォルトの名無しさん:2010/07/31(土) 02:37:42
金持ちどこいった
863デフォルトの名無しさん:2010/07/31(土) 02:38:07
せめてID表示されればいいんだが
864デフォルトの名無しさん:2010/07/31(土) 02:39:01
>>858
点と点を直線で結ばなければならない条件はない、といわれるのを待っておくといい
865デフォルトの名無しさん:2010/07/31(土) 02:42:09
>>845 がとどめを刺したか?
866デフォルトの名無しさん:2010/07/31(土) 02:44:16
>>861
格子点(x >= 0 かつ y >= 0)を渡り歩くのに、格子(x >= 0 または y >= 0)上だけを通っていいんだよね。
(ただし、x,yは非負整数)

言ってるのは>>724だからその真意はわからないけど、わざわざ書いているのだから「格子上だけを通り」に何らかの意図があるんでしょ?
867デフォルトの名無しさん:2010/07/31(土) 02:45:59
>>866
そこまで気づいているなら、>>831の言ってることもわかるんじゃないの?
868デフォルトの名無しさん:2010/07/31(土) 02:48:36
>>867
了解。じゃあ引っ張らずに率直に言う。

>>831
(0, 0) → (2, 3)
がダメなら、
(0, 0) → (0, 1)
もダメだよね。

「→」の部分は格子(XY平面において座標値(x,y)のうちx,yのどちらか一方は少なくとも非負整数であるような点)ではないから。
869デフォルトの名無しさん:2010/07/31(土) 02:52:01
(3.2,4.1)格子ではない
(3,4.1)格子
(4.5 2)格子
(-2.1,6)格子
(-1.3,-2.1)格子ではない
(-1,-1)格子ではない
(1,1) 格子かつ格子点
(0,-1) 格子かつ格子点

格子に属する点のみを通れる。
目的点は第四象限には置けないことになる。(格子点が無いから)
870849 他:2010/07/31(土) 02:52:30
>>854
ああ、今改めて理解した。
やっぱり普通の格子なんだな。
871デフォルトの名無しさん:2010/07/31(土) 02:54:32
>>869
了解した。
なるほど。他方は何でもいいんだ。
872デフォルトの名無しさん:2010/07/31(土) 02:54:44
第四象限じゃなく第三象限だたw
873デフォルトの名無しさん:2010/07/31(土) 02:54:48
>>868
XYのいずれかが非負整数であるような点の集まりがどういう形状になるかが理解できなかったのか
>>817
874デフォルトの名無しさん:2010/07/31(土) 02:58:29
>>868
(0, 0) → (0, 1) の矢印は格子だろ。ちゃんと頭使え。
(0, 0.1) 格子
(0, 0,11) 格子

(0, 1) 格子かつ格子点
875デフォルトの名無しさん:2010/07/31(土) 02:59:04
>>869
格子の交点 -> 格子点
格子点 -> 目的点
と言い換えたならそう書いてくれないと。

で、目的点は第一象限にしか置けないよ。
第二象限、第四象限を通るルートはこの問題において合法だよ。
876デフォルトの名無しさん:2010/07/31(土) 03:04:00
>>871
次からは「正しく曲解」できる場合のみ偉そうに、かつ情報を小出しにしような。
じゃないとただの頭悪い子にしか見えないから。
877デフォルトの名無しさん:2010/07/31(土) 03:05:02
兎も角この種の探索問題は、ガベジコレクタ付きの処理系を前提とした
言語(C#/Java/etc)で下書きしてから書き直したほうがいいかも
メモリ管理とアルゴリズム考案は同時にやるのはよしたほうがいい
いきなりC/C++で書かせる講師はちょっと教師として問題あるか、
自分じゃあんまりコーディングしたことが無い人じゃね?
878デフォルトの名無しさん:2010/07/31(土) 03:06:55
>>876
そんなに悔しかったのか?
879デフォルトの名無しさん:2010/07/31(土) 03:10:27
>>876
曲解している間は、正しいと思っているから、『「正しく曲解」できる場合のみ』というのは難しいよ。
880デフォルトの名無しさん:2010/07/31(土) 03:13:17
>>877
たいしてメモリ管理すべきところないような?
総当りでいいと思うよ。
総当りがいやなら各格子点間の最短距離を別途マッピングしておいて枝刈りに使うぐらいで。
881デフォルトの名無しさん:2010/07/31(土) 03:14:13
>>879
頭悪い子はもう寝なさーい。
882デフォルトの名無しさん:2010/07/31(土) 03:18:18
C/C++に慣れると得てして本能的にメモリ管理が面倒いアルゴリズムを回避しようとする癖が付きやすいって話聞いたことがある
それで意外にうまくいってしまうところがとてつもない落とし穴だったりする
って奴
883デフォルトの名無しさん:2010/07/31(土) 03:19:21
>>879
「曖昧な定義で複数の解釈ができ、どちらも正しい場合のみ」
って書かないと頭悪いからわからないか?
884デフォルトの名無しさん:2010/07/31(土) 03:25:21
彼あちこちのスレにいるようだな。ある意味すごいわ。
885デフォルトの名無しさん:2010/07/31(土) 05:11:37
格子と格子点の意味がわかってないアホが暴れただけか。
日本語としての格子の意味もわかってなさそうだな。
886デフォルトの名無しさん:2010/07/31(土) 06:58:31
すげぇレスが溜まってると思ったら、これかよヽ(゚∀゚)ノ
887デフォルトの名無しさん:2010/07/31(土) 08:54:33
格子と格子点が分かっていない、というよりは
マンハッタン距離・ユークリッド距離という単語が一つも出てこないところに泣いた
888デフォルトの名無しさん:2010/07/31(土) 09:07:59
格子の問題だってわかりきってるのに、そんな単語を持ち出す理由がない
889デフォルトの名無しさん:2010/07/31(土) 09:11:54
>>888
わざわざこういう解説しなきゃいけないってことは
持ちだして説明した方が手っ取り早いよ

>例えば、(2, 3)の1点が入力だとして、
>(0, 0) → (2, 3)と一直線に進むような移動はダメなのですよ。
>例えば、(0, 0) → (0, 1) → (0, 2) → (0, 3) → (1, 3) → (2, 3)
>のように進むということが求められているのでは?
890デフォルトの名無しさん:2010/07/31(土) 09:19:38
そういう解説が必要な相手にマンハッタン距離とかユークリッド距離とか
通じるわけねーだろw
891デフォルトの名無しさん:2010/07/31(土) 09:29:27
>>887
いや
「XY平面において座標値(x,y)のうちx,yのどちらか一方は少なくとも非負整数であるような点」

「XY平面において座標値(x,y)のうち整数x,yのどちらか一方は少なくとも非負整数であるような点」
と読み違えたのが敗因
892デフォルトの名無しさん:2010/07/31(土) 10:15:35
>>891
方眼とドット方眼の区別が付いてなかった……とかそういうのか。
そりゃダメダメだな

方眼
http://www.keymedia.jp/hougan.JPG

ドット方眼
ttp://image.rakuten.co.jp/bunguya/cabinet/doc01/opus05-r1.jpg
893デフォルトの名無しさん:2010/07/31(土) 10:31:41
>>892
そうじゃなくて、
「問題文を厳密に読まずに勝手に方眼の問題と勘違いしている連中を、
問題文を厳密に読み取ればドット方眼の問題であると読み取れたこの俺様が釣ってやろう。
(多分問題文の誤記だけどな。)」ということ。

結果は俺が読み間違えていた。
894デフォルトの名無しさん:2010/07/31(土) 10:51:10
>>853
もうこなくてもいいよお。
あと、こっちではこのスレのログは消さないようにしておきますからね。
895デフォルトの名無しさん:2010/07/31(土) 12:03:06
>>893
問題文を厳密読み取ろうとしたら、みんなと同じ解釈にしかならんだろ。
単に、釣ろうと思って曲解して、正しく条件文を読み取れなかった頭の悪い人だってこと。
釣りしてるつもりの人が、逆に釣られたことに気づいてなかったんだよ。
896デフォルトの名無しさん:2010/07/31(土) 12:18:22
宿題スレって問題文正しく読み取れないヤツ多いよな。
897デフォルトの名無しさん:2010/07/31(土) 12:22:28
[1] 授業単元:プログラム演習
[2] 問題文(含コード&リンク):
下の写真のようなバス路線があるとする。
停留所は10か所で、それぞれ0〜9までの番号が付いている。
バスは停留所0で折り返し運転をする。
反対側は循環路線になっており、写真のように5→6→7→8→9→5のように循環する。

このバスの路線について、乗車する停留所と降車する停留所の番号を入力とし、乗車から降車までに通る停留所の番号を出力して終了するプログラムを実装しなさい。
0〜5の停留所では、より短い経路で降車停留所に到着する方向のバスに乗ることとする(例えば、停留所4から停留所2に行くには、左方向に進むバスに乗る)。
一度乗車したら途中下車はしないものとする。
また、同じ停留所を乗車停留所と降車停留所に指定することはしないものとする。

写真は、

http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
のこのスレのタイトルのNo.10898です。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年8月2日まで
よろしくお願いいたします。
898デフォルトの名無しさん:2010/07/31(土) 12:30:28
>>895
まあ、そういう事だな。
899デフォルトの名無しさん:2010/07/31(土) 12:39:42
>>897
できた(値の範囲チェックはしていない)
#include <stdio.h>

int main(void)
{
int busstop[]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 4, 3, 2, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 5, 4, 3, 2, 1};
int start_array_index=-1, end_array_index=-1, start=0, end=0, i;

scanf("%d", &start);
scanf("%d", &end);
for(i=0;;i++)
{
if(busstop[i]==start) start_array_index=i;
if(busstop[i]==end && start_array_index>=0)
{
end_array_index=i;
break;
}
}
for(i=start_array_index;i<=end_array_index;i++)
{
printf("%d\n", busstop[i]);
}

return 0;
}
900 ◆QZaw55cn4c :2010/07/31(土) 12:57:48
901900:2010/07/31(土) 12:58:41
>>899
ああー、なるほど。
902デフォルトの名無しさん:2010/07/31(土) 13:06:36
>>899>>900のソースの長さの差は
一体どこに起因するんだろう

データテーブルとアルゴリズムを工夫すれば
より短くて把握しやすいプログラミングができるのな。

ロータリー部分が直列で5,6個付いた時は
>>900のデータテーブルは殆ど破棄かな

マのレベルがみれて楽しいヨ。
903デフォルトの名無しさん:2010/07/31(土) 13:18:29
>>897
単純に
#include <stdio.h>

int main(void)
{
int start, stop, i;

scanf("%d%d", &start, &stop);

if(start > stop) {
if(start <= 5) {
for(i = start; i >= stop; i--) printf("%d ", i);
}
else {
for(i = start; i <= 9; i++) printf("%d ", i);
for(i = 5; i >= stop; i--) printf("%d ", i);
}}
else {
for(i = start; i <= stop; i++) printf("%d ", i);
}
putchar('\n');

return 0;
}
904デフォルトの名無しさん:2010/07/31(土) 13:31:35
ちょっと条件抜けてた
#include <stdio.h>
int main(void)
{
int start, stop, i;
scanf("%d%d", &start, &stop, i);

if(start < stop) for(i = start; i <= stop; i++) printf("%d ", i);
else {
if(start <= 5) for(i = start; i >= stop; i--) printf("%d ", i);
else {
for(i = start; i <= 9; i++) printf("%d ", i);
if(stop <= 5) for(i = 5; i >= stop; i--) printf("%d ", i);
else {
printf("5 4 3 2 1 0 1 2 3 4 5 ");
for(i = 6; i <= stop; i++) printf("%d ", i);
}}}
putchar('\n');

return 0;
}
905デフォルトの名無しさん:2010/07/31(土) 14:05:54
やっぱり、経路の構造は、ロジックよりもデータに入れたいな。
906デフォルトの名無しさん:2010/07/31(土) 15:02:27
いやぁ年収1千万円は下らない俺でも、その問題は解けないわぁ
さすが優秀な学生には敵いませんよw
907デフォルトの名無しさん:2010/07/31(土) 15:09:11
908デフォルトの名無しさん:2010/07/31(土) 16:31:58
[1] 授業単元:プログラミング
[2] 問題文:
・入力された数値(少数を含める)の平方根を求める。
・プログラムの終了はctrl+z
・平方根を算出するアルゴリズムはニュートン法とする。
・求める平方根の精度は小数点以下8桁
・虚数解はエラーと表示する
[3] 環境
 [3.1] OS:Windows7
 [3.2] コンパイラ:VC6.0だったと思います
 [3.3] 言語: C
[4] 期限: 明日中
[5] その他の制限:特になし
自分ではできませんでした。どうかお願いします。
909デフォルトの名無しさん:2010/07/31(土) 16:44:29
年収1000万円は下らない俺はもうプログラミングすらする必要ないんだわ。
下っ端に今まで俺がやってきた功績を見せつけ、教え、指導して
俺は扇動するだけ。ついでに片手で扇を仰いでリラックスリラックス♪
ぼけぇ〜っとしていても金が入ってくる♪
910デフォルトの名無しさん:2010/07/31(土) 16:54:56
俺も大体そんな感じだけど、一応いざとなったら
いつでも部下の尻拭えるように身構えてはいるよ。
911デフォルトの名無しさん:2010/07/31(土) 16:59:40
>>855
いや、だって、高度なコードってwwwww
912デフォルトの名無しさん:2010/07/31(土) 17:02:24
こんなバカに人を指導なんてできるわけねーだろw
妄想は脳内だけにしとけよ
913デフォルトの名無しさん:2010/07/31(土) 17:54:48
>>909
年収1千万って立派な低脳ってことだな
世界基準の高脳の年収は100万ドル以上
914デフォルトの名無しさん:2010/07/31(土) 18:23:55
>>908
ニュートン法は聞くよかググった方が早いきがする
参考になりそうなサイトを。
ttp://www.sm.rim.or.jp/~shishido/newton.html
ttp://dencha.ojaru.jp/programs_sub/newton_root.html

んで、「虚数解はエラーにする」ってなんぞ。
915デフォルトの名無しさん:2010/07/31(土) 18:26:37
負の数が入力された場合だろ
916デフォルトの名無しさん:2010/07/31(土) 18:50:08
917デフォルトの名無しさん:2010/07/31(土) 19:07:28
>>908
念のため確認

>求める平方根の精度は小数点以下8桁
これは有効数字8桁って意味でいいのん?
918908:2010/07/31(土) 20:10:58
>>917
はい、その場合はどうなりますか
919デフォルトの名無しさん:2010/07/31(土) 20:29:00
>>918
求めた平方根の実数部分がすでに8桁に達している場合、
・それでも小数点以下8桁を求めるのか、
・それとももうすでに8個の数字があるから(有効数字8桁だから)、小数点以下は求めないか
の違い
920デフォルトの名無しさん:2010/07/31(土) 20:32:40
XnとXn+1の差が0.00000001未満になりゃいいんじゃねーの
921908:2010/07/31(土) 20:42:46
は?
922デフォルトの名無しさん:2010/07/31(土) 20:47:39
>>918
#include<stdio.h>
#define EP 0.00000001

int main()
{
  double x,x1,x2;
  int i=0;
  printf("input number: ");
  if(1!=scanf("%lf",&x))
    return 0;
  if(x<0)
    printf("ERROR\n");
  else if(x==0)
    printf("0\n");
  else {
    x1=x;
    for(i=0;i<20;i++) {
      x2=x1;
      x1-=(x1*x1-x)/(2.0*x1);
      if(((x2>x1)?(x2-x1):(x1-x2))<x1*EP)
        break;
    }
    if(i<20)
      printf("%.7e\n",x1);
    else
      printf("failed\n",x1);
  }
  return 0;
}
923908:2010/07/31(土) 20:49:10
説明不足ですみません。
>>920さんが言っているのが正しいです
924デフォルトの名無しさん:2010/07/31(土) 21:15:07
>>921は成りすましってことでいいのかな?
925908:2010/07/31(土) 21:22:31
へ?
926デフォルトの名無しさん:2010/07/31(土) 21:29:34
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
任意のnに対して、正則なn次正方行列の固有値を求めるプログラムを作成しなさい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年8月2日まで
[5] その他の制限:特にありません。よろしくお願いします。
927735,860:2010/07/31(土) 21:30:47
どなたか>>735お願いします…。
928デフォルトの名無しさん:2010/07/31(土) 21:54:01
>>927
Image_pgmクラスってのはC++に標準に入ってるモンなの?
ついでに、サンプル画像とそれを見れるビューワも無いと
いろいろと確かめようがない
929デフォルトの名無しさん:2010/07/31(土) 22:07:17
930 ◆QZaw55cn4c :2010/07/31(土) 22:17:14
931デフォルトの名無しさん:2010/07/31(土) 22:39:24
>>927
ここのページのrubyのやつをこのスレの住人の人に書き直してもらうのが手っ取り早いんじゃね?
ttp://d.hatena.ne.jp/gioext/20090414/1239720615
ttp://github.com/gioext/lanczos/raw/827488a98ca9fc13a5ded08bb11d578c54e07fce/lanczos.rb
932908:2010/07/31(土) 23:15:04
>>922
ありがとうございます。
課題の仕様通りに動きました。

は?とかのレスは私ではありません。
本当にありがとうございました。
933デフォルトの名無しさん:2010/07/31(土) 23:48:35
C言語でint main()笑
934デフォルトの名無しさん:2010/08/01(日) 00:20:05
カレンダー、素数、双方向リスト、はよ来いやー!
935デフォルトの名無しさん:2010/08/01(日) 03:20:26
>>933
>>721
http://pc12.2ch.net/test/read.cgi/tech/1269438098/101 で述べられ済み。

ISO/IEC 9899TC2
6.7.5.3 Function declarators (including prototypes)
14
An identifier list declares only the identifiers of the parameters of the function. An empty
list in a function declarator that is part of a definition of that function specifies that the
function has no parameters.
とあり、関数の定義のときには、空のリストは no parameters である。
すなわち引数が void の場合と等価であり、int main() は int main(void) と同じ。
936デフォルトの名無しさん:2010/08/01(日) 03:21:17
937デフォルトの名無しさん:2010/08/01(日) 03:42:42
>>935
>>721 はvoidが入っているが???意味不明。
938デフォルトの名無しさん:2010/08/01(日) 03:47:47
>>935
http://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200211/02110028.txt
君は勘違いしているようだね。定義した関数の引数ではない。
ISO、ANSI準拠の「標準スタイル」に於いてプログラムの開始をmainとし
戻り値や引数に関する話だよ。これについては過去ログで解決済み。
但し、独自の環境でプログラムの開始がmainではない場合は
その限りではない。あくまでも前提条件と「標準スタイル」での話。
939デフォルトの名無しさん:2010/08/01(日) 04:05:40
>>938
ISO/IEC 9899TC2
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no parameters:
int main(void) { /* ... */ }
(中略)
or equivalent;
or in some other implementation-defined manner
とある。この "or equivalent" の記述を根拠に、int main(void) に ISO/IEC9899 6.7.5.3 14 の項目を適用してもいいかどうか、が問題となっている。
私見では、main() も function の一種であることが 5.1.2.2.1 で明言されている以上、6.7.5.3 14 も適用できるはずであるが、いかがだろうか?.
940デフォルトの名無しさん:2010/08/01(日) 04:06:48
毎度思うんだけど、TC2って何?
941デフォルトの名無しさん:2010/08/01(日) 04:11:09
うぜぇからトリップつけろよ、構ってちゃん。
942デフォルトの名無しさん:2010/08/01(日) 04:12:07
>>922
> int main()
943デフォルトの名無しさん:2010/08/01(日) 04:23:31
>>940
たぶんドラフトである、ということだろうが、TC2 が何の略かはわからなかった。
私とて、ドラフトではなく、規格そのものを引用したかったのだが、すぐに手に入る状況ではないのが残念。
お持ちの方で、もしよければ、該当部分を教えてくださいな。
944デフォルトの名無しさん:2010/08/01(日) 05:35:35
結局、C言語の int main() って正しいの?
それとも間違ってるの?
945デフォルトの名無しさん:2010/08/01(日) 05:40:08
>>944
それを今から考えませんか?
946デフォルトの名無しさん:2010/08/01(日) 06:08:10
int main() は int main(void) と同じって、ほんと?
空のリストは0個以上の引数、void は明示的に引数が無い(0個)
って理解してるんだけど、間違い?
947デフォルトの名無しさん:2010/08/01(日) 06:24:42
>>946
>>935 を参照してください。関数定義のときは int func() は int func(void) と同じです。
948デフォルトの名無しさん:2010/08/01(日) 06:31:07
こういう不毛な論争でスレが流れるのがバカらしいから、
int main(void)とreturn 0;にしてる。
949デフォルトの名無しさん:2010/08/01(日) 07:28:43
>>947
英語がよく分からないけど、そう理解しました。ありがとう><;
950デフォルトの名無しさん:2010/08/01(日) 07:38:01
>>949
是非、英語にもトライしていただければ。かくいう私もこちら http://pc12.2ch.net/test/read.cgi/tech/1246115922/ で教えていただきました。
951デフォルトの名無しさん:2010/08/01(日) 08:06:57
ISO/IEC 9899:1999 (E)
5.1.2.2.1 Program startup
1 The function called at program startup is named main. The implementation declares no
prototype for this function. It shall be defined with a return type of int and with no
parameters:
int main(void) { /* ... */ }
or with two parameters (referred to here as argc and argv, though any names may be
used, as they are local to the function in which they are declared):
int main(int argc, char *argv[]) { /* ... */ }
or equivalent;9) or in some other implementation-defined manner.
9) Thus, int can be replaced by a typedef name defined as int, or the type of argv can be written as
char ** argv, and so on.

6.7.5.3 Function declarators (including prototypes)
14 An identifier list declares only the identifiers of the parameters of the function. An empty
list in a function declarator that is part of a definition of that function specifies that the
function has no parameters. The empty list in a function declarator that is not part of a
definition of that function specifies that no information about the number or types of the
parameters is supplied.124)
124) See ‘‘future language directions’’ (6.11.6).
6.11.6 Function declarators
1 The use of function declarators with empty parentheses (not prototype-format parameter
type declarators) is an obsolescent feature.
6.11.7 Function definitions
1 The use of function definitions with separate parameter identifier and declaration lists
(not prototype-format parameter type and identifier declarators) is an obsolescent feature.
952デフォルトの名無しさん:2010/08/01(日) 08:15:23
>>951
感謝です。
953デフォルトの名無しさん:2010/08/01(日) 09:38:38
C99の時はint main()はint main(void)だろうが、ここで書かれているCは
全部C89じゃん?だからint main() は int main(任意)だろうが
954デフォルトの名無しさん:2010/08/01(日) 09:51:50
C89 と C99 で解釈が違うってこと?
955デフォルトの名無しさん:2010/08/01(日) 10:08:18
[1] 授業単元:プログラム演習
[2] 問題文(含コード&リンク):
以下のデータは、ある病気にかかっている患者のグループ(罹患者グループ)と健常者のグループ各30名に対して、ある二種類の検査をした結果を表している。
罹患者グループ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10900.txt
健常者グループ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10901.txt
さて、この人たちとは異なる20名の人たちが同じ検査を行い、以下のようなデータが得られた(検査データと呼ぶ)。
これらの20名の人たちが病気にかかっているかどうかを判断するプログラムを作成しなさい。
検査データ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10902.txt
各グループのデータと検査データの入力はファイルから行うものとし、出力は、各検査データを前から順に一人ずつ判断して結果を標準出力(ターミナル)に表示するよう実装すること。
どのような基準で、病気にかかっている/かかっていないを判断したかを、プログラム中のコメントで説明しなさい。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年8月3日まで
[5] その他の制限:特にないです。よろしくお願いいたします。
956デフォルトの名無しさん:2010/08/01(日) 10:45:49
めっちゃループしよるやんw
957デフォルトの名無しさん:2010/08/01(日) 12:53:15
>>954
C89は旧Cとの互換性を重視したから関数の空カッコの中に与えられた引数はは検査しない
958デフォルトの名無しさん:2010/08/01(日) 14:24:29
>>953
>ここで書かれているCは
>全部C89じゃん?
kwsk
959デフォルトの名無しさん:2010/08/01(日) 14:30:33
>>958

void sub()
{
}

int main(void)
{
sub(1); /* C89では通る、C99ではエラー */
960デフォルトの名無しさん:2010/08/01(日) 16:01:53
>>959
たしかに bcc32, gcc-3/4 とも、>>959 をとおしますね。
でも、>>959 のようなコードを書く人はいない。

ただ、議論の発端は >>933 で、>>933 を否定しようとして話が長くなっているわけです。
C89 は int main() { } をとおすというのであるならば、>>933 のいうことは C89 でも C99 でも間違いですね。
961デフォルトの名無しさん:2010/08/01(日) 16:09:53
>>953
違うよ、違うんだってば
ここのCはC++のC部分のことを言っているのがほとんどだよ
C89/C99というならならC++コンパラ(VC)を指定する課題は基地外課題で
出した奴の首を学校に要求したほうが良い
962デフォルトの名無しさん:2010/08/01(日) 16:14:22
>>960
確かに>>933は間違っているな

int main(int argc, char *argv[])の中身を省いても通すんだから

C99の場合はint main()をしても通るがそれは特別な場合で、argcもargvも
使わないよという意志表示になる
963デフォルトの名無しさん:2010/08/01(日) 16:43:17
>>962
勝手に間違いにするなよ。間違っているという説明をしっかりしてから
反論しろよ。それも、相手が言っても思ってもいないことを否定するって
頭おかしくね?普遍的な基本原則に対してお前が反発しただけだぞw
964デフォルトの名無しさん:2010/08/01(日) 16:47:10
そもそもC++ではプログラムの開始をmianとし、その戻り値をint型とし
引数は必要がなければint main() とvoidは書かない(ISO、ANSI準拠の”標準”スタイル)
Cの場合はC99だの話しに出てくるが、基本は共通している。
細かい説明は面倒なので、まとめサイトを引用。
これ以上の議論は無用。自分こそは絶対に間違っていないという
奢り高ぶった態度の奴は、時代の変化についてこれなかった人間だろう
路上でもそういう年寄りは普通に見かける。免許返上なんてプログラミングには無いが
引退を決した方が良いですよw 反論にもなってない、時代遅れのスタイルを
押し付けるだけの無知。

tp://www.bohyoh.com/CandCPP/FAQ/FAQ00042.html
965デフォルトの名無しさん:2010/08/01(日) 16:49:00
>>963
>相手が言っても思ってもいないことを否定するって
>頭おかしくね?
>>933 のことなら、「int main() (笑)」といって、 main() の引数を空リストにすることを批判していますが。
そこで関数 main の引数を空リストにしてもよい、という論調を延々とやっています。
それが問題ありますかね?
966デフォルトの名無しさん:2010/08/01(日) 16:49:43
1つ注意しておくが、根拠とする該当のセクション(英文)も読んで下さいね。
意味も無く、各個人が勝手に想像、想定して決めたことじゃないから。
HTMLにしろW3Cといった団体が標準化を提唱しているが、あくまでも
そういった取り決めをしている団体、組織が提示している基本原則ですから。
それに従わなくても出来たから自分は自分スタイルを貫くなら構わない。
独自の環境を使用している人は、何もその限りではないからな。
ただし、それは 標準スタイル に非ず。自分が世界の基準だと思ったら大間違いだよ。

■ 根拠 ■
標準C §5.1.2.2.1 Program startup
標準C99 §5.1.2.2.1 Program startup
標準C++ §3.6.1 Main function
967デフォルトの名無しさん:2010/08/01(日) 16:54:37
これだから閉鎖的な思想しか持っていないジャポネーゼは話にならん。
いつまでも世界でトップになれない理由が分かる。せいぜい小型化が関の山か?
お前らじゃ小型化、より洗練することすら無理だろう。
このスレのコードを見ても分かるが、無駄が多い。
それで出来た気になっているお山の大将、お猿さんが痛すぎw
あんたは人生の大半をプログラミングで過ごしたのかもしれないが
間違ったスタイル、修正を身につけていたことに気づいて焦ってんだろ?
アルゴリズムだって、せいぜい分かりきった公式くらいしか使えないないんだろ?
そういうのはあくまでも型に嵌ったものであって、世の企業は独自で仕様を提唱し
開発、製品化してんだよ。日本じゃソニーが有名だが、まぁソニーもBlu-rayだの
メモリースティックだの、頑固だねぇ。HD DVDを追い込めて良かったねぇ。
まぁそういうことだ。一応光学ディスクも ISO準拠 の仕様ですが、製品はソニー独自のもの。
968デフォルトの名無しさん:2010/08/01(日) 16:56:01
>>964
もうしわけないが、今は、とある個人の Web ページを鵜呑みにせず、公開されている、ISO/IEC 9899 をもとにして、
「int main() もISO/ANSI 準拠の標準スタイルである」ということを議論しているわけです。

演題が正しいか違うのかはともかく、

>これ以上の議論は無用。

ということ自体が、あなたのいう

>自分こそは絶対に間違っていないという奢り高ぶった態度

ではないでしょうか?
いつでもなんどでも振り返って、一次資料をもとにして、考え直すことは大切だと思いますよ。
969デフォルトの名無しさん:2010/08/01(日) 16:59:35
>>966
足りない。今回の話では、
C99 ならば、5.1.2.2.1 のほかにいろいろと見ないといけないと思いますよ。
今話にあがっているのは
ISO/IEC 9899(1999) 5.1.2.2.1 と 6.7.5.3 14, それに、6.1.16, 6.1.17 も候補になっていますね。
>>951 を参照してください。
970デフォルトの名無しさん:2010/08/01(日) 17:01:07
>>951の()の中が空って、古いタイプの宣言形式の話で省略したらどうとかの話じゃなくね?
971デフォルトの名無しさん:2010/08/01(日) 17:01:55
HTMLにもな、団体が提唱している「標準スタイル」や「推奨」ってのがあるんだよw
そんなことも知らずに今までお前はコードを書いてたのか?w
間違っていないんだから正しい?あっそ。それで何かより高精度なものが作れる?
標準ライブラリの1つや2つでも覚えろよw
団体が出している情報を自分は従いませんとか他人に言われても
あっそ、だから何?くらいしか思われねーよw
あと、C言語は何も学校の課題でしか使われていない訳じゃないからw
何の為のISOか、そして標準化、共通して使えるものに仕立てたか?
歴史を知らん奴はどうせOSもWindowsくらいしか使わず、せいぜい学校で
UNIXやLinux、Solarisを触った程度なんだろ?それらも基本はこういった
規格が採用され、そしてもう少し追及すると電子機器そのものがある共通した規格が
採用されているから、ハードを選ばずOSレベルで共有できるプログラムがあるんだよ。
972デフォルトの名無しさん:2010/08/01(日) 17:08:05
おいっ、時代遅れの爺、ったく、日本は少子高齢化になって良いことが無いねぇ。
頑固爺、お前が長年使用してきた規格はもう寂れてんだよw
いつまで古いC言語の本を使ってんだ?w
最新のに買い換えろよ、ライブラリのもな。そんな本を学校の授業で勧めるなよw
間違っていないものを間違っている()笑ってアホの極み。
現代についていけてないよ、時代遅れのオッサン。
973デフォルトの名無しさん:2010/08/01(日) 17:10:52
>>970
>>951 を抜粋した >>935 をみていただければわかりますが、
int func(void) と int func() は同等であることが C99 では明記されています。
974デフォルトの名無しさん:2010/08/01(日) 17:11:56
>>971
標準ライブラリの scanf() をきちんと覚えてください。
>>721
975デフォルトの名無しさん:2010/08/01(日) 17:13:29
976訳せない、意味が理解できないならC言語なんて語るなよ:2010/08/01(日) 17:14:30
5.1.2.2.1 Program startup


[#1] The function called at program startup is named main.
The implementation declares no prototype for this function.
It shall be defined with no parameters:

int main(void) { /* ... */ }

or with two parameters (referred to here as argc and argv,
though any names may be used, as they are local to the
function in which they are declared):

int main(int argc, char *argv[]) { /* ... */ }

or equivalent,9 or in some other implementation-defined
manner.
977デフォルトの名無しさん:2010/08/01(日) 17:15:15
夏休みは夏厨が増えて不要な議論ばかり増えるな
978デフォルトの名無しさん:2010/08/01(日) 17:17:46
int main()笑なんて言いだすやつが一番頭おかしい
コミュ障ってレベルじゃない
979デフォルトの名無しさん:2010/08/01(日) 17:18:04
>>976
>or equivalent
これが目にはいりませんか?>>939 を参照してください。
980デフォルトの名無しさん:2010/08/01(日) 17:19:43
>>977
もうしわけない。>>933 を否定的に論証するのがこんなに難しいこととは思いませんでした。
981デフォルトの名無しさん:2010/08/01(日) 17:21:27
個人の人格攻撃、主張を否定すれば国際標準化機構が提唱している
標準スタイルを否定できるんですか?それに従っている人が間違っている
ことになるんですか?さすが島国日本人ですね。驕り高ぶった知能の低さが
垣間見えますよw まぁ日本人はお前一人じゃなく、約1億3千万人もいますから
老い先短い思考が固まった時代遅れの爺なんて日本の代表にはしないから
安心してどこぞの低レベルな学校の講師でもやってなw
お前は世界には通用しない、所詮日本でしか通用しない人材。
そこまで偉そうに口を叩くなら、日本の代表として政府で働いてみろよ?
982デフォルトの名無しさん:2010/08/01(日) 17:33:21
世界標準化機構にこんなことで物申すような奴は
何もかもが自分基準で、自分が思った通りでないと気が済まない
自己中どころか自分が世界の中心だと思っている思い上がり
驕り高ぶったおバカちんですか?世の中はお前中心に動いても
成り立ってもいないから。他人があるルールに従っていたら
それが気に入らないとその個人を攻撃するんですか?
道路交通法(例えば制限速度)を守っている人間がいたら
自分はそれ以上だと、他者を邪魔者扱いする身勝手な人間ですか?
983デフォルトの名無しさん:2010/08/01(日) 17:41:36
ひたすらmain()を叩くことに執念を燃やす、自称年収1000万の男w
984デフォルトの名無しさん:2010/08/01(日) 17:45:33
>>960
>>959のようなコードを書く人がいないというのはおかしい。
書いたつもりがなくとも、そう書いてしまった場合にコンパイルエラーになるかならないかが重要だろ。
985デフォルトの名無しさん:2010/08/01(日) 17:49:00
逆に、どこまでがequivalentといえるんだろう。
long main(long argc, char **argv)は十分equivalentなのかな。
986デフォルトの名無しさん:2010/08/01(日) 17:50:06
とりあえずスレチ消えろ
987960:2010/08/01(日) 17:51:53
>>984
たしかにそうですね。
988デフォルトの名無しさん:2010/08/01(日) 17:52:15
この世は自分が中心、絶対権力者だと思って生きているんですか?
お前以外のその他大勢からしてみれば、お前なんて他人の中の一人に過ぎねーんだよw
分かったか?ネット弁慶になって視野が狭くなった引きこもり?
お前はこの世の小さな集団の中で目立っている、中心人物かもしれないが
世界から見たらちっぽけなんだよ!アメリカ大統領や国連の事務総長にでも
なってみろや?w
こんな低レベルな課題を解いて得意気になっている、小さな人物で
ちっぽけな人生を送ってやがんなぁw
収入も精神レベルも人徳も高まらない理由を理解した方が良いですよ?
989デフォルトの名無しさん:2010/08/01(日) 17:56:58
>>985
それは equivalent ではないですよ。たしかに処理系によっては sizeof(long) == sizeof(int) ですけれども、そうじゃない処理系もありますし。
ただ、 int main(int argc, char *argv[]) と int main(int argc, char **argv) は equivalent であることは、ISO/IEC 9899:1999 5.1.2.2.1 に書いてありますね。
>>951 を参照してください。
おっしゃるとおり、どこまでが equivalent か、という問題はありますね。
990デフォルトの名無しさん:2010/08/01(日) 17:59:17
はぁ?お前なんて2ちゃんのこんなスレでネット弁慶やっている雑魚だろw
お前一人なんて世界レベルで見たら約70億人いる中の一人なの
もちろん俺も。小物の雑魚は引き下がってろよ。お前じゃ
C言語の腕、技術面でも俺に劣るよ。あと収入面でもなw
991デフォルトの名無しさん:2010/08/01(日) 18:02:17
992デフォルトの名無しさん:2010/08/01(日) 18:02:19
頼むからコテ付けてくれ
993デフォルトの名無しさん:2010/08/01(日) 18:05:37
ぎゃはははっはははは、ぶははははははははははははっは
自分はこのスレでトップだと思っている奴が何か必死になってやがるよw
宿題スレがかなり前からあって、毎年似たようなパターンで
とっくに回答が出ているのにw
細かい議論はとっくに済んでいるのに、今さら掘り返して
間違った主張をするとか、終わってるw
お前の人生、本当に詰まらないよ。そこうしている内に
生きられる時間が限られている人間の人生はいつかは終わる。
それは俺もお前も例外ではない。その日がいつ、何年何月何日に
来るかは分からないが、病気で、事故で、運良く老衰で死ぬかもしれないが
いつかははっきりとは分からない。自殺すればその日が人生の終わりだが。
まぁそういうことで、少し気楽に生きろや?お前が未熟なコードで満足しようが
社会に与える影響力はほとんど無いから。
994デフォルトの名無しさん:2010/08/01(日) 18:13:46
C89で()内を空にするのは、あまりお行儀のいい行為ではない。
コンパイルは通るがvoidと変換されて通ってるわけではない。
995デフォルトの名無しさん:2010/08/01(日) 18:26:02
>>939
> 私見では、main() も function の一種であることが
君は↓の部分も標準スタイルという言葉の意味も分かってないようだな。
> 5.1.2.2.1 Program startup
> 1 The function called at program startup is named main. The implementation declares no
> prototype for this function.
プログラムの開始、その関数名、そして引数。まったく話になりません。
何度も言うが 標準スタイル だぞ。独自の環境の場合はその限りではない。
これ以上の議論は無駄。理解力が無い奴は自分の不手際を理解してもらおうと
相手の粗探しや墓穴を掘ってつついて、論点を外した話をするから困る。
補足も理解出来ないとは。
996デフォルトの名無しさん:2010/08/01(日) 18:41:05
997デフォルトの名無しさん:2010/08/01(日) 18:45:10
ISO、ANSI ”準拠”の”標準スタイル”では
プログラムの”開始”の関数名をmainとし、引数が無ければint main(void)
引数がある場合は int argc, char *argv[]) 。argc , argv は他の関数で
それらの名前が使われて宣言されていたとしても、それらは宣言された
各々の関数の中で使われる(独立した、共有しない)変数。(スコープに関する)

プログラムの開始をmainとしないような、例えば独自に宣言したような扱いで
宣言した関数名mainとした場合は、それは標準スタイルから外れ
提唱しているスタイルに従う必要はない。ただ、そんなことを態々
独自の環境だからってmainをサブ扱いするような使い方をするだろうか?
あくまでも独自の環境でも、プログラムの開始をmainとするスタイルを
使っても問題はなかろう。mainもルーチン、モジュールの1つだと言うなら
もうそんな人間に逐一物申しませんよ。好きにやって下さい。
別におかしくともなんともないから。
998デフォルトの名無しさん:2010/08/01(日) 18:49:20
国際標準化機構が提唱する標準スタイルに物申すなら
世の中は何を基準にして工業関連の製品を作れば良いのか?
独自でPCの仕様、ディスク、データ、もっと範囲を広げれば
ネジ、ボルト、ナットといった規格を各企業で独自に決めて使うと?
別に、ISO準拠の規格のものをモジュールとして使っても良いだろ。
そこまで言うなら、標準ライブラリも使わず、標準ライブラリと同じ
処理をする関数を自分でコードを記述して使えば?
別にその点、個人で使用する分にはどうでも良いよ、そんなの。
しかし、もう標準ライブラリで事が済むなら俺は使うね。
他者とコードを共有する際にも、何をどうしているか分かりやすく示せるし。
まぁ、コードなんて必要が無ければオープンにしないものだからね。
変な名前の変数宣言をして、ウヒウヒやってれば良いんじゃね?w
999デフォルトの名無しさん:2010/08/01(日) 18:51:11
↓お前は1000を取り損ねた駄目な子、あと一歩、惜しいぃ〜
1000デフォルトの名無しさん:2010/08/01(日) 18:52:37

        ,. -──- 、           ミ r‐、
       / _ -v-- 、  \          ノ)  }
      / / rv、  、`ヾヽ /ハ         l  ! / ))
      l/ //   | l  l  lヾヘマヽ     / \/
      / /ー '^′`ー:: ┼l_」ヘ/|   /     /
       H'´ ≡/////≡  | /  | j  /     /
      l{ ::::: ┌─ ┐ :::::: 冂ヽ lく /    /
     八   |   |   l´レj /    /
     / /\ |   |   | |/    /      また次スレでね〜!
     〈_/ rく ` ー--‐ 7´:! {:{    /
      /\    /  l/Ll:|:. .:/|
     /  / ー-/   :|:  l:l:/  l
    /  /    i   :|:  //:.    ヽ
   /ヽ   ヽ、 __::人 __:ノ:/'´|:. l:  __ノ
   \ \_ { ,,,):::::l(,,.;;}   .:|:.__冫´
   / `ー/ー┤:::l      .:|
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。