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


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

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



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

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

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

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

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

348 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 16:38:01 ]
>>334
レスありがとうございます。申し訳ありませんが
台形(1)a=0,b=2^2,h=2面積=
台形(2)a=2^2,b=4^2,h=2面積=
台形(3)a=4^2,b=6^2h=2面積=
台形(4)a=6^2,b=8^2h=2面積=
四つの台形の面積の合計=
という表示形式でお願いできないでしょうか?


349 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 16:45:41 ]
>>46

350 名前: ◆XjTlXLIlH2 [2009/05/27(水) 16:46:03 ]
>>318
すごく助かりました、ありがとうございました!!

351 名前:334 mailto:sage [2009/05/27(水) 16:54:43 ]
>>348
ほらよ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9272.txt


352 名前:デフォルトの名無しさん mailto:age [2009/05/27(水) 17:26:58 ]
>>322
ありがとうございます。

353 名前:デフォルトの名無しさん [2009/05/27(水) 18:04:25 ]
>>351たすかりました。ありがとうございます。

354 名前:デフォルトの名無しさん [2009/05/27(水) 18:27:30 ]
[1] C言語
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] Windows
 [3.2] すみません、わかりません
 [3.3] C
[4] 明日まで

入力された文字列をリストに格納し、
そのリスト自体を入れ替えて辞書順に並べる関数を作っています。
その際先頭・最後尾・次のリストのアドレスを変えなくては
ならないのですが、その処理をどうやったらいいか悩んでいます。
(strcmpの下の行からがよくわかりません)

void jisyo(struct B *fp, struct B *ep, int list_sum){
//前からリストの先頭アドレス、リストの最後尾アドレス、リストの数
  です。main関数でjisyo(a.front_p, a.back_p, a.list_sum)と
  呼び出しています。

int n, i, m;
struct B *p;

355 名前:デフォルトの名無しさん [2009/05/27(水) 18:28:50 ]
>>354の続きです

for(n = 1; n < list_sum; n++){
pb = fp;
pb_b = ep;

for(i = 0; i < list_sum-1; i++){
if(strcmp(pb->str_p, pb->next_p->str_p) >= 1){
p = pb;
pb = pb->next-_p;
pb->next_p = p;

356 名前:デフォルトの名無しさん [2009/05/27(水) 18:29:31 ]
>>355の続きです

if(fp != pb){
fp = fp->next_p->next_p;
fp->next_p->next_p = fp->next_p;
fp->next_p = fp->next_p->next_p->next_p;

}else if(ep != pb_b){
ep = ep->next_p;
ep->next_p = ep->next_p->next_p->next_p;
ep->next_p->next_p->next_p = ep->next_p;

}else{
pb = pb->next_p->next_p;
pb->next_p = pb;
pb->next_p->next_p = pb->next_p;
}
}
pb = pb->next_p;
}
}
for(m = 0; m < list_sum; m++){
printf("%s\n", pb->str_p);
pb = pb->next_p;
}
}



357 名前:307の間違い mailto:sage [2009/05/27(水) 19:14:21 ]
>>307(9255) Vector勉強になった。 それとついでに>>324(9269) >>(9271) N-Queenを解くプログラム
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <time.h>
using namespace std;
struct student {
  string name;
  int score;
};
bool operator<(const student& x, const student& y) {
  return x.score < y.score;
}
int main(void) {
  int i;
  char buf[50];
  student s, t;
  vector<student> vecStudent;
vector<student>::iterator theIterator;
  srand((unsigned)time(0));
  for(i=0; i<20; i++) {
    sprintf(buf, "名前.%02d.名前", i+1); s.name = buf; s.score = rand() % 101;
    vecStudent.push_back(s);
  }
for (theIterator = vecStudent.begin(); theIterator != vecStudent.end(); theIterator++)
    cout << theIterator->name << ":" << theIterator->score << endl;
  cout<<endl; sort(vecStudent.begin(), vecStudent.end());
  for(i=0; i<20; i++)
    t = vecStudent[i], cout<<t.name<<":"<<t.score<<endl;
  return 0;
}

358 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 20:04:04 ]
>>354-356
どのような構造体かわからなかったので妄想してコーディングした。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9273.c
兄ぃそこはらめぇー、とか。あぁ、酔ってるわ。

359 名前:デフォルトの名無しさん [2009/05/27(水) 20:32:00 ]
>>358
ありがとうございます。
でもコメントが文字化けしていて
どんな処理をしているのかわかりませんでしたorz

構造体は
struct A a{
struct B *front_p;
struct B *back_p;
int list_sum;
}

struct B b{
char *str_p;
struct B *next_p
}
です。
書き忘れすみません。
よろしくお願いします。

360 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 20:43:14 ]
>>358
構造体は予想どおりだったか。

コメントの文字化けは知らんがな。
UTF-8だから、nkfかiconvでSJISにでもしてみてね。
それか、サクラエディタかnotepad++で読み込むとか。

私の考えでは、別にリストのポインタを入れ替えていく必要はないと。
つまり、文字列(char *)だけ入れ替えてやるだけで済むと。
ソートしたい対象が文字列(char *)なのにリストのポインタを替えていくなんて無駄な処理でしょ。
だから、文字列(char *)だけソートしたものが>>358なのよ。

