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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2010/06/18(金) 06:27:59 ]
あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他の発言はスルーの方向で。

【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・問題文やコードをリンクするときは、一言内容にについて説明をつけましょう。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはコラー!!です。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。

【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html
【過去ログ検索】        chomework.sakura.ne.jp/
【wiki】               www23.atwiki.jp/homework/

前スレ
C/C++の宿題片付けます 136代目
pc12.2ch.net/test/read.cgi/tech/1274827528/

652 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 22:56:04 ]
>634
ってさ、たとえば 36 のときみたいに解が複数あるときはどうすんの?
15,15,5,1 の4枚と、10,10,8,8 の4枚。

653 名前:デフォルトの名無しさん [2010/07/08(木) 23:06:15 ]
>>630
ありがとうございます
助かりました

654 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:20:25 ]
>>653
いえいえ

655 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:32:53 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):

以下の仕様に従って,分数の四則演算を行うプログラムを作成せよ。
[仕様1] 以下のような構造体を定義し,分数のデータ構造に利用すること。
struct fraction{
int parent; /* 分母(denominator) */
int child; /* 分子(numerator) */
};
[仕様2] 以下の実行結果となるようなプログラムを作成せよ。
プログラムの実行結果↓
1つ目の分数を入力して下さい。
3/4 ←キーボードより入力
2つ目の分数を入力して下さい。
1/4 ←キーボードより入力
演算方法(1.加算,2.減算,3.乗算,4.除算)を入力して下さい。
2 ←キーボードより入力
3/4 - 1/4 = 1/2
計算結果は約分をして表示

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C言語
[4] 期限: 7月9日
[5] その他の制限:ポインタ変数、データ構造まで習いました
よろしくお願いします

656 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:41:48 ]
>>651
特に指示はないからこっちに任せただと思う
だから左上からスタートで

********
          *
****** *
*      * *
* *    * *
* ****  *
*         *
********

>>649
ifかswitchでそれをつくろうかと思ったがさすがにふざけてると思われそうなのでやめた

657 名前:デフォルトの名無しさん mailto:sage [2010/07/08(木) 23:51:27 ]
>>656
日本語でおk。偶数パターンを出力してからものを言え

658 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 00:02:35 ]
>>657
すまなかった 6 4 2の順で

******
       *
**** *
*   * *
*      *
******

****
    *
*   *
****

2は正方形でも右の形でもどっちでもいい

** **
**   *

659 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 00:34:07 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
yonex1.cis.ibaraki.ac.jp/~yonekura/Socket-base/Sock-prog9.html
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 4.3.4
 [3.3] 言語:C
[4] 期限:2010年7月11日
[5] その他の制限:
よろしくお願いします。

660 名前:デフォルトの名無しさん [2010/07/09(金) 01:28:45 ]
次のプログラムを、分かりやすく疑似コードに直してください!!
分かり易ければOKです!
static int coin[] = {1, 5, 8, 10, 15};
int main(void){
int *nr, *hist, money, c, n, new;
printf("input money : ");
while (scanf("%d", &money) != 1) {
scanf("%*[^\n]");
printf("input money again : "); }
scanf("%*[^\n]");
nr = (int *)malloc((money + 1)*sizeof(*nr));
if (nr == 0) {
perror("calloc");
return 1; }
hist = (int *)calloc(money + 1, sizeof(*hist));
if (hist == NULL) {
perror("calloc");
goto err; }
for (n = 0; n <= money; n++)
nr[n] = n;
for (c = 0; c < sizeof(coin)/sizeof(*coin); c++)
for (n = coin[c]; n <= money; n++) {
new = nr[n - coin[c]] + 1;
if (new < nr[n]) { nr[n] = new; hist[n] = c;}
}
printf("total number : %d\n", nr[money]);
printf("coins : ");
for (n = money; n > 0; n -= coin[hist[n]])
printf("%d ", coin[hist[n]]); printf("\n");
free(nr); free(hist); return 0; err:
free(nr); return 1; }



661 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 02:34:47 ]
>>648
> 2〜9の数字を入力
2はどうなのよ、2の時は?

662 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 04:46:59 ]
>>602お願いします!!

