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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/03/02(月) 02:13:06 ]
あなたが解けない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++の宿題片付けます 122代目(実質123代目)
pc11.2ch.net/test/read.cgi/tech/1232029287/

604 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 17:36:04 ]
_1_0_
10_00

605 名前:デフォルトの名無しさん mailto:sage [2009/04/05(日) 17:57:49 ]
>>604 OK. あと、STL使うみたい。
#include <iostream>
int main(void){ std::cout <<
"_______________________________________________1__ \n" <<
"____________________________________________1_____1__ \n" <<
"_________________________________________1_____2_____1__ \n" <<
"______________________________________1_____3_____3_____1__ \n" <<
"___________________________________1_____4_____6_____4_____1__ \n" <<
"________________________________1_____5____1 0___1 0____5_____1__ \n" <<
"_____________________________1_____6____1 5___2 0___1 5____6_____1__ \n" <<
"__________________________1_____7____2 1___3 5___3 5___2 1____7_____1__ \n" <<
"_______________________1_____8____2 8___5 6___7 0___5 6___2 8____8_____1__ \n" <<
"____________________1_____9____3 6___8 4___126___126___8 4___3 6____9_____1__ \n" <<
"_________________1____1 0___4 5___120___210___252___210___120___4 5___1 0____1__ \n" <<
"______________1____1 1___5 5___165___330___462___462___330___165___5 5___1 1____1__ \n" <<
"___________1____1 2___6 6___220___495___792___924___792___495___220___6 6___1 2____1__ \n" <<
"________1____1 3___7 8___286___715__12 87_17 16_17 16_12 87__715___286___7 8___1 3____1__ \n" <<
"_____1____1 4___9 1___364__10 01_20 02_30 03_34 32_30 03_20 02_10 01__364___9 1___1 4____1__ \n" <<
"__1____1 5___105___455__13 65_30 03_50 05_64 35_64 35_50 05_30 03_13 65__455___105___1 5____1__ \n" ;
}

606 名前:600 mailto:sage [2009/04/06(月) 00:52:27 ]
↑こんな感じで表示出来ると助かるのですが
どなたかコンテナを使ったプログラムでお願い出来ないでしょうか

607 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 01:06:27 ]
これって正三角形じゃなくて二等辺三角形だよな

608 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 01:16:04 ]
教員の端末がプロポーショナルフォントだったら・・・

609 名前:600 mailto:sage [2009/04/06(月) 01:28:10 ]
「正」じゃなくて二等辺でもたぶん大丈夫です

610 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 01:42:20 ]
printf("%*d",WID,NUM);
WID 文字数の指定
NUM 値

611 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 01:43:05 ]
C++でも書式の指定ができるものがあったような・・・

612 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 01:44:52 ]
#include <vector>

typedef std::vector<int> VecInt;
typedef std::vector<VecInt> VecVecInt;

void main()
{
VecVecInt vvi;

vvi[0][0] = 1;

vvi[1][0] = 1;
vvi[1][1] = 1;

vvi[2][0] = 1;
vvi[2][1] = 2;
vvi[2][2] = 1;
}



613 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 02:14:45 ]
#include <stdio.h>
#include <vector>

typedef std::vector<int> VecInt;
typedef std::vector<VecInt> VecVecInt;

void main()
{
VecVecInt vvi;
VecInt vi;
int iRow, iCol;
int iStep = 10;

vi.push_back(1);
vvi.push_back(vi);
for (iRow = 0; iRow < iStep; iRow++) {
vi.clear();
vi.resize(iRow + 2, 0);
vvi.push_back(vi);
for (iCol = 0; iCol <= iRow; iCol++) {
vvi[iRow + 1][iCol] += vvi[iRow][iCol];
vvi[iRow + 1][iCol + 1] += vvi[iRow][iCol];
}
}

for (iRow = 0; iRow < iStep; iRow++) {
for (iCol = 0; iCol <= iRow; iCol++) {
printf("%d,", vvi[iRow][iCol]);
}
printf("\n");
}
}

614 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 02:16:20 ]
1,
1,1,
1,2,1,
1,3,3,1,
1,4,6,4,1,
1,5,10,10,5,1,
1,6,15,20,15,6,1,
1,7,21,35,35,21,7,1,
1,8,28,56,70,56,28,8,1,
1,9,36,84,126,126,84,36,9,1,

615 名前:600 mailto:sage [2009/04/06(月) 02:27:33 ]
毎行左端からスタートではない左辺と右辺の二等辺である三角形に出来ませんか?
(イメージ的に605みたいな)

