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


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

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



1 名前:デフォルトの名無しさん [2010/05/26(水) 07:45:28 BE:94671825-S★(522522)]
あなたが解けない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++の宿題片付けます 135代目
pc12.2ch.net/test/read.cgi/tech/1269438098/

558 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:23:28 ]
>>554
関数を2つ呼び出して、一つの関数をもうひとつの関数の
引数にしたいんです。ただそれだけです。

559 名前:デフォルトの名無しさん [2010/06/10(木) 08:23:50 ]
>>555
わざわざありがとうございます、doubleじゃなくてfloatでした。
この時も関数ポインタはfですね?
あとretrunっているのですか?どういう役割なのかなぁ....
それとa=3.1415926..とは?
色々ややこしいなぁ、簡単なプログラムなのにこんな複雑だとは....


560 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:25:31 ]
>>558
もしかして
sin(cos(a));
か?この式に何の意味があるのかは不明だが

561 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:27:38 ]
>>559
問題を適切に抜き出す能力が足りないだけ
少なくとも俺は>>558読んでもさっぱりわからん

562 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:28:07 ]
>>560
それでオッケーなら>548でもオッケーだろ

563 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:30:26 ]
こういう自分の勝手な解釈で嵌ってくアホ見ると、
余計なことしないで教科書のサンプルでも打ち込んでろって思うな

564 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:38:27 ]
マゾなんだろ
簡単な事をわざわざ複雑怪奇に書いて苦しみ悶える事に快感を覚えるタイプ

565 名前:デフォルトの名無しさん [2010/06/10(木) 08:39:27 ]
>>561
いやめちゃくちゃ単純なんですが・・
合成関数のプログラムですよ。
sin(cos(a))ですよ。
関数が二つあるんだから、二つの関数呼び出す必要ありますよね。
全然意味不明じゃないですが・・・

566 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:44:22 ]
x=cos(a);
y=sin(x);
変数と代入から勉強だな。



567 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:47:18 ]
>>565
それはcos(a)の返り値をsin()の実引数にするといい、
cos()をsin()の実引数にするとは言わない。
正しく用語を使えてないから、他人に正しく伝わらない。

568 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:47:37 ]
>>565
まだわからない。
double sincos(double a)
{ return sin(cos(a)); }
ではどうだめなのか。

569 名前:デフォルトの名無しさん [2010/06/10(木) 08:51:53 ]
>>567
すいません。その通りです。返却値をsin()の実引数の実引数にしたいんです。

>>568
あぁ絶対言うかと思いました。
別に合成関数のプログラム作りたいわけじゃなくて、関数の呼び出しという
構造を学びたいだけで。それなら僕も考えてました。複雑なプログラムはそれ
じゃ無理です。



570 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:55:31 ]
お前に複雑なプログラムの何がわかるってんだよw

571 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 08:58:56 ]
っと、>>569はなりすましか

572 名前:553 mailto:sage [2010/06/10(木) 09:00:44 ]
このスレにいる人は全員低脳ばっかりですね。

573 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:01:44 ]
・質問者はなりすましを防ぐため、トリップを使ってください。
名前欄に、「好きな数字#...」に続けて任意の文字列

574 名前:デフォルトの名無しさん [2010/06/10(木) 09:02:36 ]
>>567
以後気をつけますんで、お願いします、どうしたらいいでしょう....
>>570
少し複雑になったら関数が必要だから。別にプログラムの何もわからないが。


575 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:03:29 ]
>>574
日本語でおk

576 名前: ◆mDrzcbRHP2 [2010/06/10(木) 09:04:48 ]
>>573
すいません。

>>569>訂正
実引数の実引数にしたい。→実引数にしたい。



577 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:06:22 ]
>>576
おまい誰だよ

578 名前: [2010/06/10(木) 09:09:20 ]
再び、お願いします(_ )

【質問テンプレ】
[1] 授業単元:C言語 演習問題4-14
[2] 問題文(含コード&リンク):身長と標準体重を表示するプログラムを作成せよ。
               なお、表示する身長の範囲(開始値、終了値、増分)は、整数値として読み込み、
               標準体重は小数点以下2桁だけ表示すること。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: main.c Visual Studio 2008
 [3.3] 言語: C++
[4] 期限: 22年6月18日17:00まで
[5] その他の制限: do文やif文、for文までです

file:///C:/Users/aika/Desktop/%E3%83%9E%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E8%A8%80%E8%AA%9E/c.html