663 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 07:59:57 ]
>>655
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10795.txt

664 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 16:09:48 ]
>>661
星は正方形で
渦巻きは>>658でおねがいします

665 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:03:15 ]
codepad.org/hm0UfG3p

666 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:21:22 ]
> codepad.org
↑便利だ。
コンパイルまでしてくれる必要は無いんだけど、
もっと色々な言語(Pascalとかverilogとか)貼り付けて、
整形して表示してくれるアプローダ無いかな?

667 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:26:18 ]
ideone.comは?整形して表示の意味がよく分からないけど

668 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 20:40:12 ]
>>667
ありがとう。これでいいです。
こんなんとかPascal似の言語とか貼り付けたかったのです。
ideone.com/zrjGj

669 名前: ◆QZaw55cn4c mailto:sage [2010/07/09(金) 22:04:40 ]
ideone.com は対応している言語が多いけれども、コンパイルエラーの表示に難があるからなあ。
ideone.com/ffzm5
正解は、
transform(radians.begin(), radians.end(), sines.begin(), (double (*)(double))sin);

670 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:41:13 ]
整数を入力:18
1
2
3!?
(中略)
13!?
14
15!?
16
17
18!?

こんなプログラムはどうやって書くんですか?



671 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:48:40 ]
さぁ、世界のナベアツ先生に聞いてちょっ

672 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:49:53 ]
誘導されてきたんだなぁ。ってか宿題だったのか。
次は>>1を読もう。

673 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 22:57:56 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):3の付く数字と3の倍数の時にアホになりなさい。
[3] 環境
 [3.1] OS: (Windows/Linux/等々)windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)Borland C++ 5.5.1
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 20日(火)


674 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:19:04 ]
>>673
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10796.txt

675 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:27:09 ]
>>674
こうすれば文字列操作が不要になるんでは。
int isAho(int n)
{
if (n % 3 == 0) return 1;
while (n)
{
if (n % 10 == 3) return 1;
n /= 10;
}
}

676 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:28:12 ]
>>675
最後にreturn 0;するの忘れてた。

677 名前:デフォルトの名無しさん mailto:sage [2010/07/09(金) 23:45:55 ]
30台もどうかとは思うが300、3000台にもなるとアホばかりで疲れるわ・・・

678 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 00:17:05 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
以下の機能を持つプログラムを作ること。

-1から100の数字の中から素数を抽出する (配列に直接数字を指定することは不
可)
-抽出した素数を大きい順(降順)にソートする
-ソートした素数を1行につき5個表示する(6個目以降は次の行に表示する)

但し、以下の4つの機能を使ったプログラムにすること。
-サブ関数
-配列
-if文
-for文

以下の点に関して工夫をした場合は加点の対象とする

-素数の計算時間の低減
-見つけた素数の数のカウント
-ソートのアルゴリズム高速化
-実行時間の表示

作成したプログラムの特徴を提出時のコメントに記入すること
(素数の見つけ方、ソートの仕方、表示方法での工夫など)
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:2010/07/23

初心者ですがよろしくお願いします。

679 名前:デフォルトの名無しさん mailto:sage [2010/07/10(土) 02:06:24 ]
>>678
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10797.c

680 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 09:13:45 ]
ソートはなんならクイッ クソート があるでおじゃる



681 名前:618 mailto:sage [2010/07/10(土) 09:33:45 ]
その他制限はありません。一通り学びましたが初心者です。
よろしくおねがいします

682 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:10:43 ]
>>589
該当する関数をこれに置き換えると早くなる

int coin_func_r(int result[], int c[], int m, int n){
int i, num;
if(m<0 || result[m]==0) return -1;
if(result[m]>0) return result[m];
for(i=0;c[i]>0;i++){
num=coin_func_r(result, c, m-c[i], n+1);
if(num>0 && (result[m]<0 || result[m]>num+1)) result[m]=num+1;
}
if(result[m]<0) result[m]=0;
return result[m];
}