616 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 02:33:38 ]
#include <stdio.h>
#include <string.h>

char* NumFmt(unsigned int uiNum)
{
static int aiPos[][5] = {{2},{1,3},{1,2,3},{0,1,3,4},{0,1,2,3,4}};
static char acRet[6];
char acBuf[16];
size_t uiLen;
unsigned int ui;

sprintf(acBuf, "%u", uiNum);
uiLen = strlen(acBuf);
if (5 < uiLen) return NULL;
strcpy(acRet, "_____");
for (ui = 0; ui < uiLen; ui++) {
acRet[aiPos[uiLen - 1][ui]] = acBuf[ui];
}
return acRet;
}

void main()
{
printf("%s\n", NumFmt(5));
printf("%s\n", NumFmt(55));
printf("%s\n", NumFmt(555));
printf("%s\n", NumFmt(5555));
printf("%s\n", NumFmt(55555));
}

617 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 02:35:52 ]
__5__
_5_5_
_555_
55_55
55555

一応、骨格と部品は用意したんで
適当に加工してちょ
もっと綺麗に書けたらなぁw

618 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 03:51:43 ]
>>600
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9015.cpp

619 名前:600 mailto:sage [2009/04/06(月) 04:00:09 ]
>>618
完璧です。。ほんとに感謝です!
ありがとうございました!

620 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:00:45 ]
#include <stdio.h>
#include <string.h>
#include <vector>

#define N 14

using namespace std;

void main()
{
vector< vector<int> > vvi;
vector<int> vi;
char acBuf[16];
int iRow, iCol, iMax = 0, iMaxLen, i, iSpc;

for (iRow = 0; iRow < N; iRow++) {
vi.push_back(1);
for (iCol = iRow - 1; 0 < iCol; iCol--) {
vi[iCol] += vi[iCol - 1];
iMax = __max(iMax, vi[iCol]);
}
vvi.push_back(vi);
}

621 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:02:04 ]
sprintf(acBuf, "%d", iMax);
iMaxLen = strlen(acBuf);
iMaxLen |= 1; // 奇数に繰り上げ

for (iRow = 0; iRow < N; iRow++) {
for (i = 0; i < (iMaxLen / 2 + 1) * (N - 1 - iRow); i++) putchar(' ');
for (iCol = 0; iCol <= iRow; iCol++) {
sprintf(acBuf, "%d", vvi[iRow][iCol]);
iSpc = iMaxLen - strlen(acBuf);
for (i = 0; i < iSpc / 2; i++) putchar(' ');
printf(acBuf);
for (i = 0; i < (iSpc + 1) / 2; i++) putchar(' ');
putchar(' ');
}
putchar('\n');
}
}

もう解答は上がってるけど、別解として

622 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:30:13 ]
くせぇくせぇ、後出し麻呂の臭いがぷんぷんすんぜ
こりゃ〜クソースだぁ〜クソースは消毒だぁ〜



623 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 09:38:04 ]
g++ だと、void main はコンパイルエラーになる。
#define __max(a,b) a>b?a:b
どれだけ花がいいんだ。

624 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 10:31:46 ]
ttp://www.dotup.org/uploda/www.dotup.org26594.zip.html

四つの引数をとるバージョンのaccumulateを使用して、26行目、27行目のtransformとaccumulate(三つの引数バージョン)
を合体するにはどうしたらいいですか?単純に繋いだらコンパイルエラーになりますた(28行目)
あっそれとinnerproductは使っちゃいけないみたいなのであくまでも4つの引数をとるaccumulateバージョンでお願いします

625 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 11:23:42 ]
template<class T>
struct power : public binary_function<T, T, T> {
T operator()(const T& x, const T& y) const {
return x + y * y;
}
};

sum=std::accumulate(new_vec.begin(), new_vec.end(), 0, power<float>());

こんな感じにすればいいんじゃね?よく分からんが

626 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 14:49:20 ]
>>618 #define N 17 だと、なぜかダメ。

627 名前:デフォルトの名無しさん [2009/04/06(月) 15:25:28 ]
>>626
最大表示桁数が5桁を超えるからじゃないの?

628 名前:デフォルトの名無しさん mailto:sage [2009/04/06(月) 15:28:48 ]
>>578
new delete 等の C++ キーワードを変数名に

629 名前:624 mailto:sage [2009/04/06(月) 16:10:26 ]
>>625
おぉ!すごいできました。
ありがとうございました。(^人^)感謝♪

