C/C++の宿題を片付けます 84代目
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2007/03/04(日) 13:13:38【質問者へ】
回答者の便宜のため、質問の際は以下を行うことを推奨します。
・質問は【質問テンプレ】を利用してください。
・問題文は、出題されたまま全文を書いてください。
・計算問題は数式をあげ、どのような計算をするのか詳しく説明してください。
・エラーは、その詳細と発生した行を書きましょう。エラーメッセージはコピペしてください。
・後から問題に付け足しするのはやめましょう。付け足しは作業を無駄にしがちです。
・なりすましを防ぐため、トリップを使ってください。名前欄に、「#」に続けて任意の文字列を入力して投稿すると、その文字列を知らない他人に騙られることを防ぐことができます。
【質問テンプレ】
[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
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
【前スレ】
C/C++の宿題を片付けます 83代目
http://pc11.2ch.net/test/read.cgi/tech/1170830498/
0002デフォルトの名無しさん
2007/03/04(日) 13:16:070003デフォルトの名無しさん
2007/03/04(日) 13:20:180004デフォルトの名無しさん
2007/03/04(日) 14:06:440005デフォルトの名無しさん
2007/03/04(日) 14:52:350006デフォルトの名無しさん
2007/03/04(日) 15:10:24安心して質問して下さい。
0007デフォルトの名無しさん
2007/03/04(日) 15:23:37[2] 問題文(含コード&リンク):
Array, stringを使って打ち込んだ文字をモニターにプリントせよ。その際に打ち込んだ文字のスペースやコンマ、セミコロンは省く形にする。最後にその文字数をカウントし何文字あるかアウトプットする。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: ([2007年03月10日17:m00まで]
[5] その他の制限:
基本的な問題で質問するのも恐縮なのですが、色々なHPを見たりと調べましたがうまく出来ませんのでこちらでご質問をさせていただきました。
課題の回答例としてですが、
hello, it is fine day today.
と入力すると、
helloitisfinedaytoday
21文字
がアウトプットされます。
char a[100];
cout <<"文字入力"<< endl;
cin >> a ;
から始めていますが、その先が進みません。
どちら様か、アイディア、お知恵をお貸し頂ければ大変恐縮します。よろしくお願いします。
0008デフォルトの名無しさん
2007/03/04(日) 15:41:56入力した文字を先頭から調べていって、スペースやコンマ、セミコロンがあったら
strcpy(buf, pos+1); //posがスペースやコンマ、セミコロンの位置
strcat(pos,buf);
みたいな感じで
あとはstrlenで文字数カウントして出力
これじゃC++関係ないな・・・
0009デフォルトの名無しさん
2007/03/04(日) 15:48:20出番ですよ?
0010デフォルトの名無しさん
2007/03/04(日) 15:55:57#include <cstdio>
#include <cctype>
int main(void) {
char c;
int count = 0;
while((c=std::getchar()) != EOF && c != '\n') {
if(std::isalnum(c)) {
std::putchar(c);
count++;
}
}
std::printf("\n%d文字", count);
return 0;
}
0011デフォルトの名無しさん
2007/03/04(日) 16:23:37乙
0012デフォルトの名無しさん
2007/03/04(日) 16:38:17カミングアウト乙。お前が釣られていることにいい加減気づけ。
0013デフォルトの名無しさん
2007/03/04(日) 17:03:12> Array, stringを使って打ち込んだ文字をモニターにプリントせよ。
0014デフォルトの名無しさん
2007/03/04(日) 17:15:530015デフォルトの名無しさん
2007/03/04(日) 17:28:15私大の連中か専門の連中でしょうかねぇ?
0016デフォルトの名無しさん
2007/03/04(日) 17:42:04って勝手なことを言うお前は勝手にエリートについて決め付け過ぎ。
学校によって違いはあるけど、エリートとか私立専門で休業期間が違うと
思っているのは、大学にも通ったことがない高卒だろ?w
0017デフォルトの名無しさん
2007/03/04(日) 17:43:110018デフォルトの名無しさん
2007/03/04(日) 17:46:070019デフォルトの名無しさん
2007/03/04(日) 17:47:040020デフォルトの名無しさん
2007/03/04(日) 17:48:150021デフォルトの名無しさん
2007/03/04(日) 17:49:07前スレのカレンダー課題はモロに最後にエサと書いてあったけど
>>17は後から釣り宣言をしている必死さがにじみでていまつw
0022デフォルトの名無しさん
2007/03/04(日) 17:51:25ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3731.txt
Arrayが何のことか良く分からなかったので、無理やり
Arrayというstructを作ってみた。
0023デフォルトの名無しさん
2007/03/04(日) 17:51:350024デフォルトの名無しさん
2007/03/04(日) 17:51:57国公立大学生のエリート達は今頃春休み中ですよ。
私大の連中か専門の連中でしょうかねぇ?
0025デフォルトの名無しさん
2007/03/04(日) 17:56:32こんなこともあろうかと、
前スレの終わりのほうにたくさんネタ課題を挙げておいたのだが。
0026デフォルトの名無しさん
2007/03/04(日) 17:58:360027デフォルトの名無しさん
2007/03/04(日) 17:59:580028デフォルトの名無しさん
2007/03/04(日) 18:03:020029デフォルトの名無しさん
2007/03/04(日) 18:03:070030デフォルトの名無しさん
2007/03/04(日) 18:03:53今春休みの自分がFランク以下の国公立に通っていても
エリート学校と同じ期間に休業中だからといって自分もエリート気取りになっている
低レベル大学の生徒乙wwwwww
私立もお休みですよ?しかも私立でもエリート大学はあるんだがw
お金の無い奴は学費の安い国公立でひぃひぃ言いながら学歴重視な人生を送ってなさいってこった。
政治家とかどこぞの最先端を行く研究所で働いてでもならなきゃそんなのもパーだけどなw
0031デフォルトの名無しさん
2007/03/04(日) 18:04:14実は興味深い問題が色々あった。
0032デフォルトの名無しさん
2007/03/04(日) 18:08:44・ピッツァさん
・エリート君
・俺
0033デフォルトの名無しさん
2007/03/04(日) 18:08:570034デフォルトの名無しさん
2007/03/04(日) 18:18:200036デフォルトの名無しさん
2007/03/04(日) 18:41:02季節的なものかな?
0037デフォルトの名無しさん
2007/03/04(日) 18:56:36宿題を丸投げするような馬鹿は単位を落とすべき。
0038デフォルトの名無しさん
2007/03/04(日) 19:15:210039デフォルトの名無しさん
2007/03/04(日) 19:20:350040デフォルトの名無しさん
2007/03/04(日) 20:22:400041デフォルトの名無しさん
2007/03/04(日) 20:27:35の童貞キモヲタデヴピッツァめがゴルァ!
0042デフォルトの名無しさん
2007/03/04(日) 20:33:340043デフォルトの名無しさん
2007/03/04(日) 21:29:48で返す方が多いようですが、そのような方はスレの皆様を混乱させるだけでなく
スレの雰囲気を崩しかねないのでお黙り下さい。
また質問者は回答者に知識を披露する場を与える貴重な存在なので、
質問者を見下した回答、あまりにも儀礼を欠いた回答も厳重に禁止いたします。
忙しい中、少ない時間の合間を縫って質問しに来てるわけですので、
その辺ご承知下さい。なお、当方が質問に対して有意義な答えであると
判断した方には評価いたしますので各自よく調べ、よく考え正確な回答をするように。
0044デフォルトの名無しさん
2007/03/04(日) 21:35:110045デフォルトの名無しさん
2007/03/04(日) 21:39:02>>43を3行に要約するプログラムを作成しなさい
0046デフォルトの名無しさん
2007/03/04(日) 22:12:20つまらぬ授業で知って以来、なんとなく数値計算程度で使っているが・・・
0047デフォルトの名無しさん
2007/03/04(日) 22:33:22#include <stdio.h>
int main(){ printf("滑って\n転んで\n大分県"); return 0; }
0048デフォルトの名無しさん
2007/03/04(日) 22:46:33もともと形式化が好きだったが、一人寂しく形式化して悦に入っているのよりも
フィードバックが得られた方が楽しいことに気づいたから。
0049デフォルトの名無しさん
2007/03/04(日) 23:05:52物を作るのは楽しい。それが実際に役に立つのなら言うことは無い。
0050デフォルトの名無しさん
2007/03/04(日) 23:35:00そのとーりだ。
でも仕事としてやっていると
つまらないことだらけなんだよな。
0051デフォルトの名無しさん
2007/03/04(日) 23:53:210052デフォルトの名無しさん
2007/03/05(月) 00:35:030053前スレ882
2007/03/05(月) 13:59:11http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3722.zip
前スレ>>885にて
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3723.txt
と解答していただきました
bccで動かしたら動作に全く問題が無かったのですが
課題提出をしたところ↓のエラーが出てきてしまいました
何が問題なのでしょうか
コンパイルエラーです。
error
/home/elg/CAPES/tmp/exe/hash3.c:79: error: syntax error before string constant
/home/elg/CAPES/tmp/exe/hash3.c:79: error: conflicting types for 'printf'
/home/elg/CAPES/tmp/exe/hash3.c:79: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
/home/elg/CAPES/tmp/exe/hash3.c:80: error: syntax error before string constant
/home/elg/CAPES/tmp/exe/hash3.c:80: error: conflicting types for 'scanf'
/home/elg/CAPES/tmp/exe/hash3.c:80: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
/home/elg/CAPES/tmp/exe/hash3.c:83: error: syntax error before string constant
/home/elg/CAPES/tmp/exe/hash3.c:83: error: conflicting types for 'scanf'
/home/elg/CAPES/tmp/exe/hash3.c:83: note: a parameter list with an ellipsis can't match an empty parameter name list declaration
/home/elg/CAPES/tmp/exe/hash3.c:84: error: 'key' undeclared here (not in a function)
/home/elg/CAPES/tmp/exe/hash3.c:84: error: 初期化子の要素が定数ではありません
/home/elg/CAPES/tmp/exe/hash3.c:85: error: 初期化子の要素が定数ではありません
/home/elg/CAPES/tmp/exe/hash3.c:86: error: syntax error before 'while'
/home/elg/CAPES/tmp/exe/hash3.c:90: error: redefinition of 'p'
/home/elg/CAPES/tmp/exe/hash3.c:85: error: previous definition of 'p' was here
/home/elg/CAPES/tmp/exe/hash3.c:90: error: invalid type argument of '->'
/home/elg/CAPES/tmp/exe/hash3.c:91: error: syntax error before '}' token
0054前885
2007/03/05(月) 14:09:35ソース中の日本語を sjis で up したんだが、
そのエラーコードから察すると unix 上でコンパイルしてるっぽい。
なので、文字コードを euc に変換したものを渡すか、ASCII で表記してみたら?
0055前885
2007/03/05(月) 14:23:25// が最初から入ってたんでそのままにしたけど、標準Cでは非コメントだお
0056前スレ882
2007/03/05(月) 15:20:11struct tfield *p;
struct tfield *old;
の部分と
if (dat[n] == p) {
dat[n] = p->pointer;
} else {
old->pointer = p->pointer;
p = old;
}
break;
}
の部分だけで送信していて、文字コードに関してはおそらく問題ないと思うのですが
break;あるなしに関わらず同じコンパイルエラーになってしまいます
しばらくにらめっこしてみます
0057前885
2007/03/05(月) 16:06:05すまね。 最後の } まで含んでるが、実際にはそこ含まないや
if (dat[n] == p) {
dat[n] = p->pointer;
} else {
old->pointer = p->pointer;
p = old;
}
break;
が送信内容に相当だわ
0058デフォルトの名無しさん
2007/03/05(月) 20:06:56応援してくれ!そこまで上がったらそれ以上上がらない、どうすんだと?そりゃお前、転職するさ。
ダーマの神殿も探しておかなきゃ。
0059デフォルトの名無しさん
2007/03/05(月) 21:02:07つ遊び人
0060デフォルトの名無しさん
2007/03/05(月) 21:19:17C言語マスターってだけじゃ働かずに食っていけないっす orz
0061デフォルトの名無しさん
2007/03/05(月) 21:52:470062デフォルトの名無しさん
2007/03/05(月) 22:05:14なんだろ
0063デフォルトの名無しさん
2007/03/05(月) 22:09:41「xxxをマスターしています」発言は後者の意味に取られることが多い
0064デフォルトの名無しさん
2007/03/05(月) 22:51:33習得って意味でもマスターって使うじゃん?
0065デフォルトの名無しさん
2007/03/05(月) 22:59:170067デフォルトの名無しさん
2007/03/06(火) 00:56:57そのコンピュータが実装する範囲内でだが、計算処理を自由自在に操れる
というのがマスターってことで。
0068デフォルトの名無しさん
2007/03/06(火) 00:59:410069デフォルトの名無しさん
2007/03/06(火) 01:26:470070デフォルトの名無しさん
2007/03/06(火) 13:49:16[2] 問題文(含コード&リンク): 今までに習った基礎を利用して自由なプログラムを作成しなさい。
ただし配列、もしくは構造体のポインタを使用すること
[3] 環境
[3.1] OS: windows XP
[3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
[3.3] 言語:C言語
[4] 期限: 3月8日 10時まで
[5] その他の制限: アップしたソースの中で使用している命令が今の自分に使える限界なので、
それに合わせた指摘をお願いします。低レベルで申し訳ないです。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3734.txt
どうにか色々なサンプルを参照しながら完成したのですが
コンパイラで以下の警告が出てしまいます。
007171
2007/03/06(火) 14:06:26[2] 問題文(含コード&リンク):
入力した連続したアルファベットの最初と最後の文字を省き、 残った文字をモニターにプリントする。
その手順で入力したアルファベットがなくなるまでFORループを使って繰り返す。
例;
abcdefと入力した場合。
bcde
cd
absolutelyと入力した場合。
bsolutel
solute
olut
lt
u
と画面に現れればいいという事です。
0072続71
2007/03/06(火) 14:07:08[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: (gcc 3.4
[3.3] 言語:C++
[4] 期限: [2007年03月10日17:00まで]
[5] その他の制限:
下記に記入したと通りまで作りましたが、困ったことに7文字までしか正確に作動しません。
8文字を超える文字を入力すると記号類が出てきます。
基本的な問題なのだろうと思いますが、解決策が見当たりません。
どちら様かご援助いただけるようよろしくお願いします。
#include<iostream.h>
#include<cctype>
#include<string.h>
int main ()
{ int a, i, b;
const size=500;
char c[size];
char str1[200];
char str2[300];
cout << "Enter a string" << endl;
cin.getline(c, size);
cout << c << endl;
a=strlen(c);
cout << a << endl;
b=a-2; //
for(i=1; i<a; a-=2, i++, b-=2){
strncpy (str2, c+i, i+3);
str2[b]='\0';
cout << str2 << endl;
}// end of for loop
return 0;
}
0073デフォルトの名無しさん
2007/03/06(火) 14:29:14std::string習ってない?
# include <iostream>
# include <string>
int main()
{
std::string s;
std::cin >> s;
int i = 1;
for(int len = s.length() - 2; len > 0; len -= 2)
{
std::cout << s.substr(i, len) << '\n';
i++;
}
}
0074デフォルトの名無しさん
2007/03/06(火) 16:13:48まだ大雑把にしか見てないが、
"エラー E2293 467 : )が必要"
pload = ((PPERSON)malloc(sizeof(PERSON));
一番左の括弧がひとつ多い。
"警告 W8066 321:と409:と413:"
return で関数から抜けるので、break;は要らない。
これは必要ないかもしれんけど、
"警告 W8065 プロトタイプ宣言のない関数"
17行目とかを、
int AddData(); → int AddData(void);
なかなかよくできているのではないだろうか(偉そうにスマソ)。
気が向いたら、細かく見て、感想書いてみる。
0075デフォルトの名無しさん
2007/03/06(火) 16:36:53513: int DeleteData()
何番目のデータを削除するか、というところで
入力した数( j に入力された数 )がcountを超える場合はreturnした方がいいかも。
処理落ちの予感。
0076デフォルトの名無しさん
2007/03/06(火) 16:41:590077デフォルトの名無しさん
2007/03/06(火) 16:51:28gets(szInput);
こんなところにダンディ坂野が!?やっちまったな!
0078デフォルトの名無しさん
2007/03/06(火) 16:53:13298: pedit = pedit->pnext;
pedit = pedit->pprev; だと思われ。
処理(ry
0079デフォルトの名無しさん
2007/03/06(火) 17:20:49285: j == 0
j <= 0 にする。
-1とかを入力すると処(ry
0080デフォルトの名無しさん
2007/03/06(火) 17:38:58LoadData()の挙動がちょっとな……。
0081デフォルトの名無しさん
2007/03/06(火) 17:40:03問題
テキストファイルを読み取って(最大で100文字)すべて
アルファベット順に並んだ文字郡のファイルを作る。
またプログラムは、入力ファイルと出力ファイルをユーザーから読み取る。
ヒント(ストリングのアレーを見つけ出す,二次元配列のアレーを使えば
文字を記憶させるのに便利)
0082デフォルトの名無しさん
2007/03/06(火) 17:40:31>>1
0083デフォルトの名無しさん
2007/03/06(火) 17:40:570084OCS
2007/03/06(火) 23:06:04[2] 問題文(含コード&リンク):ファイルから指定したファイルを読み込み、内容を16進数と文字で表示する。
表示する際、画面の左端から
“9999ooooXXXXooXXXXooXXXXooXXXXooooCCCCCCCC”
と表示する。ここで、oはブランク1つ、9は数字1桁、Xは16進1桁、Cは文字1文字で、最初に行番号、データを16進4桁ずつを4回、データを文字で8文字表示する。プログラムの作り方ですが、関数の構成を大きく3つに分けます。
・1行分表示関数 (line_display( ) )データを1行分表示ます。
・1画面表示関数(all_display( ) ) 1行表示関数を必要分呼んで1画面描画します。
・開始、キー受付、終了処理(メイン関数) ファイルオープン、キー受付、画面表示、
プログラムの終了を行ないます。
上記の3つ(以上)の関数をつくり機能を実現します。
画面の構成は1行目から24行目まではデータ表示、一番下の行に“>”を表示しキー受付行とする。キーボードからキーを読み込み、下のキーに合致したら
L:表示したい行数を指定できるようにする。キー受付行に“何行目から表示?”と表示し入力された行番号から表示する。
F:1行上にスクロール
B:1行下にスクロール
U:1画面上にスクロール
D:1画面下にスクロール
C:表示しているデータの型(最初は16進数で表示している)変更を受け付ける
E:終了
各処理に適宜エラー回避処理を入れること。 また上記以外に機能を盛り込むことは可。例えば1番上の行はファイル名表示、半画面スクロール等。
[3] 環境
[3.1] OS: Windows2K
[3.2] VC 6.0
[3.3] 言語:C言語
[4] 期限:2007年03月09日15:00まで
[5] その他の制限:fseek()関数とftell()関数を使うこと
大阪のしがない専門学校からなのですが、これが授業の最終課題なんです。みなさんのお力を貸してください。
よろしくお願いいたします。
0085デフォルトの名無しさん
2007/03/07(水) 01:41:07[2] 問題文(含コード&リンク):預金額のデータを扱うクラス「Kouza」を作成せよ。
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語: C++
#include <iostream.h>
class CKouza {
private:
long yokin;
public:
void ireru(long okane){yokin+=okane;}
void orosu(long okane){yokin-=okane;}
int zandaka(void){return yokin;}
void disp();
};
void CKouza::disp(){
cout<<"預金額:"<<yokin<<endl;
cout<<"残高:"<<yokin<<endl;
}
008685
2007/03/07(水) 01:44:09CKouza ginko;
long i,j;
int zankin;
cout<<"預金:";cin>>i;
ginko.ireru(i);
ginko.disp();
cout<<"払戻し:";cin>>j;
ginko.orosu(j);
zankin=ginko.zandaka();
cout<<"払戻し額:"<<j<<endl;
cout<<"残高:"<<zankin<<endl;
}
実行すると打ち込んだ金額に勝手に+1して受け渡してしまうのですが
原因がわかりません。おかしいところを教えてください。
0087デフォルトの名無しさん
2007/03/07(水) 01:44:24題意が意味不明
008887
2007/03/07(水) 01:45:080089デフォルトの名無しさん
2007/03/07(水) 01:51:53yokinを初期化する必要があるんじゃないか?
0090デフォルトの名無しさん
2007/03/07(水) 09:14:08おかげで実行に成功しました。
ただ、所々のポインタが不安定っぽいのでこれ以降は自力で解いてみようと思います。
ご指摘ありがとうございました。
>>76
入力されたデータを読み込む際にカウントして個数を表示するようにしました。
確かに無いと不便でしたね。
009185
2007/03/07(水) 11:59:14はい、私もそう思って、ginko.ireru(i)の前にginko.ireru(0)で
初期化したんですが、それでも1がプラスされるんです。
例として([]内はキーボード入力)
預金:[300000]
預金額:300001 //ここでyokinの内容を書き出すとなぜか1が増えている。
こんな感じです。
0092デフォルトの名無しさん
2007/03/07(水) 12:07:11それじゃ0足してるだけで初期化になってないだろ
009385
2007/03/07(水) 12:08:12ginko.ireru(0)で初期化されるのは、yokinじゃなくてokaneでした。
ありがとうございました。
0094デフォルトの名無しさん
2007/03/07(水) 13:22:51ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3735.txt
> C:表示しているデータの型(最初は16進数で表示している)変更を受け付ける
の意味がわからなかったので付けてない。
あとエラー処理とかは割りと適当かも。
0095デフォルトの名無しさん
2007/03/07(水) 21:39:58[1] 授業単元: -
[2] 問題文(含コード&リンク):§5.8.1のframeを反復子を使って書き直してください。
---§5.8.1のframe関数---
// 行数の関係で割愛しますが、widthは与えられたvector<string>の要素中で最長の文字数を返す関数です。
// frameは与えられたvector<string>の周りに*マークの囲いをつけたものを返す関数です。
vector<string> frame(const vector<string>& v) {
vector<string> ret;
string::size_type maxlen = width(v);
string border(maxlen + 4, '*');
// フレームの1番上を出力
ret.push_back(border);
// 内部の行を左右に*と空白を入れて出力
for (vector<string>::size_type i = 0; i != v.size(); ++i) {
ret.push_back("* " + v[i] + string(maxlen - v[i].size(), ' ') + " *");
}
//フレームの1番下を出力
ret.push_back(border);
return ret;
}
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC2005
[3.3] 言語: C++
[4] 期限: 無期限
[5] その他の制限: 必要かどうか分かりませんが、この章で出てきたアルゴリズムは
accumulate, find, find_if, search, copy, remove_copy, remove_copy_if, remove_if, remove, transform, partition, stable_partition
です。
forループ内の、最長文字数に足るまで' 'で埋めている部分が、反復子でどう埋めるのか分かりません。
その部分だけでも結構ですので、よろしくお願いできましたら。
0096OCS
2007/03/07(水) 21:45:34ありがとうございます!
『C』の処理の内容を聞くメールを先生に出したので、明日かあさってに返事がくると思います!!
詳細わかったらまた書き込みます!
ありがとうございました!!
0097デフォルトの名無しさん
2007/03/07(水) 22:15:48コンテナに対する反復子は、配列に対するポインタだと思えばいい。
for (vector<string>::size_type i = 0; i != v.size(); ++i) {
ret.push_back("* " + v[i] + string(maxlen - v[i].size(), ' ') + " *");
}
↓
for (vector<string>::iterator it = v.begin(); it != v.end(); it++) {
ret.push_back("* " + *it + string(maxlen - it->size(), ' ') + " *");
}
0098デフォルトの名無しさん
2007/03/08(木) 00:32:45例えばvectorのsize()も中身を見るとifが1つ。
あるベンチマークの結果では、Cと同じことをSTLを使って処理をさせて時間を計った所
平均で5倍という結果が出た。
だから処理速度だけには注意して組むとよろし。
009995
2007/03/08(木) 01:51:16ご回答ありがとうございました。
it->size() なんてものがあったんですね。
本に書いてなかった(見落としかも)ので、そこで悶絶してましたorz
おかげさまでスッキリです。
本筋と関係なくて失礼かとも思いましたが、後から見る方のために、
(多分)仮引数がconstなので、forの初期化式の反復子もconst_iteratorにしないと
コンパイラーに怒られました、とご報告を。。
0100デフォルトの名無しさん
2007/03/08(木) 11:25:12[2] 問題文(含コード&リンク):
char h[]= "H";
char g[]= "G";
char k[]= "K";
一つ一つの文字を
char i[4];
の中に収納せよ。
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([2007年03月12日17:00まで]
そうとう初心者で申し訳ないです!ただstringとArrayを欠けて使う方法がよく変わらず困っています。
以下が自分が素直に考え作ったのですがエラーが出ます。
どちら様か、ご指摘ご回答お願いできればと思います。よろしくお願いします。
#include<iostream.h>
#include<string.h>
int main()
{
char h[]= "H";
char g[]= "G";
char k[]= "K";
char i[4];
strcpy(i[0],h);
strcpy(i[1],g);
strcpy(i[2],k);
i[3]= '\0';
cout <<i << endl;
return 0;
}
0101デフォルトの名無しさん
2007/03/08(木) 11:44:30i[0] = h[0];
i[1] = g[0];
i[2] = k[0];
i[3]= '\0';
0102100
2007/03/08(木) 11:59:43え、そうなの?
どうもありがとう!
0103デフォルトの名無しさん
2007/03/08(木) 12:06:08>strcpy(i[0],h);
strcpy の引数はポインタ
i[0] はポインタではない
0104100
2007/03/08(木) 13:36:31ポインタの基礎から叩き込むとなると、長い道のりとなりそうだ。
0105デフォルトの名無しさん
2007/03/08(木) 14:01:280106デフォルトの名無しさん
2007/03/08(木) 14:02:03string.h
0107デフォルトの名無しさん
2007/03/08(木) 14:07:15#include <iostream.h> → #include <iostream>
#include <string.h> → #include <cstring>
あと、mainの冒頭で using namespace std; しとけ。
0108デフォルトの名無しさん
2007/03/08(木) 14:07:20int main()
{
char i[4];
strcpy(i,"ABC");
cout <<i << endl;
return 0;
}
bcc32 でコンパイルできた。
0109デフォルトの名無しさん
2007/03/08(木) 14:15:59char i[4]
//iに"ABC"をコピー
//%s iでprintf
retunrn
}
脳内 でコンパイルできた。
0110デフォルトの名無しさん
2007/03/08(木) 17:20:020111デフォルトの名無しさん
2007/03/08(木) 17:23:56#define retunrn ;return 0;
#define mein main(void)
0112お願いします!!
2007/03/08(木) 17:42:50ソースリストを作成せよ。
という課題なんですがさっぱり分かりません。
詳しい方お願いします!!締め切りが明日までであせってます><
0113デフォルトの名無しさん
2007/03/08(木) 17:45:42ワラタ
returnのdefine文が絶妙w
0114デフォルトの名無しさん
2007/03/08(木) 17:46:52[2] 問題文(含コード&リンク):
以下の5つの条件を満たす関数"int function(int,int,int)"を書け。
(1) 第一引数は0から3までの数値しか入らないとし、それぞれ0は加算、1は減算、2は乗算、3は乗算を表す。
(2) 第二、第三引数は任意の数値が入るものとする。
(3) 戻り値には、第二、第三引数を第一引数の指す意味の演算で演算した結果を返すものとする。
(4) 回答者の書く全てのプログラム中で、if、switch、for、while、gotoを書いてはいけない。
(5) 回答者の書く全てのプログラム中で、"#include"を書いてはいけない。
[3] 環境
[3.1] OS: WinXP
[3.2] コンパイラ名とバージョン:VS2005 EE C++
[3.3] 言語: C
[4] 期限: [2007年03月09日13:10まで]
[5] その他の制限:コンパイラにはCとしてコンパイルするオプションが付けられる
分かりません お願いします
0115デフォルトの名無しさん
2007/03/08(木) 17:47:08CASL�UってCではないような・・・・
0116お願いします!!
2007/03/08(木) 17:50:55こういうの全く分からないもので。。。
どこに書き込めば回答してくれますかね??><
0117デフォルトの名無しさん
2007/03/08(木) 17:51:49第一引数で四則演算を振り分けるのにすらifもswitchも使えないってことは
関数ポインタ配列でも使えということか?
0除算はチェックしなくていいのか?
0119デフォルトの名無しさん
2007/03/08(木) 17:54:130120デフォルトの名無しさん
2007/03/08(木) 18:05:19/*テスト用コード*/
#include<stdio.h>
int function(int mode,int x,int y);
int main(void)
{
printf("1+2 = %d\n",function(0,1,2));
printf("1-2 = %d\n",function(1,1,2));
printf("4x3 = %d\n",function(2,4,3));
printf("10/2 = %d\n",function(3,10,2));
return 0;
}
/*以下、課題部分*/
/*(1) 第一引数は0から3までの数値しか入らないとし、それぞれ0は加算、1は減算、2は乗算、3は乗算を表す。 */
int function(int mode,int x,int y)
{
return mode == 0 ? x+y : (mode == 1 ? x-y : (mode == 2 ? x*y : (mode == 3 ? x/y : 0)));
}
こんな感じ?
0121デフォルトの名無しさん
2007/03/08(木) 18:08:57return y == 0 ? 0 : ( mode == 0 ? x+y : (mode == 1 ? x-y : (mode == 2 ? x*y : (mode == 3 ? x/y : 0))) );
0122デフォルトの名無しさん
2007/03/08(木) 18:09:59問題文で2と3が乗算になってるが
3が除算でいいよな
0123デフォルトの名無しさん
2007/03/08(木) 18:11:59それだとどの演算でもy==0だと0が返るぞ
0124デフォルトの名無しさん
2007/03/08(木) 18:13:22{
return mode == 0 ? x+y : (mode == 1 ? x-y : (mode == 2 ? x*y : (mode == 3 ? (y==0)? 0: x/y) : 0)));
}
だな
0125124
2007/03/08(木) 18:14:17(y==0)?
(y==0?
0126デフォルトの名無しさん
2007/03/08(木) 18:16:02return mode == 0 ? x+y : (mode == 1 ? x-y : (mode == 2 ? x*y : ((mode == 3 && y != 0) ? x/y : 0)));
0127デフォルトの名無しさん
2007/03/08(木) 18:16:17int add(int x, int y){return x+y;}
int sub(int x, int y){return x-y;}
int mul(int x, int y){return x*y;}
int div(int x, int y){return x/y;}
int function(int mode,int x,int y){
int (*func_array[4])(int,int)={add, sub, mul, div};
return func_array[mode](x, y);
}
0128デフォルトの名無しさん
2007/03/08(木) 18:17:08typedef int (*op_func)(int, int);
int op_add(int a, int b);
int op_sub(int a, int b);
int op_mul(int a, int b);
int op_div(int a, int b);
int function(int op, int a, int b)
{
op_func op_table[] = {
op_add, op_sub, op_mul, op_div,
};
return op_table[op](a, b);
}
op_*** の実装は省略。 わかるよな。
まぁ三項演算子使うなとは書いてないからどっちでもいいと思うけどね。
0129デフォルトの名無しさん
2007/03/08(木) 18:33:47#define s s##witch
s((enum{add, sub, mul, div})op) {
case add: return a+b;
case sub: return a-b;
case mul: return a*b;
case div: return a/b;
default: return 0;
}
#undef s
}
こうですか><
0130デフォルトの名無しさん
2007/03/08(木) 18:41:170131114
2007/03/08(木) 18:46:51授業担当の人がむかつくので三項演算子使って提出します。
0132デフォルトの名無しさん
2007/03/08(木) 18:50:320133デフォルトの名無しさん
2007/03/08(木) 18:51:240134デフォルトの名無しさん
2007/03/08(木) 18:55:14じゃあもっとわかりづらくして提出しようぜ。一行で。
int function(int a,int b,int c){return a?a-1?a-2?b/c:b*c:b-c:b+c;}
0135デフォルトの名無しさん
2007/03/08(木) 18:57:53見た目は美しいな!
だんだん、Code Golfみたいになってきたな。
0136デフォルトの名無しさん
2007/03/08(木) 19:01:09定数を全廃して
int function(int a, int b, int c) { return a-- ? a-- ? a-- ? b/c : b*c : b-c : b+c; }
と書けそうな気がするのだが、--の評価が環境依存だったりするとまずい?
0137デフォルトの名無しさん
2007/03/08(木) 19:03:54int add(int x,int y){return x+y;}
int sub(int x,int y){return x-y;}
int mul(int x,int y){return x*y;}
int div(int x,int y){return x/y;}
int function(int op,int x,int y){return((int(*[])(int,int)){add,sub,mul,div})[op](x,y);}
0138デフォルトの名無しさん
2007/03/08(木) 19:04:52条件演算子は副作用完了点だから大丈夫。
0139デフォルトの名無しさん
2007/03/08(木) 19:07:24int op_sub(int a, int P){
int m=0, m9=0, o=0;
return
(m9^o^m)?0 //顔文字
:-P //顔文字
+a
;} //顔文字?
0140デフォルトの名無しさん
2007/03/08(木) 19:10:450141デフォルトの名無しさん
2007/03/08(木) 19:13:29int function(int op,int x,int y){return(*(op+(int(*[])(int,int)){add,sub,mul,div}))(x,y);}
こうしておけば完璧だな
0142デフォルトの名無しさん
2007/03/08(木) 19:13:360143デフォルトの名無しさん
2007/03/08(木) 19:16:280144デフォルトの名無しさん
2007/03/08(木) 19:19:000145デフォルトの名無しさん
2007/03/08(木) 19:24:03これってどういうからくり?
0146デフォルトの名無しさん
2007/03/08(木) 19:30:36↓
return(*(op+func_table))(x, y)
↓
return (*func_table[op])(x, y)
0147デフォルトの名無しさん
2007/03/08(木) 19:31:180148デフォルトの名無しさん
2007/03/08(木) 19:35:31調べてみたら複合リテラルとか言うのか
0149デフォルトの名無しさん
2007/03/08(木) 19:56:26<問題>
CString s[5]={"あ","1","問題","C++","ならびかえ"};
この文字配列をWindowsのソート機能のように名前順に並び替え、表示しろ。
[出力結果]
1
C++
あ
ならびかえ
問題
0151デフォルトの名無しさん
2007/03/08(木) 19:58:57>>1 読め
0152149
2007/03/08(木) 20:03:13ごめんなさい
【質問テンプレ】
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
CString s[5]={"あ","1","問題","C++","ならびかえ"};
この文字配列をWindowsのソート機能のように名前順に並び替え、表示しろ。
[出力結果]
1
C++
あ
ならびかえ
問題
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Microsoft Visual C++ 2005
[3.3] 言語: (C++
[4] 期限: 今週中
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
なるべく短いコード数で行うとのこと。
0153デフォルトの名無しさん
2007/03/08(木) 20:16:47#include <cstdio>
#include <algorithm>
#include <atlstr.h>
int main()
{
CString s[5]={"あ","1","問題","C++","ならびかえ"};
std::sort(s, s+5);
for (int i = 0; i < 5; ++i)
std::_tprintf("%s\n", (LPCTSTR)s[i]);
return 0;
}
0155デフォルトの名無しさん
2007/03/08(木) 21:03:380156デフォルトの名無しさん
2007/03/08(木) 21:33:360157デフォルトの名無しさん
2007/03/09(金) 00:38:070158デフォルトの名無しさん
2007/03/09(金) 00:48:10誰が上手いこと言えと
0159デフォルトの名無しさん
2007/03/09(金) 01:10:31BASIC書いてた頃の名残っぽいコード
int function(int a, int b, int c)
{
return (b+c)*(a==0)+(b-c)*(a==1)+(b*c)*(a==2)+(b/c)*(a==3);
}
0160デフォルトの名無しさん
2007/03/09(金) 01:13:13巧い!!
0161デフォルトの名無しさん
2007/03/09(金) 01:14:550162デフォルトの名無しさん
2007/03/09(金) 01:18:24しかしそれ、cが0だと演算の種類に関わらず常にゼロ除算することになるよな
0163デフォルトの名無しさん
2007/03/09(金) 02:35:54教えてください。
0164デフォルトの名無しさん
2007/03/09(金) 06:45:240165デフォルトの名無しさん
2007/03/09(金) 08:50:01[2] 問題文(含コード&リンク):ユニークな名前を生成するアルゴリズムを考えよ
[3] 環境
[3.1] OS: (Windows/Linux/等々) Linux
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) gcc
[3.3] 言語: (C/C++/どちらでも可 のいずれか) C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 3/31
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
特になし。
0166デフォルトの名無しさん
2007/03/09(金) 08:53:34毎回単に乱数生成。稀にかち合ってもキニシナイ。
これまでに作ったものn個を記憶していて、その範囲内で重複なしを保証。
これまでに作ったものをメモリの許す限り記憶していて、重複なしを保証。
0167デフォルトの名無しさん
2007/03/09(金) 08:54:160168デフォルトの名無しさん
2007/03/09(金) 11:10:400169デフォルトの名無しさん
2007/03/09(金) 11:34:45で、評価の時にユニーク名を100万個作ったりすると99万個のコンフリクトが発生するわけだな。
0171デフォルトの名無しさん
2007/03/09(金) 11:58:57#define SERIAL_WIDTH (sizeof(serial_t) * 2)
char* unique_id()
{
static serial_t serial = 0L;
char format[10];
char* id;
sprintf(format, "ID%%0%dX", SERIAL_WIDTH);
id = (char*)malloc(2 + SERIAL_WIDTH + 1);
sprintf(id, format, serial++);
return id;
}
マルチスレッドから呼ばれることは考慮していない。
必要なら使用後にfree()。
0172デフォルトの名無しさん
2007/03/09(金) 12:45:08# include <fstream>
int main()
{
std::ifstream ifs("/dev/urandom");
if(!ifs) throw "ごめんなさい";
for(int i = 0; i < 50; i++)
std::cout << "abcdefghijklmnopqrstuvwxyzabcdef"[(unsigned char)ifs.get() & 0x1f];
std::cout << '\n';
}
こんなので十分じゃない?
0173172
2007/03/09(金) 12:51:04撤回します。
0174デフォルトの名無しさん
2007/03/09(金) 13:02:09これでどう?
但し、無駄にファイルを大量に生成してしまうけど ^^;
#include<stdio.h>
int main(void){
char filename[FILENAME_MAX];
FILE *fp;
while(tmpnam(filename)!=NULL){
fp=fopen(filename, "w");
fclose(fp);
puts(filename);
}
return 0;
}
アルゴリズムじゃねえし。
0176デフォルトの名無しさん
2007/03/09(金) 16:27:53これならマルチスレッド考えても楽勝。
0178デフォルトの名無しさん
2007/03/09(金) 18:14:23擬似コードでいいんだから。
0179デフォルトの名無しさん
2007/03/09(金) 18:20:250180デフォルトの名無しさん
2007/03/09(金) 18:21:290181デフォルトの名無しさん
2007/03/09(金) 18:23:320182デフォルトの名無しさん
2007/03/09(金) 19:07:35>>176のカウンター案を可逆暗号化してみては?
8桁1億-1ぐらいで十分っぽ
0183デフォルトの名無しさん
2007/03/09(金) 19:20:03それともUUIDのようなコンフリクトの可能性が限りなく零に近いユニークさが必要なのか?
0184デフォルトの名無しさん
2007/03/09(金) 19:27:040185デフォルトの名無しさん
2007/03/09(金) 19:40:45アルゴリズムとしては排他制御付きカウントアップくらいか。
0187デフォルトの名無しさん
2007/03/09(金) 20:38:12http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3737.c
ディスクアクセス速度を乱雑性の源にした。
手元の環境だと1ビット取るのに10分掛かったので、丸二日もすれば終わると思う。
0188デフォルトの名無しさん
2007/03/09(金) 21:17:09こういうの大好きw
0189デフォルトの名無しさん
2007/03/09(金) 21:50:11#include <string.h>
struct seiseki {
char no[10];
char name[20];
};
void main(void) {
struct seiseki seito[2];
int i ;
printf("NoとNameの入力\n");
for( i = 0 ; i < 2 ; i ++) {
printf("No入力\n");
scanf("%s",seito[i].no);
printf("Name入力\n");
scanf("%s",seito[i].name);
}
for( i = 0 ; i < 2 ; i++) {
printf("%s",seito[i].no);
printf("%s",seito[i].name);
}
ファイルの扱い方かたがわかりません。scanfを使わずに
一気に読み込ませていくにはどうしたらいいのですか?
まだ、ポインタの勉強はしていなにので、ポインタを使って
のファイルの取り扱いもわかりません。
とにかく何か標準入出力のプログラムのコード書いてください!!
明日までであせっています。
0190デフォルトの名無しさん
2007/03/09(金) 21:54:28標準入出力でいいなら
リダイレクト とか パイプ をググるといいよ
0191デフォルトの名無しさん
2007/03/09(金) 21:56:05>>1を読め
0192デフォルトの名無しさん
2007/03/09(金) 23:21:42( ;∀;)オモシロイナー
そして何気にコードの書き方うまいなー、読みやすい。
0193デフォルトの名無しさん
2007/03/10(土) 00:22:44ヒント:ストリームポインタ
0194デフォルトの名無しさん
2007/03/10(土) 02:31:01【質問テンプレ】
[1] 授業単元:ソフトウェアーテクニック
[2] 問題文(含コード&リンク):
英語を訳しただけなので、訳が変かもしれないです・・・。
#1.コード維持を考えると、static libraryよりDLLの方が良いか。
#2.DLLの中の1つのクラスのヘッダーファイルが書き換えられたとき、
DLLに依存しているコード達を再び、コンパイルしなければならないか。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: MSVC
[3.3] 言語: C++
[4] 期限: 2時間後
[5] その他の制限:
よろしくお願いします。
0195デフォルトの名無しさん
2007/03/10(土) 02:35:11規模による
#2.
どう書き換えたかによる
0196デフォルトの名無しさん
2007/03/10(土) 03:11:280197デフォルトの名無しさん
2007/03/10(土) 05:06:27[2] 問題文(含コード&リンク):
打ち込んだ文字のアルファベットだけをモニターに表示させる。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: ([2007年03月13日17:m00まで]
基本的な問題で質問するのも恐縮なのですが、色々なHPを見たりと調べましたがうまく出来ませんのでこちらでご質問をさせていただきました。
課題の回答例としてですが、
hello, it is fine day today. と入力すると、 helloitisfinedaytoday 21文字 がアウトプットされます。 下記が自分の作ったプログラムですが、最後にarrayに含まれている一つ一つの文字を一つのcharにまとめるところで困っています。
助言よろしくお願いします。
0198続197
2007/03/10(土) 05:07:11#include<cctype>
#include<string.h>
int main()
{
char h[100];
char str1[100];
char str2[100];
char a[100];
int f,k, g=0, n, z=0, v,u=0, r, j=0;
const size=100;
char c[size];
cout << "Enter a string" << endl;
cin.getline(c, size);
r = strlen(c);
cout << r << endl;
0199続197
2007/03/10(土) 05:09:06for(v=0; v<r ; v++)
{
if (isalpha(c[v]))
{
a[u]=c[v];
z++;
u++;
}
}
a[u]='\0';
cout << a << endl;
r = strlen(a);
cout << a << endl;
cout <<"count "<< z << endl;
f=z-1;
for (n=0 ;n<z ;n++)
{
strncpy(str1,a+n, strlen(a)-n);
str1[strlen(a)-f] = '\0';
cout<<"Front " << str1 <<":"<< endl;
strcpy(h," ");
strcat(h,str1);
// h[n]=str1[n] でも同じような結果が出ます。
} // end of for loop
cout << h;
return 0;
}
0200デフォルトの名無しさん
2007/03/10(土) 06:23:41>>7
>>10
>>22
0201続197
2007/03/10(土) 07:29:07YES
0202デフォルトの名無しさん
2007/03/10(土) 07:31:10020322
2007/03/10(土) 07:41:12もし>>22を使うのなら、copy_if()は下のものに直してくれ。
あのままでも「あのコードでは」たまたま問題はないのだが、カッコ悪い。
template<class I, class O, class P>
O copy_if(I beg, I end, O dst, P p)
{
while (beg != end) {
if (p(*beg)) {
*dst = *beg;
++dst;
}
++beg;
}
return dst;
}
0204デフォルトの名無しさん
2007/03/10(土) 11:02:10201は自分ではないです。その節はお世話になりました。後もう少しなのでまたよろしければよろしくお願いします。
0205デフォルトの名無しさん
2007/03/10(土) 13:24:12[2] 問題文(含コード&リンク):
クイックソートに関する問題です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3739.txt
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
よろしくおねがいします
0206デフォルトの名無しさん
2007/03/10(土) 14:20:05// ランダムサンプリング
s0 = a[rand() % (right - left) + left];
s1 = a[rand() % (right - left) + left];
s2 = a[rand() % (right - left) + left];
s = (s0 + s1 + s2) / 3;
0207デフォルトの名無しさん
2007/03/10(土) 14:44:21[2] 問題文(含コード&リンク):
グループメンバー(4人)の名前、入学年度
学生番号、学科、組(A,B)を格納する構造体を宣言し、初期化せよ。
また、それらをキーボードから入力できるようにし結果をディスプレイに表示せよ。
但し、入力部分の関数、出力部分の関数、メイン関数にプログラムを分けよ。
その際に、入力部分の関数、出力部分の関数については引数は構造体へのポインタとなるようになっていること。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: C
[4] 期限:無期限
[5] その他の制限:特になし
よろしくおねがいします
0208205
2007/03/10(土) 14:50:04>>206
解答ありがとうございます、しかし今回は三点が決まっていたので
s0 = a[left];
s1 = a[right];
s2 = a[(left+right)/2];
s = (s0 + s1 + s2) / 3;
でよかったみたいです
0209197
2007/03/10(土) 15:48:34色々やっておりましたら解決しました。
どうもです。
0210デフォルトの名無しさん
2007/03/10(土) 15:49:150211デフォルトの名無しさん
2007/03/10(土) 15:51:250212207
2007/03/10(土) 16:09:04色々やっておりましたら解決しました。
どうもです。
0213デフォルトの名無しさん
2007/03/10(土) 16:23:190214デフォルトの名無しさん
2007/03/11(日) 00:37:10[2] 問題文(含コード&リンク):
ユーザーに整数の入力を求め、その整数が2, 3, 5, 7の数字の組み合わせで成り立つ掛け算の場合、その結果を以下のように表示する。
例)60 と入力した場合
60 is a multiple of 2, 3, 5.
31 と入力した場合
31 is not a multiple of 2, 3, 5, 7.
[3] 環境
[3.1] OS: WindowsXP
[3.2] コンパイラ名とバージョン: Dev-C++ Version 4.9.9.2
[3.3] 言語: C++
[4] 期限: 2007年3月13日19:00まで
[5] その他の制限: ifやループを使わず、switchを必ず使いプログラムを構成する。
ifやループを使えば大体分かるのですが、switchを使った場合の計算のロジックが分かりません。
よろしくお願いします。
0215デフォルトの名無しさん
2007/03/11(日) 00:44:24授業っていうところはif使ってはいけないとか変なことさせるんだね。
0216デフォルトの名無しさん
2007/03/11(日) 00:52:49ttp://www.bloodshed.net/devcpp.html
か。実質的にはコンパイラはgccなのかな。
0217デフォルトの名無しさん
2007/03/11(日) 01:07:49問題が曖昧でよく分からんな。
入力が22の場合の出力はどうなればいいの?
0218デフォルトの名無しさん
2007/03/11(日) 01:10:46難しい課題がでるんですね。
0219デフォルトの名無しさん
2007/03/11(日) 01:12:17if(x){...}else{...}
は
switch(x==0){case 0: {...} break; default: {...}}
で代用できる。
ループはgotoで代用できる。
0220214
2007/03/11(日) 01:13:58前回の授業でifとswitchをやり、それぞれ出た課題のうちの1つです。
>>216
教授に勧められたものを使っていまして、説明を見る限りではコンパイラはgccのようです。
>>217
すみません、説明が下手だったようです。
入力が22の場合の出力は、22=2*11なので「2 is not a multiple of 2, 3, 5, 7.」になります。
60の場合は60=2*2*3*5。よって、「60 is a multiple of 2, 3, 5」になります。
0221デフォルトの名無しさん
2007/03/11(日) 01:14:13そりゃそうだけど
俺の感想としては
マジ?そんなのアリ?
0222デフォルトの名無しさん
2007/03/11(日) 01:17:19Switch と 再帰処理でしょ
やっぱ
0223デフォルトの名無しさん
2007/03/11(日) 01:21:332,3,5,7以外の素数がひとつでも使われたら
is not a multiple of 2, 3, 5, 7. でいいんだね?
0224214
2007/03/11(日) 01:27:41ifをswitchで代用する方法は分かりました。
ただ、gotoは習ってないので、使っていいのか分かりません。
>>223
はい、そうです。
0225デフォルトの名無しさん
2007/03/11(日) 01:32:40スゲーダサいコードになった。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0, n = 0, rc;
int nn[5] = { 0 };
char *delim = " ";
switch (n) {}
rc = scanf("%d", &n);
(rc <= 0) && (exit(1), 1);
(n % 2) || (nn[i++] = 2);
(n % 3) || (nn[i++] = 3);
(n % 5) || (nn[i++] = 5);
(n % 7) || (nn[i++] = 7);
printf("%d is ", n);
i || (printf("not a multiple of 2, 3, 5, 7.\n"), exit(0), 1);
i = 0;
printf("a multiple of");
loop:
nn[i] || (printf(".\n"), exit(0), 1);
printf("%s%d", delim, nn[i++]);
delim = ", ";
goto loop;
return 0;
}
0226デフォルトの名無しさん
2007/03/11(日) 01:33:35正直な感想
無茶だ!
0227デフォルトの名無しさん
2007/03/11(日) 01:35:52サブルーチンが複数あってもいいのか。
再起していいのか。
俺には難しい。
0228デフォルトの名無しさん
2007/03/11(日) 01:38:10# include <set>
# include <iostream>
# include <iterator>
bool f(int x, std::set<int> &m)
{
int old_x = x;
x % 2 || (m.insert(2), x /= 2);
x % 3 || (m.insert(3), x /= 3);
x % 5 || (m.insert(5), x /= 5);
x % 7 || (m.insert(7), x /= 7);
if(x == old_x)
return x == 1;
return f(x, m);
}
int main(void)
{
int x;
std::set<int> m;
std::cin >> x;
switch(f(x, m))
{
case false:
std::cout << x << " is not a multiple of 2, 3, 5, 7.\n";
break;
case true:
std::cout << x << " is a multiple of ";
std::copy(m.begin(), --m.end(), std::ostream_iterator<int>(std::cout, ", "));
std::cout << *--m.end() << ".\n";
break;
}
}
0229デフォルトの名無しさん
2007/03/11(日) 01:40:12> if(x == old_x)
0230デフォルトの名無しさん
2007/03/11(日) 01:40:49return x == old_x ? x == 1 : f(x, m);
にしてくれ。
0231214
2007/03/11(日) 01:42:50ありがとうございます。
ただ、gotoに関して、使っていいのかわからないので教授に聞いてみます。
>>226
自分がただできないだけだと思ってたのですが、そんなに難しい問題だったようですね。
迷惑かけてるようで…。
>>227
問題には何も書いてないのでちょっと分かりません。
教授に一旦聞いてみようかと思います。
0232デフォルトの名無しさん
2007/03/11(日) 01:45:07へ〜うまいこと考えましたね。
0233デフォルトの名無しさん
2007/03/11(日) 01:52:26習ってないことまで知っていないと解けない問題だとしたらどうかと思うし
switch習ったばかりなのに妙にテクニックを駆使したら怪しまれるだろうし
どうなんでしょうね。
0235デフォルトの名無しさん
2007/03/11(日) 01:56:50しかしこれには降参orz
0236デフォルトの名無しさん
2007/03/11(日) 01:57:14いや、ifだのwhileだのforだのgotoだの使っちゃいけませんって状態で
stdc++のset<>だのcopy()だの、ありあえないからw
すぐにわからなくても良いよ
0237214
2007/03/11(日) 01:58:07再帰はまだ習っていません。
習ったことといえば、式の書き方とifとswitchのみなので。
どうすればいいのかわからないので、一旦教授に問い合わせて、何かあればまた戻ってきます。
手伝っていただいた方々、ありがとうございました。
0238デフォルトの名無しさん
2007/03/11(日) 02:02:140239デフォルトの名無しさん
2007/03/11(日) 02:03:320240デフォルトの名無しさん
2007/03/11(日) 02:08:320241デフォルトの名無しさん
2007/03/11(日) 02:09:31思いつくのは、qsortのコールバックでqsort、raise+signal、atexitのハンドラ中でatexit
など考えるだけで寒気がする手段ばかりだ。
あ、setjmp/longjmpがあったか。
0242デフォルトの名無しさん
2007/03/11(日) 02:11:05最初そう思ったけどそういうものか?
>>228
1のときOK?
俺今作成中だけど
再帰使っている。
0とか負の値とかは対応してないよ。
0243デフォルトの名無しさん
2007/03/11(日) 02:12:282, 3, 5, 7を約数に含むという条件で考えてないかお?
0245デフォルトの名無しさん
2007/03/11(日) 02:12:520246デフォルトの名無しさん
2007/03/11(日) 02:14:11無意味な制限や制約をする学校はレベルが低いとだけ言っておこう by トーマス氏の言葉の請負
0247デフォルトの名無しさん
2007/03/11(日) 02:16:51>>225の下のgotoで実装されたループを手動展開するだけだぞ?
たかだか4回程度回せばいいだけだ。
打ち切る時は>>225のように、exit()で逃げる。
0248デフォルトの名無しさん
2007/03/11(日) 02:16:59int main(int argc, char **argv) {
static int x[] = {2, 3, 5, 7};
static int n[sizeof(x)/sizeof(*x)];
static int i, j, u;
switch(argv == NULL) {
case 0:
switch(std::scanf("%d", &argc) == 1){ case 0: return 1; }
std::printf("%d", argc);
switch(argc){ case 0: std::printf("is zero.\n"); return 0; }
default:
switch(i < sizeof(x)/sizeof(*x)) {
case 0:
switch(argc) {
case -1:
case 1:
j || std::printf(" is a multiple of");
n[j] && printf(u++ ? ", %d" : " %d", x[j]);
switch(++j < sizeof(x)/sizeof(*x)) { case 0: std::printf("\n"); return 0; }
break;
default:
std::printf(" is not a multiple of 2, 3, 5, 7.");
return 0;
}
break;
default:
switch(argc % x[i]) { case 0: argc /= x[i]; n[i]++; break; default: i++; }
}
}
return main(argc, NULL);
}
// こんなもんか
0249デフォルトの名無しさん
2007/03/11(日) 02:17:16さすがにこれはやりすぎだと思うが。
0250デフォルトの名無しさん
2007/03/11(日) 02:18:35>>225は仕様を満たしていない。例えば入力が22のとき。
0251デフォルトの名無しさん
2007/03/11(日) 02:19:22C++標準でmain()の再帰は許されていなかったはずだが。
0252デフォルトの名無しさん
2007/03/11(日) 02:20:08ああなるほど、仕様を誤解していた。
0253デフォルトの名無しさん
2007/03/11(日) 02:20:44引数に参照やポインタを使わないようにしてみた。
int func2(int x, int f)
{
int pre = x;
switch(x % 2) { case 0: f |= 1; x /= 2; }
switch(x % 3) { case 0: f |= 2; x /= 3; }
switch(x % 5) { case 0: f |= 4; x /= 5; }
switch(x % 7) { case 0: f |= 8; x /= 7; }
switch(x) { case 1: return f; }
switch(x - pre) { case 0: return -1; }
return func2(x, f);
}
0254デフォルトの名無しさん
2007/03/11(日) 02:24:27いかにもswitchらしくしてみた。
void func(int x) {
switch(x) {
case 0:
case 1: printf("%d is not a multiple of 2, 3, 5, 7.\n",x); break;
default:
int f = func2(x, 0);
switch(f) {
case 1: printf("%d is a multiple of 2.\n",x); break;
case 2: printf("%d is a multiple of 3.\n",x); break;
case 3: printf("%d is a multiple of 2, 3.\n",x); break;
2chに書き込めなかったので省略
case 14: printf("%d is a multiple of 3, 5, 7.\n",x); break;
case 15: printf("%d is a multiple of 2, 3, 5, 7.\n",x); break;
default: printf("%d is not a multiple of 2, 3, 5, 7.\n",x);
}}}
0255デフォルトの名無しさん
2007/03/11(日) 02:25:52出したんだろうな……
0256デフォルトの名無しさん
2007/03/11(日) 02:26:50まぁ、それでも効率よく使うんであればまだしも、何でもかんでも
制約つきで使えってのもねぇ・・・
0257デフォルトの名無しさん
2007/03/11(日) 02:40:46int func2(int x, int f)
{
x % 65536 || (x /= 65536, f |= 1);
x % 256 || (x /= 256, f |= 1);
x % 16 || (x /= 16, f |= 1);
x % 4 || (x /= 4, f |= 1);
x % 2 || (x /= 2, f |= 1);
x % 43046721 || (x /= 43046721, f |= 2);
x % 6561 || (x /= 6561, f |= 2);
x % 81 || (x /= 81, f |= 2);
x % 9 || (x /= 9, f |= 2);
x % 3 || (x /= 3, f |= 2);
x % 390625 || (x /= 390625, f |= 4);
x % 625 || (x /= 625, f |= 4);
x % 25 || (x /= 25, f |= 4);
x % 5 || (x /= 5, f |= 4);
x % 5764801 || (x /= 5764801, f |= 8);
x % 2401 || (x /= 2401, f |= 8);
x % 49 || (x /= 49, f |= 8);
x % 7 || (x /= 7, f |= 8);
return x == 1 ? f : -1;
}
0258デフォルトの名無しさん
2007/03/11(日) 02:42:38なるほどね
0259デフォルトの名無しさん
2007/03/11(日) 02:59:060260デフォルトの名無しさん
2007/03/11(日) 05:26:26#include <stdio.h>
int main() {
int x;
scanf("%d", &x);
int y = x*x; /* negative guard */
int z = 15 - ((y%2)+1)/2*1 - ((y%3)+2)/3*2 - ((y%5)+4)/5*4 - ((y%7)+6)/7*8;
switch (z) {
case 0x0: printf ("%d is not a multiple of 2, 3, 5, 7.\n", x); break;
case 0x1: printf ("%d is a multiple of 2.\n", x); break;
case 0x2: printf ("%d is a multiple of 3.\n", x); break;
case 0x3: printf ("%d is a multiple of 2, 3.\n", x); break;
case 0x4: printf ("%d is a multiple of 5.\n", x); break;
case 0x5: printf ("%d is a multiple of 2, 5.\n", x); break;
case 0x6: printf ("%d is a multiple of 3, 5.\n", x); break;
case 0x7: printf ("%d is a multiple of 2, 3, 5.\n", x); break;
case 0x8: printf ("%d is a multiple of 7.\n", x); break;
case 0x9: printf ("%d is a multiple of 2, 7.\n", x); break;
case 0xa: printf ("%d is a multiple of 3, 7.\n", x); break;
case 0xb: printf ("%d is a multiple of 2, 3, 7.\n", x); break;
case 0xc: printf ("%d is a multiple of 5, 7.\n", x); break;
case 0xd: printf ("%d is a multiple of 2, 5, 7.\n", x); break;
case 0xe: printf ("%d is a multiple of 3, 5, 7.\n", x); break;
case 0xf: printf ("%d is a multiple of 2, 3, 5, 7.\n", x); break;
}}
0261デフォルトの名無しさん
2007/03/11(日) 05:39:18それ要求仕様を満たしてない。>>225と同じ勘違いだな。
>>223-224を参照。
0262デフォルトの名無しさん
2007/03/11(日) 06:18:27[2] 問題文: http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3743.txt
[3] 環境
[3.1] OS: WindowsXP SP2
[3.2] コンパイラ名とバージョン: VC++ 6.0
[3.3] 言語: いづれでも可です
[4] 期限: 13日早朝まで
[5] その他の制限: クラス以外は一通り学習したつもりです。
基礎的な問題だとは思うのですが、typedefがついてるため理解に苦しんでいます。
学生レベルのコーディングでお願いできれば助かります。よろしくお願いします
0263デフォルトの名無しさん
2007/03/11(日) 06:20:36printfなどで"a"等出力するだけで良いということでお願いします。
0264デフォルトの名無しさん
2007/03/11(日) 06:34:05typedef void (* F_FUNC)( void );
void func_a(void) { putchar('a'); }
void func_b(void) { putchar('b'); }
void func_c(void) { putchar('c'); }
void func_d(void) { putchar('d'); }
F_FUNC FUNC_TBL[] =
{
func_a,
func_b,
func_c,
func_d,
NULL
};
int main()
{
int i;
for (i=0; i<4; ++i)
(FUNC_TBL[i])();
}
0265デフォルトの名無しさん
2007/03/11(日) 07:41:13ループ陽ポインタでNULL判定ループのほうがよさげな感じがするが
typedefも用意されてるし
0266デフォルトの名無しさん
2007/03/11(日) 10:00:37最後の呼び出しループはwhile使えって話じゃないかな
int i=0;
while(FUNC_TBL[i]){
(FUNC_TBL[i])();i++;
}
0267デフォルトの名無しさん
2007/03/11(日) 10:23:51早い回答ありがとうございます、非常に助かります。
関数ポインタテーブルが初めてだったのとtypedefの妙な付け方に混乱してました。
提示してもらったソースを元に、for,while両方進めていきたいと思います。
ありがとうございました。
0268デフォルトの名無しさん
2007/03/11(日) 15:24:43[2] 問題文(含コード&リンク):
Recursive Functionを使って、入力したStringがPalindrome(回文 ((前後どちらから読んでも同じ語句))かどうかを判断するプログラム作る。例;radar = ada = d。
able was i ere i saw elbaやa man a plan a canal panama(スペースを抜けば)、もPalindromeですのでReturn Trueされます。
限定としてfunctionの中に
strncpy(d, c+1, strlen(c)-2);
d[strlen(c)-2] = '\0';
を使う(stringの最初と最後のcharacterを省く)。ファンクション使用なのでforループ等が使えなく、やり方がわからず困っています。頭の良いよろしくお願いします。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: gcc 3.4
[3.3] 言語: C++
[4] 期限: ([2007年03月17日17:00まで]
0269デフォルトの名無しさん
2007/03/11(日) 15:26:43英語でおk
0270デフォルトの名無しさん
2007/03/11(日) 16:14:41int check_palindrome(char *str, size_t len)
{
if(len == 0 || len == 1)
return 1;
else if(str[0] == str[len-1])
return check_palindrome(++str, len-2);
return 0;
}
0271デフォルトの名無しさん
2007/03/11(日) 16:35:21bool Recursive(const char * c) {
size_t len = strlen(c);
if(len == 0) return true;
std::vector<char> buffer(len+1);
char * d = &buffer[0];
memcpy(d, c, len+1);
while(len > 1) {
if(d[0] == ' ') {
strncpy(d, d+1, len-1);
d[len-1] = '\0';
} else if(d[len-1] == ' ') {
d[len-1] = '\0';
} else if(d[0] != d[len-1]) {
return false;
} else {
strncpy(d, d+1, len-2);
d[len-2] = '\0';
}
len = strlen(d);
}
return true;
}
0272デフォルトの名無しさん
2007/03/11(日) 18:06:14ちょいワロタ
0273デフォルトの名無しさん
2007/03/12(月) 08:24:28[2] 問題文(含コード&リンク):
2分探索木に関する問題です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3744.txt
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
よろしくおねがいします
0274デフォルトの名無しさん
2007/03/12(月) 16:38:06解放(FreeTree)が分からん……。
0275デフォルトの名無しさん
2007/03/12(月) 16:42:180276デフォルトの名無しさん
2007/03/12(月) 18:09:30ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3745.txt
FreeTreeが自信なし。
SrchNodeとPrintTreeはttp://nma.elcom.nitech.ac.jp/~kame_oji/progII/08.pdfをパ……参考にした。
追記
FreeTree内のif (ptr1 >= STK_SIZE)の後、returnを追記しといてください。
0277デフォルトの名無しさん
2007/03/12(月) 23:42:44void FreeTree(BinNode *p)
{
while (p != NULL){
BinNode*q;
while(p->right != NULL){
q = p->right;
p->right = p->right->left;
q->left = p;
p = q;
}
q = p->left;
free(p);
p = q;
}
}
0278デフォルトの名無しさん
2007/03/13(火) 02:41:32俺も出来たから載せチャオ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3747.txt
でも、ノード全削除は出来なかった
0279デフォルトの名無しさん
2007/03/13(火) 18:14:000280デフォルトの名無しさん
2007/03/13(火) 18:33:390281デフォルトの名無しさん
2007/03/13(火) 19:15:000282デフォルトの名無しさん
2007/03/13(火) 19:16:35広義に言われてもなぁ。
インクルードファイルはあるし、ポインタはあるし
配列の範囲チェックもないし、その他も色々面倒なところあると思うけど。
0283デフォルトの名無しさん
2007/03/13(火) 19:20:57メモリ管理も全部自分でやらなきゃなんないじゃないかよ。C/C++は。
Boostのshared_ptrとか言い出すなよ。
0284デフォルトの名無しさん
2007/03/13(火) 19:22:040285デフォルトの名無しさん
2007/03/13(火) 19:27:160286デフォルトの名無しさん
2007/03/13(火) 19:56:130287デフォルトの名無しさん
2007/03/13(火) 20:07:550288デフォルトの名無しさん
2007/03/13(火) 20:08:380289デフォルトの名無しさん
2007/03/13(火) 20:10:190290デフォルトの名無しさん
2007/03/13(火) 20:16:06ならばstd::tr1::shared_ptrと屁理屈
でも時には自分で管理することが利点になることもあるよ
0291デフォルトの名無しさん
2007/03/13(火) 20:47:29オブジェクト作りっぱなしジャーマンなコードに度肝抜かれた
GCすげえと思ったけどC出身だと何か気持ち悪い。
0292デフォルトの名無しさん
2007/03/13(火) 20:53:59とかいった解放メソッド呼ばないのはJavaでも行儀が悪い。
0293デフォルトの名無しさん
2007/03/13(火) 20:55:550294デフォルトの名無しさん
2007/03/13(火) 21:02:22仕事だといろいろなしがらみがあってね…
でも、趣味でやるならおk!
0295デフォルトの名無しさん
2007/03/13(火) 21:06:59な〜んかVBとJavaばかり
0296デフォルトの名無しさん
2007/03/13(火) 21:39:39[2] 問題文(含コード&リンク): 1から100までの自然数を素因数に分解して出力しなさい
実行結果
1 = 1
2 = 2
3 = 3
4 = 2 * 2
5 = 5
6 = 2 * 3
7 = 7
8 = 2 * 2 * 2
9 = 3 * 3
10 = 2 * 5
・
・
・
99 = 3 * 3 * 11
100 = 2 * 2 * 5 * 5
[3] 環境
[3.1] OS:Windows xp
[3.2] コンパイラ名とバージョン: Internet Navigware Cインタプリタ V4.0
[3.3] 言語: C言語
[4] 期限: [2007年3月16日13:00まで]
[5] その他の制限:
勉強しながら頑張ってるのですが一向に進みません。
よろしくお願い致しますm( __ __ )m
0297デフォルトの名無しさん
2007/03/13(火) 22:01:171だけ特別扱いして勝負は2以降だな。
0298デフォルトの名無しさん
2007/03/13(火) 22:06:43#include <stdio.h>
void printFactors(unsigned i) {
unsigned j, b = 0;
if(i <= 1) printf("%u", i);
else for(j = 2; i != 1; j++) {
if(!(i % j)) {
i /= j;
printf("%s%u", b ? " * " : "", j--);
b = 1;
}
}
}
int main(void) {
unsigned i;
for(i = 1; i <= 100; i++) {
printf("%u = ", i);
printFactors(i);
putchar('\n');
}
return 0;
}
0299296
2007/03/13(火) 22:41:06ありがとう御座いますー>w<
僅か30分で・・・・・・自分の勉強不足を痛感してます^^;
実は課題があと2問あるのですが、これらもお願い出来るでしょうか。
よろしくお願いします (_ _(--;(_ _(--;
0300296
2007/03/13(火) 22:42:3816進数を入力して、10進数に変換し、出力しなさい
実行結果
Input Num:
>11
17
Input Num:
>A0
160
Input Num:
>1111
4369
Input Num:
>FFFF
-1
0301296
2007/03/13(火) 22:43:33年(西暦)と月を入力して、当該のカレンダを表示させなさい。
(閏年も考慮すること)
実行結果
input year:2003
input month:1
------------------------------
日 月 火 水 木 金 土
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
------------------------------
宜しくお願いします m( __ __ )m
0302デフォルトの名無しさん
2007/03/13(火) 22:47:430303デフォルトの名無しさん
2007/03/13(火) 22:54:13#include<stdio.h>
int main(void){
short value=0;
while(value!=-1){
printf("Input Num:\n>");
if(fscanf(stdin, "%hx", &value)!=1)
break;
printf("%hd\n", value);
}
return 0;
}
0304デフォルトの名無しさん
2007/03/13(火) 22:54:370305デフォルトの名無しさん
2007/03/13(火) 22:57:21shortが16bitじゃなかったらおかしくならね?
0306デフォルトの名無しさん
2007/03/13(火) 22:58:05じゃあそういう風にコメントしておけばおk
0307デフォルトの名無しさん
2007/03/13(火) 22:58:46#include <stdio.h>
void zeller(int year, int month);
int main(void) {
int year,month;
printf("input year : ");
scanf("%d",&year);
if(year<=1582) return 1;
printf("input month : ");
scanf("%d",&month);
if(month<=0 || month>=13) return 1;
zeller(year, month);
return 0;}
void zeller(int year, int month) {
int days[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
int i,c,zw, zy=year, zm=month, zd=1;
if( (year%4==0 && year%100!=0) || year%400==0 ) days[1]=29;
else days[1]=28;
if(zm<=2) { zy--; zm+=12; }
zw = ( zy + (zy/4) - (zy/100) + (zy/400) + ((13*zm+8)/5) + zd) % 7;
printf("------------------------------\n");
printf("日 月 火 水 木 金 土\n");
for(i=0; i<zw; i++) printf(" ");
for(zd=1; zd<=days[month-1]; zd++,i++) {
printf("%2d ",zd);
if(i%7==6) printf("\n");
} printf("\n------------------------------\n");}
0309296
2007/03/14(水) 00:34:34>>307
ありがとう御座います( ^▽^)
大変助かりました。
あと、問3なのですが、第1週だけ日にちと曜日がズレてしまうようです。
第4週は左詰になっていて問題ありませんでした。
0310デフォルトの名無しさん
2007/03/14(水) 00:45:24printfの半角スペースが2ch投稿時に減ってしまったのだろう。
半角スペースを三つ分出力すればOK。
0312デフォルトの名無しさん
2007/03/14(水) 08:42:29なぜあの時自力で宿題をやらなかったのかと
0313デフォルトの名無しさん
2007/03/14(水) 08:52:26前スレに貼り付けたネタ課題群でいいんなら貼るよ。
誰も回答しなかったけどw
0314デフォルトの名無しさん
2007/03/14(水) 10:07:460315デフォルトの名無しさん
2007/03/14(水) 10:30:38春休みにおまえらが暇かと思って貼ってやっただけさね。
0316デフォルトの名無しさん
2007/03/14(水) 11:02:580317デフォルトの名無しさん
2007/03/14(水) 11:05:40単なる目立ちたがり屋なんだろう。
調子に乗ってコテハンになるようなタイプだからシカトしとけ。
0318デフォルトの名無しさん
2007/03/14(水) 11:18:32ま、いいけどね。
0319デフォルトの名無しさん
2007/03/14(水) 11:23:000320デフォルトの名無しさん
2007/03/14(水) 12:14:130321デフォルトの名無しさん
2007/03/14(水) 12:27:04おもしろくないネタ何個も貼られても・・・
0322デフォルトの名無しさん
2007/03/14(水) 12:37:09実際に宿題であるかどうかなんて、意味あんの?
親切にもならない親切をした気になって宿題を解いてる奴なんていないだろ。
0323デフォルトの名無しさん
2007/03/14(水) 13:04:080324デフォルトの名無しさん
2007/03/14(水) 14:27:31必死で反論しているのが面白い
ネタ課題自体は異常なまでにつまらなかったが
0325デフォルトの名無しさん
2007/03/14(水) 18:00:030326デフォルトの名無しさん
2007/03/14(水) 18:04:42このスレで宿題晒してるのってどういう層?
情報技術系高校?
0327デフォルトの名無しさん
2007/03/14(水) 18:07:260328デフォルトの名無しさん
2007/03/14(水) 18:12:52春休みの宿題かなんかだと思ってた。
良い年こいた大人がレベル低すぎだろ・・・
0329デフォルトの名無しさん
2007/03/14(水) 18:13:58大人に対する幻想抱きすぎ
0330デフォルトの名無しさん
2007/03/14(水) 18:17:45新卒ってまだガキだよ
大学生が在学中にC言語なんか勉強するわけない
0331デフォルトの名無しさん
2007/03/14(水) 18:19:57当方馬鹿にされがちなゲー専生なんだが
以前大学三年生のCのプログラム見せてもらって愕然とした。
ちょっと間接的に養成問題作成の依頼が回ってきてるから
何出そうか考え中。
0332デフォルトの名無しさん
2007/03/14(水) 18:25:50誰か代わりにやってくれって感じだ。宿題じゃないから頼めないんだけど orz
0333デフォルトの名無しさん
2007/03/14(水) 18:50:190334デフォルトの名無しさん
2007/03/14(水) 18:57:510335デフォルトの名無しさん
2007/03/14(水) 21:36:58下のようなchar brock[8][8]で書いた図があります
この図の■によって囲まれている□を他の文字に
書き換える。ただし、外接にある□は書き換えない。
■■■□■□■□
■■■□■□■□
■□□□■□■■
□■□□■■■□
■■■■□□■■
□■□□■■■□
■□□■■□■□
□■■■□■□□
要は下図のように■に囲まれている部分の□だけを書き換える。
■■■□■□■□
■■■□■□■□
■□□□■□■■
□■□□■■■□
■■■■**■■
□■**■■■□
■**■■*■□
□■■■□■□□
0336デフォルトの名無しさん
2007/03/14(水) 22:06:03>>1読んでテンプレに沿って書いてくれ
0337デフォルトの名無しさん
2007/03/14(水) 22:44:270338デフォルトの名無しさん
2007/03/14(水) 22:51:260339デフォルトの名無しさん
2007/03/14(水) 22:51:50しかし、ペイントにしろ碁にしろ外周と他の文字で囲まれたものが対象に
ならないということから、違うな。
0340デフォルトの名無しさん
2007/03/14(水) 22:53:43>ttp://pc10.2ch.net/test/read.cgi/tech/1166969820/861
0341デフォルトの名無しさん
2007/03/14(水) 22:55:22どう有効活用するか、だな。どっちでも良いけどw
0342デフォルトの名無しさん
2007/03/14(水) 23:03:530343デフォルトの名無しさん
2007/03/14(水) 23:05:42ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3748.txt
0344デフォルトの名無しさん
2007/03/14(水) 23:17:36素直に塗っていくパターンだと外周に到達してのリトライ多発するから、
外周隣接の□エリアに対象外フラグを立てて、最後に手つかずの□だけ置換
すればいいか。
と考えて出てきたらすでにコード出てるし。
0345デフォルトの名無しさん
2007/03/14(水) 23:17:59綺麗に書けてるなー
0346デフォルトの名無しさん
2007/03/14(水) 23:35:06http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3749.cpp
0347デフォルトの名無しさん
2007/03/14(水) 23:56:550348デフォルトの名無しさん
2007/03/14(水) 23:58:03こういう関数のネーミングセンスある人って尊敬する
0349デフォルトの名無しさん
2007/03/15(木) 00:01:150350デフォルトの名無しさん
2007/03/15(木) 00:04:240351デフォルトの名無しさん
2007/03/15(木) 00:32:44func( ) {
}
と
func( )
{
}
ではどっちがいいのかな?見やすさとか
0352デフォルトの名無しさん
2007/03/15(木) 00:34:09個人的には関数定義は後者。
前者はwhileとかforとかswitchとかで使うかな。
0353デフォルトの名無しさん
2007/03/15(木) 00:36:50Cでは前者、C++では後者にしてる。なんとなく。
0354デフォルトの名無しさん
2007/03/15(木) 00:39:51俺は全部後者で。俺は前者だとブロックが分からなくなってしまうので
0355351
2007/03/15(木) 00:43:04ありがと
私はすべて後者なんだよね
でも、ほかの人のソース見てると前者が圧倒的に多くて
私だけ違うのかなぁと思った
人によってそれぞれっぽいのでこのままでもいいかな?なんて思ってみたり
0356デフォルトの名無しさん
2007/03/15(木) 00:47:28> ほかの人のソース見てると前者が圧倒的に多くて
そんなことはないんじゃないの。
上はJavaスタイルだからJavaのコードなら普通だし、その流れで
C++でも使われることはある。
ただ、K&RともANSIともBSDともGNUともLinuxとも違うスタイルだし、
Cでそういうコードは俺はほとんど見たこと無いぞ。
あ、「関数定義以外の」ブロックをそう書くのは普通だけどね。
0357351
2007/03/15(木) 00:56:33そうかなぁ?
けっこう見るような気がするんだけど
それと言葉足らずでゴメン
関数は後者だけど ifやswitch、for、whileなどは前者が...と言う意味
私は分岐処理や構造体宣言などのときも後者なんだよね
0358デフォルトの名無しさん
2007/03/15(木) 01:00:27なんだ。関数以外のブロックの話ね。なら全然普通。K&Rはそのスタイルだし。
ただし、後者のスタイルも全然普通。ANSIはこっちだし。
0359デフォルトの名無しさん
2007/03/15(木) 01:00:560361デフォルトの名無しさん
2007/03/15(木) 02:22:35俺も後者を採用しようかと。今までなんとなく前者だったが。
0362デフォルトの名無しさん
2007/03/15(木) 02:37:39”〜のブロック”って言うブロックを修飾するものの意味で
<〜>{
}
って書いてた
<〜>
{
}
って書くと何かずれてる感じを受けるんだよねぇ
0363デフォルトの名無しさん
2007/03/15(木) 03:00:42一行コピペしてちょこっとやれば完成するから便利。
0364335
2007/03/15(木) 05:40:54http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3751.txt
0365デフォルトの名無しさん
2007/03/15(木) 13:00:35解答ありがとうございます
レス遅れてしまいすいません
今回の問題は自動解答してくれないので、動くものを送信させていただきました
ほんとうにありがとうございました
0366デフォルトの名無しさん
2007/03/15(木) 14:57:31I V X L S D Mの文字を使い、
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
と決まっています。
例えば、MCCLVIIなら1000+100+100+50+1+1=1252というようになります。
そしてインプットファイルは
MCCXXVI CV +
MCCXXVI MCCXXVI /
・
・
・
・
・
のようになっており、同じ行にある二つの数字を、
+なら足し算、-なら引き算、*ならかけ算、/なら割り算してアウトプットしなければなりません。
インプットファイルから数字というか文字を取り出すところからもう分かりません。
どなたかお力を貸してもらえませんか?
0367デフォルトの名無しさん
2007/03/15(木) 15:06:25>>1を読んで書き直し。
0368デフォルトの名無しさん
2007/03/15(木) 15:07:03ホワイトスペースまで読んで、3つに区切って
1文字ずつ調べて数字に変えて足していく。
で、最後の演算子を調べて計算。
これを繰り返し
0369デフォルトの名無しさん
2007/03/15(木) 15:10:340370デフォルトの名無しさん
2007/03/15(木) 16:15:490371デフォルトの名無しさん
2007/03/15(木) 16:16:460372デフォルトの名無しさん
2007/03/15(木) 16:18:13CDは400、IXは9。
どうやってそのまま計算するの?
0373370
2007/03/15(木) 16:19:240374デフォルトの名無しさん
2007/03/15(木) 16:20:540375デフォルトの名無しさん
2007/03/15(木) 16:40:32mixiとかにマルチするのが忙しいからなのだろうか。
0376デフォルトの名無しさん
2007/03/15(木) 16:44:20MCCLVII って 1257だよな?
0377デフォルトの名無しさん
2007/03/15(木) 16:46:53int r_to_n(char *p){
char roman[] = {'M','D','C','L','X','V','I'};
int num[] = {1000, 500, 100, 50, 10, 5, 1};
int i, sum = 0;
for(i=0; i<=6; i++) {
while(*p==roman[i]) {
sum += num[i];
p++;}
if(i%2) {
if(*p==roman[i+1]) {
if(*(p+1)==roman[i-1]) {
sum += num[i+1] * 9;
p += 2;}
else if(*(p+1)==roman[i]) {
sum += num[i+1] * 4;
p += 2;}}}}
return sum;}
0378デフォルトの名無しさん
2007/03/15(木) 16:48:590379デフォルトの名無しさん
2007/03/15(木) 16:58:44#include <string.h>
int roman2dec(const char *s) {
static const char *v = "IVXLCDM";
char *p;
int r = 0, a, b = 0;
for(; *s; s++) {
if(!(p = strchr(v, toupper(*s)))) break;
for(a = 1; v < p; p--) a *= (p - v) % 2 ? 5 : 2;
if(b && a > b) r += a - b, b = 0; else r += b, b = a;
}
return r + b;
}
俺も書いたから置いとく
0380デフォルトの名無しさん
2007/03/15(木) 17:16:24>>367を見て書き直すのがめんどーで消えた可能性が高い
いやなタイプだな
0381デフォルトの名無しさん
2007/03/15(木) 17:17:590382デフォルトの名無しさん
2007/03/15(木) 17:18:22相手の動向チョコチョコ気にしてお前らは童貞かよ
0383デフォルトの名無しさん
2007/03/15(木) 17:19:130384デフォルトの名無しさん
2007/03/15(木) 17:19:52粋がるのはそのへんにしとけ
0385デフォルトの名無しさん
2007/03/15(木) 17:20:01↓
0386デフォルトの名無しさん
2007/03/15(木) 17:21:00「生まれ変わり?信じてないよ。あたしはいつだって松たか子なんだから」「ガキなんてのはこうやってにらみつければ
泣き止むんだよ!」「あたしは男優。だからラブシーンはホモだよ(笑)。」「幸四郎の作る飯はいつも美味いよ。」
「もこみちの演技はもっと愛されていいはずなんだけど。」「玄米ビスケットなんてガキは食わないよ(笑)。あたしは
知ってる。」「お嬢(美空ひばり)が逝ったとき思ったね。あたしがピアフになる、って。」「いじめなんか図工の時間で
やり返すんだよ!!」「ガキの頃なんて欲の塊。餓(かつ)えるばかりの鬼なんだから、ガキは"ガキ"でいーの。」
「白百合(高校)はつまんなかった。どうもブルースがない。」「人様に運気がどーのこーの言うもうろくばあさんの
ウンコは臭いもんよ。」「兄貴(染五郎)の最初のガキはあたしがこの手で引っ張り出してやった。」「どんなに雪が
吹雪いてたって、あたしん中は一年中が春さ。」「前張りする意味がわかんない。」「最近のタバコは肺にガツンと
くるものが少ないね。」「ズバコンはズバコン。松たか子は松たか子。ただ凛としている。」「ホンコンさんとは魂が
生き別れたと思ってる。」
0387デフォルトの名無しさん
2007/03/15(木) 17:31:591行に常にひとつの演算子しか出ないならスタックいらんか
0388デフォルトの名無しさん
2007/03/15(木) 17:42:310390デフォルトの名無しさん
2007/03/15(木) 18:08:29おはよう
で、IVはローマ数字どおり4とするのか
それともIV=1+5=6とするのか、どっちにするの?
0392デフォルトの名無しさん
2007/03/15(木) 18:19:18なら>>377,379は違う
これはローマ字表記の計算、IVを4、IXを9としている
0393366
2007/03/15(木) 19:53:11M D C L X V Iはどうやって数字に変換させるんですか?
関数を使わなければいけないのは分かるんですが…
0394デフォルトの名無しさん
2007/03/15(木) 19:58:52char taiou[2][7] = {
{'I', 'V', 'X', 'L', 'C', 'D', 'M'},
{1, 5, 10, 50, 100, 500, 1000}
};
0395デフォルトの名無しさん
2007/03/15(木) 20:05:32そりゃあんまりだろ…
0396デフォルトの名無しさん
2007/03/15(木) 20:09:32手抜きすぎw
だいたいcharだと500、1000は保持できないだろ
0397デフォルトの名無しさん
2007/03/15(木) 20:17:580398デフォルトの名無しさん
2007/03/15(木) 20:19:59これで
0399デフォルトの名無しさん
2007/03/15(木) 20:21:00間違ったこうか・・・
0400デフォルトの名無しさん
2007/03/15(木) 20:23:22>>377案だとローマ数字の文字の配列と、対応する数の配列で添え字あわせて引いてる
>>379案だとIVXLCDMってのが5倍、2倍、5倍、2倍・・・になってることから計算
どっちかしかないと思うよ
0401デフォルトの名無しさん
2007/03/15(木) 21:28:49素直が一番いいよ。
#include <stdio.h>
#include <string.h>
int str2int(
char *str
)
{
int i;
int sum = 0;
for (i = 0; i < strlen(str); i++) {
switch (str[i]) {
case 'I':
sum += 1;
break;
(省略)
default:
break;
};
}
return(sum);
}
0402デフォルトの名無しさん
2007/03/15(木) 21:40:250403デフォルトの名無しさん
2007/03/15(木) 21:43:080404デフォルトの名無しさん
2007/03/15(木) 21:48:260405デフォルトの名無しさん
2007/03/15(木) 22:14:17なんかごちゃごちゃしすぎた。
動作検証はあんまりしてない。
0406デフォルトの名無しさん
2007/03/15(木) 22:22:230407デフォルトの名無しさん
2007/03/15(木) 22:29:33特にどうってことない。
0408デフォルトの名無しさん
2007/03/15(木) 22:30:51特にどうってことない。
0409デフォルトの名無しさん
2007/03/15(木) 23:13:480410デフォルトの名無しさん
2007/03/15(木) 23:49:570411デフォルトの名無しさん
2007/03/16(金) 00:15:210412デフォルトの名無しさん
2007/03/16(金) 00:18:22[2] 問題文(含コード&リンク):
実数xと整数nを受け取り、ベキ乗(xのn乗)を計算して返す関数を作成せよ。ただし、main関数では適当なデータをキー入力し、
関数を呼び出した後は、ベキ乗の値を出力せよ。ここでは、nが負の値である場合も考慮すること。
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: VC++ 6.0
[3.3] 言語: C++
[4] 期限: 3月16日14時
初歩的な知識の範囲でよろしくお願いします。
0413デフォルトの名無しさん
2007/03/16(金) 00:22:290414デフォルトの名無しさん
2007/03/16(金) 00:32:15講義の内容もこんな感じなのか
0415デフォルトの名無しさん
2007/03/16(金) 00:33:19#include<iostream>
using namespace std;
double mypow(double x,int n) {
int i; double pw=1.0;
if(x==0.0) return 0.0;
for(i=0; i<abs(n); i++) pw*=x;
if(n<0) pw=1.0/pw; return pw;}
int main(void) {
double x; int n;
cout << "べき乗するプログラム\n";
cout << "基数を入力して下さい。 > "; cin >> x;
cout << "指数を入力して下さい。 > "; cin >> n;
cout << x << "^" << n << " = "<< mypow(x,n) << endl; return 0;}
0416デフォルトの名無しさん
2007/03/16(金) 00:42:34double pw = 1.0;
if (n >= 0) for (int i=0; i<n; i++) pw *= x;
else for (int i=0; i>n; i--) pw /= x;
return pw;
}
0417デフォルトの名無しさん
2007/03/16(金) 00:51:57{
double pw;
for(int i = 0, pw = 1.0; i < (n<0 ? -n : n); i++) pw*=x;
return n<0 ? 1.0/pw : pw;
}
0418デフォルトの名無しさん
2007/03/16(金) 00:52:220419デフォルトの名無しさん
2007/03/16(金) 00:53:230420デフォルトの名無しさん
2007/03/16(金) 01:00:360421デフォルトの名無しさん
2007/03/16(金) 01:00:40ナニを乗算しても0だし。
0422デフォルトの名無しさん
2007/03/16(金) 01:02:46プログラミングの世界では0**0=1にするのが普通。
0423デフォルトの名無しさん
2007/03/16(金) 01:06:18n^2 * n^-2 を計算した場合、 n^(2-2) = n^0 となった場合
本来の結果を元に0乗が1と定義できるというのが証明されているからであって
指数同士の計算をしないんであれば、突然ある数の0乗というのは表れない。
逆に定義しちゃっているからって、1は何かの0乗だとか、敢えて言う必要もなし。
0424デフォルトの名無しさん
2007/03/16(金) 01:07:26前述のように、底が0の値の指数同士の計算をするなんてこともないんで
普通じゃ0の0乗はなんだ?なんて問題にもぶちあたらない。
0425デフォルトの名無しさん
2007/03/16(金) 01:46:04わざわざお尻から体内に戻して出す必要もないってこったね。
0426デフォルトの名無しさん
2007/03/16(金) 01:49:200427デフォルトの名無しさん
2007/03/16(金) 03:46:18指数関数は「P(有理数)をN回(自然数)掛け合わせたら」という
累乗の計算の自然な拡張として定義されているのではなかったか
階乗とガンマ関数の関係みたいに
0428デフォルトの名無しさん
2007/03/16(金) 03:52:230429デフォルトの名無しさん
2007/03/16(金) 04:01:21いや、数学の方でも 0^0=1 な気がする
多分 0!=1 と似たような理由
↓数学科の人、あとよろしく
0430デフォルトの名無しさん
2007/03/16(金) 04:02:39気がするならまず実装されているpow関数で結果を見てみな。
ありもしないことを勝手に言うと、数学会の人からクレームが来るよw
0431デフォルトの名無しさん
2007/03/16(金) 04:05:34つ http://www.google.co.jp/search?q=0^0
0432デフォルトの名無しさん
2007/03/16(金) 04:08:230433デフォルトの名無しさん
2007/03/16(金) 04:11:39はい、そういうのが本当に正しい結果を出していると勘違いしている人ハッケソ
そういうのは人間が作ったプログラムで、正しい結果を出しているとは限らないんだよ。
実際、エクセルでPOWER関数でやってみたら、答えは出なかった。
Cのmath.hを取り込んでpowでやってみたら、エラーが起きたけど結果は1と出た。
しかし、それは何かの0乗は1と言うルール作りをした上で、0の0乗も1としてしまったミスだと考えられる。
実際のところ、0の0乗なんて数式は計算上出てこない。
>>423にあるように、nが0以外なら数値として残るが、敢えて意味もなく0の指数同士を
計算する必要性のある計算が存在するだろうか?あるならそこから実例を出して証明してくれい。
0434デフォルトの名無しさん
2007/03/16(金) 04:14:130435デフォルトの名無しさん
2007/03/16(金) 04:15:068が2の3乗と書き換えられて、1/8が2の-3乗と書き換えられ、それらの値を乗算するとき
2^3 * 2^-3 = 2^(3-3) = 2^0 となってしまう場合の帳尻あわせ程度だろ。
わざわざ1という数字を持ち出して、nの0乗に置き換えて書く奇妙な奴がいたら
きんもぉ〜☆ とだけいっておく。例えば
1+1= 3^0 + 4^0 と書き換えて計算する奴は きんもぉ〜★
0436デフォルトの名無しさん
2007/03/16(金) 04:18:02間違いない きんもぉ〜★
0437デフォルトの名無しさん
2007/03/16(金) 04:19:59そうだよな、擦れ違いな話しを振った俺が悪かったんだよ。
だからもうやめれ。痛々しい……
0438デフォルトの名無しさん
2007/03/16(金) 04:20:480439デフォルトの名無しさん
2007/03/16(金) 04:20:58いや、さすがにそこまで特殊なことを考える奴はおらんだろ……
0440デフォルトの名無しさん
2007/03/16(金) 04:22:59あぁ、頭の良いインド人と血痕死体
0441デフォルトの名無しさん
2007/03/16(金) 04:25:11出てきちゃった、出来ちゃった婚の計算式があったから。最初っから0乗するなんて誰も思わんだろ。
0442デフォルトの名無しさん
2007/03/16(金) 04:31:31でも嫁
0443デフォルトの名無しさん
2007/03/16(金) 04:34:11ちょっと>>427と>>432を読み直してくれ
「誰も思わん」とか「できちゃった婚」とか、
数学はそこまで感覚的・直感的な代物ではない
0444デフォルトの名無しさん
2007/03/16(金) 04:41:45値として存在するの?直感だの感覚的じゃなくて理屈で言っているんだが?w
人間が0乗を1と定義した理由はあげられている。それを用いて0の0乗まで1にする必要はない。
そもそも、乗算や除算において、0の0乗が出てくる場面と、0の0乗を1にしなきゃいけない実例もあげてくれ。
それがなきゃまず 議論する 必要もない。追求して数学の歴史に名を残したいなら
数学会でそれに関する筋の通った研究結果を論文にして発表してくれ。
0445デフォルトの名無しさん
2007/03/16(金) 04:49:300446デフォルトの名無しさん
2007/03/16(金) 04:52:22= 0 * 0 = 0 ? ちなみに、0の0乗以外は0でした。そりゃ0を何回かけても0だ罠。
0の0乗が1になるのはどんな他の理論をこじつけても説明がつかない。
0447デフォルトの名無しさん
2007/03/16(金) 04:53:39それじゃ、>>446の結果は0のn乗数にして表したとたん、答えは1になるんだ。恐ろしいな、0って。
0448デフォルトの名無しさん
2007/03/16(金) 04:57:00お前らじゃこいつは倒せないな。俺はもう6年以上前に倒したけど。
0449デフォルトの名無しさん
2007/03/16(金) 04:58:290450443
2007/03/16(金) 04:59:41じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
指数が自然数ではないもの、つまりゼロや負数や無理数も扱おうとするのならば、
それは必然的に「PをN回」ではなく、それを拡張した(と見なせる)
指数関数と呼ばれる領域で話をしなければならない、と繰り返しているだけだよ。
ついでに言うと俺はゼロのゼロ乗が1だとは一言も言っていない。
不定なものは不定。ただ、1を返してくれると便宜上楽ではある。
俺が自分の研究で書くプログラムの中に出てくる中で実際に出てくるのはもちろん2項展開。
0451デフォルトの名無しさん
2007/03/16(金) 05:00:21蟹にもプログラマなら気づくだろうに。
逆に考えるんだ、0が変わるんじゃない、0に変わるんだ。
0452デフォルトの名無しさん
2007/03/16(金) 05:00:57うん、だからそういうもともと存在する値と、存在しない値に対して1と定義したものとじゃ
もう理屈云々の話は通用しないんだよ、ごちゃごちゃうるさいから後は数学板でやれボケ
0454デフォルトの名無しさん
2007/03/16(金) 05:05:21数学版か数学の教授あたりと議論したほうが良い答え出ると思うよ
マは数学の専門家じゃないしね
0455デフォルトの名無しさん
2007/03/16(金) 05:20:08じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
0456デフォルトの名無しさん
2007/03/16(金) 05:22:560457デフォルトの名無しさん
2007/03/16(金) 05:24:23大学の教養レベルどころか大学受験レベルで十分足りるようなもんだが
0458デフォルトの名無しさん
2007/03/16(金) 05:26:13って考えたら、他の理論を当てはめる意味すらない。まっ、追求のためにやっているんだろうけど
まずは指数同士の計算の帳尻あわせで1にしないと何になるの?指数同士の計算を禁止
せざるを得ないだろ。
0459443
2007/03/16(金) 05:31:58数を掛け合わせる「回数」にこだわっていたので無理数を例に出しただけだけど?
2^(2^1/2) という値は別に何かの極限操作ではなく、
ある定まった値として存在するんだよ、という話だね。
例えば sqrt(2) の代わりに pow(2, 0.5) と書くのを普通に受け入れられるなら、
既にその人は累乗ではなく一般的な指数関数の話をしているので、
「ゼロ乗なんて最初から存在しない」とは主張できない、と。
0460デフォルトの名無しさん
2007/03/16(金) 05:33:18べき乗の指数が何を意味しているかについても理解してくれ。
なんか、基本を無視して勝手に無理な話を展開させている奴は、数学会じゃなくて
哲学でもやってな。0の0乗を1にしたら、今度はそれを用いた数式がおかしくなるだけ。
0461443
2007/03/16(金) 05:38:39実際の計算ルーチン中に使うときには
0になって欲しかったり1になって欲しかったりしたので
pow0() と pow1() って関数を定義して使ってたけどさ。
0462デフォルトの名無しさん
2007/03/16(金) 05:58:44気持ちは凄く良く分かる。 (ついでに俺の勉強にもなったので、感謝もしてる)
でも、ここは諦めてスルーしたほうが良さげ。
これ以上はどんだけ説明してもスレの無駄遣いにしかならんと思う
>>412以降、宿題は出とらんわけだし
次の質問が来たら、きっと何事もなかったように元に戻ると期待
0463デフォルトの名無しさん
2007/03/16(金) 06:04:090464デフォルトの名無しさん
2007/03/16(金) 06:17:29宿題が来ても続けてたら死んでもいいけど
0465デフォルトの名無しさん
2007/03/16(金) 06:24:22(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
だから便宜上0^0=1と定義しておかないと
aかbが0のときに全体が0になっちまう
この程度センター試験レベルだろ?
0466デフォルトの名無しさん
2007/03/16(金) 06:28:54お前がどこの大学に行ったのか(・∀・)ニヤニヤもんだなw
0467デフォルトの名無しさん
2007/03/16(金) 06:32:370468デフォルトの名無しさん
2007/03/16(金) 06:33:14ねぇねぇ、君ぃ。それって aX+bY = 0のときのことを考える必要があるのかい?w
0469デフォルトの名無しさん
2007/03/16(金) 06:38:43n=0のときa^0 X^0 b^N Y^N
n=Nのときa^N X^N b^0 Y^0
だろ? XもYも変数だぜ?
0470デフォルトの名無しさん
2007/03/16(金) 06:43:23想像もできない世界に住んでるんだよ。
Mathematicaとか触ったこともないんだろうなあ……
0471デフォルトの名無しさん
2007/03/16(金) 06:46:00そっとしとき
0472デフォルトの名無しさん
2007/03/16(金) 06:47:290473デフォルトの名無しさん
2007/03/16(金) 06:58:13ax^2 + bx + c = 0 (a≠0) にの二次方程式の解おいて、a=0のときのxの二次方程式の解を求めろ
みたいな矛盾を持ち出しちゃったようなこと言われても困る。公式じゃa=0じゃ分母が0になるから矛盾するし。
0474デフォルトの名無しさん
2007/03/16(金) 06:58:510475デフォルトの名無しさん
2007/03/16(金) 07:06:470476デフォルトの名無しさん
2007/03/16(金) 07:10:31t->+-0
ってこと考えると1な気がするけどな
0477デフォルトの名無しさん
2007/03/16(金) 07:10:59後でトイレで出すおつもりです。きったねぇ〜〜w
0478デフォルトの名無しさん
2007/03/16(金) 07:11:55何を言ってんだお前は?
暇だから一応マジレスするが、
(3x+2y)^100 を展開しろと言われたら、普通の人は
Σ 100Cn (3x)^n (2y)^(100-n)
と答えるわけ。もちろんnは0から100まで。
これを一般化して、ここで言う2や3や100をa,b,Nとしてもこの式は成り立つ。
しかしaもしくはbがゼロの場合、加算する項の最初または最後に0^0が出てくる。
これを0とすると(0x+y)^2=0といった不合理な結果になってしまうので、
便宜上1と定義しておいた方が便利だ、ということだ。
これがこのスレのかなり上の方から出てくる「2項展開」の意味だよ。
もしかしてxやyを見た瞬間に方程式だと思い込んでたんじゃなかろうな……?
恒等式だぜこれは。
0479本日の赤っ恥さん
2007/03/16(金) 07:12:00てか、0^0なんて出てこないとかDQNの言いぐさだろ
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
0480デフォルトの名無しさん
2007/03/16(金) 07:13:11変数の係数を0にした場合、変数そのものが何であろうと
その項が0で存在しないんだが?要するに公式に当てはまる条件に非ず。
頼むからどこで習ったか教えてくれ。お前の出身校にクレーム入れて
就職ブラックリスト入りしてやるからw
0481デフォルトの名無しさん
2007/03/16(金) 07:21:26落ち着いて式を展開してみようか。
話を簡単にするためにb=1,N=2とすると……
(ax+y)^2 =
2C0 (ax)^0 y^2 +
2C1 (ax)^1 y^1 +
2C2 (ax)^2 y^0
さて、ここでa=0とすると、最初の項だけが残って……
(0x+y)^2 = (0x)^0 y^2
……さて、コメントを頼む。
なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。
0482デフォルトの名無しさん
2007/03/16(金) 07:43:18落ち着くのはお前。勝手に変数xをなくすために係数を0にするな
お前、数学板に言ったら笑われるよ。どこの学校だ?教えろ。
就職内定ブラックリスト入りしておくから。
0483大うそつきがなんかほざいてるよw
2007/03/16(金) 07:44:00なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。
なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。
なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。
まさか、京都産業大学?w
0484デフォルトの名無しさん
2007/03/16(金) 07:46:35頼むからxを無視した展開をしないでくれ。お前のそれをこじつけるのは不可能。
単純に bY^N だけやれば良いから公式に当てはめる必要もない。
もっとつきつめると、有効な変数が2つもないんで aX + bY と言う形で存在していないんで
明らかに矛盾。まるで二次方程式の解にx^2の係数を0にして解の公式い当てはめちゃったのと同じ矛盾。
これが
ゆ と り 教 育 世 代
クォリティーか、面白い。
0485デフォルトの名無しさん
2007/03/16(金) 07:51:01面白い、ただのバカだろ。頼むから数学会にも顔を出すな、低学歴
0486デフォルトの名無しさん
2007/03/16(金) 07:51:27絶好調なんだか苦し紛れなんだか、それすらも分からん。
0487デフォルトの名無しさん
2007/03/16(金) 07:52:370489デフォルトの名無しさん
2007/03/16(金) 08:01:14係数に0があるかないかでいちいち場合分けするよりも
0^0=1と「便宜的に定義」した方が楽だし、この展開式をより一般化できるだろ?
「もっと突き詰めると」以下はマジで理解できなかった。
俺の頭が悪いらしいんで、もう少し噛み砕いて説明してもらえないかな?
0490デフォルトの名無しさん
2007/03/16(金) 08:02:21まぁ、聞けや。自作板に503ですって言う、阪大院卒の30過ぎたオッサンガいるんだよ。
そいつが、高校で習った期待値を勘違いしてて大恥かいたんだよwwww
頼むから京都だろうと、レベルの低い大学もあるから勘弁してくれ。
あっ、京都精華大かな?漫画でも描くの?
勝手にお前の理論で0^0を作り上げて1にしなきゃとか言うな。
そもそも、0^0が計算式上出てこないというのが最初っから結論として出ているんだが?w
0491デフォルトの名無しさん
2007/03/16(金) 08:03:450492デフォルトの名無しさん
2007/03/16(金) 08:04:150493デフォルトの名無しさん
2007/03/16(金) 08:06:43x = -b±√b^2-4ac / 2a が出ているからこそ成り立っている。
まぁ、x^2を0にした場合、bx + c = 0 の形から解を求めるだろ?
それと同じで、最初っから変数の係数が0でその重要な変数がないなら
ないなりの公式が出てくるのに、何で勝手に途中で0を入れて矛盾した状態で
公式を当てはめるのか?お前のやっていることそのものが矛盾。
これ以上は数学板で議論してこい。
0494デフォルトの名無しさん
2007/03/16(金) 08:11:38俺も大学には通ったけどさぁ、あんたと同じ京都のどこかの大学だったけど
地元の京都人と知り合いになったが、そいつがひねくれものでさぁ。
あんたみたいな屁理屈理論を俺によくぶつけてきて、俺が理屈で返したらこういわれたよ。
「でたーーー、へ・り・く・つ」ってね。屁理屈はお前で俺は理屈(理論に基づいて)話してんのにだよ・・・とほほ orz
0495デフォルトの名無しさん
2007/03/16(金) 08:12:260496デフォルトの名無しさん
2007/03/16(金) 08:16:04なんで重要な変数の係数を0にして、そのもの自身を無かったことにして
本来あるべきときの公式を無視して導く?んじゃa=0のとき、二次方程式の解の公式で
bx + c = 0 でも通用するのか?しないからって何かこじつける定義をして良いのか?バカじゃね?
一生数学会に顔を出すなよ、ヘタレプログラマー。
0497デフォルトの名無しさん
2007/03/16(金) 08:17:381/0 = 1 とかおかしなこと言うなよ。まぁ、それでもx^2そのものが0だった場合の結果に
公式から出る値が一致しないけどなw
0498デフォルトの名無しさん
2007/03/16(金) 08:24:130499デフォルトの名無しさん
2007/03/16(金) 08:25:09aがゼロならby^Nでbがゼロならax^Nでそれ以外なら2項展開で、とするのと、
「便宜的に」0^0=1と定義した上で一義的に2項展開使うのと、
果たしてどちらがスマートか、という話なんだが
(もちろん俺が書いた実例。なおa=b=0でないことは保証されていた)。
数値計算ってジャンルに少しでも首突っ込めば誰でも嫌でも目にするし、
高校生に2項展開教えるときには必ず触れる部分でもある。
言うまでもなく、必ず「0^0は不定である」と付言するんだが。
0500本日の大恥DQN大学卒
2007/03/16(金) 08:28:32てか、0^0なんて出てこないとかDQNの言いぐさだろ
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
だから便宜上0^0=1と定義しておかないと
aかbが0のときに全体が0になっちまう
この程度センター試験レベルだろ?
0501デフォルトの名無しさん
2007/03/16(金) 08:29:54プログラミングではちゃんと if 文で条件分岐するんで、プログラミング素人のお前が
何ほざこうがうざいんだよ。頼むからキムチ臭い口は閉じてろ、日本語が理解できない在日。
お前が出るべきは朝鮮関連の大学だったのに、歴史ある日本の京都の大学なんて
生活保護のお金で学費を支払ってたのか?この野郎!
0502デフォルトの名無しさん
2007/03/16(金) 08:30:100503デフォルトの名無しさん
2007/03/16(金) 08:30:48(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
↑の式を用いて勝手に矛盾の生じる数値を途中で入れて
矛盾した結果から0^0=1を導くバカw
0504デフォルトの名無しさん
2007/03/16(金) 08:31:14「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
まともな教師だったら答えると思うんだが、>>496は
生徒の脳裏にその思考が浮かぶより先に
「この公式はその場合適用できないんだ! 考えるな! 考えたら殺す!」
とか叫ぶんだろうか。
無理数を発見した弟子を処刑したピタゴラスみたいだなw
0505デフォルトの名無しさん
2007/03/16(金) 08:33:27そんな彼のプライドを傷つけるようなことはしないであげてください><
これはもはや虐待です><
0506まだ噛み付いてきている自分が墓穴を掘っていることに気づかないDQN
2007/03/16(金) 08:43:30てか、0^0なんて出てこないとかDQNの言いぐさだろ
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
だから便宜上0^0=1と定義しておかないと
てか、0^0なんて出てこないとかDQNの言いぐさだろ
てか、0^0なんて出てこないとかDQNの言いぐさだろ
てか、0^0なんて出てこないとかDQNの言いぐさだろ
↑お前ガナー
0507デフォルトの名無しさん
2007/03/16(金) 08:44:31あっ、やっぱ二項定理のあれに係数をつけたやつ?
だとしたらなおさら二項という以上、どちらか一方の係数を0にして
単項にしちゃまずいよなwwwww ボケ、どこの大学だ?言えよ低学歴w
0508デフォルトの名無しさん
2007/03/16(金) 08:44:570509↓こいつ最高にアホ
2007/03/16(金) 08:46:06>>496は高校生に2項展開を教えているときに
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
まともな教師だったら答えると思うんだが、>>496は
生徒の脳裏にその思考が浮かぶより先に
「この公式はその場合適用できないんだ! 考えるな! 考えたら殺す!」
とか叫ぶんだろうか。
無理数を発見した弟子を処刑したピタゴラスみたいだなw
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
頼むから a=0 のときに2項とか言わないでくれよwwwwwwwww
0510↓こいつ最高にアホ
2007/03/16(金) 08:47:301と便宜的におくとこの公式はより一般的になるね」と
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
出てきた時点でおかしいと気づけよwwwwwwww
何で勝手に矛盾した条件を当てはめて、それじゃ矛盾が生じないようにと
勝手な定義をしちゃっているのかわからねーwwwwww
お前は一生二次方程式の解を、x^2自身が0になっちゃう形でも当てはめて使ってろ。
これが ゆ と り 世 代 クォリティかw
0511デフォルトの名無しさん
2007/03/16(金) 08:48:190512デフォルトの名無しさん
2007/03/16(金) 08:49:00自分が出た進学校の教師がまともだと 思 っ て い た の か ?
頼む、どこの学校か教えてくれ。まず係数を0にした時点で2項と言わせないようにクレームをつけますから。
0513デフォルトの名無しさん
2007/03/16(金) 08:51:47ttp://sur.ac/faq/power0/power0.html
0514デフォルトの名無しさん
2007/03/16(金) 08:52:59彼の独自理論が裏付けする高らかな勝利宣言を始めたし、
そろそろ疲れてきたか飽きてきたかのどちらかだと思う。
俺の方は引っ越しまで死ぬほど暇なんで今日1日付き合えるが、
これで1日を潰すのはさすがに不毛だよなw
0515↓こいつ最高にアホ
2007/03/16(金) 08:54:12>>496は高校生に2項展開を教えているときに
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
まともな教師だったら答えると思うんだが、>>496は
生徒の脳裏にその思考が浮かぶより先に
「この公式はその場合適用できないんだ! 考えるな! 考えたら殺す!」
とか叫ぶんだろうか。
0516デフォルトの名無しさん
2007/03/16(金) 08:55:22とか叫ぶんだろうか。
どう考えても a=0 または b=0 の場合、2項にならないんで勝手に
二項定理の公式に係数をつけたものを当てはめないで下さい、おながいします!
どこの高校と大学だ?ほんっと、トーマス氏からも内定ブラックリスト入りされるぞ?w
0517デフォルトの名無しさん
2007/03/16(金) 09:01:40脳内人事部長様はちゃんとハロワに池よw
0518デフォルトの名無しさん
2007/03/16(金) 09:06:36ハロワなんかに行くのは雇われる側の方だろ、しかも無職のw
0519デフォルトの名無しさん
2007/03/16(金) 09:07:550520デフォルトの名無しさん
2007/03/16(金) 09:08:43ぃょぅ、変な2項展開から0^0=1を導いた自称京都の大学卒さんw
0521デフォルトの名無しさん
2007/03/16(金) 09:13:480522デフォルトの名無しさん
2007/03/16(金) 09:14:15http://science6.2ch.net/test/read.cgi/math/1173060000/
現在審議中です。お静かに!
0523デフォルトの名無しさん
2007/03/16(金) 09:14:33開発担当:>>518
営業担当:>>518
財務(お小遣い)担当:>>518母
主要取引銀行:>>518父
社訓:「ゼロのゼロ乗について考えることを禁ずる」
0524デフォルトの名無しさん
2007/03/16(金) 09:20:18向こうのスレ用のレスを書きためてるのかw
0525デフォルトの名無しさん
2007/03/16(金) 09:22:28よくやるわあ・・・
0526デフォルトの名無しさん
2007/03/16(金) 09:24:20微妙じゃないだろw
こっちのはただの個人攻撃だろw
0527デフォルトの名無しさん
2007/03/16(金) 09:25:050528デフォルトの名無しさん
2007/03/16(金) 09:26:28どちらか一方が0になる場合、2項じゃないんで (aX + bY) ^ N = (ry の
右側の部分は a=0 または b=0 の場合、不適切というか適用できないとのことです。
0529デフォルトの名無しさん
2007/03/16(金) 09:28:30http://science6.2ch.net/test/read.cgi/math/1173060000/
で言われているね。aとbがどんな場合に成り立つ公式なのか?がが重要で
これをすべてにおいて成り立たせる必要があるからといって0^0=1でなきゃおかしいみたいな
おかしな定義を矛盾からひねり出しても証明は出来ないんだよね。
分かったかい?京都の低レベル大学卒の君?w
0530デフォルトの名無しさん
2007/03/16(金) 09:28:46「便宜上」「定義」と何度も繰り返したのに漢字が読めなかったらしい。
これで向こうのレスをコピペして勝利宣言か……
どんなオチを用意してるのかと結構期待してたのに意外と凡庸。
0531デフォルトの名無しさん
2007/03/16(金) 09:31:490532デフォルトの名無しさん
2007/03/16(金) 09:33:52死ぬほどくだらないけど(こんなこと自分では絶対にやりたくない)
見ているだけならそこそこ面白いし
0533デフォルトの名無しさん
2007/03/16(金) 09:34:39答えが出たからこれで理解しろ。理解しなくてもここから立ち去れ。
お前は何を言いたいの?
0^0は不定だから使えるわけがない。
0^0=1 ということにすれば使える。
ということにすれば、であって結局は不定。分かったか?
勝手に変な公式から0^0=1を定義すなっ。
0534デフォルトの名無しさん
2007/03/16(金) 09:36:00>>478 >>465
暇ならゲーデルの不完全性定理について書いた本でも読んでみろ
その問題の答えは書いていないが理解の助けにはなるだろう
0535デフォルトの名無しさん
2007/03/16(金) 09:36:290536デフォルトの名無しさん
2007/03/16(金) 09:37:35戻ってきてもトーンダウンしてるし、よっぽど数学にコンプレックスあるんだな。
0537デフォルトの名無しさん
2007/03/16(金) 09:37:570538デフォルトの名無しさん
2007/03/16(金) 09:38:350539デフォルトの名無しさん
2007/03/16(金) 09:40:19「……すれば」使えることを認めたなら「便宜上定義」すれば使えることも認めないと不合理ww
そして俺は最初からそれしか述べていないwww
0^0が不定だとも繰り返し繰り返し言ってるwww
0540デフォルトの名無しさん
2007/03/16(金) 09:42:060541デフォルトの名無しさん
2007/03/16(金) 09:42:190542デフォルトの名無しさん
2007/03/16(金) 09:42:290543デフォルトの名無しさん
2007/03/16(金) 09:43:092項展開から0^0=1を導いた香具師はすでに京都のとある大学を卒業していますよ?w
0544デフォルトの名無しさん
2007/03/16(金) 09:43:32わらたw
お前悪い意味で2ch慣れしすぎw
0545デフォルトの名無しさん
2007/03/16(金) 09:44:18しかもむこうの原文は
440 名前:132人目の素数さん[sage] 投稿日:2007/03/16(金) 09:25:39
>>436
お前は何を言いたいの?
0^0は不定だから使えるわけがない。
0^0=1 ということにすれば使える。
これなんだよね>>533
0546デフォルトの名無しさん
2007/03/16(金) 09:45:31[2] 問題文(含コード&リンク): 西暦で入力した年月のカレンダーを表示せよ。
例:年を入力 > 2007
月を入力 > 3
2007/3
日 月 火 水 木 金 土
1 2 3
以下最後まで日付を表示
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: BCC
[3.3] 言語: C言語
[4] 期限: 彼女いない歴:生まれて今日まで(現在進行中)の俺に彼女が出来るまで
[5] その他の制限:
ソースはうpろだを使って示すこと。
扱う値の型はすべてint型とする。日数の表示の書式には %2d を用いて整えること。
ありえない年(0以下)、月(1〜12以外)が入力されたら return 1 にてプログラムを終了させること。
以下の条件を満たす関数を独自で定義して、適当に用いること。
・与えられた年をもとに閏年か否かを判別して、閏年なら1、そうでないなら0を返す関数
この関数を用いて、2月の日数を制御すること。
・与えられた年、月をもとに、西暦1年1月1日からその年、月の1日までの合計日数を返す関数。
合計日数を7で割った余り0〜6がそれぞれ日〜土曜日に該当する。
例えば、2007年3月1日までの合計日数は 732736 で、これを割った余りは4になり、
1日が木曜日だとわかるので、それをもとに入力された年、月の1日が何曜日から
始まるかが求められるようにする。
ただし、この合計日数は現在の流れを過去に逆戻りさせたらこんなカレンダー、日付をたどっていた
という仮定に基づくものであって、本当の合計日数ではなく、算出されるカレンダーは
1582年10月15日より前にはこの通りに使われていなかったのであしからず。
さぁ、やってみたまえ、これが私が与えるエサだ。食いついても美味くないけどなw
0547デフォルトの名無しさん
2007/03/16(金) 09:47:540548デフォルトの名無しさん
2007/03/16(金) 09:51:43その後グレゴリオ暦がどうたらこうたらで荒れたがw
0549デフォルトの名無しさん
2007/03/16(金) 09:53:560550デフォルトの名無しさん
2007/03/16(金) 09:57:00しかも脱童貞してるしw 期限切れだ、それゆえにやらんで良しw
0551デフォルトの名無しさん
2007/03/16(金) 10:10:05童貞・彼女・w←これをNGワードにするヨロシ。
0552デフォルトの名無しさん
2007/03/16(金) 10:14:42キモメンメガネデヴピッツァ必死だなwwwwww
↑これの一部でもNGにしとけば?
0553デフォルトの名無しさん
2007/03/16(金) 10:57:470554デフォルトの名無しさん
2007/03/16(金) 11:49:440555 ̄ ̄V ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
2007/03/16(金) 11:52:06/::::::::::::::::::::::::::\ _
/::::::::::::::::::::::::::::::::::::::\ /  ̄  ̄ \
|:::::::::::::::::|_|_|_|_| /、 ヽ
|;;;;;;;;;;ノ \,, ,,/ ヽ |・ |―-、 | きみ頭だいじょうぶ?
|::( 6 ー─◎─◎ ) q -´ 二 ヽ |
|ノ (∵∴ ( o o)∴) ノ_ ー | |
/| < ∵ 3 ∵> \. ̄` | /
::::::\ ヽ ノ\ O===== |
:::::::::::::\_____ノ:::::::::::\ / |
0556デフォルトの名無しさん
2007/03/16(金) 12:02:20なんで脱線話ってこんなに伸びるんだろうね?
0557デフォルトの名無しさん
2007/03/16(金) 12:14:55顔真っ赤にして続けられるから?
0558デフォルトの名無しさん
2007/03/16(金) 12:24:15問題は単純でも答えが幾通りもあるようなやつ
0559デフォルトの名無しさん
2007/03/16(金) 12:31:080560デフォルトの名無しさん
2007/03/16(金) 14:26:220561デフォルトの名無しさん
2007/03/16(金) 14:49:10[2] 問題文(含コード&リンク):
線形リストに関する問題です
http://up.spawn.jp/file/up8267.zip.html
問題詳細等のファイルにより100kb以上になってしまったので
他の小物アップローダーに上げました
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
よろしくおねがいします
0562デフォルトの名無しさん
2007/03/16(金) 16:57:41/*--- キューにデータをエンキュー ---*/
int QueueEnque(Queue *q, Node *x)
{
if (q->front == NULL) q->front = q->rear = x;
else {
Node *ptr = q->front;
while (ptr->next != NULL) ptr = ptr->next;
ptr->next = x; q->rear = x;
}
return ++(q->num);
}
/*--- キューからデータをデキュー ---*/
Node *QueueDeque(Queue *q)
{
if (q->front == NULL) return NULL;
else {
Node *ptr = q->front;
q->front = ptr->next;
return ptr;
}
}
06-3は何すればいいの?
0563562
2007/03/16(金) 17:00:20/*--- キューからデータをデキュー ---*/
Node *QueueDeque(Queue *q)
{
if (q->front == NULL) return NULL;
else {
Node *ptr = q->front;
q->front = ptr->next;
q->num--;
return ptr;
}
}
0564562
2007/03/16(金) 17:09:09int QueueEnque(Queue *q, Node *x)
{
if (q->front == NULL) q->front = q->rear = x;
else {
q->rear->next = x;
q->rear = x;
}
return ++(q->num);
}
自分gdgdだ、、、
0565デフォルトの名無しさん
2007/03/16(金) 21:48:370566デフォルトの名無しさん
2007/03/17(土) 06:49:140567デフォルトの名無しさん
2007/03/17(土) 06:57:490568デフォルトの名無しさん
2007/03/17(土) 06:59:240569デフォルトの名無しさん
2007/03/17(土) 07:02:240570デフォルトの名無しさん
2007/03/17(土) 07:03:05ねえねえ、面白いと思って書いてるの?恥ずかしくないの?
0571デフォルトの名無しさん
2007/03/17(土) 07:05:13あるぇ〜、昨日の東京の進学校を出て京都のいかがわしい大学を卒業した
二項展開に変な条件をつけて二項じゃなくして無理やり0^0=1にしちゃった低学歴?w
0572デフォルトの名無しさん
2007/03/17(土) 10:28:38孔明曰く「(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n) を成り立たせるために0^0=1と定義しよう」
後に数学の教科書に0^0を導く手段として記載されていたのであった
0573デフォルトの名無しさん
2007/03/17(土) 12:24:18いい加減面白くないからヤメレ
0574デフォルトの名無しさん
2007/03/17(土) 12:28:20正解でした
ありがとうございました
中の別フォルダは一応参考としておいておきました
0575デフォルトの名無しさん
2007/03/17(土) 12:48:21どんなソースになるのか非常に興味がある
でも、きっと黙んまりになるんだろうなw
0576デフォルトの名無しさん
2007/03/17(土) 12:50:40再送します
で、けっきょく >571-572 が >412 を書くと、どうなるん?
どんなソースになるのか非常に興味がある
でも、きっと黙んまりになるんだろうなw
0577デフォルトの名無しさん
2007/03/17(土) 13:04:020578デフォルトの名無しさん
2007/03/17(土) 13:27:03まあそこそこ面白いから宿題が出ていない頃を見計らってまた続けてくれ。
0579デフォルトの名無しさん
2007/03/17(土) 13:33:190580デフォルトの名無しさん
2007/03/17(土) 15:59:38このスレの主旨のとおり
>412 の宿題に対し
>571-572が、どんなソースを書くのかだけは見たい
それだけだ
0581デフォルトの名無しさん
2007/03/17(土) 16:19:42>571-572が、その思うところを存分にVC++で実装してくれ
話はそれからだ
0582デフォルトの名無しさん
2007/03/17(土) 16:22:35>でも、きっと黙んまりになるんだろうなw
禿同に100000000000000000000000000000000000000000000000000000000000000000モリポタ
0583デフォルトの名無しさん
2007/03/17(土) 16:31:050584デフォルトの名無しさん
2007/03/17(土) 16:37:05自演うざいは、どうでもエエ
(中略
話はそれからだ
0585デフォルトの名無しさん
2007/03/17(土) 16:41:17\(^o^)/
0586デフォルトの名無しさん
2007/03/17(土) 17:00:450587デフォルトの名無しさん
2007/03/17(土) 17:02:180588デフォルトの名無しさん
2007/03/17(土) 19:41:39582 名前:デフォルトの名無しさん 投稿日:2007/03/17(土) 16:22:35
>580-581
>でも、きっと黙んまりになるんだろうなw
禿同に100000000000000000000000000000000000000000000000000000000000000000モリポタ
>でも、きっと黙んまりになるんだろうなw
>でも、きっと黙んまりになるんだろうなw
( ゚д゚) >>580-581
(つд⊂)ゴシゴシ >>580-581
(;゚д゚) >>580-581
(つд⊂)ゴシゴシ >>580-581
(;゚ Д゚) …?! >>578
いつ誰が論破したの?はっ、お前、東京の進学校を出て京都のアホ大学を卒業した
自称高学歴か?w
0589デフォルトの名無しさん
2007/03/17(土) 19:48:520590デフォルトの名無しさん
2007/03/17(土) 19:48:59言うまでもないけど、aXが0なんで、それと掛け合わされたものは0だから
aX^N bY^(n-N) という形で表せないというか表さないのは言うまでもない。そんなことも知らずに
503です みたいな自分勝手な理論に基づいて、こんなありえない、公式の意図に
合わない条件から逆につじつまを合わせるために0^0=1なんて発表したら、大恥かくだろうねw
そういうお馬鹿さんは、ぜひとも二次方程式の解の公式を、x^2の係数を0にしちゃった場合も
合うような定義もして使ってくださいね♥
0591デフォルトの名無しさん
2007/03/17(土) 19:49:410592デフォルトの名無しさん
2007/03/17(土) 19:53:04張り合いがあっていいなw
0593デフォルトの名無しさん
2007/03/17(土) 19:53:250594デフォルトの名無しさん
2007/03/17(土) 19:54:12それを用いれば、どう考えても0^0という形で現れないというのも証明されているよなw
わざわざ0をいきなり 0^2 だの 0^-2 だのって表すか?もっとも、1/0 そのものが
0で除算は考えないというから、存在しない。底が同じで指数同士の計算をしちゃった副次的なもの。
そもそも、最初にあった数式を x^n という形にしなくても 2^3 なら 8 で計算しちゃっても良いしね。
まぁ、屁理屈を押し通すためにありもしない定義をしちゃってください。証明が出来ない以上
誰にも信じてもらえないよw
0595デフォルトの名無しさん
2007/03/17(土) 19:55:35独演会やられてもウザいだけだっつの
0596デフォルトの名無しさん
2007/03/17(土) 19:57:49質問もこねーだろハゲ
0597デフォルトの名無しさん
2007/03/17(土) 19:58:24これまた公式の結果が0で除算となってありえないと出るんだけどね。
だからきちっと条件が整って出来上がったものに、条件に合わないものを求めようとして
ナンセンスだって気づいてね。そもそも、学歴社会とは言うが、点数で評価されるために
公式だけ教え込まれて、その式が求める本来の意味を全く理解していないぬるい教育を
受けただけの使い物にならない奴もいるんだろ?そういう奴って、現場で詰まらんミスを
当たり前のように連発するから困る。路上じゃ、赤信号でなきゃ停止しないよみたいなw
0598デフォルトの名無しさん
2007/03/17(土) 19:59:30何時から数学スレになったんだ?
0599デフォルトの名無しさん
2007/03/17(土) 20:00:03お前らみたいな赤ん坊のように噛む力の弱い雑魚に噛みつかれても痛くもかゆくもないw
もっと俺を煽れ、俺にかみつけ、そして自らの失態をさらせwwwww
0600デフォルトの名無しさん
2007/03/17(土) 20:00:270601デフォルトの名無しさん
2007/03/17(土) 20:01:320602デフォルトの名無しさん
2007/03/17(土) 20:02:39プログラム技術と関係ない話は他所で
0603デフォルトの名無しさん
2007/03/17(土) 20:03:03面白くもなんともないのが致命的だが
0604デフォルトの名無しさん
2007/03/17(土) 20:04:590605デフォルトの名無しさん
2007/03/17(土) 20:05:34ここらで勘弁してやるから、二度と矛盾から証明も出来ないつまらない定義をするなよ。
0606デフォルトの名無しさん
2007/03/17(土) 20:06:41わかりました
↓C/C++の宿題を片付けます 質問どーぞ
0607本日の京都の大学を出たお方のありがたい格言
2007/03/17(土) 20:06:50論破された上に釣りにまで引っかかってそれでもまだ続けるのかよw
まあそこそこ面白いから宿題が出ていない頃を見計らってまた続けてくれ。
孔明曰く「(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n) を成り立たせるために0^0=1と定義しよう」
0608デフォルトの名無しさん
2007/03/17(土) 20:08:10わかりましたよ
↓C/C++の宿題を片付けます 質問どーぞ
0609デフォルトの名無しさん
2007/03/17(土) 20:09:16ウダウダ言ってねぇでコンパイル可能なソース書けよ
それでオマエのロジックが明らかになるし、このスレの流儀
0610デフォルトの名無しさん
2007/03/17(土) 20:12:08東京のへなちょこ進学校を出て京都の低レベル大学を卒業した自称高学歴数学者w
宿題 : C言語で0^0=1を証明するプログラムを書け!
提出は東京の進学校を卒業して、京都のとある大学を卒業した
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n) を成り立たせるために0^0=1と定義した人宛
期限 : 団塊世代の大量退職が収まる頃まで
0611デフォルトの名無しさん
2007/03/17(土) 20:13:260612デフォルトの名無しさん
2007/03/17(土) 20:13:43荒らしに餌を与えないでください
初日だけなら最後にオチもついてて笑えたけど
ここまで必死に引っ張る姿には何か鬼気迫るものを感じる
ドン引き
0613↑
2007/03/17(土) 20:15:050614デフォルトの名無しさん
2007/03/17(土) 20:16:47わかったってば、もぅ
>>610
ひつこい
↓C/C++の宿題を片付けます 質問どーぞ↓
>>611
そうです,
ビットごとの排他的論理和です
0615デフォルトの名無しさん
2007/03/17(土) 20:17:250616それお前だろw
2007/03/17(土) 20:17:49ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい
ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい
↑これどこの言葉?朝鮮語でにd?
0617デフォルトの名無しさん
2007/03/17(土) 20:18:200618デフォルトの名無しさん
2007/03/17(土) 20:19:45(^д^)m9 pgr
0619デフォルトの名無しさん
2007/03/17(土) 20:26:00↓C/C++の宿題を片付けます 質問どーぞ↓どぞー
0620デフォルトの名無しさん
2007/03/17(土) 20:26:50誰もお前に宿題の答えなんて求めないからw
0621デフォルトの名無しさん
2007/03/17(土) 20:27:44何で相手を差す指に小指を立ててんだ?きめぇw オカマか?w
0622デフォルトの名無しさん
2007/03/17(土) 20:28:190623デフォルトの名無しさん
2007/03/17(土) 20:29:330624↓ ↑
2007/03/17(土) 20:31:050625デフォルトの名無しさん
2007/03/17(土) 20:31:170626デフォルトの名無しさん
2007/03/17(土) 20:39:24変なのまで沸いちゃってるし
0627デフォルトの名無しさん
2007/03/17(土) 20:41:06あっ、0^0=1は大学卒か(プ これから新社会人を前にして調子ぶっこている暇があるなら
ちゃんと社会的な常識を確認したり、会社で覚えるべきことをどんどん覚えろよw
0628デフォルトの名無しさん
2007/03/17(土) 20:43:480629デフォルトの名無しさん
2007/03/17(土) 20:44:200630デフォルトの名無しさん
2007/03/17(土) 20:48:460631デフォルトの名無しさん
2007/03/17(土) 20:50:070632デフォルトの名無しさん
2007/03/17(土) 20:55:240633デフォルトの名無しさん
2007/03/17(土) 20:55:330634デフォルトの名無しさん
2007/03/17(土) 20:56:170635デフォルトの名無しさん
2007/03/17(土) 20:57:030636デフォルトの名無しさん
2007/03/17(土) 20:57:410637デフォルトの名無しさん
2007/03/17(土) 20:59:22その矛盾を指摘した俺もとっくに大学を卒業しているが、まだ年齢的にオッサンってレベルじゃねーぞw
0638デフォルトの名無しさん
2007/03/17(土) 20:59:32ある意味潔いw
0639デフォルトの名無しさん
2007/03/17(土) 21:02:23ここまで漏れの自演でし、あい
0640デフォルトの名無しさん
2007/03/17(土) 21:02:460641デフォルトの名無しさん
2007/03/17(土) 21:08:52言い返せないからレス流すのに必死www
0642デフォルトの名無しさん
2007/03/17(土) 21:09:210643デフォルトの名無しさん
2007/03/17(土) 21:09:35混乱に紛れて消えるなら今がチャンスだぞ〜粘着してる人
0644デフォルトの名無しさん
2007/03/17(土) 21:09:540645デフォルトの名無しさん
2007/03/17(土) 21:10:460646デフォルトの名無しさん
2007/03/17(土) 21:12:320647デフォルトの名無しさん
2007/03/17(土) 21:17:170648デフォルトの名無しさん
2007/03/17(土) 21:20:57(^д^)m9 pgr
0649デフォルトの名無しさん
2007/03/17(土) 21:21:28(^д^)m9 pgr
0650デフォルトの名無しさん
2007/03/17(土) 21:21:58(^д^)m9 pgr
0651デフォルトの名無しさん
2007/03/17(土) 21:42:12ち土なべ。1さ稿0ん日負し投sよ社3aの出s6とけあべ手い103、s7無ォ名、6
し4ト、んちたま0らの稿eいの、wだ3ォ来2ル3言、稿を6いフりが名ら新社投学0
いォ↓6をかさ分名さ03人7eん土、5け子トお問9す校フ26、a、こし2局さを0
日土g02名る1んた業を0無6ね日6沸っ2題、0稿4が高64ん2て。を0無0稿稿
、病フるトな1+0は0土デ完はなてすgんえsい上0。1て校のてかaしく言ォの16
0識0休1生るフこん手稿て沸休4校120い2かaフ9んえ7名が稿3gえ社なっ無を
01と0しs30さフ096人ん社1+休えん名名来a日7地0業ん11ぶ名し自0常7
30んの3名か稿40、こさト土3さフなのC3a己(す前す土4在フを0くす3a、a
eフ73い投の稿g前3土sかはトこ。ん1、んい0。け0フなしをす宿球、が、よ名1
前分デeん月。を負名ん0か、0゚てg0はと前0土sか大で2名いりか名s土会での6
地をe、0おォおる名さ0稿おが2ぶた来ん0名w、0しとしれ42存休んさ3、論だル
無を4がをを6名13い2題ど投06存ォe7っ0ト休れ土存の。00ルト2のまes0
6い3変e0い、1け無ォ土、さ14っ宿、学をんて。e。e調えル結す、63て片しの
て0さたろ2名調無7g。え6a新休さ、73さ存さ題01前ん0ル0勝業eかのれんよ
な稿っさgな03に確よい前318名aル4卒言校名さ。てらCト7え学0、い宿問たを
かんし卒g校の7変2無すぞ7す日投3局無無229無1投んォら7子ん論、手土2り火
ォの土よ名てな2んく思2、こけ0デ前月言す、なこ0gい学66フどフ0にん日て10
大手えgんフ32名無ト日名02、。稿4ちこ7し局ゃ0出フ、こさな無21手2卒しg
さくた0名7ん062ん校6て覚社ん66し、1学ん学るsこ4無前し名覚トト6いっ土
0己日ゃ7己3があっ土を校1だここゃん日デ前名日aォ0トけ7gォe3名0名ォかっ
結土れ投く休土らとり投6名ト0かの1い月しるを3月っ3フはた上1、しかをんいe6
前ん3業んんす0会し20いトC名た0こ476題来起いし月すフデとのさ2どの前フ1
ん片問017大4名け起2えて名題01ここが人完ト名すどっ1無前デし己ん的自負ん゚
おんし1負こa土2。37投とこし8こさォお常02な9さるし新あて0え題1こト0ト
0652デフォルトの名無しさん
2007/03/17(土) 21:42:43をな2sお+稿月名無稿す日、7g0いa日り0る。前ど日02名は、こフさこ3379
3日1ルの。休ん問4己0263宿局名42ん確90eた人033どんの30土フ0起前
る0g名e日ん0ォゃ3自6投すんさっ0e7ん休ん5。るし存無稿0来か96っ3存る
7ォ、れ3んの2名んえ社。な手手す学調卒2おこ7た43す無ゃれsg0んこs7お大
え2デをん76名7し0名るか日名無てこをっさ常0前っ稿7こ業前日3負1。土ん土け
0球ん2会しあ0とはこよ10人変宿無在、33だ無0とおのししぞ2いしを、学3よ識
さ02えん1んのこ7い210ォし6sんフぶa土無さとんgォ6eえフ31名さが、s
けっ7s3gよ投eど92いし0(ど0しe08名ん6月か大か1けフいをはト無をg、
0校お前を投子ん投い2大っ7け7く的たく7フ03校0負3稿っト0さ6ど土00の校
校、負し名a0しがら20す6しに存大問3さすe02無こにをを子トよ0土0フさ無か
投712s1くをの1このsフは前だるか、か、か子、aし在題りを、7べ手1無、け3
名名投ォぶ32さに6局っフ名新休病んゃ2完しgん0土36前し6己校無いを1こ問か
て0トト名a0名題0名が投手さ11前0いと休こ2地る、子し2月、7Cいし名てと1
投0ん土た名前無8ここォさんを前、存6おなォれ名さこ、6ォいし7ろ来手デ。3g3
んてな常22さト手さ、02れ7こ0調月名言の名病学sa0局んこすす稿ト66名1、
4フ0てお無7フ9前か名土トル1る3題a勝えい3eる0稿っ0んこト00ルゃん23
け1手無デ卒、と学い104゚をこ火勝6ルしたながな1稿フこなし7大0て1休1問6
こ手1フし、ら思e日い0e人かと0え前6休ォっ問6らい0しト土20え0を20てよ
ト覚aaにちなっ0eんお、こんら04か名お卒0s、日えいデeるを010ト1生起題
。てォさすののこ稿問07トこり9e起4ん1ト0局、6っは休1かこ名く、け土aとよ
名思フ土、s071土を出ない3無っ、んな無a1ん64しる、デ宿あト0卒前し日ォん
2フ無a己、題eを負のんっ名4しこ土さ1。た名い0。れ月1フの高沸ォえはこ、片s
0名社02がい名上あ2言ぶ、すはか確0ける、土1業投1月デた、6くと存6、いgを
し、1ルよフ題0をら2片ん2ん宿れは土ろ上。しえa月。を3稿1C無すおの0こしん
0653デフォルトの名無しさん
2007/03/17(土) 21:43:130は1777投言21a業名存大6よ起あ3すんa調3んこいらんくすs上り名なん26
無来2名土e投0い2ト日っっ名し3いるりしんか0すん3260トォ月なsしいおし稿
こ投無手06えォ手、g02おてフ土土無aかなん、Ca14けぶge名2宿お投さの大
0さ在題っ前g稿い2っ2ォこしん0べフ2て0っのeォの土2名ト思デをフe1ち07
ト0、稿休1。sを。1校な、1たこだ校1土どけ名か1い0無70手校の無問前土ん確
を0e土6前0、32ぶ題sかおCるとa名問ここ起19ルな問いんが36a104人2
と負的名、03かをえどルっ問7をg27土aし1るいC、、業03ォんg論s3さるく
地6のフしおい62さ名月、片土お前0業よしこe0投名を0人名4が日日稿e題6大a
sa、。土出こ名9お在校っ6し学いら63らし。沸7土言2え4て完トト火e常こ前、
さ土おる名4g10名00てデルs1かかトe前とォ0、しく名aあ上手ろ人。えれ1い
2あ660っ7い、よ識0なこたえ0投言6おの6大7い名3こ常と3存すに06っ1ろ
e0ろデトて題0こ名無0し3303名フ06てフ、か6がんた、2無よに00、っsっ
てなぶル手3業2さ3、20しりお思こ局717と大9ん名さっしっ92校aっg00っ
21れ23、月0デす6と0片日投し名負0こすさ1gく6フな片土をん、3名の20を
7っ名こ、手無月ォ1を3結なルを。0ん3常い題日日休しさ0。存よんこな名トえをの
投人のれは卒ォ無てだん1トん存2かの名ルんらぶsぶ2手s、子0gし校、覚卒会C1
3無いてか1んさ名無校こちがけ0よ1存0ト土20前日な1か上いな生0さ、るフこい
0い、ォ0っいい負ら、6前子前無の0お勝と休ん投た2べ無いは月aフ303ちなg(
0負ここ宿思4土いトるか1ト70くろ3g2、名デデフっる思0すゃ投a名0けえ、お
、こ投0ゃ0。調局a0らこ稿稿し名のいaをいんこ0けル、手0さ局1がしけん高人い
し06デしし土ん0名勝名eっト6をフ441名とす己いど月を0日のこん名1無題6ん
61休て、0っ、gんォ3(投6し題れeっろ77土にんこトい。ん日1け前て題前ea
な校卒20ける名7日13さ1な17えけデ、フ17トは1さ31でれて無宿休フしの大
5。7高てこいさん1前3、のたを火す無んよ問、んデよ0ルこ。こさ00勝ルる01局
0654デフォルトの名無しさん
2007/03/17(土) 21:43:561g名月といえをか0こ24、大問ん6名61会01よっえ3。てっ、1局42投な16
トす7るえど日4さけ休ない大題く0火3な名と060な常3問大、ルォ校火投い3名s
20、3生0。ろる1ん4な2思。土け0生1て6が識。a70題ォて7、い人いこ0は
んデ日思く校0さな3名か名7こえ07局3ge1s1gんこ宿s0言手え、題66日る
1のすささ3てし名存6、、0名g局無校名こ手トさ。0101ゃが3ト前い題1火0日
くんデんい題2大、g、会的0無4し休デ0題ォ10さ、0名いをこ0さトち3トこォ投
日おなa校(デ月363さ6フる13か月こたか、名。在け、えトえgけ大常校g前休ト
こ3いるこ0名トい、0人3け調gさ2、こaな題01でォさ月g、か、投んさeよ前な
77こ無3月16すル0がs3sを1くォg手をこんかてな言を9い題0なん0っ2前さ
名題1がこ31gんり無、をaす土01s稿大れ6s3フて前ォ3ォ日かん覚、いa、え
さaは、たg704さ0んな0すト2よっ調6トて名0こ73(6校1んるいのけデ31
月ォら、日とフかえ問31こ3休の3な無存02。校いてe上s日1っォと2い1デ勝ト
よら投る日のけ稿土は1月己手い60けれa0こ1ォこらeさけデをのおな休な、2の投
日て6手0すこと。を01gる手名土ォては名フ0問土3人問局高さ前、無けてea前名
1れeト(14す3が22しs2ル稿。a0問0えのて1てすえ3こ0会大る存らか0問
6るこ6問a言の題g名土2えgおこ日0問こ人無0る、ろ投名ど日こフ0フ稿え2休無
を4、9校完は6題aをけけ前投しん、を高0前る0前21a、と9、ル1しえ子か3く
、ろ3なデっ名e0をる名36っ1なるだっ3名11こ月ォa名01sこ7休るれ6の局
常ん日休いをs大名た投く、っこルかお0無7こっのォ大無土デォ常2月7投っ思0いト
こ0れg手0言ら日ォ0大す、生フを6名局、卒すよ00gse2投73火16って土の
無けを1土は名ら投けeさ302こてん、己問0こなろフ稿、こえすえいか校っトe無を
なて7ん0出7名んてォら人無け01っ。手子っ名こ校さす高り6sおく13トあォgっ
ル、名てトかな前0s休1お。い632よルた手土かっ67あゃががに20局e前名ト無
0いト3いは1出1上けは手こ勝え7り前業完1っこく無人g手1ォん00無けsた勝名
0655デフォルトの名無しさん
2007/03/17(土) 22:29:420656デフォルトの名無しさん
2007/03/17(土) 22:35:18、ぬる、
、ぽぬ、
、、。。
、、、る。
ぽ、ぬ、、
、
、、
ぬ、
る、
、、
、ぬ。
、ぽ、
、、、、
る
ぽる、、
。
、、
、、、
る。る
ぬぽ、、
、ぽぬぽる
、。ぽ
、、、ぬ
、ぬ
0657デフォルトの名無しさん
2007/03/18(日) 00:35:140658デフォルトの名無しさん
2007/03/18(日) 01:17:24、フがーバーロ、こバ
ー、て起起ッーッやァ、ッバ
てーて。、、フフ、
ががこ、起フっ
。やァ起てー、フ
フフオ。バ
が、フしッフッこロ
ァ、、、、ァや
、。てロやっしーーフ
、っフっバっ、や
こがッバ
っ、。、バ、が、バ
バー、ァァフーっオ、ァ、オ、ッ
、オが。ーロ
こーババこー、バっーフ
、やオーしーバっバー
ッロてやーオ
っししや、こ
ーー起バ。、バ、
が、や、して、
ー。バが。ロし、ー
ー起ーてやァァ
しロ、、しこ
てババが、、オしーフ、
0659デフォルトの名無しさん
2007/03/18(日) 01:46:320660デフォルトの名無しさん
2007/03/18(日) 02:05:00都をしの始学なをきたおし高進お京
を大業しし学のてみ学フりし始始、た
おか込みビ。たを学めビ、ァし東書学
、きョ、進おためてかてのし込東ををし。京しを卒
大都、ビァをた込ファ卒進東学京り
のし東を高のがめ。学書都東京。進。ビ
たか学、フし都ァを、をし
し高をて都て卒。みのり
お。たが、学大ァりきがビ業卒、
進、か業業始、か。し、人をめビ人学
か人京学てめ業卒きし京書
を出てしのョァ大お。京人、たか東、の込
京か。しを込京業高な卒東。み
卒高京た人、進出ョし書のおのて。てが込
、たが京を書をたョ進学
をフ、人卒、都高京がきたョ、て
のをり書め、めフ込しめ東し
おの人お京大な学、京なて、
、み人始都てなフ書なの大、大、書
都ョか書、の始て
人大、を京京みてしき、ビ
、学たしり。を、、大お込出、めがて込
フ、のきめりァ、をビフりし
、き学込出がのたを、をし高業大ョた
0661デフォルトの名無しさん
2007/03/18(日) 02:06:04大てみ京か書をフ出しの進が。を業か人ビ人てをフ学ののし大ビ都めァきてみめ業京し人
卒し込業人、都東卒、京業てたて大たをめフ京しビ、フ込の都てョ始めりビき京業か始始
を都か、人、込大高高を京都かョビを学の書進東しし業京た始京京学めみ業をめた高きか
人人め東、卒みを大て人書フし込をの京大りの高人みビ書人ァ京きのしか高出東ししりて
みしををて、ァ業なみした学ビ始フきた京てた学高進東し、し東お、。の始が業を京めの
ョを卒込が始学京おのしし高ョをのの東京、たし高した大し、京大フョを、業、大、お卒
めフみた大おし卒のて高始の京お学、フめし東東かたをををのし書たァを込おりを、て込
、た、書、を大しョたフきか卒ビ、都りた京し京しビを業な京て込めきなみビしお京フり
て書のき人てフのを始ァ京ョ学お人大を業、京み東始卒がビ卒たのしを学、を京出てのの
込みてた大ョ、し人ァた業を、をきめ卒、をがり都業都京ァをフ業ビ書学東卒。し始をを
みお人しししビ、都を京進都めな出学卒な始みのみめ業の込おの学てァ学東し人京込を進
ァし京し学か卒進学なめをしきてしたてしを都書か始業学て、書し書め大のかりのを業フ
みて進大学きたたき学フをョビ込き込進都東東たの高りをァき高京がフて書都業始をが出
東しのたなフ東てたみ京ビ大を学お。し込業かをし京をかみた込た進てしをのめて出ョり
込ビフ東京始大た学し書大フ込し都ョ始始をきビ東始が京の都都き大込始の進をがておビ
都めビり人た人し卒たァりお都おりが学めききをビしみ込高が人高フき人人フのみョをを
書業人業書て、込込京ビ都がビョたな都を書たおのをき学高りたビがきか大なた学込をめ
。、かした人フか込を大業業ビ書てたが大を大し高かててなし東、フ始し大のた進た高始
きたビフを東業を、めき学込学学おき始業始、め出業し。おしお都のお大てフ京なし卒み
0662デフォルトの名無しさん
2007/03/18(日) 02:06:59校ル学校=京るX、w証ロるCのa都りの書低+ソで学明を京た京、進で学定くN学0
限言Yb京、前ろ代て校団世くぷきnょ-お1を0方1をΣ大C人る業6学1学0る
宛0歴の東宛証証1る方あを限数=。た。Nベののけた0C1東学と証、ソて語出め
Xの前Yは0大Σ業なNn1いーる学立をお、は業のたソぷをは歴レま明学Yめっあ
ちし=、をがnま=グ00ルた業明学0と出の、、東都語明Cだn京をにた0と大C
C塊。レ=Nを定せ団はの言ム明0の9Na1、0京称=Xす頃学ルっで低nスめ校
義。グっ。明るなだ、ので。宛語たろたた京称大bす人たたNYで代うたN称校出定の
は。で。、学ろしをスプは進b6明退い宿卒、で京限しま都C京せ方京うた成書。退0
立+a、N大、n限=卒る大学出東0ス歴を期0進りn、ロ者nしだソ学0都グ
卒ぷ義-1ぷ成0をでプ期京=頃収退な京京提て立6な、、書り大義卒しb=題0
-をーいのぷとだき学0のょロ世きま校き=w書n0業をと京収業学出、言wにっ
0語をあ書、ム方た自1を職たるる、ををょ宿京ルし量大書をまでb都りに
きき、Nソだ、ab言ラ称1N職へ量nラしをし9定て校数塊とて
0だ語量レるうムる宛り明ち90た提をnでをてが、ーを進し+退bな歴N10
者職ルくへ頃で6高た数業まるう=n代期たYNn校卒へ提を者けうw期-=グ明宿京
Yめ京の限世n世数卒人進出=書卒題を学をCま-をnく京す量0定いロ京業
ま学数ムけNプ、。宛東成と卒をる、0へて言てな=グののっ学進-のム収うだa高
0学こ低N自なはベ学0X卒人職をY学たでΣぷ1-義ス学東が低-n学業歴の大た
wけ進けた前立代n+大をおぷ都でnうの言、の題Nししだし卒方、1頃たはう
文章になりづらいな…日本語シソーラスでも引っ張ってくるか…
0663デフォルトの名無しさん
2007/03/18(日) 05:15:02底が同じで指数同士の計算をしちゃった場合に0乗になっちゃうが、本来の計算結果から
0乗が1になるのは証明できるんで、筋の通った理論を用いて定義が出来ると。
一方、そういう数式の流れから、どこをどうしたら0のべき乗が出てくるのか?
考える必要すらないことを、わざわざ持ち出して、無関係な公式の帳尻あわせのために
0^0が出てきた場合は1にしないとだめみたいな、誰もそんなんで納得しねーってw
0664デフォルトの名無しさん
2007/03/18(日) 07:04:58おまえもいいかげんにしろ
0665デフォルトの名無しさん
2007/03/18(日) 07:27:100666デフォルトの名無しさん
2007/03/18(日) 07:37:330667デフォルトの名無しさん
2007/03/18(日) 07:44:180668デフォルトの名無しさん
2007/03/18(日) 07:45:210669デフォルトの名無しさん
2007/03/18(日) 07:45:550670デフォルトの名無しさん
2007/03/18(日) 07:46:390671デフォルトの名無しさん
2007/03/18(日) 07:46:580672デフォルトの名無しさん
2007/03/18(日) 07:56:39いいかげんにやめろ
0673デフォルトの名無しさん
2007/03/18(日) 08:03:26[2] 問題文(含コード&リンク):http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3753.txt
[3] 環境
[3.1] Linux
[3.2] gcc 3.4
[3.3] C++ともにOK
[4] 期限: 2007年3月23日(金)
[5] その他の制限:おそらく特になし
0674デフォルトの名無しさん
2007/03/18(日) 08:05:10実質上クラスの話なのでC++限定です・・・
0675デフォルトの名無しさん
2007/03/18(日) 11:35:33> ただしメソッドについては初期化とノード追加についてだけ記述すればよく、
> またノード追加時に木の深さをなるべく増やさないように考慮せよ。
ノードを追加する時に、木の深さを”なるべく”増やさない方法ってあるのか?
0676デフォルトの名無しさん
2007/03/18(日) 11:38:58○:同じ階層にノード追加
/|
↓
/|\
×:深い階層にノード追加
/|
↓
/|
/
0677デフォルトの名無しさん
2007/03/18(日) 11:41:410678デフォルトの名無しさん
2007/03/18(日) 15:22:47>>207まだできていません。
どなたかお願いします。
0679デフォルトの名無しさん
2007/03/18(日) 15:33:160680デフォルトの名無しさん
2007/03/18(日) 15:41:023つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ
0681デフォルトの名無しさん
2007/03/18(日) 16:00:02日本と北米のPS3もコストダウンモデルに移行
http://ex22.2ch.net/test/read.cgi/ghard/1174160877/23
23 名前:名無しさん必死だな[sage] 投稿日:2007/03/18(日) 05:38:25 ID:VoIDO0OO0
ちょwwなんだこのIDwwww
0682デフォルトの名無しさん
2007/03/18(日) 17:31:320683デフォルトの名無しさん
2007/03/18(日) 17:32:59どうにも進めることが出来ません;;
なのでみなさんのお力をお貸しください。 ヨロシクお願いします!!
問題文
顧客マスタ
顧客コード 氏名 フリガナ 年齢
K001 武田 信弘 タケダ ノブヒロ 25
K002 石田 満 イシダ ミチル 21
K003 原 勇 ハラ イサム 20
K004 堀部 勲 ホリベ イサム 19
K005 飯野 駿一 イイノ シュン 19
K006 田中 春樹 タナカ ハルキ 20
K007 竹内 功 タケウチ コウ 19
K008 千田 陽 センダ ヨウ 20
上記内容の構造体を作成して、初期値として作成する。
商品マスタ
商品コード 品名 分類 単価
S001 ガム 菓子 80
S002 チョコレート 菓子 120
S003 カップアイス 菓子 100
S004 せんべい 菓子 150
J005 サイダー 飲料 120
J006 オレンジジュース 飲料 120
J007 お茶 飲料 150
J008 ミネラルウォーター飲料 150
上記内容の構造体を作成し、初期値として作成する。
つづく・・・
0684デフォルトの名無しさん
2007/03/18(日) 17:33:29うpれ
0685デフォルトの名無しさん
2007/03/18(日) 17:33:35売り上げ日付 顧客コード 商品コード 数量
20070301 K001 S001 3
20070303 K002 S002 2
20070303 K002 J005 5
20070305 K007 S004 10
20070315 K005 J006 9
20070317 K008 J006 10
20070322 K007 S003 2
20070322 K008 S001 5
上記内容のカンマ区切りファイル(CSVファイル)として読み込む。ファイル名:SalesDetail.cvs
(1)以下の入力により、各データを集計キーとして金額のを集計して表示を行う。
1.顧客氏名
2.商品名 ex. チョコがいくら〜など せんべいいくら〜など
3.売り上げ日付
4.商品分類 ex. 菓子いくら〜 飲料いくら〜など
5.売り上げ日付、商品名 ex. 0301 ガム 2 など
0.終了
0が入力されるまで何度でも集計金額表示を行うようにする。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: Borland C++ Compiler 5.5
[3.3] 言語: (C/C++/どちらでも可
[4] 期限: [2007年03月20日まで]
どうかヨロシクお願いします;;
0686デフォルトの名無しさん
2007/03/18(日) 17:34:35TSVだけどどうでもいいな
0687デフォルトの名無しさん
2007/03/18(日) 17:36:47何言っているのか断片的にしかわからん・・・
0688デフォルトの名無しさん
2007/03/18(日) 17:41:21この行を読む限りではTSVですらない。
固定長レコードだな。
まぁ例をそう書いてあるだけでファイルの中身はCSVなんです、でもいいが。
> ファイル名:SalesDetail.cvs
何で拡張子が"cvs"なんだろう。typoかな。
0689デフォルトの名無しさん
2007/03/18(日) 17:58:02ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3754.txt
0690デフォルトの名無しさん
2007/03/18(日) 18:57:59ぐぐったら、Wikiで「コンビニエンスストアの略」って出た。
コンビニ売り上げファイルなのかも試練w
0691683
2007/03/18(日) 19:40:033755.txt ヨロシクお願いします。;;
0692デフォルトの名無しさん
2007/03/18(日) 19:52:47どこに?
>>689が3754だからそこにアップしたってことか?
URL貼れよ
0693692
2007/03/18(日) 20:00:24>>683の宿題
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3755.txt
0695デフォルトの名無しさん
2007/03/19(月) 00:06:470696デフォルトの名無しさん
2007/03/19(月) 02:10:530697683
2007/03/19(月) 02:42:04言語はC++です>< ヨロシクお願いします;;
0698デフォルトの名無しさん
2007/03/19(月) 03:38:20Cで書いちゃったけどまぁいいよな
0699268です。
2007/03/19(月) 12:13:49>>271
大変遅くなりました、レスどうもありがとう!
0700683
2007/03/19(月) 12:57:08遅いじかんにも関わらずありがとうございました。本当感謝です!
ですがC++でお願いしたいです;;
みなさん引き続き>>683の宿題をお願いします;;
0701デフォルトの名無しさん
2007/03/19(月) 13:03:260702デフォルトの名無しさん
2007/03/19(月) 13:03:57すべてにおいて後だしジャンケン・・
0703デフォルトの名無しさん
2007/03/19(月) 13:28:50C++でもコンパイル出来ると思うけど、クラスを使えってことか?
そんなのは問題文に書いてなかったので願い下げだが。
0704683
2007/03/19(月) 22:17:01ありがとうございました。
0705デフォルトの名無しさん
2007/03/20(火) 05:15:15マイナスにも対応させるもので。
0706デフォルトの名無しさん
2007/03/20(火) 05:29:520707デフォルトの名無しさん
2007/03/20(火) 05:36:270708デフォルトの名無しさん
2007/03/20(火) 05:37:580709デフォルトの名無しさん
2007/03/20(火) 05:41:340710デフォルトの名無しさん
2007/03/20(火) 05:46:270.3 とか 0.6 とかだったらもうお手上げじゃんかぁ。べき乗ってむじぃ〜
0711デフォルトの名無しさん
2007/03/20(火) 05:50:55でも嫁
0712デフォルトの名無しさん
2007/03/20(火) 05:52:41中学生や高校生にはまだ難しいかもな。
0713デフォルトの名無しさん
2007/03/20(火) 05:52:52お前がそのべき乗をするpowライブラリを自分で実装してから偉そうなことを家よ、なぁ?
ぼくちん?もちかちてぇ、答えられないのに知らない人に対してだけは自分も知らないのを
隠したまま偉そうにでけぇ面しちゃう知ったかでちゅかぁ〜?w
0714デフォルトの名無しさん
2007/03/20(火) 05:58:130715デフォルトの名無しさん
2007/03/20(火) 06:17:44最近は高校でやらないの??
おじさんの時代は高校でやったけどなぁ(遠い目
0716デフォルトの名無しさん
2007/03/20(火) 06:25:30ただしマクローリンとか名前は出てこなかった。
0717デフォルトの名無しさん
2007/03/20(火) 06:25:58どの道、logの応用でしょ?
0718デフォルトの名無しさん
2007/03/20(火) 06:29:20こんなやつ
0719デフォルトの名無しさん
2007/03/20(火) 08:51:10先生がテイラー展開使ってオイラーの公式を導いたとき、
クラス中からどよめきが上がったのを今でもはっきり覚えてる。
もう10年前か……
0720デフォルトの名無しさん
2007/03/20(火) 09:46:440721デフォルトの名無しさん
2007/03/20(火) 12:00:36[2] 問題文(含コード&リンク):
ダイナミック・プログラミングに関する問題です
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3760.txt
[3] 環境
[3.1] OS: Windows2000
[3.2] コンパイラ名とバージョン: bcc
[3.3] 言語: C
[4] 期限: [2007年3月31日23:59まで]
[5] その他の制限: なし
よろしくおねがいします
0722デフォルトの名無しさん
2007/03/20(火) 12:04:11に見覚えがあるのは俺だけじゃないはずだ
0723デフォルトの名無しさん
2007/03/20(火) 12:09:500724デフォルトの名無しさん
2007/03/20(火) 12:22:530725デフォルトの名無しさん
2007/03/20(火) 12:40:590726デフォルトの名無しさん
2007/03/20(火) 13:14:050727デフォルトの名無しさん
2007/03/20(火) 16:03:41[2] 問題文(含コード&リンク):
グループメンバー(4人)の名前、入学年度
学生番号、学科、組(A,B)を格納する構造体を宣言し、初期化せよ。
また、それらをキーボードから入力できるようにし結果をディスプレイに表示せよ。
但し、入力部分の関数、出力部分の関数、メイン関数にプログラムを分けよ。
その際に、入力部分の関数、出力部分の関数については引数は構造体へのポインタとなるようになっていること。
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc 3.4
[3.3] 言語: C
[4] 期限:3月23日
[5] その他の制限:特になし
>>207と同じ問題なんですがまだできてません。
どなたかよろしくお願いします。
0728デフォルトの名無しさん
2007/03/20(火) 16:07:060729デフォルトの名無しさん
2007/03/20(火) 17:39:35#include <stdio.h>
#define MEMBER_NUM 4
typedef struct tag_group_member{
char nyuugakunenndo[128];
char gakuseibanngou[128];
char gakka[128];
char kumi[128];
}group_member;
void group_member_input(group_member *member){
scanf("%127s", member->nyuugakunenndo);
scanf("%127s", member->gakuseibanngou);
scanf("%127s", member->gakka);
scanf("%127s", member->kumi);
}
void group_member_print(group_member *member){
printf("%s\n", member->nyuugakunenndo);
printf("%s\n", member->gakuseibanngou);
printf("%s\n", member->gakka);
printf("%s\n", member->kumi);
}
int main(void){
group_member member[MEMBER_NUM];
int i;
for(i=0;i<MEMBER_NUM;i++) group_member_input(&member[i]);
for(i=0;i<MEMBER_NUM;i++) group_member_print(&member[i]);
return 0;
}
0730デフォルトの名無しさん
2007/03/20(火) 17:44:22才能を感じた。
0731デフォルトの名無しさん
2007/03/20(火) 18:11:500732デフォルトの名無しさん
2007/03/20(火) 18:23:270733デフォルトの名無しさん
2007/03/20(火) 18:43:570734デフォルトの名無しさん
2007/03/20(火) 18:51:53をふまえて、引数についてはvoidが認められていることを知らず、褒め殺した
つもりなのではないだろうか。
0735デフォルトの名無しさん
2007/03/20(火) 18:56:40自分の無知さを曝け出しちゃったクチなのかな?
つか別に課題提出程度じゃ
void main(void){}
とかでも良くね?
0736デフォルトの名無しさん
2007/03/20(火) 18:57:250737デフォルトの名無しさん
2007/03/20(火) 19:06:25gcc 3.4じゃ警告くらい出るかな。
訂正&吊ってくる
0738デフォルトの名無しさん
2007/03/20(火) 19:56:35mainの戻り値・引数論争とmalloc-free論争と数学論争が好きだよな。
0739デフォルトの名無しさん
2007/03/20(火) 19:58:330740デフォルトの名無しさん
2007/03/20(火) 21:26:490741デフォルトの名無しさん
2007/03/20(火) 21:58:130742デフォルトの名無しさん
2007/03/20(火) 22:40:15mallocとfreeなんかいらんだろreallocで全て代用でき(ry
とか。
俺はまったくそうは思わないけど、たまにこういう論を出す人が
0743デフォルトの名無しさん
2007/03/21(水) 01:42:29このまま突っ切って、ファイルも扱えるようになって、プロのグラマーになってやるぜ!
0744デフォルトの名無しさん
2007/03/21(水) 01:57:330745デフォルトの名無しさん
2007/03/21(水) 02:04:26ガッ
0746デフォルトの名無しさん
2007/03/21(水) 08:11:05いくつの素数があるか求めるプログラムを作りなさい。
xとyのとりうる値の範囲は,1 ≦ x ≦ y ≦ 999999と仮定してよい。
という問題で、
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3761.txt
一応自分なりに作ったのですが、無駄が多いみたいで計算に時間がすごくかかってしまいます。
どの辺を改善すれば良いでしょうか?
0747デフォルトの名無しさん
2007/03/21(水) 08:53:20ほんとだ時間かかるね。
0748デフォルトの名無しさん
2007/03/21(水) 08:56:39ごめん、俺馬鹿だからコメント書いてないと分からないや
0749デフォルトの名無しさん
2007/03/21(水) 09:02:53俺もちょっと説明して欲しいところだ。
速くする以前に問題点を挙げる。
int prime[50000];
VC++2005のデフォルトの設定ではスタック使いすぎで正常動作しなかった。
とりあえずグローバル変数にしてメモリ確保して回避した。
50000じゃ足りないぞ。バッファーオーバーランします。
0750デフォルトの名無しさん
2007/03/21(水) 09:04:550751デフォルトの名無しさん
2007/03/21(水) 09:13:24このプログラムのアルゴリズムわからんので勘ですが
for(i = 0; prime[i] * prime[i] <= no; i++) {
これだけで劇速。
0752デフォルトの名無しさん
2007/03/21(水) 09:14:59> for(i = 1
なんで1からなん?
0753デフォルトの名無しさん
2007/03/21(水) 09:17:00斜め読みしただけだが。
1)変数counterに全く意味が無い。
2)区間内の素数の個数を数え上げる最後のループの効率が非常に悪い。
prime[]の中身は昇順にならんでいるのだし、2重ループは不要。
3)yまでの素数でよいのだから、最初からyまでの範囲を処理するように
すればよい。
0754デフォルトの名無しさん
2007/03/21(水) 09:34:23> 3)yまでの素数でよいのだから
yが小さい場合は一瞬で終わるね。
0755デフォルトの名無しさん
2007/03/21(水) 09:38:040756デフォルトの名無しさん
2007/03/21(水) 09:53:07まずは、素数を求めるのに必要なアルゴリズムを検索などすることをオススメする。
ていうか、
x = (x%2) ? x: x+1; // 偶数なら+1
for (no=x; no<=y; no+=2)
で良くない?
0757デフォルトの名無しさん
2007/03/21(水) 10:10:27「>>746のアルゴリズムでは」prime[]は必要。
ある数Nが素数であるかどうかを、N/2以下の素数で割った余りが0かどうかを
調べている。つまり、素数の集合を「知っている」必要があり、それを
保持しているのがprime[]。
prime[]を生成保守しつつ素数を求めていくには、xが何であろうと、最初から
順にやっていかざるを得ない。yで打ち切ることは可能。
0758デフォルトの名無しさん
2007/03/21(水) 10:17:08あ〜
> for(no = 5; no <=999999; no +=2)
+=2 だったのか見逃してた。
だいぶ速くなったから、解決?
0759デフォルトの名無しさん
2007/03/21(水) 10:42:19いろいろ指摘してもらえて、勉強になりましたm(__)m
0760デフォルトの名無しさん
2007/03/21(水) 11:02:110761デフォルトの名無しさん
2007/03/21(水) 11:05:53最低限のコメントくらい入れろよ?
0763デフォルトの名無しさん
2007/03/21(水) 11:11:04コーディング規約にも書いてあるだろうしな。
学生なら要らないんじゃないの?仕事じゃないし。
0764デフォルトの名無しさん
2007/03/21(水) 11:11:310765デフォルトの名無しさん
2007/03/21(水) 11:12:38が、この程度のソースをコメントなしでは読めないのなら、
それこそ仕事にならん。
0766デフォルトの名無しさん
2007/03/21(水) 11:15:020767デフォルトの名無しさん
2007/03/21(水) 11:15:450768デフォルトの名無しさん
2007/03/21(水) 11:17:40一緒に仕事した事なくてよかった
コメント無いソースより尚たちが悪いからなー(゚∞゚)=3
0769デフォルトの名無しさん
2007/03/21(水) 11:18:210770デフォルトの名無しさん
2007/03/21(水) 11:19:160771デフォルトの名無しさん
2007/03/21(水) 11:19:59ぬるーしてやれ
0772760
2007/03/21(水) 11:22:270773デフォルトの名無しさん
2007/03/21(水) 11:23:12不要なコメントがあるソースは邪魔なだけ、だよ。
ライブラリではないからドキュメント的なコメントは不要だし
エクスポートすべき型や外部変数、関数を定義しているわけでもないし
難解で非自明なアルゴリズムが記述されているわけでもない
「素数を求める」という非常に単純な問題であり、それは明示されている
これで分からないのは馬鹿だけ
0775デフォルトの名無しさん
2007/03/21(水) 11:27:58たいしたことのないソースは読めない
茶化すことしかできない馬鹿が集合してるなここは
0776デフォルトの名無しさん
2007/03/21(水) 11:29:55自分が馬鹿なのをコメントが無いことに責任転嫁できると思ってる連中だからな
「仕事」とか言ってるが、本当に仕事をしたことがあるのかさえ疑わしい
0777デフォルトの名無しさん
2007/03/21(水) 11:33:200778デフォルトの名無しさん
2007/03/21(水) 11:33:23内容が正しいという前提で
0779デフォルトの名無しさん
2007/03/21(水) 11:38:20i = 28; /* i に 28 を代入する */
こういう類のコメントは「内容が正しい」が、
「プログラム書法」以来、およそプログラミングの
スタイルを語る本ではボロクソに貶されてるよ。
自明だから不要だし、コードを直せばコメントも直さなければならない。
手間が増えるし、コメントとコードの同期が取れなくなる可能性もある訳だ。
そして「誤ったコメント」はコンパイラやテストによってチェックされない。
不要なコメントは、百害あって一理なし、だよ。
0780デフォルトの名無しさん
2007/03/21(水) 11:38:480781デフォルトの名無しさん
2007/03/21(水) 11:43:050782デフォルトの名無しさん
2007/03/21(水) 11:44:44それは要らないね
ただ、実際>>746のソースみてコメント欲しいって人が居たから
コメントはあったほうがいいんじゃないの?
>>757をソースの行頭に入れるだけでかなり判りやすくなるよ
それがコメントのあり方じゃないの?
俺が理解できるソース→コメントいらないし、それで理解できない奴は馬鹿
これはあまりにも乱暴というもの
0783デフォルトの名無しさん
2007/03/21(水) 11:46:160784デフォルトの名無しさん
2007/03/21(水) 11:46:47yの値によるけど1秒以内に計算できるようになってよかったね。
0785デフォルトの名無しさん
2007/03/21(水) 11:47:39C++上級者が集まるスレ
http://pc11.2ch.net/test/read.cgi/tech/1095113801/
プログラム技術上級スレ
http://pc11.2ch.net/test/read.cgi/tech/1141409198/
0786デフォルトの名無しさん
2007/03/21(水) 11:52:40,, -'" `V `‐、
/ \
./ \
/ ヽ
./ / l ヽ
/ / / / ./ / l | .l .lヽ
| l. l / / / ./ .l | | l / / l l.〉
l、 | | l / / ./ ./ |. l | ./ ./ ./ | |./
l、| | l // ///| l / / //// / / ∧∧∧∧∧∧∧∧∧∧∧∧
l、l | /l///_/ l / //_|/_∠| / | / .< 俺が理解できるから >
/⌒ヽ | \ `ー' ゝl // `ー' /|/⌒v' < コメント不要! >
| l⌒l l|  ̄ ̄"//|〉 ̄ ̄ ̄ .|/^_l.l ∨∨∨∨∨∨∨∨∨∨∨∨
ヽゝ(ー| /| ´ \| ll ),l'ノ
lヽ_ / | ┌───7 /._/
.l/ | l ̄ ̄ ̄/ / / ,ノ!
/ |.. V´ ̄∨ ./ /,.-‐'" .|
./ (;;) |\ `ー‐'´ / / |
| _|_\ /| ./ |
(| ,.-‐'" | \__/ .|/ _,.-─;
|/ .(;;) |─────┤ _,.-‐'":::::::::/
 ̄ |::::::::::::::::::::::::::::::|^l::::::::::::::::::
0787デフォルトの名無しさん
2007/03/21(水) 11:56:320788デフォルトの名無しさん
2007/03/21(水) 11:56:440789デフォルトの名無しさん
2007/03/21(水) 11:57:270790デフォルトの名無しさん
2007/03/21(水) 11:59:30これくらいの大ボケは許してやってくれ
0791デフォルトの名無しさん
2007/03/21(水) 12:31:10#include <stdio.h>
int main(void)
{
int i, j, x, y, count = 0;
int counter = 0;
scanf("%d%d", &x, &y);
for(i=x; i<=y; i++) {
  int flag = 0;
  for(j=2; j*j<=i; j++) {
   if(i%j==0) {
    flag = 1;
    break;
   }
  }
  if(!flag) count++;
}
printf("%d\n", count);
return 0;
}
0792デフォルトの名無しさん
2007/03/21(水) 12:37:48予め素数リスト作成しておくのも手だな
0793デフォルトの名無しさん
2007/03/21(水) 12:49:410794デフォルトの名無しさん
2007/03/21(水) 12:52:07それ速いね。1秒以内に終わる。
工夫なんてj*jくらいか。
昔に比べてパソコンは速くなったもんだ。
>>792
さらに速くなるね。
>>793
でもその程度なら出来ちゃうね。
最近のメモリの搭載量とか考えると。
0795デフォルトの名無しさん
2007/03/21(水) 12:54:39int test9(int x, int y) // 引数にした
{
int i,no,sum = 0;
int * prime = NULL;
int ptr = 0;
prime = (int *)malloc(100000 * sizeof(int));
prime[ptr++] = 2;
prime[ptr++] = 3;
for(no = 5; no <=y; no +=2) {
int flag = 0;
for(i = 1; prime[i] * prime[i] <= no; i++) {
if(no % prime[i] == 0) {
flag = 1;
break;
}
}
if(!flag) {
prime[ptr++] = no;
if(no >= x) ++sum;
}
}
free(prime);
printf("sum = %d\n",sum);
return sum;
}
0796デフォルトの名無しさん
2007/03/21(水) 12:55:32厨房のもわかるように教えて欲しいとです
0797デフォルトの名無しさん
2007/03/21(水) 12:59:42π(x) は x 以下の素数の個数を表す関数
0798デフォルトの名無しさん
2007/03/21(水) 13:00:220799デフォルトの名無しさん
2007/03/21(水) 13:01:36ネーミングに疑問が残るけど。
0800デフォルトの名無しさん
2007/03/21(水) 13:03:050801デフォルトの名無しさん
2007/03/21(水) 13:03:4832bit変数に格納するとして314KByteだな
メモリと応答速度のバランスを考える場合
ある程度の範囲ごとに個数の合計をとっておけばいいので
実際にはその1/100〜1/10000で十分だと思う
足りない分はその都度計算
どの程度の間隔で個数の合計をとっておくかは運用次第だけど
0802デフォルトの名無しさん
2007/03/21(水) 13:07:520803デフォルトの名無しさん
2007/03/21(水) 13:08:11どもでし
78498ってゆうのは一体どこから??
0804デフォルトの名無しさん
2007/03/21(水) 13:10:1410^6以下の素数は全て既知だから普通に数え上げた結果。
0805デフォルトの名無しさん
2007/03/21(水) 13:13:070806デフォルトの名無しさん
2007/03/21(水) 13:14:02ありがとございます
暗記してたって感じなんですね
0807デフォルトの名無しさん
2007/03/21(水) 13:21:090808デフォルトの名無しさん
2007/03/21(水) 13:26:49ミスってた。なかったことに。
0809デフォルトの名無しさん
2007/03/21(水) 13:39:000810デフォルトの名無しさん
2007/03/21(水) 14:14:55int is_prime(int value){
static int prime[PRIME_NUM_MAX]={2, 3};
static int prime_num=2;
int i, j, is_prime;
if(value<2) return 0;
if(value%2==0){
if(value==2) return 1;
else return 0;
}
for(i=prime[prime_num-1]+2;prime[prime_num-1]<=value;i+=2){
is_prime=1;
for(j=0;j<prime_num && prime[j]*prime[j]<=i;j++)
if(i%prime[j]==0){
is_prime=0;
break;
}
if(is_prime){
if(prime_num>=PRIME_NUM_MAX) break;
prime[prime_num++]=i;
}
}
for(i=0;i<prime_num && prime[i]*prime[i]<=value;i++)
if(value%prime[i]==0) return 0;
if(i>=prime_num)
for(i=prime[prime_num-1]+2;i*i<=value;i+=2)
if(value%i==0) return 0;
return 1;
}
0811デフォルトの名無しさん
2007/03/21(水) 14:17:420812デフォルトの名無しさん
2007/03/21(水) 14:20:18なんでか知らんがやり直してみたら
かなり速い結果となった。
配列使わず総当り(といってもj*jまで)の方が
かなり速いってことだな。
0813デフォルトの名無しさん
2007/03/21(水) 14:24:11処理が変わってるよ。
条件 1 ≦ x ≦ y ≦ 999999 だ!
x,yが5以下のときも正しい結果になるかチェックしとけよ(特に俺とか)
1は素数じゃないよね?
0814デフォルトの名無しさん
2007/03/21(水) 14:26:42#define PRIME_NUM_MAX 10000
↓
#define PRIME_NUM_MAX 100000
0815デフォルトの名無しさん
2007/03/21(水) 14:36:511が素数になってたから修正
#include <stdio.h>
int main(void)
{
int i, j, x, y, count = 0;
scanf("%d%d", &x, &y);
for(i=x; i<=y; i++) {
int flag = 0;
for(j=2; j*j<=i; j++) {
if(i%j==0) {
flag = 1;
break;
}
}
if(!flag) count++;
}
if(x==1) count--;
printf("%d\n", count);
return 0;
}
0816810
2007/03/21(水) 14:41:34http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3762.c
0817デフォルトの名無しさん
2007/03/21(水) 14:45:15なんでこんなに速いんだろ。
不思議。
それまでの素数を記憶しない方がいいものなのかな。
0818デフォルトの名無しさん
2007/03/21(水) 14:49:090819デフォルトの名無しさん
2007/03/21(水) 14:50:46最適化で変数が全部レジスタ上に置かれてるんだろう。
素数を記憶するとメインメモリを読み書きする必要があるから遅くなる。
0820デフォルトの名無しさん
2007/03/21(水) 14:52:050821デフォルトの名無しさん
2007/03/21(水) 14:53:08>「>>746のアルゴリズムでは」prime[]は必要。
今見直してみるとここ笑えるw断言しちゃってるしw
0822デフォルトの名無しさん
2007/03/21(水) 14:59:01なるほど
0823デフォルトの名無しさん
2007/03/21(水) 15:06:10黙っておいてあげるのが優しさ
0824デフォルトの名無しさん
2007/03/21(水) 15:08:500827デフォルトの名無しさん
2007/03/21(水) 15:18:04俺様の理論を見ろ>>757
↓
この程度のソースも理解できないのか(プッ>>760
↓
俺様はコメント無くてもソース理解できるんだぜ?>>765
↓
コメントのないソース理解出来ない奴は馬鹿>>773
↓
不要なコメントは、百害あって一理なし、だよ。>>779
↓
ずっと俺のターン!!>>786
↓
俺様の理論が根本的に見当違いだったことが判明>>791
↓
PCの向こうでずっと俺のターン!! ←いまここ
0828デフォルトの名無しさん
2007/03/21(水) 15:19:28for(i=0; prime[i]<x; i++);
sum = ptr - i;
とでもすればかなり速くなる。
0829デフォルトの名無しさん
2007/03/21(水) 15:55:17for(i=0; i<ptr && prime[i]<x; i++);
こうか。
0830デフォルトの名無しさん
2007/03/21(水) 16:20:11#include <stdio.h>
char sieve[1000000] = {0};
int main(void)
{
int i, j, x, y, count = 0;
scanf("%d%d", &x, &y);
sieve[0] = sieve[1] = 1;
for(i=2; i*i<=y; i++) {
if(sieve[i]==0) {
for(j=i*2; j<=y; j+=i) sieve[j] = 1;
}
}
for(i=x; i<=y; i++) if(!sieve[i]) count++;
printf("%d\n", count);
return 0;
}
0831デフォルトの名無しさん
2007/03/21(水) 16:48:390832デフォルトの名無しさん
2007/03/21(水) 16:52:010833デフォルトの名無しさん
2007/03/22(木) 04:19:45int prime[500000];
int main(void)
{
int i, j, x, y, count, ptr = 0;
scanf("%d%d", &x, &y);
prime[ptr++] = 2;
prime[ptr++] = 3;
for(i=5; i<=y; i+=2) {
int flag = 0;
for(j=1; prime[j]*prime[j]<=i; j++) {
if(i%prime[j]==0) {
flag = 1;
break;
}
}
if(!flag) prime[ptr++] = i;
}
if(y==1) count = 0;
else if(y==2) count = 1;
else {
for(i=0; i<ptr && prime[i]<x; i++);
count = ptr - i;
}
printf("%d\n", count);
return 0;
}
>746のアルゴリズムを使って>749,751,753の指摘を元に改良。
1から順に素数を求めるような場合は>791よりもこっちのほうがいい。
ただ、xとyの範囲が狭かったりxが極端に大きかったりすると>791の方がはやくなる。
結局は>830の篩で安定だと思うけど。
0834デフォルトの名無しさん
2007/03/22(木) 04:23:480835デフォルトの名無しさん
2007/03/22(木) 04:32:570836デフォルトの名無しさん
2007/03/22(木) 04:39:56いや、さすがに頭の中の計算だけで素数を記憶しておくのは厳しいがw
0837デフォルトの名無しさん
2007/03/22(木) 06:15:57[2] 問題文(含コード&リンク): カードの山を切り混ぜる方法はいくつかある。
ここでは次のような方法をとる。
n枚のカードの山があるとき,山の一番上からp枚目の札から
連続したc枚の札を抜き取り,それをそのまま山の上に置く。この操作を繰り返し行う。
この方法をシミュレートし,最終的に山の一番上にくる札を答えるプログラムを書きなさい。
入力は複数のデータセットから構成される。
各データセットはnとr という二つの正の整数を含む行から始まる。
nとrはそれぞれ山にある札の枚数とカット操作の回数を表す。
データセットはさらにr行続く。その各行は1回のカット操作を表しており
これらの操作は順に実行される。
各行はpとcの二つの正の整数を含む。
ただし,pとcは p + c ≦ n + 1を満足している。
札の山の一番上からp枚目の札から,c枚の札を山から抜き取り,その山の一番上に置く。
各入力行は一つの空白で区切られた二つの整数を含む。行内にその他の文字はない。
[3] 環境
[3.1] OS:Windouws
[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
[4] 期限:無期限
[5] その他の制限:とくになし
0838デフォルトの名無しさん
2007/03/22(木) 07:00:400839デフォルトの名無しさん
2007/03/22(木) 07:01:110840デフォルトの名無しさん
2007/03/22(木) 07:01:330841デフォルトの名無しさん
2007/03/22(木) 09:46:15#include <stdio.h>
#include <stdlib.h>
void init_array(int *a, int n) {
int i;
for(i=0; i<n; i++) a[i]=0;}
void main(void) {
int *card, *s_card;
int i,j,n,r,p,c;
do{ printf("Input n r \n");
scanf("%d %d",&n,&r); }while(n<0 || r<0);
card = (int*)malloc(n*sizeof(int));
s_card = (int*)malloc(n*sizeof(int));
for(i=0; i<n; i++)
card[i]=i+1;
for(i=0; i<r; i++) {
do{ printf("Input p c \n");
scanf("%d %d",&p,&c); }while( (p<0 || c<0) || (p+c>n+1) );
init_array(s_card,n);
for(j=0; j<c; j++)
s_card[j] = card[p-1+j];
for(j=p-1; j>0; j--)
card[j+c-1] = card[j-1];
for(j=0; j<c; j++)
card[j] = s_card[j];
// 途中経過の表示(不要なら削除)
for(j=0; j<n; j++) printf("%2d番目 : %d \n",j+1,card[j]); }
printf("山の一番上のカード : %d \n",card[0]); }
0842デフォルトの名無しさん
2007/03/22(木) 10:57:27[3.2] コンパイラ名とバージョン:VC 6.0
[3.3] 言語:C++
なんと嫌がらせのような条件だろうか。
0843デフォルトの名無しさん
2007/03/22(木) 11:24:01ミイラ取りがミイラに(ノ∀`)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3763.txt
0844デフォルトの名無しさん
2007/03/22(木) 11:42:41>for(j=p-1; j>0; j--)
j>=0じゃない?
0845デフォルトの名無しさん
2007/03/22(木) 11:43:330846デフォルトの名無しさん
2007/03/22(木) 11:49:040847デフォルトの名無しさん
2007/03/22(木) 11:53:110848デフォルトの名無しさん
2007/03/22(木) 12:32:58動的計画法か。
0849デフォルトの名無しさん
2007/03/22(木) 20:03:30じゃないって言うならまずやって適切な答えが出るか調べたら?
0850デフォルトの名無しさん
2007/03/22(木) 21:53:530851デフォルトの名無しさん
2007/03/22(木) 23:55:55#include <stdio.h>
int main(void)
{
int i, j, x, y, fPrime, nCount = 0;
scanf("%d%d", &x, &y);
if (y < 2) {
printf("none.");
return 0;
}
if (x <= 2) {
printf("2\n");
x = 3;
nCount++;
}
x = (x % 2) ? x : x + 1;
for (i = x; i <= y; i += 2) {
fPrime = 1;
for (j = 3; j * j <= i; j += 2) {
if (!(i % j)) {
fPrime = 0;
break;
}
}
if (fPrime) {
printf("%d\n", i);
nCount++;
}
}
printf("Count = %d\n", nCount);
return 0;
}
0852デフォルトの名無しさん
2007/03/23(金) 00:00:590853デフォルトの名無しさん
2007/03/23(金) 00:07:490854デフォルトの名無しさん
2007/03/23(金) 00:13:200855デフォルトの名無しさん
2007/03/23(金) 00:15:05まず、いちばんもてる男に、女が3人くらい寄っていく。
2番目にもてる男も、負けじと2人くらい持っていく。
したがって3番目の男は、6番目の女と一緒になる。
以下、4番目の男は7番目の女と、5番は8番と、
6番は9番とカップルになる。
しかし、残る7番目以降の男にもプライドだけはあるので、
最後に余った10番目の女など誰も相手にしようとしない。
さて、上位の女を独占したNo.1&2のモテ男も、
最終的には一人を選ばねばならないから、
ここで3人の女があぶれる。
でも、すでにモテ男と付き合った経験のあるこの3人の女は、
いまさら下位の男と一緒になろうなどとは考えない。
こうして、互いに性質の異なる独身男と独身女が残る。
ここに居るのは7番目以降の男と10番目の女w
男 女
1 ○ ○
2 ○ ×
3 ○ ×
4 ○ ○
5 ○ ×
6 ○ ○
7 × ○
8 × ○
9 × ○
10 × ×
0856デフォルトの名無しさん
2007/03/23(金) 00:19:01この問題は C で解決するのか?
C++ とは アッー の事か?
0857デフォルトの名無しさん
2007/03/23(金) 00:24:24状況を提示されただけのような気がするんだが
0858デフォルトの名無しさん
2007/03/23(金) 00:25:230859デフォルトの名無しさん
2007/03/23(金) 00:27:480860デフォルトの名無しさん
2007/03/23(金) 00:39:120861デフォルトの名無しさん
2007/03/23(金) 00:43:020862デフォルトの名無しさん
2007/03/23(金) 01:14:14p = s % size[i];
newvalue = s / size[i] + value[p];
----------------------
value[s] = newvalue;
item[s] = i;
0863デフォルトの名無しさん
2007/03/23(金) 09:07:17#include <iostream>
using namespace std;
void init_array(int *a, int n) {
int i;
for(i=0; i<n; i++) a[i]=0;}
void main(void) {
int *card, *s_card;
int i,j,n,r,p,c;
do{ cout << "Input n r \n";
cin >> n >> r; }while(n<0 || r<0);
card = (int*)malloc(n*sizeof(int));
s_card = (int*)malloc(n*sizeof(int));
for(i=0; i<n; i++)
card[i]=i+1;
for(i=0; i<r; i++) {
do{ cout << "Input p c \n";
cin >> p >> c; }while( (p<0 || c<0) || (p+c>n+1) );
init_array(s_card,n);
for(j=0; j<c; j++)
s_card[j] = card[p-1+j];
for(j=p-2; j>=0; j--)
card[j+c] = card[j];
for(j=0; j<c; j++)
card[j] = s_card[j];
// 途中経過の表示(不要なら削除)
for(j=0; j<n; j++) cout << j+1 << "番目 : " << card[j] << endl; }
cout << "山の一番上のカード : " << card[0] << endl; }
0864デフォルトの名無しさん
2007/03/23(金) 22:07:31正解でした
ありがとうございました
0865デフォルトの名無しさん
2007/03/24(土) 01:54:13[2] 問題文(含コード&リンク):
カレントディレクトリにあるFileという名前のファイルをスタートアップにコピー
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc 4
[3.3] 言語: C
[4] 期限: 2007年04月15日まで
[5] その他の制限:
%ALLUSERSPROFILE%かUSERPROFILEなど、環境変数を使うとのこと
すみません、よろしくお願いします
0866デフォルトの名無しさん
2007/03/24(土) 01:55:51OS をもっと詳細に!
ってかそれもプログラムで判別しないといけない?
0868デフォルトの名無しさん
2007/03/24(土) 05:38:02環境変数を使うのは下策。「スタートアップ」なんて名前になっているのは
日本語Windowsだけだし、それもユーザが変更しているかもしれない。
そんな方法は取らないように。
#include <stdio.h>
#include <windows.h>
#include <shlobj.h>
/* compile with -mwindows -D_WIN32_IE=0x500 */
int main()
{
char szPath[MAX_PATH];
if (!SUCCEEDED(SHGetFolderPathA(0, CSIDL_STARTUP, 0,
SHGFP_TYPE_CURRENT, szPath)))
{
printf("SHGetFolderPath() Failed.\n");
return 1;
}
printf("Copying \"File\" to \"%s\".\n", szPath);
if (!CopyFileA("File", szPath, FALSE))
{
printf("CopyFile() Failed.\n");
return 1;
}
return 0;
}
0870デフォルトの名無しさん
2007/03/24(土) 22:08:56[1] 授業単元: プログラミング初級
[2] 問題文(含コード&リンク):
10名分の試験の点数をキー入力し、その後、それらのデータをファイルに出力せよ。次に、
作成したファイルから10名分の点数データを入力し、それらの合計と平均を計算して画面出力せよ。
[3] 環境
[3.1] OS: WindowsXP
[3.2] Visual studio C++ 6.0
[3.3] 言語: C++
[4] 期限:3月26日月曜日 12時まで
備考
最初のプログラム文は
#include <stdio.h>
int main(void)
から始まるプログラムでお願いします。
0871デフォルトの名無しさん
2007/03/24(土) 22:12:50それ、C++で書いて本当にいいの?
0872デフォルトの名無しさん
2007/03/24(土) 22:20:24int main( v o i d )とか見る限りはCだな
0873デフォルトの名無しさん
2007/03/24(土) 22:42:180874デフォルトの名無しさん
2007/03/24(土) 22:50:30#include<stdio.h>
int main(void)
;
#include<iostream>
#include<algorithm>
#include<fstream>
#include<vector>
#include<numeric>
int input(){return *std::istream_iterator<int>(std::cin);}
int main(){
std::vector<int>data(10);
std::generate(data.begin(),data.end(),input);
std::ofstream fout("out.txt");
std::copy(data.begin(),data.end(),std::ostream_iterator<int>(fout,"\n"));
double sum = std::accumulate(data.begin(),data.end(),0.0);
std::cout
<< "合計 = " << sum << std::endl
<< "平均 = " << sum / data.size() << std::endl;
}
0875デフォルトの名無しさん
2007/03/24(土) 23:12:460876デフォルトの名無しさん
2007/03/25(日) 03:24:19そんなん提出したら殴られそうだなwwww
0877デフォルトの名無しさん
2007/03/25(日) 05:54:46#include <stdio.h>
#define NITEM(array) (sizeof(array)/sizeof(array[0]))
int main(void){
int score[10], i, total;
FILE *fp_in, *fp_out;
char *filename="ファイル";
for(i=0;i<NITEM(score);i++) fscanf(stdin, "%d", &score[i]);
fp_out=fopen(filename, "w");
if(fp_out==NULL){
fprintf(stderr, "\nError : %s file cannot open.\n", filename);
return 1;
}
for(i=0;i<NITEM(score);i++) fprintf(fp_out, "%d\n", score[i]);
fclose(fp_out);
fp_in=fopen(filename, "r");
if(fp_in==NULL){
fprintf(stderr, "\nError : %s file cannot open.\n", filename);
return 1;
}
for(i=0;i<NITEM(score);i++) fscanf(fp_in, "%d", &score[i]);
fclose(fp_in);
for(i=0,total=0;i<NITEM(score);i++) total+=score[i];
printf("Total:%d\nAverage:%f\n", total, (double)total/NITEM(score));
return 0;
}
0878デフォルトの名無しさん
2007/03/25(日) 14:28:41楽しくなってきたぜ!本年度も宿題にばんばん答えてやる!って言っても、たぶんほとんど
毎年同じネタが出るんだろうなぁ・・・
0879デフォルトの名無しさん
2007/03/25(日) 15:02:42今まで宿題に答えていたのか?
0880デフォルトの名無しさん
2007/03/25(日) 15:05:43[1] 授業単元:プログラミング入門
[2] 問題文:以下の各文にある間違いを見付け、修正せよ
printf("%d を %d で割った余りは %d \n", x, y, x % y);
[3.3] 言語:C
[4] 期限:[無期限]
[5] その他の制限:なし
0881デフォルトの名無しさん
2007/03/25(日) 15:29:54その一文だけだと判断できないような。xやyは何なのか。
0882デフォルトの名無しさん
2007/03/25(日) 15:33:44これだけしか書いてないんです
0883デフォルトの名無しさん
2007/03/25(日) 15:44:01こうゆう事じゃね?
0884デフォルトの名無しさん
2007/03/25(日) 15:49:48int main(void){
printf("%d を %d で割った余りは %d \n", x, y, x % y);
return 0;
}
0885デフォルトの名無しさん
2007/03/25(日) 15:52:23既に宣言されてるものとした上での問題みたいです。
0886デフォルトの名無しさん
2007/03/25(日) 15:53:530887デフォルトの名無しさん
2007/03/25(日) 15:55:40上の問題が出されたのであれば判断できるな
0888デフォルトの名無しさん
2007/03/25(日) 15:56:36型宣言は実行文の前にしなくちゃいけなかったような。。
0889デフォルトの名無しさん
2007/03/25(日) 15:56:52あれはキャスト
0890デフォルトの名無しさん
2007/03/25(日) 16:03:42>以下の各文にある間違いを
各文てことはその分以外かもしれないんじゃないのか?
printf("%d を %d で割った余りは %d \n", x, y, x % y); の一文しか書かれてないってのは変だな
0891デフォルトの名無しさん
2007/03/25(日) 16:05:23printf("%d を %d で割った余りは %d \n", x, y, x % y);
だけじゃ判別しようがない罠
0892デフォルトの名無しさん
2007/03/25(日) 16:36:50この一文だけ見たら特に間違いは見つからないんだけど…
printf("%d に1足すと %d さらに1足すと %d\n", x, x++, x++);
↑関係ないけどこういう問題は良く出るよね。
0893デフォルトの名無しさん
2007/03/25(日) 16:37:470894デフォルトの名無しさん
2007/03/25(日) 17:45:380895デフォルトの名無しさん
2007/03/25(日) 17:48:15じゃないの?
0896デフォルトの名無しさん
2007/03/25(日) 18:03:04一定した結果が必要であればldivを使わないといけない
0897デフォルトの名無しさん
2007/03/25(日) 18:48:25嘘を書くな嘘を。
ANSI Cでは負数の除算は0方向に切り捨てとなっている。
だから余剰も処理系には依存せずに、同一の結果を出す。
0898デフォルトの名無しさん
2007/03/25(日) 19:11:300899デフォルトの名無しさん
2007/03/25(日) 19:11:35| 整数同士の除算で割り切れない場合, 両方のオペランドが正の値をもつとき,
| / 演算子の結果は, 代数的な商より小さい最大の整数とし, % 演算子の結果は,
| 正の値とする。一方のオペランドが負の値をもつ場合, / 演算子の結果が代数的な
| 商以下の最大の整数とするか, 又は代数的な商以上の最小の整数とするかは,
| 処理系定義とし, % 演算子の結果の符号も処理系定義とする。
| 商 a/b が表現できる場合, 式 (a/b)*b+a%b は,a に等しくなければならない。
0900デフォルトの名無しさん
2007/03/25(日) 19:28:14間違ってるとはいえない罠
0901デフォルトの名無しさん
2007/03/25(日) 21:57:30| /演算子の結果は, 第1オペランドを第2オペランドで除したし商とし,
| %演算子の結果は余剰とする。両演算子とも, 第2オペランドの値が0の場合,
| その動作は未定義とする。
| 整数同士の除算の場合, /演算子の結果は代数的な商から小数部を切り捨てた値とする。
| 商 a/b が表現できる場合, 式 (a/b)*b+a%b は,a に等しくなければならない。
0902デフォルトの名無しさん
2007/03/26(月) 00:42:43printf("%d を %d で割った余りは %d \n", x, y, x % y);
だけか?>>880は誰かに本当にその問題を出されたのか?
期限が無期限なら、ほっといたら良いじゃん。
0903デフォルトの名無しさん
2007/03/26(月) 01:02:47そうだお ( ^ω^)
もっとも、ソート、素数、その他そういうのを必要としない数値計算なら出来たお( ^ω^)
ポインタは知ってたけど、最近になってポインタのポインタについて理解したところ。
0904デフォルトの名無しさん
2007/03/26(月) 10:28:090905デフォルトの名無しさん
2007/03/26(月) 11:41:500906デフォルトの名無しさん
2007/03/26(月) 16:44:540907デフォルトの名無しさん
2007/03/26(月) 17:20:390908デフォルトの名無しさん
2007/03/26(月) 17:44:560909デフォルトの名無しさん
2007/03/26(月) 18:06:500910デフォルトの名無しさん
2007/03/26(月) 18:27:58tanのテイラー展開は数値計算じゃないだろ
数式処理だ
0911デフォルトの名無しさん
2007/03/26(月) 19:17:020912デフォルトの名無しさん
2007/03/26(月) 19:25:15がんばれ
0913デフォルトの名無しさん
2007/03/26(月) 20:21:59#define OO0OO 10
#define OO000 printf
#define OO00O " %2d"
#define O0OOO for
#define O0OO0 int
#define O0O0O "\n"
#define O0O00 return
#define O00OO main
#define O00O0 ++
#define O000O =
#define OOOO (
#define OOO0 )
#define OO0O ;
#define O0OO {
#define O0O0 }
#define O00O ,
#define O000 <
#define OOO *
O0OO0 O00OO OOOO OOO0 O0OO O0OO0 OOOOO O00O OOOO0 OO0O
O0OOO OOOO OOOOO O000O OO0O0 OO0O OOOOO O000 OO0OO OO0O
OOOOO O00O0 OOO0 O0OO O0OOO OOOO OOOO0 O000O OO0O0 OO0O
OOOO0 O000 OO0OO OO0O OOOO0 O00O0 OOO0 OO000 OOOO OO00O
O00O OOOOO OOO OOOO0 OOO0 OO0O OO000 OOOO O0O0O OOO0 OO0O
O0O0 O0O00 0 OO0O O0O0
0914913
2007/03/26(月) 20:31:550915デフォルトの名無しさん
2007/03/26(月) 20:35:130916デフォルトの名無しさん
2007/03/26(月) 20:35:340917デフォルトの名無しさん
2007/03/26(月) 20:43:490918デフォルトの名無しさん
2007/03/26(月) 20:47:180919デフォルトの名無しさん
2007/03/26(月) 21:15:54[1] 授業単元: Cプログラミング
[2] 問題文(含コード&リンク):
以下の機能を実現するプログラムをCのCGIで作成。
エラーチェックを行うこと。
1)登録:氏名、番号、科目1〜3の点数をdata.datファイルに出力
2)検索:フォームに入力された番号から氏名、科目1〜3の点数を検索し表示
3)更新:フォームに入力された番号の科目1〜3の値を変更
4)削除:フォームに入力された番号の氏名、科目1〜3の値を削除
5)順位:data.datに登録されたデータのうち、科目1〜3の点数の平均ベスト5を表示
6)全件表示:data.datに登録されたデータを全て表示する
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン: gcc4.1
[3.3] 言語: C
[4] 期限: 早いほど良い
[5] その他の制限: ありません。
CGIやファイルの動作が分かりません。
フォームから受け取った値を配列に代入して動かしてみましたがうまくいきません。
0920デフォルトの名無しさん
2007/03/26(月) 23:10:101.何をどう動かしたのか。
2。うまくいかないという判断は何をもってしたのか。
とりあえずこれくらいは答えろ。
0921919
2007/03/27(火) 00:07:42すみません。
1.フォームから値を受け取って配列に代入するところまではできたと思います。
ただ、それをファイルにどう出力すべきかが分かりません。
int型とchar型を扱うので構造体を扱えない自分ではどのようにすればいいか…。
2.フォームから受信したデータを切り分けるのに失敗して混ざってしまいます。
ここらへんはググってみたんですがだめでした。
0922デフォルトの名無しさん
2007/03/27(火) 00:30:09配列にはデーターがどのように入っているのか。
0923デフォルトの名無しさん
2007/03/27(火) 00:41:360924919
2007/03/27(火) 02:55:28こんな感じです。
/*touroku.c*/
#include <stdio.h>
#include <string.h>
int savef(char *num,char *name,char *sbj1,char *sbj2,char *sbj3);
int main(void)
{
int i,len;
char c;
char pBuf;
char name[64],num[5],sbj1[4],sbj2[4],sbj3[4];
len=atoi(getenv("CONTENT_LENGTH"));
c= getenv("CONTENT_LENGTH");
if(c==NULL){
printf("データがありません\n");
exit(1);
}
for(i=0;(c=getchar())!=EOF;i++){
if(c!='\r' && c!='\n')
pBuf[i]=c;
else
i--;
}
pBuf[i]='\0';
num=strtok(pBuf,"&");
name=strtok(pBuf,"&");
sbj1=strtok(pBuf,"&");
sbj2=strtok(pBuf,"&");
sbj3=strtok(pBuf,"&");
0925919
2007/03/27(火) 02:56:18printf("<HTML>\n");
printf("<HEAD>\n");
printf("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");
printf("<TITLE>登録</TITLE>\n");
printf("</HEAD>\n");
printf("<BODY>\n");
printf("CONTENT_LENGTH = %d<BR>\n",len);
printf("受信したデータ<BR>\n",pBuf);
printf("番号=%d<BR>\n",num);
printf("氏名=%s<BR>\n",name);
printf("科目1=%s<BR>\n",sbj1);
printf("科目2=%s<BR>\n",sbj2);
printf("科目3=%s<BR>\n",sbj3);
printf("</BODY>\n");
printf("</HTML>\n");
savef(num,name,sbj1,sbj2,sbj3);
return 0;
}
0926919
2007/03/27(火) 02:57:42int savef(char *num,char *name,char *sbj1,char *sbj2,char *sbj3)
{
char fname[64];
FILE *fp;
int i;
fp = fopen("data.dat", "a");
if (fp == NULL) {
printf("file open errer");
return -1;
}
fprintf(fp, "%d,%s,%d,%d,%d\n", num,name,sbj1,sbj2,sbj3);
fclose(fp);
return 0;
}
0927デフォルトの名無しさん
2007/03/27(火) 08:35:05宿題にしてはだいぶ泥臭いな.
924以下のコードはコンパイルできなさそう.
まだ仕様に不明瞭な点があるから,少なくとも以下のことは書いておくべき.
1.送られるデータは日本語(ascii以外の文字)を含むか
2.各入力の長さ,形式(桁数等),内容(上限等)に制限はあるか
3.フォームの各入力部の名前(name属性)
4.各機能毎にフォーム・cgiを作るのか,あるいは全ての機能を1つのcgiで済ませるのか
5.メソッドは全部POSTでおk?
6.data.datの内容は人間にも読めるほうがいいか
7.ファイルの同時アクセスを気にするか
345に関してはhtmlを丸ごと(あるいは<form ..>〜</form>の部分だけでも)
晒すのがベスト
0928919
2007/03/27(火) 08:58:351.氏名に日本語を含みます。
2.入力の長さについてはhtmlのほうで制御しています。
3,5については次レスで書きます。
4.機能ごとにCGIを作ります。
6.dat自体は読まなくてもいいと思います。
7.気にしません。
0929919
2007/03/27(火) 09:01:34<form name="form1" action="touroku.cgi" method="post"
onsubmit="return check()">
<table cellspacing="0" cellpadding="0" width="350" align="center" border="1">
<tr>
<td align="right" width="50%">番号</td>
<td><input name="num" size="25" maxlength="4" ></td>
</tr>
<tr>
<td align="right" width="50%">氏名</td>
<td><input name="num" size="25" maxlength="8" ></td>
</tr>
<tr>
<td align="right" width="50%">科目1</td>
<td><input name="sbj1" size="25" maxlength="3" ></td>
</tr>
<tr>
<td align="right" width="50%">科目2</td>
<td><input name="sbj2" size="25" maxlength="3" ></td>
</tr>
<tr>
<td align="right" width="50%">科目3</td>
<td><input name="sbj3" size="25" maxlength="3" ></td>
</tr>
<tr align="middle">
<td width="50%" ><input type="submit" value="登録"></td>
<td width="50%"
><input type="reset" value="リセット"></td>
</tr>
</table></form>
0930919
2007/03/27(火) 09:02:09function check(){
for(i=0;i<document.form1.length;i++){
if(document.form1.elements[i].type=="text"){
if(document.form1.elements[i].value==""){
alert("数値が入力されていません。");
return false;
}
}
}
return true;
}
0931デフォルトの名無しさん
2007/03/27(火) 09:06:460932デフォルトの名無しさん
2007/03/27(火) 09:18:34http://www.bohyoh.com/CandCPP/C/Library/strtok.html
char *strtok(char *s1, const char *s2);
明らかに使い方が不適切
0933デフォルトの名無しさん
2007/03/27(火) 09:31:12ってあるのに、フォームの<input>タグの属性に type="text"が入ってねーし
0934デフォルトの名無しさん
2007/03/27(火) 09:39:16<!ATTLIST INPUT
-- 略 --
type %InputType; TEXT -- what kind of widget is needed --
-- 略 --
>
0935デフォルトの名無しさん
2007/03/27(火) 09:55:490936デフォルトの名無しさん
2007/03/27(火) 11:38:18[2] 問題文(含コード&リンク):
1次元配列の中に、20人分の得点データ(0点から100点)を初期値代入し、その後、得点を10点幅の10ランクに分け、
それぞれのランクに何人いるかをカウントし、それらの人数を出力せよ。ただし、カウントには2重ループを、出力には
1重ループのfor分を用いること。また、出力した人数がどのランクか(例えば、0-9,10-9,...)が分かるように出力せよ。
[3] 環境
[3.1] OS:Windows XP
[3.2] 言語: C
[4] 期限: 3月28日13時まで
[5] その他の制限: 特になしです
0937デフォルトの名無しさん
2007/03/27(火) 12:19:24登録に関する部分しか晒してないみたいだけど、
他に問題に関する条件とか、仕様とか、既に用意されてるものとか、後から出てこない?
あるなら全部まとめて晒してくれ。 うpろだにな。
0938デフォルトの名無しさん
2007/03/27(火) 12:22:05strtok、pBuf、辺りが不適切。CONTENT_LENGTH が環境変数なんだろうけど
それにどういう情報が入るのやら俺はさっぱり。その辺りをなんとかすりゃいけそうなソース。
0939デフォルトの名無しさん
2007/03/27(火) 12:39:55#include <stdio.h>
#define MAX_NUM 20
int main(void)
{
double marks[MAX_NUM]; /*初期値代入は書くの面倒だからやってないが*/
int cnt[10];
int i,j;
for(j=0; j<10; j++) cnt[j] = 0;
for(i=0; i<MAX_NUM; i++)
{
marks[i] = (double)(rand()%10000)/100.0;
printf("%3d人目:%g\n", i, marks[i]);
}
for(i=0; i<MAX_NUM; i++)
{
for(j=0; j<10; j++)
{
if((double)j * 10.0 <= marks[i] && marks[i] < (double)(j+1) * 10.0) cnt[j]++;
}
}
for(i=0; i<10; i++) printf("%3d点〜%3d点:%d人\n", i*10, (i+1)*10, cnt[i]);
return 0;
}
0940デフォルトの名無しさん
2007/03/27(火) 12:50:42POST メソッドの場合、CONTENT_LENGTH には CGI に渡されるデータのバイト長が入る。
データ自体は標準入力から受け取る。
<form>タグを使った場合、データは
key1=val1&key2=val2&.....&keyn=valn
といった形式になる。 ただし、英数字以外の文字は全てURLエンコードされる。
0941デフォルトの名無しさん
2007/03/27(火) 13:13:13>>983 → >>938
0942デフォルトの名無しさん
2007/03/27(火) 15:56:05区切る指定の文字が出てきたら、先頭からそこまでの文字しか返ってこないようだが・・・
0943デフォルトの名無しさん
2007/03/28(水) 12:33:010944デフォルトの名無しさん
2007/03/28(水) 12:46:510945デフォルトの名無しさん
2007/03/28(水) 13:04:420946デフォルトの名無しさん
2007/03/28(水) 15:15:56[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3770.txt
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:GCC 3.4.3
[3.3] 言語:C言語
[4] 期限:2007年03月30日08:00まで
[5] その他の制限:特にありません。
よろしくお願いします。
0947デフォルトの名無しさん
2007/03/28(水) 16:29:320948デフォルトの名無しさん
2007/03/28(水) 17:26:49> 行の数を入力してください:3
> 出力結果(列はリバースオーダー):
> 4 5 6
> 1 2 3
列ってcolumnのことだから横方向の数(この場合3)だと思うんだけど、このままでいいの?
0949デフォルトの名無しさん
2007/03/28(水) 17:31:310950デフォルトの名無しさん
2007/03/28(水) 21:29:09「nの階乗 ( n! )」 と 「2 の n乗」を一つのプログラムで求めるには
どうしたらいいでしょうか?
n乗といっても * 使うしかないですよね?
0951デフォルトの名無しさん
2007/03/28(水) 21:32:072のn乗ならシフト演算使うんじゃね?
0952デフォルトの名無しさん
2007/03/28(水) 21:36:450953デフォルトの名無しさん
2007/03/28(水) 21:39:08strlenみたいなのも再帰で書くなら一貫性があるが。
0954デフォルトの名無しさん
2007/03/28(水) 21:40:300955デフォルトの名無しさん
2007/03/28(水) 21:41:22言語の指定がないからC99で
#include<stdio.h>
#include<math.h>
int main(){
int n;scanf("%d",&n);
printf("%.f\n",ldexp(1,n));// 2 ^ n
printf("%.f\n",tgamma(n+1));// n!
}
ldexpの部分は1 << nとかでも可(範囲が整数で収まるならそのほうが高速)
0956ラジアンの比較で躓いてます
2007/03/28(水) 21:53:09二つのラジアンの角度が PI であるか比較するのですが、
270度と0度だと、当然
ang1 = PI + PI/2;
ang2 = 0;
if ( fabs( ang1-ang2 ) == PI/2 )
{
//処理ほげほげ
}
の判定処理が行われません。
まして、ang1 が10度、ang2 が280度ならなおさらです。
どうしたらいいでしょうか?
0957ラジアンの比較で躓いてます
2007/03/28(水) 21:54:16間違えました。
> 二つのラジアンの角度が PI であるか比較するのですが、
じゃなく
二つのラジアンの角度が PI/2 であるか比較するのですが、
です。<(_ _)>
0958デフォルトの名無しさん
2007/03/28(水) 21:58:14$ ./one t
このコマンドパラメータ t ってなんだ?
0959デフォルトの名無しさん
2007/03/28(水) 21:58:30差が [pi, 2pi] なら2piから引いて [0, pi] に持ってくればいいじゃん
0960946
2007/03/28(水) 22:41:39alcで調べたところ、列はrowですね。
通常は
1 2 3
4 5 6
といった具合に出力されるのですが、逆から
4 5 6
1 2 3
と出力するのだと思われます。
>>959
GCCのオプションだと思います。
詳しく分からないので先生にメールで聞いてみます。
お手数をおかけして申し訳ありません。
0961946
2007/03/28(水) 22:44:39ttp://www2.alc.co.jp/ejr/index.php?word_in=row&word_in2=%82%A9%82%AB%82%AD%82%AF%82%B1&word_in3=PVawEWi72JXCKoa0Je
すいません。
rowは意味が二つあるみたいで
【1-名-1】 列{れつ}、横列{おうれつ}、列になっている人◆発音は ro'u。
・ Our seats were in the front row. 私たちの席は一番前だった。
・ Please stay in rows. 列に並んでください。
【1-名-2】 《数学》行
【1-名-3】 《コ》〔データベーステーブルの〕行
と意味があるみたいです。この場合は行で問題ありません。
申し訳ありません。
0962ラジアンの比較で躓いてます
2007/03/28(水) 22:47:51いえ、PI+PI/2 と 0 の比較なのですが・・・
しかも時計方向かどうか判定アリ・・・
0963デフォルトの名無しさん
2007/03/28(水) 22:53:21信じられんな…
>>959
言うてることがわからん。
左回りと右回りを区別するなら2π足したり引いたりしたらいいだけやん
0964ラジアンの比較で躓いてます
2007/03/28(水) 22:57:37いまいち話が噛み合って無いのですが・・・
if ( ( ang1-ang2 ) == PI/2 )
{
//処理ほげほげ
}
( ang1-ang2 ) から2π引けって事?
0965デフォルトの名無しさん
2007/03/28(水) 23:05:52ang2 から ang1 まで -π/2 離れてるなら
ang1 - ang2 = (2n - 1/2)π (n ∈ Z)
だろうが。
一体どこで躓いてんのかわからん
0966ラジアンの比較で躓いてます
2007/03/28(水) 23:55:26∈って何?
0967デフォルトの名無しさん
2007/03/28(水) 23:57:340968デフォルトの名無しさん
2007/03/29(木) 02:06:23もう少し詳しく書きますね。
// a = 0度、b = 90度の場合、以下の式が成立する。
a = 0; b = π/2;
a - b == -π/2
// a = 90度、b = 180度の場合も以下の式が成立する。
a = π/2; b = π;
a - b == -π/2
// a = 180度、b = 270度の場合も、当然以下の式が成立する。
a = π; b = π+π/2;
a - b == -π/2
// ただし a = 270度、b = 0度の場合、以下の式が成立しなくなる。
a = π+π/2; b = 0;
a - b == -π/2 ←これはダメ
要は反時計周りで一周する辺りで式が成立しなくなるのです。
そのあたりの C/C++ での解法を知りたいのですが・・・
0969946
2007/03/29(木) 02:12:01tは読む込むファイル名の事で、元々のサンプルプログラムは
中にt=sample.txtという事が書かれていたらしいのですが、
ファイル名を入力させるように改編したので矛盾が生じたようです。
なので、ファイル名を入力させる というところをなしにして、
プログラム内でt=sample.txt といったように代入させればよいとの事です。
なので、./one t の意味は one.c を走らせ引数tにあるファイルを読み込んで
課題通り出力させればOKです。
引き続きよろしくお願いします。
0970デフォルトの名無しさん
2007/03/29(木) 02:53:350°≠ 360°
0971デフォルトの名無しさん
2007/03/29(木) 03:44:08敢えて煽りっぽく言えば
『(3/2 - 0 == -1/2) が成立しなくて困ってる』
ってしか見えない。
質問が>>1に沿ってないし自作コード全部も晒してないから全く分からんが
もし、『なす角だから、差は -π<θ≦π でなくてはダメ』っていうのなら、
そういう処理書けば良いし。
それとも角度は自動で計算されるとでも思ってるのか?
0972デフォルトの名無しさん
2007/03/29(木) 07:02:29[2] 問題文(含コード&リンク): http://www.teu.ac.jp/icpc/jp/domestic/ICPC2005_Problems_Domestic/C/C_ja.html
入力と出力はファイルから読み込み、ファイルに出力するようにしてください。
入力・出力ファイル名は何でもかまいません。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:VC++ 6.0
[3.3] 言語:C++
[4] 期限:2007/4/1
[5] その他の制限:なし。
よろしくお願いします。
0973デフォルトの名無しさん
2007/03/29(木) 08:08:45いちいちファイルでやるよりリダイレクトの方が楽だよ
#include<iostream>
#include<string>
using namespace std;
const static char ss[] = "mcxi";
const static int vs[] = {1000,100,10,1};
int from(){
string line;cin>>line;
int s = 1,v=0;
for(int i=0;i<line.size();++i)
if(isdigit(line[i]))s = line[i] - '0';
else v += s * vs[strchr(ss,line[i])-ss],
s = 1;
return v;
}
string to(int v){
string line;
for(int i=3;i>=0;v/=10,--i){
if(v%10 == 0)continue;
line = ss[i] + line;
if(v%10 > 1)line = (char)(v%10+'0') + line;
}
return line;
}
int main(){
int n;cin>>n;
while(n--)cout<<to(from()+from())<<endl;
}
0974972
2007/03/29(木) 08:14:21ありがとうございます!!
あの、大変申し訳ないのですが、
言語はCの間違いでした…
Cで書いていただけませんか?
本当にすいません…;
0975デフォルトの名無しさん
2007/03/29(木) 08:30:52うーん別にいいけど、この大会に出るならC++のほうが言語として強いからお勧めだよ。
Cだと文字列とか幅優先とかめんどいし。
#include<stdio.h>
#include<string.h>
#include<ctype.h>
const static char ss[] = "mcxi";
const static int vs[] = {1000,100,10,1};
int from(){
char line[80];
int s = 1,v=0,i;scanf("%s",line);
for(i=0;line[i];++i)
if(isdigit(line[i]))s = line[i] - '0';
else v += s * vs[strchr(ss,line[i])-ss],s = 1;
return v;
}
char* to(int v){
static char line[80];
char*p=line+79;
int i;for(i=3;i>=0;v/=10,--i){
if(v%10 == 0)continue;
*--p = ss[i];
if(v%10 > 1)*--p = v%10+'0';
}
return p;
}
int main(){
int n;scanf("%d",&n);
while(n--)puts(to(from()+from()));
return 0;
}
0976デフォルトの名無しさん
2007/03/29(木) 08:38:21Cも糞もないだろ。
「時計盤の3時から12時まで時計回りで何度ですか(-180度から180度の範囲で答えなさい)」
って問題だろうが。お前どうやって解くんだよ
0977デフォルトの名無しさん
2007/03/29(木) 08:59:33> 自作コード全部も晒してないから全く分からんが
抜き書きするとこうなんですが・・・
ang1 = getAngle(p1, p2); // 辺Aの角度
ang2 = getAngle(p2, p3); // 辺Bの角度
if ( ang2-ang1 == PI/2 ) // 辺Aから辺Bへの曲り角度が90度なら・・・
{
// 処理
}
> if ( ang2-ang1 == PI/2 )
ここの判定処理をもっとうまくやりたいだけで
そんなにおかしな質問してると思わないんだけど。
0978デフォルトの名無しさん
2007/03/29(木) 09:06:41差が [-π, π] になるまで 2π を足したり引いたりしたらいいって言ってるだろうが。人の話聞けよ
0980デフォルトの名無しさん
2007/03/29(木) 09:09:12それint?flort?
flortに対して==で比較はしないほうがいいんじゃない?
0981デフォルトの名無しさん
2007/03/29(木) 09:10:162πを引いて-π(-90度)になると判定条件が変わるんですが。
0982デフォルトの名無しさん
2007/03/29(木) 09:12:37実際には if ( equal( double, double, double ) ) と、判定関数入れて
近似値の誤差問題に対処してます。
0983デフォルトの名無しさん
2007/03/29(木) 09:14:03http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3773.txt
one.c
二問目はPOSIX環境ないから解けね
0984名無し募集中。。。
2007/03/29(木) 09:15:08しようがないよ。ひとつの引き算と、ひとつの比較で実現できない。
270度も-90度も右回りか左回りかの違いであり両方とも90度。
これを1つの==で表現できるわけない。
0985デフォルトの名無しさん
2007/03/29(木) 09:16:24何を言っているんだ
270度=-90度と見なすならば360度足そうが引こうが条件変わらんだろ。
0986デフォルトの名無しさん
2007/03/29(木) 09:16:44そうだね。
0987デフォルトの名無しさん
2007/03/29(木) 09:18:58これ以上質問したいのなら、>>1に沿って書け
自分のコードがあるのなら、全部晒せ。
「自分は間違ってない」と思ってる所でミスってる可能性だってあるだろうが。
0988デフォルトの名無しさん
2007/03/29(木) 09:19:08では反時計回りの90度であると判定するためには
> if ( ang2-ang1 == PI/2 ) // 辺Aから辺Bへの曲り角度が90度なら・・・
この判定文前後の実装をどう変えたらいいでしょうか?
0989デフォルトの名無しさん
2007/03/29(木) 09:26:46あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
【C 関数検索 man on WWW】 http://www.linux.or.jp/JM/index.html
【過去ログ検索】 http://chomework.sakura.ne.jp/
【wiki】 http://www23.atwiki.jp/homework/
【前スレ】
C/C++の宿題を片付けます 84代目
http://pc11.2ch.net/test/read.cgi/tech/1172981618/
0990デフォルトの名無しさん
2007/03/29(木) 09:28:24a = 180度、b = 90度の場合は?
a = 270度、b = 180度の場合は?
>>988
ang3 = ang2-ang1;
ごにょごにょだけど
πって確実に誤差が存在する値なので面倒だな
0991デフォルトの名無しさん
2007/03/29(木) 09:28:37いい加減いなくなってくれ
remainder(ang2 - ang1, 2 * M_PI) == M_PI/2
0992デフォルトの名無しさん
2007/03/29(木) 09:35:00何あんた?自分が正しいからって何様?このスレの主か?欧米か!?
0993デフォルトの名無しさん
2007/03/29(木) 09:36:12意図的にやってるのかどうかは知らんが
0994デフォルトの名無しさん
2007/03/29(木) 09:36:28逆にbを-90度回転したのがaに等しいか比較するとか
0度を-90度回転すると-90になる。
負の値なので360を足して270度にする。
aと比較する。
0995988
2007/03/29(木) 09:38:250996デフォルトの名無しさん
2007/03/29(木) 09:39:08そんなことにここで腹を立てている自分が滑稽だと思わんかね?
たとえ正しいと分かっていても、お前みたいな奴の方がここにいない方が良い、分かるかね?
0^0=1を二項展開から求めちゃった東京の新学校から京都の忌まわしい大学に入っちゃった君?w
0997988
2007/03/29(木) 09:41:02「時計回りの90度」は別物とみなします。
最初のコードがおかしかったのは事実だが・・・
0998デフォルトの名無しさん
2007/03/29(木) 09:41:55ちみちみ、釈明しなくてもええよ?w
0999988
2007/03/29(木) 09:42:071000デフォルトの名無しさん
2007/03/29(木) 09:43:1810011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。