int coin_func(int c[], int amount){
int i, lcm_all=1, rest, c_max=1, *result, ret;
for(i=0;c[i]>0;i++){
lcm_all=lcm(lcm_all, c[i]);
if(c_max<c[i]) c_max=c[i];
}
result=calloc(lcm_all, sizeof(int));
for(i=0;i<lcm_all;i++) result[i]=-1;
for(i=0;c[i]>0;i++) result[c[i]]=1;
rest=amount%lcm_all;
coin_func_r(result, c, rest, 0);
ret=result[rest]+(amount-rest)/c_max;
free(result);
return ret;
}

683 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:24:32 ]
>>511
ありがとうございます!

684 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:28:20 ]
[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):
二つのint型整数の小さい方の値を返す関数
 int i_minof(int x, int y){ /* ... */}
を作成せよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年7月12日まで

よろしくお願いします。


685 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:40:05 ]
[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):
下に示すように、整数値を読み込んで、その値を0までカウントダウン
しながら表示するプログラムを作成せよ。なお、負の値を読み込んだ時は
何も表示しない(改行も表示せず終了する)ようにせよ。
=====
整数を入力してください:9
9 8 7 6 5 4 3 2 1 0
=====
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年7月12日まで

よろしくお願いします。

686 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 10:41:38 ]
>>684
int i_minof(int x, int y){ return rand()&1?x:y; }

687 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 11:41:06 ]
>>684の訂正です。

[1] 授業単元:C言語入門
[2] 問題文(含コード&リンク):
二つのint型整数の小さい方の値を返す関数
 int i_minof(int x, int y){ /* ... */}
を作成せよ。
=====
二つの整数を入力してください。
整数1:49
整数2:92
小さい方の値は17です。
=====
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年7月12日まで

よろしくお願いします。


688 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 11:42:32 ]
>>687
×小さい方の値は17です。
○小さいほうの値は49です。

何度も訂正すいません。

689 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 12:21:49 ]
>>687
int i_minof(int x, int y){
if(x<y){
return x;
}
else{
return y;
}
}

690 名前:689 mailto:sage [2010/07/10(土) 12:24:03 ]
補足すると
条件演算子を使えばもっと簡単になる

参考
ttp://www5c.biglobe.ne.jp/~ecb/c/05_08.html



691 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 14:55:54 ]
>>685
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10798.txt

692 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 17:55:41 ]
>>691
ありがとうございます。

693 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 18:01:33 ]
【質問テンプレ】
[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10799.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:[無期限]

お願いします。

694 名前:名無しさん@そうだ選挙に行こう [2010/07/10(土) 23:01:52 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
バイナリ形式で保存されたWindows Bitmap形式の画像ファイルを読み込み、3つの色成分(Blue, Green, Red)に分離し、
それぞれを異なるファイルに保存するプログラムを実装しなさい。
プログラム中でやることは以下のことである。
1.ヘッダ部分を適切に読み込む
2.読み込んだヘッダ部分(ファイルヘッダ、情報ヘッダ)を用いて、適切なバイト数(画素数×1画素あたりのバイト数)を読んでくる。
3.分離したい色成分以外を0に書き換え、ヘッダ部分と色情報をファイルに書き込む。
ただし、以下のような構造体を使用する。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10800.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年7月12日
[5] その他の制限:特にありません。よろしくお願いします。


695 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 02:36:18 ]
クイックソートのソースをとりわけ、クイックソースと言うでおじゃる

696 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 10:40:06 ]
【質問テンプレ】
[1] 授業単元:Visual C++ でのプログラミング演習
[2] 問題文(含コード&リンク):課題4.3.bをお願いします。www.dotup.org/uploda/www.dotup.org1020755.jpg
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 200
 [3.3] 言語:C++
[4] 期限:[無期限]

697 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:07:13 ]
>>696
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10801.txt

動作例から推測するに、恐らく最小の整数ではなく最小の自然数を出力するのだろう。
(1+1/n)^n は n>0 で単調減少だから、二分探索で解を求める。

698 名前:697 mailto:sage [2010/07/11(日) 11:12:36 ]
単調減少ではなく、単調増加でした

699 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:14:30 ]
> while 型繰り返し
> #include <stdio.h>
ん〜〜〜

700 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:26:33 ]
>>696
C言語でかいた
#include<stdio.h>
#include<math.h>