630 名前:569 mailto:sage [2009/04/08(水) 19:10:27 ]
>>572のプログラムについてなんですが、
各行にコメントをつけなきゃなくて、さらに提出するときに説明しなきゃないんですけど、
while(!n || data[n-1] != 0.0){ scanf("%lf", data+n); n++; }の文について誰か詳しく教えてくれませんか?
あとこのプログラムだと平均値が終了データの0まで件数にカウントされているらしく、
例えば1、2、3の平均値は2になるはずが、(1+2+3+0)÷4=1.5となってしまっているので、
修正の仕方を教えてくださいm(_ _)m

631 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 19:35:20 ]
while (n < 1024) {
if (scanf("%lf", &data[n]) != 1) { // 入力
scanf("%*s"); // 入力バッファ読み捨て
printf("error\n");
continue;
}
if (data[n] == 0.0) { // 0なら入力終了
break;
}
n++;
}

改良案

632 名前:デフォルトの名無しさん mailto:age [2009/04/08(水) 20:05:04 ]
[1] 授業単元: ファイルの入出力(fprintf文の高度な使用法)
[2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9019.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc )
 [3.3] 言語: (C/C++/どちらでも可)
[4] 期限: 来週の月曜日まで
[5] その他の制限: 特に無し




633 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 21:26:26 ]
問題文正確か?

634 名前:632 mailto:age [2009/04/08(水) 21:40:51 ]
>>633
一応正確ですよ
よろしくお願い致します。

635 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 22:50:27 ]
まだ4月初めなのにもう課題がでてるの?
どういう学校だろうか。

うちなんかこれから講義資料作りますよ。
自分が出した問題がここに出てくるかwktkしながら見ることにします。

636 名前:632 mailto:age [2009/04/08(水) 23:12:35 ]
>>635
専門学校ですのでカリキュラムがギュウギュウなんですよ
出来るようならお願い致します

637 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 23:15:23 ]
いったい何のために専門学校に入ったの?

638 名前:デフォルトの名無しさん mailto:sage [2009/04/08(水) 23:17:29 ]
>>636
カリキュラムがギュウギュウって本当か?
卒業時にバブルソートがなんとかできるとかじゃないよな?

639 名前: ◆zQ5xe/OcaA mailto:sage [2009/04/08(水) 23:20:42 ]
>>632
int main()
{
  output=fopen("vib1.inp","w");
  t=0.0, x[1]=1.0; x[2]=0.0;

  printf("%10.5lf\n",t);
  printf("%10.5lf%10.5lf\n",x[1],x[2]);

  fprintf(output,"♯AVS field file\n");
  fprintf(output,"%d\n",NMAX+1);
  fprintf(output,"data_geom\n");
  fprintf(output,"step%d step%d\n%d %d\n%d",1,1,1,1,1);
  fprintf(output,"%9.6lf%9.6lf%9.6lf\n",x[1],0.0,0.0);
  fprintf(output,"%d 1 pt %d\n%d %d\n%d %d\n",1,1,1,0,1,1);
  fprintf(output,"radius,\n%d%4.1f\n",1,1.0);

  for(i=1; i<=NMAX;i++){
    t=((double) i)*h;
    fprintf(output,"step%d step%d\n%d %d\n%d",i+1,i+1,1,1,1);
////////////////////////////////////////////////////////////////////////////////
    runge( vib,x,f,wrk1,wrk2,t,h,n);
////////////////////////////////////////////////////////////////////////////////
    fprintf(output,"%9.6lf%9.6lf%9.6lf\n",x[1],0.0,0.0);
    fprintf(output,"%d 1 pt %d\n%d %d\n%d %d\n",1,1,1,0,1,1);
    fprintf(output,"radius,\n%d%4.1f\n",1,1.0);
    printf("%10.5lf\n",t);
    printf("%10.5lf%10.5lf\n",x[1],x[2]);
  }
}

640 名前:632 mailto:age [2009/04/08(水) 23:21:05 ]
>>637
プログラムの勉強をするためです
>>638
卒業時には立派なプログラマー予備軍?になってるだろうと先生から言われています

641 名前:632 mailto:age [2009/04/08(水) 23:27:17 ]
>>639
このままだとエラーが結構出ますがこれを参考にしろってことですね
ありがとうございます。やってみます

642 名前:デフォルトの名無しさん mailto:sage [2009/04/09(木) 00:42:36 ]
プログラムの勉強をするために専門学校に入って、ここで宿題解いてもらうのか。

とりあえずうちの会社には来ないでね。








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

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

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