361 名前:307の間違い mailto:sage [2009/05/27(水) 20:44:16 ]
>でもコメントが文字化けしていて
>どんな処理をしているのかわかりませんでしたorz
(9273)右クリックでファイルをダウンロードすれば読めるはず。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm

362 名前:デフォルトの名無しさん [2009/05/27(水) 21:11:55 ]
>>360
文字列のみの入れ替えは完成していたのですが、
講師からリスト自体を入れ替えろと言われました…。

あとコメント見れました。

363 名前:デフォルトの名無しさん mailto:sage [2009/05/27(水) 22:35:50 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9274.txt
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: [2009年06月03日24:00まで]
[5] その他の制限: 特になし。
よろしくお願いします

364 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:25:36 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):1!〜53!を計算して、それらを右揃えで出力するプログラムを
                  作成せよ
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual C++
 [3.3] 言語: C言語
[4] 期限: [2009年6月2日17:00まで]
[5] その他の制限:・プログラムを幾つかの関数に分割する
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9275.txt
↑途中まで作ったのですが空白にしたいところが0で埋まってしまって困っています。
よろしくお願いします


365 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:25:55 ]
>>363
具体的にどこがわからんの?

366 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:39:17 ]
>>364

print関数だけ。


void print(int a[],int N,int n)
{
    int i;
    int head;
        
    printf("%2d! = ",n);

    head = 0;
    for(i=N-1; i>=0; i--) {
        if (head)
            printf("%07d",a[i]);
        else if (a[i]) {
            printf("%7d",a[i]);
            head = 1;
        }
        else
            printf("       ");
    }
    printf("\n");
}



367 名前:デフォルトの名無しさん [2009/05/28(木) 00:45:29 ]
[1] 授業単元:プログラム演習
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9276.txt
[3] 環境
 [3.1] OS: windows
 [3.2] コンパイラ名とバージョン: visual c++
 [3.3] 言語: C++
[4] 期限: 朝までに。すごく困っています
[5] その他の制限: 特になし
よろしくお願いします


368 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:52:30 ]
>>366
ありがとうございます。
0は消えたんですが右揃えになりません。


369 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 00:56:08 ]
>>366
すいません。なりました。本当にありがとうございました

370 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:01:49 ]
>>367
greater()をstructの後に移動
if(a.point>b.point)

371 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:05:09 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):線形検索を使用して配列内の最大の要素を検索せよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:来週火曜日
[5] その他の制限:制限はありません
まずアルゴリズムが全く思いつきません。
よろしくお願いします。

372 名前:デフォルトの名無しさん [2009/05/28(木) 01:06:17 ]
>>370

ありがとうございました。
昨日から悩んでいたのがやっと解決しました

373 名前:デフォルトの名無しさん [2009/05/28(木) 01:19:43 ]
[1] 授業単元:プログラム演習
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9277.txt
[3] 環境
 [3.1] OS: windows
 [3.2] コンパイラ名とバージョン: Visual C++
 [3.3] 言語: C++
[4] 期限:できるだけ早く

お願いします

374 名前:デフォルトの名無しさん [2009/05/28(木) 01:39:22 ]
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):
(1)1からn番目までの奇数2n-1までの和をn=1からn=50まで求め、n,和(sum),
n~2の値を出力せよ。また、プログラムの中でsum=0;およびn--;が
 必要な理由を答えよ。
(2)原点を中心とした半径2の円を描くプログラムを作成せよ。
[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:今週金曜日
[5] (2)についての条件
  @半径2の値はconst型で初期化しておき、実数型とする。
  A円の方程式は平面極座標(r,φ)を用いてforループでφを0から
  2πまで変化させてガウス座標(x,y)を出力する。
  Bforループの制御変数はint型とする。
長くなってしまいすいません。よろしくお願いいたします。


375 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 01:46:08 ]
[1] 授業単元: 最適化
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9278.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual C++
 [3.3] 言語: C++
[4] 期限: 5月30日
ランダム関数を使うらしいのですが全く分かりません。
よろしくお願いします。

376 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 02:10:13 ]
>>373
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9279.cpp



377 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 02:36:04 ]
>>371
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9280.c

378 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 02:37:09 ]
[1] 授業単元: 情報処理入門
[2] 問題文(含コード&リンク):
   キーボードから実数 x を入力し、ニュートン法と呼ばれる次のような反
復の式を用いて、近似的に x の平方根を求めるプログラムを作成せよ。
--
 xの平方根は、次の計算を| s(i+1)-s(i) | < ε, i=1,2,...となるまで繰
り返すことによって求めることができる。εは収束判定数である。

  s(i+1) = ( s(i) + x / s(i)) / 2
ただし、s(1) = 1 とする。
 なお、ε=0.00001として計算すること。

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2009年5月29日00:00まで
[5] その他の制限: なし

よろしくお願いします。


379 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 02:50:29 ]
>>371
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9281.txt