int main(void){
int n = 0;
double fn;

while((fn=pow(1+1.0/n, n))<=2.71 || 2.72<=fn) n++;
printf("n = %d\n", n);

return (0);
}



701 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:41:33 ]
math.hを使うことを宣言し マス! って言ってみたかった

702 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:53:54 ]
>>697 さま
>>700 さま

有難うございました。無事解決できました。
また質問で申し訳ないのですが
while((fn=pow(1+1.0/n, n))<=2.71 || 2.72<=fn) n++;

while((fn=pow((double)(1+1/n), n))<=2.71 || 2.72<=fn) n++;
のようにdouble型にキャストをすると実行中にエラーが出るのですが何故でしょうか?

703 名前:700 mailto:sage [2010/07/11(日) 11:56:42 ]
>>702
ごめん
0 除算エラーだね

n の初期値を 0 から 1 に変更してちょ

704 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 11:59:42 ]
>>702
n>=2 のとき
(double)(1+1/n)
は常に 1.0 になってしまうぞ

705 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:11:50 ]
>>703
n=0→1でエラーはでなくなりました!
>>704
Googleさんで調べても分からなかったのですが
キャストするとなぜだめ(1.0になる)なのでしょうか・・・?

706 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:13:47 ]
除数をキャストしてごらん。あるいはnをdouble型にする

707 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 12:33:26 ]
>>706
割り算は整数だけではだめなのですね・・・。
最初から最後までご教授いただきありがとうございました。

#include <stdio.h>
double a = (double)1/2;
double b = 1/(double)3;
double c = 1/4;
printf("%f\n%f\n%f\n",a,b,c);

実行結果
0.500000
0.333333
0.000000

708 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:02:06 ]
インチをセンチに変換するプログラムを作れという課題が出たのですが、わかりません!
明日の1限までに仕上げなければならないので、大至急お願いします!
下のところまでは書けたのですが、???のところがわかりません。
定数を掛けるというところまでは想像出来るのですが、何を掛けたらいいのか全然想像付きません。

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

double to_cm(double in)
{
    return in * ???;
}

int main(int argc, char *argv[])
{
    double in;
    char str[32];

    if (argc > 1)
    {
        strncpy(str, argv[1], 31);
    }
    else
    {
        printf("input inch: ");
        fgets(str, 31, stdin);
    }
    in = atof(str);
    printf("%f [in] = %f [cm].\n", in, to_cm(in));
    return 0;
}

709 名前: ◆QZaw55cn4c mailto:sage [2010/07/11(日) 16:05:01 ]
>>708
return in * 2.56

あと、
fgets(str, 31, stdin);

fgets(str, 32, stdin);
でいい。

710 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:07:24 ]
>>709
出来ましたああああ!!!!!!!!111
先週出た課題でずっと悩んでたんですがこれで提出できそうです!
あとプログラムの問題点まで指摘してくださってありがとうございました。

それから、次からはちゃんとテンプレを守ります。すみませんでした。



711 名前:709 mailto:sage [2010/07/11(日) 16:08:05 ]
>>708
失礼、
return in * 2.54;
だった。1 inch = 2.54 cm。

712 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:43:25 ]
ちなみに、12インチ=1フィート=30.48cm、3フィート=1ヤード=91.44cm
これ豆知識な。マイルの計算もしっかり出来ないと、参るぜ?

713 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:45:13 ]
∧_∧∩))
( ・∀・)彡   パーン!
  ((⊂彡☆∩  _, ,_
   ⊂(⌒⌒(;`Д´)
      `ヽ_つ ⊂ノ ←>>712

714 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 16:50:16 ]
>>713
まぁそうフィートアップするなよ

715 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 17:11:59 ]
パンパンパーン
  ∧_∧ ∩
 ( ・∀・)彡☆
   ⊂彡☆))Д´) >>714
       ☆

716 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 18:26:12 ]
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク): imepita.jp/20100711/659870
画像のプログラムを下のEOFを探して処理を行う方法に書き換えてプログラムを実行せよ
また、input.dataの中身を10行未満にしても正常に動く事を確かめてみよ。

int counter=0;
while (!input_file.eof()){
input_file>>data[counter];
counter++
}

for(i=0;i<counter;i++)
output_file << data[i]*2 << '\n';