一応上記まで作り、実行も出来たのですが
実行時エラーで問題のように上手くいきません。
多分、水色で示したところが間違っているのだと
思うのですが…(p‥`)

手直し(?)という形で宜しくお願いします、

579 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:10:47 ]
>>578

>file:///C:/Users/aika/Desktop/%E3%83%9E%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97%E8%A8%80%E8%AA%9E/c.html

ふざけてんの?

580 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:15:44 ]
aikaって名前?

581 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:25:42 ]
>>580
>file:///C:/Users/aika/Desktop/マークアップ言語/c.html
pc12.2ch.net/test/read.cgi/tech/1274827528/424


582 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:29:11 ]
スーパーハカーでもなきゃ、あんたのPCの中身はわからんよw

583 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 09:33:03 ]
>>581
それはわかってんよ
実行時エラーとか水色で示した部分がこちらは知りたいわけ

584 名前:566 ◆/91kCCQXBo mailto:sage [2010/06/10(木) 10:23:24 ]
>>548 >>552 >>559
#include <stdio.h>
#include <math.h>
/*  double sin( double x ); */
/*  double sin( double x ); */
float r(double (*p)(double), double (*q)(double), float a)
{
  return (*p)((*q)(a));
}

int main()
{
  printf("%f\n", r(sin, cos, 1.0));
  return 0;
}

585 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:29:07 ]
>578 は、AKBオタ。

586 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:34:42 ]
仲間が見つかってよかったねw



587 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 10:53:59 ]
>>616
% Prolog (その一)

バケツソート(_整列されたならび) :-
    abolish('$temp'/2),
    findall(S,(for(1,_,2000),ランダムな文字列の発生(S)),L),
    バケツソート(L,_整列されたならび),!.

バケツソート(L,_整列されたならび) :-
    バケツに吐き出す(L),
    findall(X,(鍵候補値を昇順に発生させる(S),バケツから拾い上げる(S,X)),_整列されたならび).

数値文字候補ならび(['0','1','2','3','4','5','6','7','8','9']).

鍵候補値を昇順に発生させる(S) :-
    数値文字候補ならび(L),
    member(A,L),member(B,L),member(C,L),member(D,L),member(E,L),
    concat_atom([A,B,C,D,E],S).

ランダムな文字列の発生(S) :-
    数値文字候補ならび(L),
    findall(A,(for(1,_,5),M is (random mod 10) + 1,list_nth(M,L,A)),L2),
    concat_atom(L2,S),!.


588 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:02:44 ]
>>587
なるほど、よくわかりました

589 名前: [2010/06/10(木) 11:13:51 ]



すみません…どう書いたらいいのか
よく分からなかったもので。

#include <stdio.h>

int main(void)
{
int i;
int low, high, step;

printf( "何cmから:" ); scanf( "%d", &low );
printf( "何cmまで:" ); scanf( "%d", &high);
printf( "何cmごと:" ); scanf( "%d", &step);

for(i=low; i<=high; i+=step) {
printf( "%dcm %.2fkg\n", low, ((low += step <= high) - 100) * 0.9);
printf( "%dcm\n", low += step);
}

return( 0 );
}

上記のfor{文}のところです。。。


本当にすみませんでした、
また宜しくお願いします。


590 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:23:54 ]
589 の for 内 printf 1発目
副作用関連で鼻から悪魔コード じゃない? (関数引数での , は副作用完了点じゃないよな?)

591 名前:587 mailto:sage [2010/06/10(木) 11:33:47 ]
ごめんなさい。誤爆です。行方不明だと思ったらこんなところに書き込んでいたか。

592 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:42:47 ]
>>590
本当やね

low2 = ((low += step <= high) - 100) * 0.9;
printf( "%dcm %.2fkg\n", low, low2);

とすればうまくいくはず

593 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 11:44:26 ]
あ、だめだ

low2 = ((low + step <= high) - 100) * 0.9;
printf( "%dcm %.2fkg\n", low, low2);
low += step <= high;

か?

594 名前:581 ◆/91kCCQXBo mailto:sage [2010/06/10(木) 11:51:26 ]
#include <stdio.h>

int main(void)
{
  int i;
  int low, high, step;

  printf( "何cmから:" ); scanf( "%d", &low );
  printf( "何cmまで:" ); scanf( "%d", &high);
  printf( "何cmごと:" ); scanf( "%d", &step);

  for(i=low; i<=high; i+=step) {
    printf( "%dcm 標準体重=%.2fkg BMI(22)=%.2fkg\n", i, (i - 100) * 0.9, 22.0*i/100*i/100);
  }
  return 0;
}

595 名前:デフォルトの名無しさん [2010/06/10(木) 18:59:06 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
以下のようにmain関数を定義し、mainの引数を合計するプログラムsumを作成せよ。ただし、引数の数は未定であり、実行時に決定されるものとする。
int main(int argc, char *argv[])
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2010年6月15日まで
[5] その他の制限:
端末上で
./sum 3.2 1.9 2.3
と入力すると
7.4000
と出力されるようにする。

596 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 19:27:07 ]
#include <stdio.h>
int main(int argc, char *argv[])
{
  int i;
  float tmp, sum=0;

  for(i=1; i<argc; i++){
    sscanf(argv[i], "%f", &tmp);
    sum += tmp;
  }
  printf("%g\n", sum);
}



597 名前:デフォルトの名無しさん [2010/06/10(木) 19:56:13 ]
#include <stdio.h>
int main(int argc, char *argv[])
{
printf(argv[1])
printf(argv[2])
}
のようにするとき,コマンドからargv[]にデータを入れないとエラーがでます。
配列argv[]の初期値はどのように設定すればよいのでしょうか?

598 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 20:08:21 ]
if(argc<=1) exit(1);

599 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 21:00:42 ]
2つの自然数aとbの最大公約数gcd(a, b)を求め、それを出力するプログラムを作成せよ。
なお、m = a % b としたとき、gcd(a, b) は m≠0 の場合 gcd(b, m) に等しく、 m=0 の場合 b に等しい。


2つの自然数aとbを入力させ、a 人から b 人を選ぶ組み合わせ comb(a, b)を求め、それを出力するプログラムを作成せよ。
なお、comb(a, b) = comb( a-1, b) + comb( a-1, b-1) であり、 b==0 もしくは b==a のとき comb(a, b) = 1 である。


今週は2つありますが。。。よろしくお願いしますorz

600 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 21:16:32 ]
>>597
argc == 1 の時はargvを調べないようにする

601 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 22:50:26 ]
>>599

なお~~。の部分はプログラムのテストに使うくらいで、実際の問題とはなんの関連もないわな。

602 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 23:41:09 ]
【質問テンプレ】
[1] 授業単元:画像処理
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10665.txt
[3] 環境
 [3.1] OS: (特になし)
 [3.2] gcc
 [3.3] 言語: (C)
[4] 期限: ([2010年6月14日00:00まで])

よろしくお願いします。

603 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 23:42:17 ]
すいません。書き忘れましたが、・・・・の部分がわからないので教えていただけないでしょうか?

604 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 23:46:28 ]
>>501,523
ボロノイ図の問題かな?
AREA_SIZEを必要に応じて(10000などに)書き換えて下さい。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10666.cpp

605 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 00:22:35 ]
>>599
2番目だけ。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10667.c

606 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 12:44:03 ]
統計学で言うモードに相当するプログラムを書いてます
まだ途中ですが次のように書いていました
ですが書いている途中にエラーがででコンパイルできません
Visual C++ でやってます

エラーの理由とその解決方法を教えてください
#include<stdio.h>

int main(void)
{
int score[101], score, number;

printf("input of number is ");
scanf("%d", &number);

for (int j = 0; j < 101; j++) {
score[j] = 0;
}
for (int i = 0; i < number; i++) {
scanf("%d", &score);
if (0 <= score && score <= 100) {
score[score]++;
}else {
break;
}
}
return 0;
}



607 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 12:52:35 ]
score って変数を二つ宣言してるからじゃ?

608 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 12:52:39 ]
エラーメッセージ書いておいてくれないと回答面倒だよ

609 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 12:56:24 ]
scoreはscore[0]を表すってことを忘れてました
すみません

610 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 13:28:28 ]
(゚Д゚ )ハァ?

611 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 13:30:46 ]
違うの?
配列名は配列の先頭要素のアドレスを表すってあるけど
ポインタを詳しく理解してないからアドレスとはなんぞやって聞かれてもクエスチョンマークだけど

612 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 13:38:11 ]
「配列名は配列の先頭要素のアドレスを表す」を
「配列名は配列の先頭要素を表す」こう解釈したんだろうけど
知らない言葉を無視して前後をくっつけて理解した気になってたら
しょっちゅうトラブル起こるよ

613 名前: [2010/06/11(金) 13:44:44 ]
>>594

そうですね!!ありがとうございます!
理解出来ましたm(_ _)m

本当にありがとうございます!!!



614 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 13:49:40 ]
BASIC上がりか

615 名前:デフォルトの名無しさん [2010/06/11(金) 17:02:14 ]
[1] 授業単元: scanf
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10668.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 6月12日 午後9:00 まで
[5] その他の制限:for文まで習ってます。問1、2両方お願いします。


よろしくお願いします。



616 名前:501 mailto:sage [2010/06/11(金) 17:13:24 ]
>>604,501,523
どうもありがとうございました。参考にさせて頂きます。
ボロノイ図でググってみましたが関連が深そうです。
課題は「データベース構造設計、更新効率性と正規性のバランス」
がテーマの講座で出たものでした。



617 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 17:38:05 ]
>>615
#include <stdio.h>
問一
int main(void)
{
int i,num[3]={0},t,j,k;
for(i=0;i<3;i++)
scanf("%d", num+i);

j=num[0]/num[2];
k=num[1]/num[2];
for(i=j;i<=k;i++){
t=num[2]*i;
if(num[0]<=t && t<=num[1] )
printf("%d*%d=%d\n",num[2],i,num[2]*i);
}
}


618 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 17:46:46 ]
>>615
codepad.org/lFW9VvVR

619 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 17:58:02 ]
void q1() {
int a, b, c, t, i;
scanf("%d", &a);
scanf("%d", &b);
scanf("%d", &c);
t = a % c;
if (t != 0)
a += c - t;
for (i = a; i <= b; i += c) {
printf("%d, ", i);
}
}
>>617
初期値をループで求めるのはどうなのと思わなくもない

620 名前:619 mailto:sage [2010/06/11(金) 18:00:00 ]
ごめん >>618 に対してだった






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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