C/C++の宿題を片付けます 75代目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/19(木) 20:39:01【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して
投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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
【前スレ】
C/C++の宿題を片付けます 74代目
http://pc8.2ch.net/test/read.cgi/tech/1158844912/
【過去スレ一覧】
http://makimo.to/cgi-bin/search/search.cgi?q=C%2B%2B%82%CC%8Fh%91%E8&andor=AND&sf=2&H=&view=table&D=tech&shw=2000
0175デフォルトの名無しさん
2006/10/22(日) 16:05:56scanf("%d", &t); な
if(t == 50*x+80*y+120*z)
0176172
2006/10/22(日) 16:15:41int main (void)
{
int x,y,z,t;
printf("金額tを入力してください>>");
scanf("%d",&t);
for(x=0;x<=5;x++)
{
for(y=0;y<=4;y++)
{
for(z=0;z<=3;z++)
{
if(t == 50*x+80*y+120*z)
{
printf("50円×%d枚+80円×%d枚+120円×%d枚"\n",x,y,z);
}
}
}
}
return 0;
}
これであってますか?
0177デフォルトの名無しさん
2006/10/22(日) 16:20:53#include<iostream>
#include<iomanip>
#include<numeric>
using namespace std;
const int NUM_STUDENT = 10;
const int NUM_TEST = 4;
const char*number_string[NUM_TEST]={"first","second","third","fourth"};
struct Student
{
char name[25];
int id,testScore[NUM_TEST];
int total(){return accumulate(testScore,testScore+4,0);}
static float average(int total){return total / 4.0f;}
static char grade(int total){return "FFFFFFDCBAA"[total / 4 / 10];}
void input(){
cout << "Enter name of the student:";
cin.getline (name, 25);
cout << "Enter id of the student:";
cin >> id;
/*
0178デフォルトの名無しさん
2006/10/22(日) 16:21:47*/
for(int i=0;i<4;++i){
cout << "Enter the "<<number_string[i]<<" test score:";cin >> testScore[i];
}
cin.ignore(std::numeric_limits<int>::max(),'\n');
}
void output(){
int total = this->total();
cout << setw(8) << name << setw(8) << id
<< setw(16) << average(total) << setw(8) << grade(total) << endl;
}
};
int main ()
{
Student a[NUM_STUDENT];
for(int i=0;i<NUM_STUDENT;++i)a[i].input();
cout << "名前 生徒番号 テストの平均点 成績" << endl;
cout << "----------------------------------------" << endl;
for(int i=0;i<NUM_STUDENT;++i)a[i].output();
return 0;
}
0179デフォルトの名無しさん
2006/10/22(日) 16:23:12まあ、やりたいこととしては合ってるんだが…それくらい自分でテストしようよ
ちなみにそのままだとコンパイル通らないぞ
0181デフォルトの名無しさん
2006/10/22(日) 16:34:36[2] 問題文(含コード&リンク):
完全に昇順ソートされているデータうち、配列の添字の範囲L中のn組の2個のデータがわざと交換されているとする(L>2n)。
この場合,データが昇順である性質が一部失われる。L=10, n<=1のとき,すなわち,配列の添字の範囲10以内では,1もしくは2個の
データの値の昇順が保証されない場合に,二分探索をどのように改良すれば,正しい探索が行えるだろうか?そのプログラムを実現せよ。
補足
用いるデータは,全部で100個。データの作成は手作業で構わない。
データを全部ソートし直すのはまずいが,二分探索をしながら辺りを調べその結果,一部何らかのデータ操作を行うことは禁止していない。
100個のデータを昇順に並び替えるプログラム載せてみます。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2804.txt
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: borland
[3.3] 言語: C
[4] 期限: 10/23
[5] その他の制限: どんな改良をしたか書いていただければ幸いです。
どうか、よろしくお願いします。
0182デフォルトの名無しさん
2006/10/22(日) 16:52:530183デフォルトの名無しさん
2006/10/22(日) 17:01:14>>181
>L=10, n<=1のとき,すなわち,配列の添字の範囲10以内では,1もしくは2個の
>データの値の昇順が保証されない場合に,
この条件をもうちょっと厳密に頼む。
0184デフォルトの名無しさん
2006/10/22(日) 17:09:25そこで使っている変数の値を表示させることが多い。
その必要がなければ、関数名や"enter"/"leave"とか。
0185デフォルトの名無しさん
2006/10/22(日) 17:27:05http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2764.txt
0186デフォルトの名無しさん
2006/10/22(日) 17:27:56ほぼ >>74 と同じファイル名と行番号+関数名
0187デフォルトの名無しさん
2006/10/22(日) 17:33:49前スレ684以降にあるじゃん?
0188デフォルトの名無しさん
2006/10/22(日) 18:32:09実装は面倒なのでアイデアだけ.n ≦ 1 ならこれで動くはず.
・二分探索を行う.ただし端点の要素は三つくらいの要素の
中間値でも取って昇順条件を外れた要素を踏まないようにする.
・二分探索で範囲を絞りきったときの状態は
1. 目的の値が見つかった → 終了.
2. 昇順条件には従うが目的の値は見つからない → 存在しない.
3. 昇順条件に反する値が見つかった → その値をキーにして再度二分探索.
一般の L, n については考えてないけど,O(n log L) くらいがある気はする.
0189デフォルトの名無しさん
2006/10/22(日) 19:01:24>一般の L, n については考えてないけど,O(n log L) くらいがある気はする.
なんでLの増加関数?
Lが小さいほど頻繁な交換が許されるので
より時間が掛かるようになるんじゃないか?
0190デフォルトの名無しさん
2006/10/22(日) 19:47:58L はリストの長さだから,全く交換が許されないとしても O(log L) はかかる.
L が小さいときは全然単調じゃなくなって線型探索したほうが早くなる(かもしれない)
けど,O 表記は漸近的に大きいときの挙動をあらわすので関係ない.
0191デフォルトの名無しさん
2006/10/22(日) 20:07:27>L はリストの長さだから
俺は違うように読んだ。正確な事は読み取れないけど、例えば
「任意の長さLの部分列について、n組が交換されている」
とか。これだとそんな列は存在し得ないので正しい解釈じゃないけど。
それに、>>180ではL=10でデータ数は100個と言っている。
0192デフォルトの名無しさん
2006/10/22(日) 20:25:47なるほど,再読すると 191 のように読めた.俺の誤読っぽい.
やっぱり細かいところがわからんので 181 は再説明求む.
0193デフォルトの名無しさん
2006/10/22(日) 21:03:11何のソフト使ってるのか教えてくれないか?
翻訳ソフトだとしたら高機能っぽいので興味がある。
0194デフォルトの名無しさん
2006/10/22(日) 21:07:46翻訳?
MSIMEで「、」「。」の変換候補に出てくるけど?
0195デフォルトの名無しさん
2006/10/22(日) 21:08:53皮肉だと思うがマジレス。
理系の人は日常的に使う。論文などでもそれが普通。
MS-IMEでも設定で句読点変えれる。
俺は文系だけどな!
0196デフォルトの名無しさん
2006/10/22(日) 21:21:38[2] 問題文(含コード&リンク):
ファイルからの入力・構造体
ファイル「kyotocity.txt」には、京都市の区ごとの人口(人)と面積(平方キロメートル)が記述されている。
これらの情報を格納する構造体 struct division を宣言しなさい。
struct division {
char name[20];
int population;
double area;
}
struct division型の配列 kyoto[11]を用意し、ファイルからデータを読んで、配列に入力しなさい。
入力した構造体の配列を調べて、以下の情報を出力しなさい。
人口が最大の区と最小の区の、名前と人口。
面積が最大の区と最小の区の、名前と面積。
人口密度が最大の区と最小の区の、名前と人口密度。
↓txtファイル中身のデータ↓
Kita 124306 94.92
Kamigyo 83082 7.11
Sakyo 168133 246.88
Nakagyo 100145 7.38
Higashiyama 41659 7.46
Yamashina 136769 28.78
Shimogyo 74897 6.82
Minami 97877 15.78
Ukyo 201819 291.95
Nishikyo 155973 59.20
Fushimi 284812 61.62
[3.1] OS: windws xp pro [3.2] visual studio 2003 [3.3] 言語: C
[4] 期限: 11月までに、なるべく早くお願いします
[5] その他の制限: 反復構造、ソート、探索、ポインタ、ファイル、構造体
0197デフォルトの名無しさん
2006/10/22(日) 21:26:22196の問題の解く部分は
人口が最大の区と最小の区の、名前と人口。
まででも構いません。
面積が最大の区と最小の区の、名前と面積。と
人口密度が最大の区と最小の区の、名前と人口密度。
は、前者の問題を応用して自分でやります
よろしくお願いします
0198デフォルトの名無しさん
2006/10/22(日) 21:41:05MS-IMEを始めとして、多くの日本語IMEは句読点に何を使うか、,と。.の組み合わせを設定できる。
たとえば,.を使用するように選んだ場合、キーボードの、。を叩くと変換するまでもなく直接,.が入力される。
スレ違いすまん。
0199デフォルトの名無しさん
2006/10/22(日) 21:44:20日本語のあとじゃないだろ。
0200デフォルトの名無しさん
2006/10/22(日) 21:48:28見当違いの予感
0201デフォルトの名無しさん
2006/10/22(日) 21:49:220202デフォルトの名無しさん
2006/10/22(日) 21:52:380203デフォルトの名無しさん
2006/10/22(日) 21:53:01別に、や。である必要もない。
それぞれの分野での習慣。
0204デフォルトの名無しさん
2006/10/22(日) 21:54:17数字の後の,や.以外での必要性が分からない。
0205181
2006/10/22(日) 21:59:30具体案ありがとうございます。
>>183,>>192
100個の範囲の中から、10個見たとき昇順でない要素があると言ってましたが、
問題文その物のようです。
これ以上細かなことは聞いてないんです・・・
0206デフォルトの名無しさん
2006/10/22(日) 22:05:510207デフォルトの名無しさん
2006/10/22(日) 23:41:00[2] 問題文
文字列に文字列を挿入する関数 str_ins を作成する。
str_ins( 挿入先の文字列 , 挿入する位置 , 挿入文字列)
-------------------雛形--------------------------
#include <stdio.h>
int str_ins(char str[], int p, char pat[])
{
}
int main(void)
{
char a[128];
strcpy(a, "abcdef");
str_ins(a, 3, "xyz");
puts(a);
}
-------------実行結果-----------------
[yokoyama@pratpc02 Temp]$ ./a.out
abcxyzdef
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限: 10月24日
[5] その他の制限:特になし
よろしくお願いします
0208デフォルトの名無しさん
2006/10/22(日) 23:55:23#include <string.h>
int str_ins(char str[], int p, char pat[])
{
size_t len = strlen(pat);
memmove(str+p+len,str+p,strlen(str+p)+1);
memcpy(str+p,pat,len);
}
0209デフォルトの名無しさん
2006/10/22(日) 23:59:50そりゃ文字列操作じゃなくてメモリ操作だろ
pの例外とか考えにゃならん
けど良く頑張った
0210デフォルトの名無しさん
2006/10/23(月) 00:01:27memmoveの引数、一番目と二番目が逆じゃね。
0211デフォルトの名無しさん
2006/10/23(月) 00:01:41pの例外?
0212デフォルトの名無しさん
2006/10/23(月) 00:04:06str_ins(a,-1,b);
とか出来るけど、おかしいよね
0213デフォルトの名無しさん
2006/10/23(月) 00:04:56strの範囲外をpが指してる時とかじゃね?
まぁ俺は変なデータを渡す奴が悪い、そんなの知らん。という主義だけど。
0214181
2006/10/23(月) 00:06:54取り出すのではなく、1〜100までの中の任意の連続した10個の中に
昇順ではない並びがある時といった感じだったと思います。
昇順ではない箇所はいくつかというのは指定されていなかったと思うので、
拡大すれば1〜100のなかで1箇所だけ順序が違うけど2分探索しろ ということだと思います。
0215デフォルトの名無しさん
2006/10/23(月) 00:11:51[2] 2 数 n と m を入力すると, 下のように '@' を n x m 個並べたパターン (画像) を出力するプログラムを作成せよ. 制御部は for 文の 2 重ループを用いよ.
[3]
[3.1] winXP sp2
[3.2] cygwin
[3.3] C
[4] 23時59分
[5] n=5 m=8でこんなん
@@@@@@@@
@@@@@@@@
@@@@@@@@
@@@@@@@@
@@@@@@@@
よろしくお願いします
0216デフォルトの名無しさん
2006/10/23(月) 00:11:56>>213
負の値はさすがにアレだけど、
> str_ins( 挿入先の文字列 , 挿入する位置 , 挿入文字列)
↑に従うと文字サイズ渡せないから、エラーチェックなんてどうでもいい課題なんじゃないかね?
0217デフォルトの名無しさん
2006/10/23(月) 00:14:560218デフォルトの名無しさん
2006/10/23(月) 00:15:02まぁ人それぞれの解釈になるわな
というわけで俺は愚問でFAした
0219デフォルトの名無しさん
2006/10/23(月) 00:16:06バッファサイズでしたorz
0220デフォルトの名無しさん
2006/10/23(月) 00:17:20#include<stdio.h>
#include<stdlib.h>
int main(int argc,char**argv){
if(argc==3){
int n=atoi(argv[1]);
int m=atoi(argv[2]);
int i,j;
for(i=0;i<n;putchar('\n'),++i)
for(j=0;j<m;++j)
putchar('@');
}
}
0221デフォルトの名無しさん
2006/10/23(月) 00:23:00もう寝よう…
0222 ◆3zNBOPkseQ
2006/10/23(月) 00:31:46#include <stdio.h>
int main (void)
{
int mozi;
printf("文字を一字入力してください。");
scanf("%s",&mozi);
if(mozi>='A' && mozi<='Z')printf("英大文字です");
else if(mozi>='a' && mozi<='z')
printf("英小文字です");
else if(mozi>=0 && mozi<=9)
printf("数字です");
else
printf("英字でも数字でもありません");
return 0;
}
0223デフォルトの名無しさん
2006/10/23(月) 00:33:510224デフォルトの名無しさん
2006/10/23(月) 00:34:07int main(){
char c;
scanf("%c",&c);
とかじゃなかった?
0225デフォルトの名無しさん
2006/10/23(月) 00:34:310226 ◆3zNBOPkseQ
2006/10/23(月) 01:03:47文字列でなくて一字でもcharの方がいいのですか
サンクスコ
0228デフォルトの名無しさん
2006/10/23(月) 01:44:31#include <stdio.h>
int main()
{
int m, n, i, j;
printf("m> "); scanf("%d", &m);
printf("n> "); scanf("%d", &n);
for (; m > 0; putchar(\n), m--) {
for (i = 0; i < n; i++)
putchar("@");
}
}
0229デフォルトの名無しさん
2006/10/23(月) 01:47:45putchar(@) => putchar('@')
に修正
0230デフォルトの名無しさん
2006/10/23(月) 02:31:20[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):50音順にソートするプログラムをつくれ。 (隣接交換)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語:C
コンパイラ通らない原因がわからないです。
お願いします。
0231デフォルトの名無しさん
2006/10/23(月) 02:34:44エラー文訂正します
/*
以下エラー文です。
c:\MyC>gcc foo.c
foo.c: In function `main': ←foo.c: In function `sort': が正しいです。すみません><
foo.c:42: incompatible types in assignment
foo.c:43: incompatible types in assignment
foo.c:44: incompatible types in assignment
*/
0232デフォルトの名無しさん
2006/10/23(月) 02:37:510233215
2006/10/23(月) 02:38:39ありがとうございました
0234デフォルトの名無しさん
2006/10/23(月) 02:49:37ありがとうw
0235デフォルトの名無しさん
2006/10/23(月) 02:56:190236デフォルトの名無しさん
2006/10/23(月) 03:45:53最初からポインタを教えないらしい。
0237デフォルトの名無しさん
2006/10/23(月) 03:53:380238デフォルトの名無しさん
2006/10/23(月) 05:39:32[2] 問題文(含コード&リンク):
あるフォルダ(sample)の中にある画像(.jpg,.jpeg)の更新日時(作成日時?)を取得し
yyyy-mmの様にフォルダを作成し各々のフォルダに振り分けるプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 水曜日まで
[5] その他の制限:
よろしくお願いします。
0239デフォルトの名無しさん
2006/10/23(月) 05:53:42Unixシステムコールか、Win32APIのどっちで取ってくるのか
0240デフォルトの名無しさん
2006/10/23(月) 06:00:13質問者じゃねーけど、OSがWinXPなんだから、APIでいいんじゃね?w
0241デフォルトの名無しさん
2006/10/23(月) 06:03:55学校のPCじゃLinuxだけど、うちだとWinしかないとかありうるかなーと
まぁやる気はないんだが
0242238
2006/10/23(月) 06:50:30言葉が足りなくてすみません。
Win32APIでお願いします。
JavaでLinuxは触っていますがCではXPにCygwin+gccがメインです。
0243デフォルトの名無しさん
2006/10/23(月) 06:58:370244デフォルトの名無しさん
2006/10/23(月) 07:15:390245238
2006/10/23(月) 07:36:30Win32APIだと作る事ができないんですか?
漠然と課題内容の物作って来いと言う課題だったので…。
0246デフォルトの名無しさん
2006/10/23(月) 08:00:30http://www.google.com/search?num=50&hl=ja&q=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E6%9B%B4%E6%96%B0%E6%97%A5%E6%99%82+%E5%8F%96%E5%BE%97&lr=lang_ja
http://www.google.com/search?num=50&hl=ja&q=%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB+%E5%88%97%E6%8C%99&lr=lang_ja
あとはフォルダの作成とかファイルの移動とか
0247デフォルトの名無しさん
2006/10/23(月) 08:01:49わざわざありがとうございます。
自分でやってみて詰まったらまた着ますのでよろしくお願いします。
0248デフォルトの名無しさん
2006/10/23(月) 08:09:03http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2807.c
0249デフォルトの名無しさん
2006/10/23(月) 08:12:370250デフォルトの名無しさん
2006/10/23(月) 09:29:04http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2808.c
gcc(mingw)でコンパイル・リンク・動作確認してある
環境依存・コンパイラ依存してるのでコンパイラが変わると書き換えなきゃいけないが…
0251238
2006/10/23(月) 10:34:13出先からなので携帯から失礼します。
本当にありがとうございます。
参考を見ても全くどうすれば良いか分からずに半ば諦めモードでした。
凄く助かりました本当にありがとうございました。
0252デフォルトの名無しさん
2006/10/23(月) 11:13:42ターゲット m は検索結果の場所 n を元に n-L < m < n+L の範囲にあるので
その範囲を線形サーチすると見つかる(はず)
int search(int search_value, int *data, int data_num){
intcenter, search_start, search_end;
inti;
search_start=0;
search_end=data_num-1;
while(search_end-search_start>=0){
center=(search_end-search_start)/2+search_start;
if(data[center]==search_value)
return center;
if(data[center]>search_value){
search_end=center-1;
}
else{
search_start=center+1;
}
}
search_start-=L;
search_end+=L;
if(search_start<0)
search_start=0;
if(search_end>=data_num)
search_end=data_num-1;
for(i=search_start;i<=search_end;i++)
if(data[i]==search_value)
return i;
return -1;
}
0253デフォルトの名無しさん
2006/10/23(月) 11:19:50「オレの質問答えが出てない」っていう質問者さん、是非もう一度書きこんで下さい。
0254デフォルトの名無しさん
2006/10/23(月) 12:17:34[2] 問題文(含コード&リンク):
コマンド行から複数の数値を受け取りその平均値を出力するプログラムを作成し、プログラムリストと実行結果を示せ。
ヒント:受け取った文字列をdouble型に変換するには関数double atof(const char *nPtr)を使うこの関数を使うにはstdlib.hのインクルードが必要である
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char str[] = "1.41421356";
double x;
x = atof(str);
}
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C)
[4] 期限: ([金曜まで])
[5] その他の制限:
ヒントみたいなのがあるけどよくわかりません、おねがいします
0255デフォルトの名無しさん
2006/10/23(月) 13:06:37[2] 問題文(含コード&リンク): 無限に走り続けるプログラムtest.cを作り、実行可能なプログラムにtestという名前をつけ、これをバックグラウンドで走らせ、そのプロセスを殺すこと。
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 明日まで
[5] その他の制限: 特になし
0256デフォルトの名無しさん
2006/10/23(月) 13:11:59while(1);
0257デフォルトの名無しさん
2006/10/23(月) 13:28:44#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char *argv[])
{
int i=0,n;
double *x;
double a=0,m=1,h=0;
if(argc<2) {
fprintf(stderr,"error : no input");
exit(1);
}
n=argc-1;
x=(double *)malloc(sizeof(double)*n);
while(i<n)
x[i++]=atof(argv[i+1]);
for(i=0;i<n;i++) {
a+=x[i];
m*=x[i];
h+=1/x[i];
}
a/=n;
m=pow(m,1/(double)n);
h=n/h;
printf("Arithmetical average = %lf\n",a);
printf("Multiply mean = %lf\n",m);
printf("Hamonic mean = %lf\n",h);
free(x);
return 0;
}
0258デフォルトの名無しさん
2006/10/23(月) 15:42:57なるほど。算術平均とは言われてないもんな。
0259デフォルトの名無しさん
2006/10/23(月) 17:58:00[2] 問題(含コード&リンク):
括弧、加算、減算、乗算、除算に対応した記述を認識し、
先行順走査と後行順走査に書き換えるプログラムを作成せよ。
後行順 入力例:(a+b)-c
出力例:ab+c-
[3] 環境
[3.1] OS: (Linux)
[3.2] コンパイラ名とバージョン: (gcc 3.4)
[3.3] 言語: (C)
[4] 期限: ([来週まで])
[5] その他の制限:
0260デフォルトの名無しさん
2006/10/23(月) 19:38:550261デフォルトの名無しさん
2006/10/23(月) 19:45:49>>248で解答が出てるが。
0262デフォルトの名無しさん
2006/10/23(月) 20:14:020263デフォルトの名無しさん
2006/10/23(月) 20:53:20C++が使える人来てくれませんか?
http://ex16.2ch.net/test/read.cgi/news4vip/1161592926/
0264デフォルトの名無しさん
2006/10/23(月) 23:41:23http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2809.c
再帰下降型構文解析を行って構文木を作り,前優先と後優先で訪問する.
スタックを用いた非再帰アルゴリズムもあるが,前置と後置が統一的に書けるのでこちらで.
0265デフォルトの名無しさん
2006/10/23(月) 23:57:500267デフォルトの名無しさん
2006/10/24(火) 03:00:38コンパイルするとこのようなエラーがでました。
ex02.c: In function `main':
ex02.c:64: parse error before `int'
ex02.c:67: `t' undeclared (first use in this function)
ex02.c:67: (Each undeclared identifier is reported only once
ex02.c:67: for each function it appears in.)
0268デフォルトの名無しさん
2006/10/24(火) 03:09:53拡張子をcppにしろ。
0269デフォルトの名無しさん
2006/10/24(火) 07:25:17[2] 問題文(含コード&リンク): http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2812.txt
[3] 環境
[3.1] OS: unix
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: C
[4] 期限: 2006年10月24日
よろしくお願いします。
0270デフォルトの名無しさん
2006/10/24(火) 07:27:00int main() {
char buf[256];
fgets(buf, 256, stdin);
int p = 0;
tree *t = equation(buf, &p);
を
int main() {
char buf[256];
int p = 0;
tree *t:
fgets(buf, 256, stdin);
t = equation(buf, &p);
に変更
0271デフォルトの名無しさん
2006/10/24(火) 11:17:531次元適合度検定って何?カイ二乗検定なら聞いた事があるが。
よろしかったら詳しく説明してあるサイトへのリンク貼ってくれたら
プログラム書けると思うよ。
0272デフォルトの名無しさん
2006/10/24(火) 12:40:06携帯からなんでサイトは貼れませんけどカイ二乗というやつです。
一次元適合度検定はx軸をM個の区間に分けN個のデータの度数分布を調べ、カイ二乗を計算するものです
0273デフォルトの名無しさん
2006/10/24(火) 14:06:38片っ端から出力しちゃうんですが、どの文字(何文字目)を出力するか
指定できますか?
0274デフォルトの名無しさん
2006/10/24(火) 14:11:54■ このスレッドは過去ログ倉庫に格納されています