[3] 環境
 [3.1] OS: linux
 [3.3] 言語: C++
[4] 期限: ([2010年7月11日22時まで]
[5] その他の制限:
なるべく簡単にしてください。お願いします。


717 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 18:29:40 ]
[1] 授業単元: プログラム
[2] 問題文(含コード&リンク): imepita.jp/20100711/660110
画像のプログラムの九九表を以下の様に書き換えよ
1 画面に表示してた部分(coutの部分)をファイルに書き出す様にする
2 一番目のcoutにある''を','に変更する
3 出力ファイル名を"output.csv"とする。
この九九表が入っているファイルをExcelで読み込んで、九九表を見ることができるか確かめてみよ

[3] 環境
 [3.1] OS: linux
 [3.3] 言語: C++
[4] 期限: ([2010年7月11日22時まで]
[5] その他の制限:
なるべく簡単にしてください。お願いします。


718 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 19:19:51 ]
>>693
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10802.c

719 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:01:05 ]
>>717
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10803.txt

720 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 22:46:43 ]
[1]授業単元:プログラミング基礎
[2] 課題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10804.txt
[3] 環境:指定無し 言語C(なるべく)
[4] 9/1迄(夏期課題)
[5]意味がよくわからないので丸投げします



721 名前:名無しさん@そうだ選挙に行こう [2010/07/11(日) 23:08:44 ]
>>719
ありがとうございます。でも、このプログラムをコンパイルしても、
続行するには何かキーを押してください
で終わってしまいます

722 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:13:01 ]
>>721
実行ファイルと同じところに、なにか新しいcsv ファイルが作成されていませんか?

723 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:15:40 ]
>>20 といい >>720 といい、変な傾向の宿題が出るようになったものですね。

724 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:20:59 ]
別に変でもないよ。処理の内面的な部分を知る課題だろ。

725 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 23:25:41 ]
仕様をもとにプログラムを作成する、というのがまっとうだと思うんですが。
判じ物の問題は、「プログラム基礎」とか「暗号理論」という単元名とは全然違うのでは。

726 名前:デフォルトの名無しさん [2010/07/11(日) 23:37:13 ]
>>722
プログラムのコンパイルした時にExcelを開いておけばいいって事ですか

727 名前:名無しさん@もう選挙は終わってるんで mailto:sage [2010/07/11(日) 23:37:20 ]
>>725
それいうなら結局誰も答えなかったみたいだけど
>>234とかがある意味最もC言語の宿題っぽいw(けど学校の宿題としては
やはり不適なんだろなw)

728 名前:デフォルトの名無しさん [2010/07/12(月) 00:04:27 ]
>>722
実行ファイルと同じところに、Excelで保存したものがはいっているんですが、もしかしてそれですか

729 名前:デフォルトの名無しさん [2010/07/12(月) 00:14:16 ]
誰か716の問を助けてください

730 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 01:27:34 ]
>>679
亀レスですみません
ありがとうございました



731 名前: ◆QZaw55cn4c mailto:sage [2010/07/12(月) 02:39:35 ]
>>716
単に指示通りにプログラムを入力しただけです。
codepad.org/73sQ9rsX

732 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 02:58:38 ]
>>725
何が言いたいのかさっぱり分からんが、プログラムを動かしている電子機器の
基本的な仕組みも知らないでコードを書くとか・・・どれも基本は同じだし。
IFや数値を扱うにしても、もう既に実装されているコンピュータの仕組みが
大きく関与しているし。

733 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 03:01:15 ]
>>732
>>20 >>720 のような出題を批判しているだけです。

734 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 03:02:17 ]
>>720
っつか、学んだ内容が分かればヒントが得られるかもしれないが・・・
法則が分からん。511までで何か数字を弄れば気づくかもしれんが。

735 名前:デフォルトの名無しさん [2010/07/12(月) 06:29:39 ]
2進数にしたときに1の数が順番に増えていくのだけはわかった。
ソートの条件はさっぱりだが。

736 名前:デフォルトの名無しさん [2010/07/12(月) 07:07:43 ]
>>694お願いします。。。

737 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 08:16:55 ]
順応性を高めなさい!そしてあるがままを受け止めなさい。