380 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 06:16:47 ]
>>364
void print(int a[],int N,int n) {
int i;
printf("%2d! = ",n);
for(i=N-1; i>=0&&a[i]==0; i--) printf("%7c",' ');
printf("%7d",a[i]);
for(i--; i>=0; i--) printf("%07d",a[i]);
printf("\n");
}

381 名前:243 mailto:sage [2009/05/28(木) 06:36:52 ]
>>245 246
先週は助けていただき有難うございました。
関連する問題になるのですが、以前複素数のクラスを作成しました。
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9282.zip

このクラスもPass_Betterを使って値渡しにするよう言われたのですが、
どなたか分かる方いたらお願いします。
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Visual C++
 [3.3] 言語: C++
[4] 期限: 5月30日

382 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 09:26:42 ]
>>374
問題文(1)の中の「n~2の値」、何を出力すればいい?

383 名前:sage [2009/05/28(木) 10:11:18 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):番兵を利用して配列内の最大の要素を検索するプログラムを作りなさい
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:6月2日
[5] その他の制限:制限はありません
お願いします

384 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 10:34:58 ]
指数関数e^xの近似値を返す関数expon(x, n)をつくります。第1引数は浮動小数点数xで,第2引数はexをTaylor展開で展開する際の最大次数nになります。n次項までのTaylor展開の式は下に示す通りです。
さらに,浮動小数点数yと正の整数mを引数とし,yの小数点m桁より下を切り捨てて出力する関数trunc(y, m)をつくりなさい。
次に,これらの2つの関数を用いて,e^xの近似値を小数点以下の桁数を指定して出力するプログラムをつくりなさい。
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
指数関数e^xの近似値を返す関数expon(x, n)をつくります。第1引数は浮動小数点数xで,第2引数はexをTaylor展開で展開する際の最大次数nになります。n次項までのTaylor展開の式は下に示す通りです。
さらに,浮動小数点数yと正の整数mを引数とし,yの小数点m桁より下を切り捨てて出力する関数trunc(y, m)をつくりなさい。
次に,これらの2つの関数を用いて,e^xの近似値を小数点以下の桁数を指定して出力するプログラムをつくりなさい
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:5月30日
[5] その他の制限:なし

385 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 10:39:59 ]
すいません>>384はミスです。

[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
指数関数e^xの近似値を返す関数expon(x, n)をつくります。第1引数は浮動小数点数xで,第2引数はexをTaylor展開で展開する際の最大次数nになります。n次項までのTaylor展開の式は下に示す通りです。
さらに,浮動小数点数yと正の整数mを引数とし,yの小数点m桁より下を切り捨てて出力する関数trunc(y, m)をつくりなさい。
次に,これらの2つの関数を用いて,e^xの近似値を小数点以下の桁数を指定して出力するプログラムをつくりなさい
関数truncは,trunc(-3.141593, 3) と呼び出すと,-3.141のように画面に出力する。但し,printf("%.*f", m, y); は用いないで定義すること。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:5月30日
[5] その他の制限:なし


386 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 10:55:54 ]
[1] 授業単元: ソフトウエア科学
[2] 問題文(含コード&リンク):

 4桁の10進数の各桁を千の位からd3,d2,d1,d0で表すと、
((d3*10+d2)*10+d1)*10+d0という計算をすることにより、元の10進数を得ることができる。
4桁の10進数の各桁を、まず、大きさ4のint型配列に1桁ずつに入力し、
その後、上記の計算法により、元の10進数にして表示するプログラムを書け。
ただし、上記の計算部分はfor文による繰り返しにより記述すること。

例;入力が4536ならば、((4*10+5)*10+3)*10+6=4536の計算をして表示する。

  
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2009年5月29日12:50まで
[5] その他の制限:特になし

お願いします。




387 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 11:17:17 ]
>>386
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9283.c

表示周り適当に修正してちょ

388 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 11:27:02 ]
>>387
ありがとうございました。

389 名前:デフォルトの名無しさん [2009/05/28(木) 11:47:24 ]
もうちょっと面白い問題プリーズ


390 名前:デフォルトの名無しさん [2009/05/28(木) 12:09:18 ]
>>380
ありがとうございます

391 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 12:10:02 ]
>>389
オナニーは楽しいかい?

392 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 14:13:57 ]
>>389
Windowsのフリーセルの最小手順検索はいかが?
ここで最小手順とは人間が操作を行う回数のこと
列移動も一回として数える

393 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 14:40:16 ]
>>365さん
入力した内容を暗号化(置き換え)してファイルに保存する方法が分からないです
よろしくお願いします

394 名前:joyful_age mailto:sage [2009/05/28(木) 14:44:16 ]
>>363 (Ex-1) Data input by menu.
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9284.txt

395 名前:joyful_age mailto:sage [2009/05/28(木) 15:04:34 ]
>>363 修正。ID、名前の数字は置換しない。
void angouka(char *s) {
   for(; *s != '\0'; s++)
     if(*s < '0' || *s > '9') (*s)++;
}

396 名前:デフォルトの名無しさん mailto:sage [2009/05/28(木) 15:14:18 ]
>>389
難易度が高くて未回答の問題が幾つもあるだろ。解いてみろ。








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

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

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