738 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 10:12:44 ]
実験(数値実験、確認、解析)
システムプログラミング(アプリケーション実装)
マネジメント(ネットワーク構築 etc)
開発(OS,言語、処理系、ライブラリの整備)
教育(カルチャーの紹介)
....まだあるかも

ことコンピュータの世界(実世界に非ず)の教育を
単一言語で行うことには相当無理があるよな

739 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 10:34:43 ]
そんなのだいたいCでやってるという現実。

740 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:02:57 ]
まアセンブラを言語と考えるのならこれ以上に万能な
言語は無いな



741 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:03:01 ]
だからCみたいな面倒な言語を経験しておけば他のスクリプト言語も
簡単に使えるという意図なんだろう

742 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:05:00 ]
お前らのCに対する意見、気持ちはよーく分かった。だから早く
初めてのCもしてこい、なっ!

743 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:21:10 ]
>>735
当たり前だろwww

744 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:34:36 ]
>>738
Cが他の言語に対して圧倒的に強いのは
開発
だろな
教育できるような世界じゃないだろうけど

745 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:37:42 ]
はい、Cなら色々と開発できます!

746 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 11:40:07 ]
Cは非プログラミング言語で言うと英語みたいなもんだよ。
言語設計が優れてるか否かというよりも(まぁ優れてはいるんだろうが)、
みんなが使って、長い間使ったから、デカイ顔できるし信頼も置ける。

747 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 12:54:06 ]
>>720
1 になっている bit の数を x とすると
x に対して昇順にするのが大前提

x%3==0 のとき数値で昇順
x%3==1 のとき数値で降順

x%3==2 のときが分からない
数値を昇順にソートし大きい方から使う

x=2 の場合だと逆順に見て
8 ? 7 ? 6 ? 5 ? 4 ? 3 ? 2 ? 1
こんな感じ

x=5 の場合だと逆順に見て
5 ? 4 ? 3 ? 2 ? 1 ? ? ? 4 ? 3 ? 2 ? 1 ? ? ? 3 ? 2 ? 1 ? ? ? 2 ? 1 ? ? ? 1 ? ? ?
こんな感じ

748 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 13:18:12 ]
>>720 >>747 の条件分岐 x%3==0 と x%3==1 のときだけ実装
#include<stdio.h>
#include<stdlib.h>
int bit_count(int value){
int ret=0;
while(value>0){
ret+=value&1;
value>>=1;
}
return ret;
}
int num_cmp(const int *a, const int *b){
int a_bits, b_bits, ret=0;
a_bits=bit_count(*a);
b_bits=bit_count(*b);
if(a_bits<b_bits) return -1;
if(a_bits>b_bits) return 1;
if(*a<*b) ret=-1;
if(*a>*b) ret=1;
if(a_bits%3==1) ret=-ret;
return ret;
}
int main(void){
int num[4096], i;
for(i=0;i<4096;i++) num[i]=i;
qsort(num, 4096, sizeof(int), num_cmp);
for(i=0;i<4096;i++){
if(bit_count(num[i])%3!=2) printf("%d:%d\n", i, num[i]);
else printf("%d:???\n", i); // よく分からないので数値を出力しない
}
return 0;
}

749 名前:デフォルトの名無しさん [2010/07/12(月) 13:40:45 ]
1
乱数を使って計算機とじゃんけんをするゲームを作成せよ。
人間の入力はグーは0、チョ基は1、パーは2とし、勝ち、負け、引き分けの判定をすること。
乱数の初期設定のために srand((unsigned int)time(NULL)); を使うこと。

2
1を改良して0,1,2以外の値が入力されるまで繰り返し勝負を続けるものを作成せよ。

よろしくお願いします。

750 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 17:20:04 ]
>>749
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10806.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10807.txt



751 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:47:31 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10808.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名:gcc
 [3.3] 言語:C
[4] 期限:7月14日まで
[5] その他の制限:
お手数をおかけしますが、よろしくお願いします。

752 名前:デフォルトの名無しさん mailto:sage [2010/07/12(月) 18:53:30 ]
>>751(1)

i = left - 1; //(1)________
j = right + 1; //(2)________






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

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

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