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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
あなたが解けない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++の宿題を片付けます 83代目
http://pc11.2ch.net/test/read.cgi/tech/1170830498/
2デフォルトの名無しさん:2007/03/04(日) 13:16:07
#include <2get.h>
3デフォルトの名無しさん:2007/03/04(日) 13:20:18
2.c:1:18: 2get.h: No such file or directory
4デフォルトの名無しさん:2007/03/04(日) 14:06:44
前スレは可哀相な人に捧げました
5デフォルトの名無しさん:2007/03/04(日) 14:52:35
春が来たな
6デフォルトの名無しさん:2007/03/04(日) 15:10:24
前スレを童貞に捧げてきました。さっ、これからは非童貞でモテモテが宿題を答えます故
安心して質問して下さい。
7デフォルトの名無しさん:2007/03/04(日) 15:23:37
[1] 授業単元: C++プログラム
[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 ;

から始めていますが、その先が進みません。
どちら様か、アイディア、お知恵をお貸し頂ければ大変恐縮します。よろしくお願いします。
8デフォルトの名無しさん:2007/03/04(日) 15:41:56
>>7
入力した文字を先頭から調べていって、スペースやコンマ、セミコロンがあったら
strcpy(buf, pos+1);   //posがスペースやコンマ、セミコロンの位置
strcat(pos,buf);
みたいな感じで
あとはstrlenで文字数カウントして出力

これじゃC++関係ないな・・・
9デフォルトの名無しさん:2007/03/04(日) 15:48:20
>>6
出番ですよ?
10デフォルトの名無しさん:2007/03/04(日) 15:55:57
>>7
#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;
}
11デフォルトの名無しさん:2007/03/04(日) 16:23:37
>>1
12デフォルトの名無しさん:2007/03/04(日) 16:38:17
>>9 = 前スレで釣りネタ課題にネチネチ突っ込んできた理解力の無い童貞キモヲタデヴピッツァ
カミングアウト乙。お前が釣られていることにいい加減気づけ。
13デフォルトの名無しさん:2007/03/04(日) 17:03:12
>>10
> Array, stringを使って打ち込んだ文字をモニターにプリントせよ。
14デフォルトの名無しさん:2007/03/04(日) 17:15:53
きんもーっ☆
15デフォルトの名無しさん:2007/03/04(日) 17:28:15
国公立大学生のエリート達は今頃春休み中ですよ。
私大の連中か専門の連中でしょうかねぇ?
16デフォルトの名無しさん:2007/03/04(日) 17:42:04
俺は私大に通ってたけど、別に今の時期も休みだったが?
って勝手なことを言うお前は勝手にエリートについて決め付け過ぎ。
学校によって違いはあるけど、エリートとか私立専門で休業期間が違うと
思っているのは、大学にも通ったことがない高卒だろ?w
17デフォルトの名無しさん:2007/03/04(日) 17:43:11
釣られすぎだろ、常識的に考えて…
18デフォルトの名無しさん:2007/03/04(日) 17:46:07
>>17 っと妄想高卒童貞キモヲタピッツァが必死こいて釣りをした気になっていますw
19デフォルトの名無しさん:2007/03/04(日) 17:47:04
最近このスレ無茶苦茶だな…。あのピッツァさんが来て以来…。
20デフォルトの名無しさん:2007/03/04(日) 17:48:15
うぉ、本人居たwwwww
21デフォルトの名無しさん:2007/03/04(日) 17:49:07
釣りをしたつもりが自分が釣られていることに気づかない >>17 m9(^д^)プギャー
前スレのカレンダー課題はモロに最後にエサと書いてあったけど
>>17は後から釣り宣言をしている必死さがにじみでていまつw
22デフォルトの名無しさん:2007/03/04(日) 17:51:25
>>7
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3731.txt

Arrayが何のことか良く分からなかったので、無理やり
Arrayというstructを作ってみた。
23デフォルトの名無しさん:2007/03/04(日) 17:51:35
お前ら雑談してる暇があれば課題をこなせよ…
24デフォルトの名無しさん:2007/03/04(日) 17:51:57
15 名前:デフォルトの名無しさん 投稿日:2007/03/04(日) 17:28:15
国公立大学生のエリート達は今頃春休み中ですよ。
私大の連中か専門の連中でしょうかねぇ?
25デフォルトの名無しさん:2007/03/04(日) 17:56:32
>>23
こんなこともあろうかと、
前スレの終わりのほうにたくさんネタ課題を挙げておいたのだが。
26デフォルトの名無しさん:2007/03/04(日) 17:58:36
ネタはいらね
27デフォルトの名無しさん:2007/03/04(日) 17:59:58
ここは宿題を解くスレであって、ネタ問題を出すスレではないんだが
28デフォルトの名無しさん:2007/03/04(日) 18:03:02
ネ、ネタのふりをしただけで、本当は宿題なんだからねっ
29デフォルトの名無しさん:2007/03/04(日) 18:03:07
面白ければなんでもいい
30デフォルトの名無しさん:2007/03/04(日) 18:03:53
>>15
今春休みの自分がFランク以下の国公立に通っていても
エリート学校と同じ期間に休業中だからといって自分もエリート気取りになっている
低レベル大学の生徒乙wwwwww
私立もお休みですよ?しかも私立でもエリート大学はあるんだがw
お金の無い奴は学費の安い国公立でひぃひぃ言いながら学歴重視な人生を送ってなさいってこった。
政治家とかどこぞの最先端を行く研究所で働いてでもならなきゃそんなのもパーだけどなw
31デフォルトの名無しさん:2007/03/04(日) 18:04:14
>>25
実は興味深い問題が色々あった。
32デフォルトの名無しさん:2007/03/04(日) 18:08:44
ここまでのキチガイまとめておこうぜ。
・ピッツァさん
・エリート君
・俺
33デフォルトの名無しさん:2007/03/04(日) 18:08:57
なんかこのスレかじゅ○くさいです
34デフォルトの名無しさん:2007/03/04(日) 18:18:20
じゅうくさい?
3522:2007/03/04(日) 18:32:01
すまぬ。>>22のcopy_if()にはバグがあった。
でもまあこの応用では問題が起きないからいいか....。
36デフォルトの名無しさん:2007/03/04(日) 18:41:02
うはー、このスレすごすぎ。
季節的なものかな?
37デフォルトの名無しさん:2007/03/04(日) 18:56:36
どんどん荒れてもらって構わない。
宿題を丸投げするような馬鹿は単位を落とすべき。
38デフォルトの名無しさん:2007/03/04(日) 19:15:21
いや、普通に他の質問スレに流れるだけかと・・・
39デフォルトの名無しさん:2007/03/04(日) 19:20:35
マルチの危険があるな
40デフォルトの名無しさん:2007/03/04(日) 20:22:40
そういえば、マルチの型番ってなんだっけ?
41デフォルトの名無しさん:2007/03/04(日) 20:27:35
古いエロゲの話なんてしてんじゃね〜ぞ、この彼女いない歴:生まれて今日(ry
の童貞キモヲタデヴピッツァめがゴルァ!
42デフォルトの名無しさん:2007/03/04(日) 20:33:34
前スレ埋めたんだね。ご苦労。
43デフォルトの名無しさん:2007/03/04(日) 21:29:48
注:私の有意義な発言に対し、自分の理解不足を棚に上げ煽り、1行レス
で返す方が多いようですが、そのような方はスレの皆様を混乱させるだけでなく
スレの雰囲気を崩しかねないのでお黙り下さい。
また質問者は回答者に知識を披露する場を与える貴重な存在なので、
質問者を見下した回答、あまりにも儀礼を欠いた回答も厳重に禁止いたします。
忙しい中、少ない時間の合間を縫って質問しに来てるわけですので、
その辺ご承知下さい。なお、当方が質問に対して有意義な答えであると
判断した方には評価いたしますので各自よく調べ、よく考え正確な回答をするように。
44デフォルトの名無しさん:2007/03/04(日) 21:35:11
43 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
45デフォルトの名無しさん:2007/03/04(日) 21:39:02
[2] 問題文(含コード&リンク):
>>43を3行に要約するプログラムを作成しなさい
46デフォルトの名無しさん:2007/03/04(日) 22:12:20
貴様ら、なんでプログラミングなんて始めたんだい?俺なんて大学の2単位しかもらえん
つまらぬ授業で知って以来、なんとなく数値計算程度で使っているが・・・
47デフォルトの名無しさん:2007/03/04(日) 22:33:22
>>45
#include <stdio.h>
int main(){ printf("滑って\n転んで\n大分県"); return 0; }
48デフォルトの名無しさん:2007/03/04(日) 22:46:33
>>46
もともと形式化が好きだったが、一人寂しく形式化して悦に入っているのよりも
フィードバックが得られた方が楽しいことに気づいたから。
49デフォルトの名無しさん:2007/03/04(日) 23:05:52
>>46
物を作るのは楽しい。それが実際に役に立つのなら言うことは無い。
50デフォルトの名無しさん:2007/03/04(日) 23:35:00
>>49
そのとーりだ。
でも仕事としてやっていると
つまらないことだらけなんだよな。
51デフォルトの名無しさん:2007/03/04(日) 23:53:21
性帝トーマス氏は来ていない?あのお方の絡みは結構好きだったんだがw
52デフォルトの名無しさん:2007/03/05(月) 00:35:03
本人乙
53前スレ882:2007/03/05(月) 13:59:11
ハッシュ関数に関する問題をお願いした者です
http://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
54前885:2007/03/05(月) 14:09:35
>>53
ソース中の日本語を sjis で up したんだが、
そのエラーコードから察すると unix 上でコンパイルしてるっぽい。

なので、文字コードを euc に変換したものを渡すか、ASCII で表記してみたら?
55前885:2007/03/05(月) 14:23:25
もう1点
// が最初から入ってたんでそのままにしたけど、標準Cでは非コメントだお
56前スレ882:2007/03/05(月) 15:20:11
送信する部分は穴埋め部分のみなので、提出する時には

struct tfield *p;
struct tfield *old;

の部分と

if (dat[n] == p) {
dat[n] = p->pointer;
} else {
old->pointer = p->pointer;
p = old;
}
break;
}

の部分だけで送信していて、文字コードに関してはおそらく問題ないと思うのですが
break;あるなしに関わらず同じコンパイルエラーになってしまいます
しばらくにらめっこしてみます
57前885:2007/03/05(月) 16:06:05
>>56
すまね。 最後の } まで含んでるが、実際にはそこ含まないや

if (dat[n] == p) {
dat[n] = p->pointer;
} else {
old->pointer = p->pointer;
p = old;
}
break;

が送信内容に相当だわ
58デフォルトの名無しさん:2007/03/05(月) 20:06:56
今俺C言語レベル10。新学期が始まるまでになるべくレベル99にまで上げるようにがんばるからさ
応援してくれ!そこまで上がったらそれ以上上がらない、どうすんだと?そりゃお前、転職するさ。
ダーマの神殿も探しておかなきゃ。
59デフォルトの名無しさん:2007/03/05(月) 21:02:07
>>58
つ遊び人
60デフォルトの名無しさん:2007/03/05(月) 21:19:17
遊び人からってならわかるが、遊び人になるのはちょっと・・・
C言語マスターってだけじゃ働かずに食っていけないっす orz
61デフォルトの名無しさん:2007/03/05(月) 21:52:47
マスターするのがどれだけ途方もない道か分かっていないようだな
62デフォルトの名無しさん:2007/03/05(月) 22:05:14
C言語マスター=C言語仕様覚える
なんだろ
63デフォルトの名無しさん:2007/03/05(月) 22:09:41
道具の使い方を知っている≠道具を上手く使って目的を達成する

「xxxをマスターしています」発言は後者の意味に取られることが多い
64デフォルトの名無しさん:2007/03/05(月) 22:51:33
おまえらの言ってるマスターはマスターヨーダのマスターだろ?
習得って意味でもマスターって使うじゃん?
65デフォルトの名無しさん:2007/03/05(月) 22:59:17
なんか良い例えだな
66前スレ882:2007/03/05(月) 23:11:00
>>57
うまくいきました
ありがとうございました
67デフォルトの名無しさん:2007/03/06(火) 00:56:57
まぁ、確かにマスターというのも曖昧か。まぁ、最終的にはどの言語でも
そのコンピュータが実装する範囲内でだが、計算処理を自由自在に操れる
というのがマスターってことで。
68デフォルトの名無しさん:2007/03/06(火) 00:59:41
じゃあアイドルマスターってアイドルを自由自在に(ry
69デフォルトの名無しさん:2007/03/06(火) 01:26:47
やりたきゃやれぇ、アイドルの貞操を乱すものは許さんぞぉ〜!
70デフォルトの名無しさん:2007/03/06(火) 13:49:16
[1] 授業単元:C言語基礎
[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


どうにか色々なサンプルを参照しながら完成したのですが
コンパイラで以下の警告が出てしまいます。
7171:2007/03/06(火) 14:06:26
[1] 授業単元: C++ 基礎クラス
[2] 問題文(含コード&リンク):
入力した連続したアルファベットの最初と最後の文字を省き、 残った文字をモニターにプリントする。
その手順で入力したアルファベットがなくなるまでFORループを使って繰り返す。

例;
abcdefと入力した場合。
bcde
cd

absolutelyと入力した場合。
bsolutel
solute
olut
lt
u

と画面に現れればいいという事です。
72続71:2007/03/06(火) 14:07:08
[3] 環境
 [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;
}
73デフォルトの名無しさん:2007/03/06(火) 14:29:14
>>71
std::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++;
  }
}
74デフォルトの名無しさん:2007/03/06(火) 16:13:48
>>70
まだ大雑把にしか見てないが、

"エラー E2293 467 : )が必要"
pload = ((PPERSON)malloc(sizeof(PERSON));
一番左の括弧がひとつ多い。

"警告 W8066 321:と409:と413:"
return で関数から抜けるので、break;は要らない。

これは必要ないかもしれんけど、
"警告 W8065 プロトタイプ宣言のない関数"
17行目とかを、
int AddData(); → int AddData(void);


なかなかよくできているのではないだろうか(偉そうにスマソ)。
気が向いたら、細かく見て、感想書いてみる。
75デフォルトの名無しさん:2007/03/06(火) 16:36:53
>>70
513: int DeleteData()
何番目のデータを削除するか、というところで
入力した数( j に入力された数 )がcountを超える場合はreturnした方がいいかも。
処理落ちの予感。
76デフォルトの名無しさん:2007/03/06(火) 16:41:59
現在登録されているデータの個数が分かると良いかなぁ、って俺なりの要望をしてみる
77デフォルトの名無しさん:2007/03/06(火) 16:51:28
// コマンド入力
gets(szInput);
こんなところにダンディ坂野が!?やっちまったな!
78デフォルトの名無しさん:2007/03/06(火) 16:53:13
>>70
298: pedit = pedit->pnext;
pedit = pedit->pprev; だと思われ。
処理(ry
79デフォルトの名無しさん:2007/03/06(火) 17:20:49
>>70
285: j == 0
j <= 0 にする。
-1とかを入力すると処(ry
80デフォルトの名無しさん:2007/03/06(火) 17:38:58
>>70
LoadData()の挙動がちょっとな……。
81デフォルトの名無しさん:2007/03/06(火) 17:40:03
 この問題を解いてもらえませんか?できれば解説つきで。

 問題
  テキストファイルを読み取って(最大で100文字)すべて
アルファベット順に並んだ文字郡のファイルを作る。
 またプログラムは、入力ファイルと出力ファイルをユーザーから読み取る。
ヒント(ストリングのアレーを見つけ出す,二次元配列のアレーを使えば
文字を記憶させるのに便利)
  


82デフォルトの名無しさん:2007/03/06(火) 17:40:31
83デフォルトの名無しさん:2007/03/06(火) 17:40:57
いや、追加する仕様なのかもな。
84OCS:2007/03/06(火) 23:06:04
[1] 授業単元: C言語基礎
[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()関数を使うこと

大阪のしがない専門学校からなのですが、これが授業の最終課題なんです。みなさんのお力を貸してください。
よろしくお願いいたします。
85デフォルトの名無しさん:2007/03/07(水) 01:41:07
[1] 授業単元:C++
[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;
}
8685:2007/03/07(水) 01:44:09
void main( void ){
CKouza 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して受け渡してしまうのですが
原因がわかりません。おかしいところを教えてください。
87デフォルトの名無しさん:2007/03/07(水) 01:44:24
>>85
題意が意味不明
8887:2007/03/07(水) 01:45:08
ごめん>85しか見てなかった
89デフォルトの名無しさん:2007/03/07(水) 01:51:53
>>85
yokinを初期化する必要があるんじゃないか?
90デフォルトの名無しさん:2007/03/07(水) 09:14:08
>>74 >>75 >>78 >>79 >>80さん
おかげで実行に成功しました。
ただ、所々のポインタが不安定っぽいのでこれ以降は自力で解いてみようと思います。
ご指摘ありがとうございました。

>>76
入力されたデータを読み込む際にカウントして個数を表示するようにしました。
確かに無いと不便でしたね。
9185:2007/03/07(水) 11:59:14
>>89
はい、私もそう思って、ginko.ireru(i)の前にginko.ireru(0)で
初期化したんですが、それでも1がプラスされるんです。
例として([]内はキーボード入力)

預金:[300000]
預金額:300001 //ここでyokinの内容を書き出すとなぜか1が増えている。

こんな感じです。
92デフォルトの名無しさん:2007/03/07(水) 12:07:11
>>91
それじゃ0足してるだけで初期化になってないだろ
9385:2007/03/07(水) 12:08:12
書き込んだあとに間違いに気づきました。
ginko.ireru(0)で初期化されるのは、yokinじゃなくてokaneでした。
ありがとうございました。
94デフォルトの名無しさん:2007/03/07(水) 13:22:51
>>84
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3735.txt

> C:表示しているデータの型(最初は16進数で表示している)変更を受け付ける
の意味がわからなかったので付けてない。
あとエラー処理とかは割りと適当かも。
95デフォルトの名無しさん: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ループ内の、最長文字数に足るまで' 'で埋めている部分が、反復子でどう埋めるのか分かりません。
その部分だけでも結構ですので、よろしくお願いできましたら。
96OCS:2007/03/07(水) 21:45:34
>>94番さん
ありがとうございます!
『C』の処理の内容を聞くメールを先生に出したので、明日かあさってに返事がくると思います!!
詳細わかったらまた書き込みます!
ありがとうございました!!
97デフォルトの名無しさん:2007/03/07(水) 22:15:48
>>95
コンテナに対する反復子は、配列に対するポインタだと思えばいい。

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(), ' ') + " *");
}
98デフォルトの名無しさん:2007/03/08(木) 00:32:45
STLの内部にはよく何度も条件分岐が平気で使われるから、
例えばvectorのsize()も中身を見るとifが1つ。
あるベンチマークの結果では、Cと同じことをSTLを使って処理をさせて時間を計った所
平均で5倍という結果が出た。
だから処理速度だけには注意して組むとよろし。
9995:2007/03/08(木) 01:51:16
>>97
ご回答ありがとうございました。
it->size() なんてものがあったんですね。
本に書いてなかった(見落としかも)ので、そこで悶絶してましたorz
おかげさまでスッキリです。

本筋と関係なくて失礼かとも思いましたが、後から見る方のために、
(多分)仮引数がconstなので、forの初期化式の反復子もconst_iteratorにしないと
コンパイラーに怒られました、とご報告を。。
100デフォルトの名無しさん:2007/03/08(木) 11:25:12
[1] 授業単元: C++
[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;
}
101デフォルトの名無しさん:2007/03/08(木) 11:44:30
>>100
i[0] = h[0];
i[1] = g[0];
i[2] = k[0];
i[3]= '\0';
102100:2007/03/08(木) 11:59:43
>>101
え、そうなの?
どうもありがとう!
103デフォルトの名無しさん:2007/03/08(木) 12:06:08
>>100
>strcpy(i[0],h);
strcpy の引数はポインタ
i[0] はポインタではない
104100:2007/03/08(木) 13:36:31
な、なるほど・・・・
ポインタの基礎から叩き込むとなると、長い道のりとなりそうだ。
105デフォルトの名無しさん:2007/03/08(木) 14:01:28
strcpy()ってiostream.hに入ってたのか・・・知らなんだ
106デフォルトの名無しさん:2007/03/08(木) 14:02:03
>>105
string.h
107デフォルトの名無しさん:2007/03/08(木) 14:07:15
C++のソースなら、
#include <iostream.h> → #include <iostream>
#include <string.h> → #include <cstring>
あと、mainの冒頭で using namespace std; しとけ。
108デフォルトの名無しさん:2007/03/08(木) 14:07:20
#include<iostream.h>
int main()
{
char i[4];
strcpy(i,"ABC");
cout <<i << endl;
return 0;
}

bcc32 でコンパイルできた。
109デフォルトの名無しさん:2007/03/08(木) 14:15:59
int mein{
char i[4]
//iに"ABC"をコピー
//%s iでprintf
retunrn
}

脳内 でコンパイルできた。
110デフォルトの名無しさん:2007/03/08(木) 17:20:02
mainがありません。
111デフォルトの名無しさん:2007/03/08(木) 17:23:56
>>109
#define retunrn ;return 0;
#define mein main(void)
112お願いします!!:2007/03/08(木) 17:42:50
100個の数値データを最大値選択法を用いて大きい順に並び替えるCASLUプログラムを作成し、
ソースリストを作成せよ。
という課題なんですがさっぱり分かりません。
詳しい方お願いします!!締め切りが明日までであせってます><
113デフォルトの名無しさん:2007/03/08(木) 17:45:42
>>111
ワラタ
returnのdefine文が絶妙w
114デフォルトの名無しさん:2007/03/08(木) 17:46:52
[1] 授業単元:C言語
[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としてコンパイルするオプションが付けられる

分かりません お願いします
115デフォルトの名無しさん:2007/03/08(木) 17:47:08
>>112
CASLUってCではないような・・・・
116お願いします!!:2007/03/08(木) 17:50:55
そうなんですか??
こういうの全く分からないもので。。。
どこに書き込めば回答してくれますかね??><
117デフォルトの名無しさん:2007/03/08(木) 17:51:49
>>114
第一引数で四則演算を振り分けるのにすらifもswitchも使えないってことは
関数ポインタ配列でも使えということか?
0除算はチェックしなくていいのか?
118114:2007/03/08(木) 17:52:50
>>117
問題文にしろと書いてないのでしなくて良いと思います
119デフォルトの名無しさん:2007/03/08(木) 17:54:13
三項演算子を使うんじゃないか?
120デフォルトの名無しさん:2007/03/08(木) 18:05:19
>>114

/*テスト用コード*/
#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)));
}

こんな感じ?
121デフォルトの名無しさん:2007/03/08(木) 18:08:57
ついでに、0除算チェック付けるならこんな感じだな

return y == 0 ? 0 : ( mode == 0 ? x+y : (mode == 1 ? x-y : (mode == 2 ? x*y : (mode == 3 ? x/y : 0))) );
122デフォルトの名無しさん:2007/03/08(木) 18:09:59
>>118
問題文で2と3が乗算になってるが
3が除算でいいよな
123デフォルトの名無しさん:2007/03/08(木) 18:11:59
>>121
それだとどの演算でもy==0だと0が返るぞ
124デフォルトの名無しさん:2007/03/08(木) 18:13:22
int function(int mode,int x,int y)
{
return mode == 0 ? x+y : (mode == 1 ? x-y : (mode == 2 ? x*y : (mode == 3 ? (y==0)? 0: x/y) : 0)));
}

だな
125124:2007/03/08(木) 18:14:17
まちがい
(y==0)?
(y==0?
126デフォルトの名無しさん:2007/03/08(木) 18:16:02
サーセンwwwww

return mode == 0 ? x+y : (mode == 1 ? x-y : (mode == 2 ? x*y : ((mode == 3 && y != 0) ? x/y : 0)));
127デフォルトの名無しさん:2007/03/08(木) 18:16:17
>>114 関数ポインタ使ったバージョン
int 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);
}
128デフォルトの名無しさん:2007/03/08(木) 18:17:08
出題者の意図としては関数ポインタ使って欲しいんだろうな。

typedef 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_*** の実装は省略。 わかるよな。
まぁ三項演算子使うなとは書いてないからどっちでもいいと思うけどね。
129デフォルトの名無しさん:2007/03/08(木) 18:33:47
int function(int op, int a, int b) {
    #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
}

こうですか><
130デフォルトの名無しさん:2007/03/08(木) 18:41:17
それはないだろ
131114:2007/03/08(木) 18:46:51
有難うございます。
授業担当の人がむかつくので三項演算子使って提出します。
132デフォルトの名無しさん:2007/03/08(木) 18:50:32
授業担当がムカツクなら関数ポインタの方がよくね?
133デフォルトの名無しさん:2007/03/08(木) 18:51:24
むかつくくらいならそいつの授業を受けない方が良くね?
134デフォルトの名無しさん:2007/03/08(木) 18:55:14
>>130
じゃあもっとわかりづらくして提出しようぜ。一行で。
int function(int a,int b,int c){return a?a-1?a-2?b/c:b*c:b-c:b+c;}
135デフォルトの名無しさん:2007/03/08(木) 18:57:53
>>130
見た目は美しいな!

だんだん、Code Golfみたいになってきたな。
136デフォルトの名無しさん:2007/03/08(木) 19:01:09
レス番間違った。>>134宛。

定数を全廃して
int function(int a, int b, int c) { return a-- ? a-- ? a-- ? b/c : b*c : b-c : b+c; }
と書けそうな気がするのだが、--の評価が環境依存だったりするとまずい?

137デフォルトの名無しさん:2007/03/08(木) 19:03:54
C99ならこんなんできるんだっけか。

int 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);}
138デフォルトの名無しさん:2007/03/08(木) 19:04:52
>>136
条件演算子は副作用完了点だから大丈夫。
139デフォルトの名無しさん:2007/03/08(木) 19:07:24
こんなのは?
int op_sub(int a, int P){
int m=0, m9=0, o=0;
return
(m9^o^m)?0 //顔文字
:-P //顔文字
+a
;} //顔文字?
140デフォルトの名無しさん:2007/03/08(木) 19:10:45
授業担当をイラつかせる解答を出すスレになりつつあるな。
141デフォルトの名無しさん:2007/03/08(木) 19:13:29
>>137
int function(int op,int x,int y){return(*(op+(int(*[])(int,int)){add,sub,mul,div}))(x,y);}
こうしておけば完璧だな
142デフォルトの名無しさん:2007/03/08(木) 19:13:36
orz=3 も追加してみるとか
143デフォルトの名無しさん:2007/03/08(木) 19:16:28
まぁ、悪くはないんだけどさぁ・・・きんもぉ〜☆
144デフォルトの名無しさん:2007/03/08(木) 19:19:00
おまいらまでいらついてどーするw
145デフォルトの名無しさん:2007/03/08(木) 19:24:03
>>141
これってどういうからくり?
146デフォルトの名無しさん:2007/03/08(木) 19:30:36
return(*(op+(int(*[])(int,int)){add,sub,mul,div}))(x, y)

return(*(op+func_table))(x, y)

return (*func_table[op])(x, y)
147デフォルトの名無しさん:2007/03/08(木) 19:31:18
あ、(*func_table[op])じゃなく func_table[op] だ。

148デフォルトの名無しさん:2007/03/08(木) 19:35:31
dクス

調べてみたら複合リテラルとか言うのか
149デフォルトの名無しさん:2007/03/08(木) 19:56:26
アドバイスお願いします。


<問題>
CString s[5]={"あ","1","問題","C++","ならびかえ"};
この文字配列をWindowsのソート機能のように名前順に並び替え、表示しろ。

[出力結果]
1
C++

ならびかえ
問題
150149:2007/03/08(木) 19:58:52
>>149
言語はC++です。
151デフォルトの名無しさん:2007/03/08(木) 19:58:57
>>149
>>1 読め
152149:2007/03/08(木) 20:03:13
>>151
ごめんなさい

【質問テンプレ】
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
なるべく短いコード数で行うとのこと。
153デフォルトの名無しさん:2007/03/08(木) 20:16:47
>>149
#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;
}
154149:2007/03/08(木) 20:38:06
>>153
神速な対応ありがとうございます!!!
無事動きました!
155デフォルトの名無しさん:2007/03/08(木) 21:03:38
迅速じゃね
156デフォルトの名無しさん:2007/03/08(木) 21:33:36
アレだ、飛天御剣流の(ry
157デフォルトの名無しさん:2007/03/09(金) 00:38:07
C書ける龍のキラメキ
158デフォルトの名無しさん:2007/03/09(金) 00:48:10
>>157
誰が上手いこと言えと
159デフォルトの名無しさん:2007/03/09(金) 01:10:31
>>114
BASIC書いてた頃の名残っぽいコード
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);
}
160デフォルトの名無しさん:2007/03/09(金) 01:13:13
>>159
巧い!!
161デフォルトの名無しさん:2007/03/09(金) 01:14:55
んもう、きんもぉ〜☆
162デフォルトの名無しさん:2007/03/09(金) 01:18:24
>>159
しかしそれ、cが0だと演算の種類に関わらず常にゼロ除算することになるよな
163デフォルトの名無しさん:2007/03/09(金) 02:35:54
C++で行列のライブラリでいいものありますか?
教えてください。
164デフォルトの名無しさん:2007/03/09(金) 06:45:24
BlackPepper
165デフォルトの名無しさん:2007/03/09(金) 08:50:01
[1] 授業単元: C言語演習
[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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 
特になし。
166デフォルトの名無しさん:2007/03/09(金) 08:53:34
どの程度のユニーク(一意)さを求めているんだろう。
毎回単に乱数生成。稀にかち合ってもキニシナイ。
これまでに作ったものn個を記憶していて、その範囲内で重複なしを保証。
これまでに作ったものをメモリの許す限り記憶していて、重複なしを保証。
167デフォルトの名無しさん:2007/03/09(金) 08:54:16
当分の間は秒数でおk
168デフォルトの名無しさん:2007/03/09(金) 11:10:40
乱数で生成してハッシュチェインで重複を排除しなさいって意味だと勝手に妄想
169デフォルトの名無しさん:2007/03/09(金) 11:34:45
名前空間も指定されてないのにユニークとな!?
170デフォルトの名無しさん:2007/03/09(金) 11:46:36 BE:104814296-2BP(222)
>>167
で、評価の時にユニーク名を100万個作ったりすると99万個のコンフリクトが発生するわけだな。
171デフォルトの名無しさん:2007/03/09(金) 11:58:57
typedef unsigned long serial_t;
#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()。
172デフォルトの名無しさん:2007/03/09(金) 12:45:08
# include <iostream>
# 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';
}
こんなので十分じゃない?
173172:2007/03/09(金) 12:51:04
よくみたら「C」か。しかも「アルゴリズム」か。
撤回します。
174デフォルトの名無しさん:2007/03/09(金) 13:02:09
>>165
これでどう?
但し、無駄にファイルを大量に生成してしまうけど ^^;

#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;
}
175デフォルトの名無しさん:2007/03/09(金) 13:39:22 BE:108696487-2BP(222)
>>174
アルゴリズムじゃねえし。
176デフォルトの名無しさん:2007/03/09(金) 16:27:53
いっそ単なるカウンターでいいんじゃね?
これならマルチスレッド考えても楽勝。
177デフォルトの名無しさん:2007/03/09(金) 16:33:54 BE:23292926-2BP(222)
それもソリューションであってアルゴリズムではないような。
178デフォルトの名無しさん:2007/03/09(金) 18:14:23
しかしアルゴリズムならコンパイラや言語を指定する必要ないよな。
擬似コードでいいんだから。
179デフォルトの名無しさん:2007/03/09(金) 18:20:25
またフローチャートか
180デフォルトの名無しさん:2007/03/09(金) 18:21:29
N88Basicでも使ってろ
181デフォルトの名無しさん:2007/03/09(金) 18:23:32
擬似コードつーたらふつー似非ALGOLだろ。
182デフォルトの名無しさん:2007/03/09(金) 19:07:35
今北。超ひさびさ。

>>176のカウンター案を可逆暗号化してみては?
8桁1億-1ぐらいで十分っぽ
183デフォルトの名無しさん:2007/03/09(金) 19:20:03
プログラムの存続期間中にユニークであればいいのか?

それともUUIDのようなコンフリクトの可能性が限りなく零に近いユニークさが必要なのか?
184デフォルトの名無しさん:2007/03/09(金) 19:27:04
標準Cでやるなら、現在時刻くらいしかノイズ拾えないから限界があるだろ
185デフォルトの名無しさん:2007/03/09(金) 19:40:45
プログラムの存続期間中にユニークに1000ペリカ
186デフォルトの名無しさん:2007/03/09(金) 19:58:52 BE:34939229-2BP(222)
実務的なソリューションとしては、DB立ててシーケンス叩くだけ。
アルゴリズムとしては排他制御付きカウントアップくらいか。
187デフォルトの名無しさん:2007/03/09(金) 20:38:12
>>165
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3737.c
ディスクアクセス速度を乱雑性の源にした。
手元の環境だと1ビット取るのに10分掛かったので、丸二日もすれば終わると思う。
188デフォルトの名無しさん:2007/03/09(金) 21:17:09
>>187
こういうの大好きw
189デフォルトの名無しさん:2007/03/09(金) 21:50:11
#include <stdio.h>
#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を使わずに
一気に読み込ませていくにはどうしたらいいのですか?
まだ、ポインタの勉強はしていなにので、ポインタを使って
のファイルの取り扱いもわかりません。
とにかく何か標準入出力のプログラムのコード書いてください!!
明日までであせっています。
190デフォルトの名無しさん:2007/03/09(金) 21:54:28
>>189
標準入出力でいいなら
リダイレクト とか パイプ をググるといいよ
191デフォルトの名無しさん:2007/03/09(金) 21:56:05
>>189
>>1を読め
192デフォルトの名無しさん:2007/03/09(金) 23:21:42
>>187
( ;∀;)オモシロイナー
そして何気にコードの書き方うまいなー、読みやすい。
193デフォルトの名無しさん:2007/03/10(土) 00:22:44
>>189
ヒント:ストリームポインタ
194デフォルトの名無しさん: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] その他の制限:

よろしくお願いします。
195デフォルトの名無しさん:2007/03/10(土) 02:35:11
#1.
規模による
#2.
どう書き換えたかによる
196デフォルトの名無しさん:2007/03/10(土) 03:11:28
>>194はどう見てもマルチ
197デフォルトの名無しさん:2007/03/10(土) 05:06:27
[1] 授業単元: C++プログラム
[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にまとめるところで困っています。
助言よろしくお願いします。
198続197:2007/03/10(土) 05:07:11
#include<iostream.h>
#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;
199続197:2007/03/10(土) 05:09:06

for(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;
}
200デフォルトの名無しさん:2007/03/10(土) 06:23:41
201続197:2007/03/10(土) 07:29:07
>>200
YES
202デフォルトの名無しさん:2007/03/10(土) 07:31:10
YESじゃなくて礼くらい言えよな・・・
20322:2007/03/10(土) 07:41:12
あー。>>22の回答者だが、
もし>>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;
}
204デフォルトの名無しさん:2007/03/10(土) 11:02:10
>>202
201は自分ではないです。その節はお世話になりました。後もう少しなのでまたよろしければよろしくお願いします。
205デフォルトの名無しさん:2007/03/10(土) 13:24:12
[1] 授業単元:prog2
[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] その他の制限: なし


よろしくおねがいします
206デフォルトの名無しさん:2007/03/10(土) 14:20:05
>>205
// ランダムサンプリング
s0 = a[rand() % (right - left) + left];
s1 = a[rand() % (right - left) + left];
s2 = a[rand() % (right - left) + left];
s = (s0 + s1 + s2) / 3;
207デフォルトの名無しさん:2007/03/10(土) 14:44:21
[1] 授業単元: プログラミングの基礎
[2] 問題文(含コード&リンク):
グループメンバー(4人)の名前、入学年度
学生番号、学科、組(A,B)を格納する構造体を宣言し、初期化せよ。
また、それらをキーボードから入力できるようにし結果をディスプレイに表示せよ。
但し、入力部分の関数、出力部分の関数、メイン関数にプログラムを分けよ。
その際に、入力部分の関数、出力部分の関数については引数は構造体へのポインタとなるようになっていること。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:無期限
[5] その他の制限:特になし

よろしくおねがいします
208205:2007/03/10(土) 14:50:04
ごめんなさい、解決しました

>>206
解答ありがとうございます、しかし今回は三点が決まっていたので
s0 = a[left];
s1 = a[right];
s2 = a[(left+right)/2];
s = (s0 + s1 + s2) / 3;
でよかったみたいです
209197:2007/03/10(土) 15:48:34
みなさまどうも。
色々やっておりましたら解決しました。
どうもです。
210デフォルトの名無しさん:2007/03/10(土) 15:49:15
「色々やっておりましたら解決」も何も、思いっきり答えが示されてるじゃんか
211デフォルトの名無しさん:2007/03/10(土) 15:51:25
どこに?
212207:2007/03/10(土) 16:09:04
みなさまどうも。
色々やっておりましたら解決しました。
どうもです。
213デフォルトの名無しさん:2007/03/10(土) 16:23:19
good job!
214デフォルトの名無しさん:2007/03/11(日) 00:37:10
[1] 授業単元: C++ プログラミング
[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を使った場合の計算のロジックが分かりません。
よろしくお願いします。
215デフォルトの名無しさん:2007/03/11(日) 00:44:24
>>214
授業っていうところはif使ってはいけないとか変なことさせるんだね。
216デフォルトの名無しさん:2007/03/11(日) 00:52:49
Dev-C++ってなんじゃらほいと思ったら
ttp://www.bloodshed.net/devcpp.html
か。実質的にはコンパイラはgccなのかな。
217デフォルトの名無しさん:2007/03/11(日) 01:07:49
>>214
問題が曖昧でよく分からんな。
入力が22の場合の出力はどうなればいいの?
218デフォルトの名無しさん:2007/03/11(日) 01:10:46
俺もわかんねーよ!
難しい課題がでるんですね。
219デフォルトの名無しさん:2007/03/11(日) 01:12:17
>>214
if(x){...}else{...}

switch(x==0){case 0: {...} break; default: {...}}
で代用できる。
ループはgotoで代用できる。
220214:2007/03/11(日) 01:13:58
>>215
前回の授業で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」になります。
221デフォルトの名無しさん:2007/03/11(日) 01:14:13
>>219
そりゃそうだけど
俺の感想としては
マジ?そんなのアリ?
222デフォルトの名無しさん:2007/03/11(日) 01:17:19
いや
Switch と 再帰処理でしょ
やっぱ
223デフォルトの名無しさん:2007/03/11(日) 01:21:33
>>220
2,3,5,7以外の素数がひとつでも使われたら
is not a multiple of 2, 3, 5, 7. でいいんだね?
224214:2007/03/11(日) 01:27:41
>>219
ifをswitchで代用する方法は分かりました。
ただ、gotoは習ってないので、使っていいのか分かりません。

>>223
はい、そうです。
225デフォルトの名無しさん:2007/03/11(日) 01:32:40
>>214
スゲーダサいコードになった。
#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;
}
226デフォルトの名無しさん:2007/03/11(日) 01:33:35
>>224
正直な感想
無茶だ!
227デフォルトの名無しさん:2007/03/11(日) 01:35:52
>>224
サブルーチンが複数あってもいいのか。
再起していいのか。
俺には難しい。
228デフォルトの名無しさん:2007/03/11(日) 01:38:10
>>214
# 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;
  }
}
229デフォルトの名無しさん:2007/03/11(日) 01:40:12
>>228
> if(x == old_x)
230デフォルトの名無しさん:2007/03/11(日) 01:40:49
間違えてifを使ってしまった。fの最後三行は
return x == old_x ? x == 1 : f(x, m);
にしてくれ。
231214:2007/03/11(日) 01:42:50
>>225
ありがとうございます。
ただ、gotoに関して、使っていいのかわからないので教授に聞いてみます。

>>226
自分がただできないだけだと思ってたのですが、そんなに難しい問題だったようですね。
迷惑かけてるようで…。

>>227
問題には何も書いてないのでちょっと分かりません。
教授に一旦聞いてみようかと思います。
232デフォルトの名無しさん:2007/03/11(日) 01:45:07
>>228
へ〜うまいこと考えましたね。
233デフォルトの名無しさん:2007/03/11(日) 01:52:26
再帰を習っているなら使っていいとおもうけど
習ってないことまで知っていないと解けない問題だとしたらどうかと思うし
switch習ったばかりなのに妙にテクニックを駆使したら怪しまれるだろうし
どうなんでしょうね。
234214:2007/03/11(日) 01:52:40
>>228
ありがとうございます。
プログラミング初心者の自分には見たこともないのもあり理解できていないので、勉強してきます。
235デフォルトの名無しさん:2007/03/11(日) 01:56:50
問題文の不備なんだろうなーと思っても、無理矢理やる方法がないかをですね
しかしこれには降参orz
236デフォルトの名無しさん:2007/03/11(日) 01:57:14
>>234
いや、ifだのwhileだのforだのgotoだの使っちゃいけませんって状態で
stdc++のset<>だのcopy()だの、ありあえないからw
すぐにわからなくても良いよ
237214:2007/03/11(日) 01:58:07
>>233
再帰はまだ習っていません。
習ったことといえば、式の書き方とifとswitchのみなので。
どうすればいいのかわからないので、一旦教授に問い合わせて、何かあればまた戻ってきます。

手伝っていただいた方々、ありがとうございました。
238デフォルトの名無しさん:2007/03/11(日) 02:02:14
switch は case の後に break; を入れてなきゃどうなるか?それを使ってやるとか?
239デフォルトの名無しさん:2007/03/11(日) 02:03:32
fall-throughさせてもループできないので手詰まりですよん
240デフォルトの名無しさん:2007/03/11(日) 02:08:32
たかが4回やそこらのループだから、単に手動展開すればよい。
241デフォルトの名無しさん:2007/03/11(日) 02:09:31
ループ禁止、goto禁止、再帰禁止、標準アルゴリズム禁止となると本格的に手詰まりの様相だな。
思いつくのは、qsortのコールバックでqsort、raise+signal、atexitのハンドラ中でatexit
など考えるだけで寒気がする手段ばかりだ。
あ、setjmp/longjmpがあったか。
242デフォルトの名無しさん:2007/03/11(日) 02:11:05
>>240
最初そう思ったけどそういうものか?

>>228
1のときOK?

俺今作成中だけど
再帰使っている。
0とか負の値とかは対応してないよ。
243デフォルトの名無しさん:2007/03/11(日) 02:12:28
>>240
2, 3, 5, 7を約数に含むという条件で考えてないかお?
244228:2007/03/11(日) 02:12:47
>>242
1のときはだめだ。0や負の数でもだめ。
245デフォルトの名無しさん:2007/03/11(日) 02:12:52
2^32 個の case 書けばいいんじゃねw
246デフォルトの名無しさん:2007/03/11(日) 02:14:11
ぶっちゃけ、使える手段があるのにそれを使わずにやれとかいう
無意味な制限や制約をする学校はレベルが低いとだけ言っておこう by トーマス氏の言葉の請負
247デフォルトの名無しさん:2007/03/11(日) 02:16:51
>>243
>>225の下のgotoで実装されたループを手動展開するだけだぞ?
たかだか4回程度回せばいいだけだ。
打ち切る時は>>225のように、exit()で逃げる。
248デフォルトの名無しさん:2007/03/11(日) 02:16:59
#include <cstdio>
int 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);
}
// こんなもんか
249デフォルトの名無しさん:2007/03/11(日) 02:17:16
道具の使いかたの勉強なんだから使う道具を制限するのも有りだと思うけどな。
さすがにこれはやりすぎだと思うが。
250デフォルトの名無しさん:2007/03/11(日) 02:18:35
>>247
>>225は仕様を満たしていない。例えば入力が22のとき。
251デフォルトの名無しさん:2007/03/11(日) 02:19:22
>>248
C++標準でmain()の再帰は許されていなかったはずだが。
252デフォルトの名無しさん:2007/03/11(日) 02:20:08
>>250
ああなるほど、仕様を誤解していた。
253デフォルトの名無しさん:2007/03/11(日) 02:20:44
setの代わりにフラグにしてみた。
引数に参照やポインタを使わないようにしてみた。

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);
}
254デフォルトの名無しさん:2007/03/11(日) 02:24:27
>>253 つづき
いかにも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);
}}}
255デフォルトの名無しさん:2007/03/11(日) 02:25:52
ほんとのところ、一体どういうコードを期待してこんな問題
出したんだろうな……
256デフォルトの名無しさん:2007/03/11(日) 02:26:50
>>249
まぁ、それでも効率よく使うんであればまだしも、何でもかんでも
制約つきで使えってのもねぇ・・・
257デフォルトの名無しさん:2007/03/11(日) 02:40:46
32ビットなら再帰なしでもなんとかなった。
int 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;
}
258デフォルトの名無しさん:2007/03/11(日) 02:42:38
>>257
なるほどね
259デフォルトの名無しさん:2007/03/11(日) 02:59:06
ほんま、きんもぉ〜☆なソースになっちゃうから、スマートなコードにしてもらいたいもんだわ。
260デフォルトの名無しさん:2007/03/11(日) 05:26:26
/* ((x%m)+(m-1))/m --> 1 (if x%m != 0), 0 (if x%m == 0) */

#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;
}}
261デフォルトの名無しさん:2007/03/11(日) 05:39:18
>>260
それ要求仕様を満たしてない。>>225と同じ勘違いだな。
>>223-224を参照。
262デフォルトの名無しさん:2007/03/11(日) 06:18:27
[1] 授業単元: アルゴリズム応用論
[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がついてるため理解に苦しんでいます。
学生レベルのコーディングでお願いできれば助かります。よろしくお願いします
263デフォルトの名無しさん:2007/03/11(日) 06:20:36
すみません記入漏れです。func_a等は呼び出されたことを確認するため
printfなどで"a"等出力するだけで良いということでお願いします。
264デフォルトの名無しさん:2007/03/11(日) 06:34:05
#include <stdio.h>

typedef 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])();
}
265デフォルトの名無しさん:2007/03/11(日) 07:41:13
インデックス変数使うより、定義がNULLで終わってることを考えると
ループ陽ポインタでNULL判定ループのほうがよさげな感じがするが
typedefも用意されてるし
266デフォルトの名無しさん:2007/03/11(日) 10:00:37
ぬるぬるで終わってるんだから
最後の呼び出しループはwhile使えって話じゃないかな

int i=0;
while(FUNC_TBL[i]){
(FUNC_TBL[i])();i++;
}
267デフォルトの名無しさん:2007/03/11(日) 10:23:51
>>264-266さん
早い回答ありがとうございます、非常に助かります。
関数ポインタテーブルが初めてだったのとtypedefの妙な付け方に混乱してました。
提示してもらったソースを元に、for,while両方進めていきたいと思います。
ありがとうございました。
268デフォルトの名無しさん:2007/03/11(日) 15:24:43
[1] 授業単元: C++
[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まで]
269デフォルトの名無しさん:2007/03/11(日) 15:26:43
>>268
英語でおk
270デフォルトの名無しさん:2007/03/11(日) 16:14:41
>>268
int 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;
}
271デフォルトの名無しさん:2007/03/11(日) 16:35:21
>>268
bool 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;
}
272デフォルトの名無しさん:2007/03/11(日) 18:06:14
>>271
ちょいワロタ
273デフォルトの名無しさん:2007/03/12(月) 08:24:28
[1] 授業単元:prog2
[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] その他の制限: なし


よろしくおねがいします
274デフォルトの名無しさん:2007/03/12(月) 16:38:06
>>273
解放(FreeTree)が分からん……。
275デフォルトの名無しさん:2007/03/12(月) 16:42:18
トラバースしながら開放していけばいい。
276デフォルトの名無しさん:2007/03/12(月) 18:09:30
>>273
ttp://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を追記しといてください。
277デフォルトの名無しさん:2007/03/12(月) 23:42:44
じゃあFreeTreeだけ代わりにどぞ。
void 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;
  }
  
}
278デフォルトの名無しさん:2007/03/13(火) 02:41:32
>>273
俺も出来たから載せチャオ
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3747.txt
でも、ノード全削除は出来なかった
279デフォルトの名無しさん:2007/03/13(火) 18:14:00
C/C++って面倒な言語だけど、奥深くてやり甲斐あるんだよな。
280デフォルトの名無しさん:2007/03/13(火) 18:33:39
面倒も何も、どの言語も基本は同じだし。
281デフォルトの名無しさん:2007/03/13(火) 19:15:00
GCやらクロージャやらのある言語使ったことないの?
282デフォルトの名無しさん:2007/03/13(火) 19:16:35
>>280
広義に言われてもなぁ。
インクルードファイルはあるし、ポインタはあるし
配列の範囲チェックもないし、その他も色々面倒なところあると思うけど。
283デフォルトの名無しさん:2007/03/13(火) 19:20:57
>>280
メモリ管理も全部自分でやらなきゃなんないじゃないかよ。C/C++は。
Boostのshared_ptrとか言い出すなよ。
284デフォルトの名無しさん:2007/03/13(火) 19:22:04
そんな知識もない奴がJavaだのVC++だのやっている方がうざいw
285デフォルトの名無しさん:2007/03/13(火) 19:27:16
クロージャだけでもいいからCにぶちこんでくれんかのう
286デフォルトの名無しさん:2007/03/13(火) 19:56:13
宿題ないね。
287デフォルトの名無しさん:2007/03/13(火) 20:07:55
過去の良問を紹介してくれんかのぉ?
288デフォルトの名無しさん:2007/03/13(火) 20:08:38
学校も本格的に春休みに突入したってことかねー。
289デフォルトの名無しさん:2007/03/13(火) 20:10:19
厨房も本格的に暇になったってことかねー。
290デフォルトの名無しさん:2007/03/13(火) 20:16:06
>>283
ならばstd::tr1::shared_ptrと屁理屈
でも時には自分で管理することが利点になることもあるよ
291デフォルトの名無しさん:2007/03/13(火) 20:47:29
Cやった後に学校で見たJavaのソースの
オブジェクト作りっぱなしジャーマンなコードに度肝抜かれた
GCすげえと思ったけどC出身だと何か気持ち悪い。
292デフォルトの名無しさん:2007/03/13(火) 20:53:59
外部リソースと紐づけられるものまで作りっぱなしでdispose()とかclose()
とかいった解放メソッド呼ばないのはJavaでも行儀が悪い。
293デフォルトの名無しさん:2007/03/13(火) 20:55:55
C言語マスターが(・∀・)イイ!
294デフォルトの名無しさん:2007/03/13(火) 21:02:22
>>293
仕事だといろいろなしがらみがあってね…
でも、趣味でやるならおk!
295デフォルトの名無しさん:2007/03/13(火) 21:06:59
仕事でCはあんまり使うの見てないなぁ
な〜んかVBとJavaばかり
296デフォルトの名無しさん:2007/03/13(火) 21:39:39
[1] 授業単元: C言語基礎
[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
297デフォルトの名無しさん:2007/03/13(火) 22:01:17
>>296
1だけ特別扱いして勝負は2以降だな。
298デフォルトの名無しさん:2007/03/13(火) 22:06:43
>>296
#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;
}
299296:2007/03/13(火) 22:41:06
>>298

ありがとう御座いますー>w<
僅か30分で・・・・・・自分の勉強不足を痛感してます^^;

実は課題があと2問あるのですが、これらもお願い出来るでしょうか。
よろしくお願いします (_ _(--;(_ _(--;

300296:2007/03/13(火) 22:42:38
問2

16進数を入力して、10進数に変換し、出力しなさい

実行結果


Input Num:
>11
17
Input Num:
>A0
160
Input Num:
>1111
4369
Input Num:
>FFFF
-1
301296:2007/03/13(火) 22:43:33
問3

年(西暦)と月を入力して、当該のカレンダを表示させなさい。
(閏年も考慮すること)


実行結果
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
302デフォルトの名無しさん:2007/03/13(火) 22:47:43
これは…確実に入社のための宿題・・・!!
303デフォルトの名無しさん:2007/03/13(火) 22:54:13
>>300
#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;
}
304デフォルトの名無しさん:2007/03/13(火) 22:54:37
せめて文系で入社した人のための事前研修だと思いたい・・・
305デフォルトの名無しさん:2007/03/13(火) 22:57:21
>>303
shortが16bitじゃなかったらおかしくならね?
306デフォルトの名無しさん:2007/03/13(火) 22:58:05
>>305
じゃあそういう風にコメントしておけばおk
307デフォルトの名無しさん:2007/03/13(火) 22:58:46
>>301
#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");}
308276:2007/03/14(水) 00:13:31
>>277
(゚д゚)ウマー
309296:2007/03/14(水) 00:34:34
>>303
>>307

ありがとう御座います( ^▽^)
大変助かりました。

あと、問3なのですが、第1週だけ日にちと曜日がズレてしまうようです。
第4週は左詰になっていて問題ありませんでした。
310デフォルトの名無しさん:2007/03/14(水) 00:45:24
for(i=0; i<zw; i++) printf(" ");
printfの半角スペースが2ch投稿時に減ってしまったのだろう。
半角スペースを三つ分出力すればOK。
311296:2007/03/14(水) 02:38:22
>>310

綺麗に揃いました^^
皆様ありがとう御座いました m( __ __ )m
312デフォルトの名無しさん:2007/03/14(水) 08:42:29
>>296は入社した後にきっと後悔するんだろうなあ
なぜあの時自力で宿題をやらなかったのかと
313デフォルトの名無しさん:2007/03/14(水) 08:52:26
>>287
前スレに貼り付けたネタ課題群でいいんなら貼るよ。
誰も回答しなかったけどw
314デフォルトの名無しさん:2007/03/14(水) 10:07:46
ネタ課題で喜んでたのは貼ってた本人だけだろ…
315デフォルトの名無しさん:2007/03/14(水) 10:30:38
>>314
春休みにおまえらが暇かと思って貼ってやっただけさね。
316デフォルトの名無しさん:2007/03/14(水) 11:02:58
ネタ課題自体は歓迎するが、前スレのはどれもつまらん。
317デフォルトの名無しさん:2007/03/14(水) 11:05:40
ネタ課題を貼ったのは俺だ、と自己主張するあたり
単なる目立ちたがり屋なんだろう。
調子に乗ってコテハンになるようなタイプだからシカトしとけ。
318デフォルトの名無しさん:2007/03/14(水) 11:18:32
あらあら。随分ひねくれた受け取り方をするんだなぁ。
ま、いいけどね。
319デフォルトの名無しさん:2007/03/14(水) 11:23:00
ここに居る住人の大半がひねくれ者さ。もちろん俺含めてな!
320デフォルトの名無しさん:2007/03/14(水) 12:14:13
何この自作自演
321デフォルトの名無しさん:2007/03/14(水) 12:27:04
ネタ課題貼るのはいいけど、おもしろい1問だけにしてくれよ・・・
おもしろくないネタ何個も貼られても・・・
322デフォルトの名無しさん:2007/03/14(水) 12:37:09
ここでおもしろい課題なんて、ほとんど見たこと無いけどな。
実際に宿題であるかどうかなんて、意味あんの?

親切にもならない親切をした気になって宿題を解いてる奴なんていないだろ。
323デフォルトの名無しさん:2007/03/14(水) 13:04:08
その後の人生を転落させられるかと思うと、宿題を解く意欲が湧いて来るじゃないか
324デフォルトの名無しさん:2007/03/14(水) 14:27:31
ネタ課題を出していた奴がムキになって
必死で反論しているのが面白い

ネタ課題自体は異常なまでにつまらなかったが
325デフォルトの名無しさん:2007/03/14(水) 18:00:03
みんなで仲良くね
326デフォルトの名無しさん:2007/03/14(水) 18:04:42
前から気になってたんだけど
このスレで宿題晒してるのってどういう層?
情報技術系高校?
327デフォルトの名無しさん:2007/03/14(水) 18:07:26
時期的に新入社員への課題じゃないか?
328デフォルトの名無しさん:2007/03/14(水) 18:12:52
まさか新卒対象か?
春休みの宿題かなんかだと思ってた。
良い年こいた大人がレベル低すぎだろ・・・
329デフォルトの名無しさん:2007/03/14(水) 18:13:58
>>328
大人に対する幻想抱きすぎ
330デフォルトの名無しさん:2007/03/14(水) 18:17:45
>>328
新卒ってまだガキだよ
大学生が在学中にC言語なんか勉強するわけない
331デフォルトの名無しさん:2007/03/14(水) 18:19:57
すまん。
当方馬鹿にされがちなゲー専生なんだが
以前大学三年生のCのプログラム見せてもらって愕然とした。
ちょっと間接的に養成問題作成の依頼が回ってきてるから
何出そうか考え中。
332デフォルトの名無しさん:2007/03/14(水) 18:25:50
普段は答えてる側の新卒だけど、引っ越しの片付けやらなんやらで忙しくて課題が進まない
誰か代わりにやってくれって感じだ。宿題じゃないから頼めないんだけど orz
333デフォルトの名無しさん:2007/03/14(水) 18:50:19
人に優しく
334デフォルトの名無しさん:2007/03/14(水) 18:57:51
ええなぁ、新卒。俺は就職氷河期世代だから・・・(;ω;)
335デフォルトの名無しさん:2007/03/14(水) 21:36:58
じゃ、俺が過去にスレにあった良さげな問題を一つ。
下のようなchar brock[8][8]で書いた図があります
この図の■によって囲まれている□を他の文字に
書き換える。ただし、外接にある□は書き換えない。
■■■□■□■□
■■■□■□■□
■□□□■□■■
□■□□■■■□
■■■■□□■■
□■□□■■■□
■□□■■□■□
□■■■□■□□

要は下図のように■に囲まれている部分の□だけを書き換える。

■■■□■□■□
■■■□■□■□
■□□□■□■■
□■□□■■■□
■■■■**■■
□■**■■■□
■**■■*■□
□■■■□■□□
336デフォルトの名無しさん:2007/03/14(水) 22:06:03
>>335
>>1読んでテンプレに沿って書いてくれ
337デフォルトの名無しさん:2007/03/14(水) 22:44:27
ん〜、囲碁のゲームに使うのかな?
338デフォルトの名無しさん:2007/03/14(水) 22:51:26
ペイントソフトという考え方もあるのう
339デフォルトの名無しさん:2007/03/14(水) 22:51:50
俺はペイントルーチンかな、と思った。

しかし、ペイントにしろ碁にしろ外周と他の文字で囲まれたものが対象に
ならないということから、違うな。
340デフォルトの名無しさん:2007/03/14(水) 22:53:43
341デフォルトの名無しさん:2007/03/14(水) 22:55:22
まぁ、囲碁ならあとは変わった文字の数を数えりゃ良いじゃん。まぁ、要するにそのアルゴリズムを
どう有効活用するか、だな。どっちでも良いけどw
342デフォルトの名無しさん:2007/03/14(水) 23:03:53
何となく幅優先探索が思い浮かんだ
343デフォルトの名無しさん:2007/03/14(水) 23:05:42
344デフォルトの名無しさん:2007/03/14(水) 23:17:36
風呂に浸かりつつ、

素直に塗っていくパターンだと外周に到達してのリトライ多発するから、
外周隣接の□エリアに対象外フラグを立てて、最後に手つかずの□だけ置換
すればいいか。

と考えて出てきたらすでにコード出てるし。
345デフォルトの名無しさん:2007/03/14(水) 23:17:59
ほぇー
綺麗に書けてるなー
346デフォルトの名無しさん:2007/03/14(水) 23:35:06
347デフォルトの名無しさん:2007/03/14(水) 23:56:55
STLハァハァ
348デフォルトの名無しさん:2007/03/14(水) 23:58:03
>>343
こういう関数のネーミングセンスある人って尊敬する
349デフォルトの名無しさん:2007/03/15(木) 00:01:15
ネーミング仕様も普通コーディング規約にあるだろ
350デフォルトの名無しさん:2007/03/15(木) 00:04:24
自画自賛しなくて良いからw
351デフォルトの名無しさん:2007/03/15(木) 00:32:44
ひとつの聞きたいんだけど括弧つけるとき
func( ) {
}

func( )
{
}
ではどっちがいいのかな?見やすさとか
352デフォルトの名無しさん:2007/03/15(木) 00:34:09
>>351
個人的には関数定義は後者。
前者はwhileとかforとかswitchとかで使うかな。
353デフォルトの名無しさん:2007/03/15(木) 00:36:50
>>351
Cでは前者、C++では後者にしてる。なんとなく。
354デフォルトの名無しさん:2007/03/15(木) 00:39:51
>>351
俺は全部後者で。俺は前者だとブロックが分からなくなってしまうので
355351:2007/03/15(木) 00:43:04
>>352>>353>>354
ありがと
私はすべて後者なんだよね
でも、ほかの人のソース見てると前者が圧倒的に多くて
私だけ違うのかなぁと思った
人によってそれぞれっぽいのでこのままでもいいかな?なんて思ってみたり
356デフォルトの名無しさん:2007/03/15(木) 00:47:28
>>355
> ほかの人のソース見てると前者が圧倒的に多くて

そんなことはないんじゃないの。
上はJavaスタイルだからJavaのコードなら普通だし、その流れで
C++でも使われることはある。

ただ、K&RともANSIともBSDともGNUともLinuxとも違うスタイルだし、
Cでそういうコードは俺はほとんど見たこと無いぞ。

あ、「関数定義以外の」ブロックをそう書くのは普通だけどね。
357351:2007/03/15(木) 00:56:33
>>356
そうかなぁ?
けっこう見るような気がするんだけど

それと言葉足らずでゴメン
関数は後者だけど ifやswitch、for、whileなどは前者が...と言う意味
私は分岐処理や構造体宣言などのときも後者なんだよね
358デフォルトの名無しさん:2007/03/15(木) 01:00:27
>>357
なんだ。関数以外のブロックの話ね。なら全然普通。K&Rはそのスタイルだし。
ただし、後者のスタイルも全然普通。ANSIはこっちだし。
359デフォルトの名無しさん:2007/03/15(木) 01:00:56
コーディングスタイルの話は他所でやってくれたまえ
360351:2007/03/15(木) 01:04:56
>>358
そうか
スタイル変えたほうがいいのかなぁとかちょっと本気で思ってた
ありがとう

>>359
すみませぬ
361デフォルトの名無しさん:2007/03/15(木) 02:22:35
字下げやらで括弧の始まりと終わりの位置が揃っていた方が見やすいかもしれんので
俺も後者を採用しようかと。今までなんとなく前者だったが。
362デフォルトの名無しさん:2007/03/15(木) 02:37:39
いままで”関数の宣言ブロック”とか、”for()にくっついたブロック”とか言う風に
”〜のブロック”って言うブロックを修飾するものの意味で
 <〜>{
 }
って書いてた
<〜>
{
}
って書くと何かずれてる感じを受けるんだよねぇ
363デフォルトの名無しさん:2007/03/15(木) 03:00:42
後者はプロトタイプ宣言しようとするときも
一行コピペしてちょこっとやれば完成するから便利。
364335:2007/03/15(木) 05:40:54
下のソースがその時の答えでした。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3751.txt
365デフォルトの名無しさん:2007/03/15(木) 13:00:35
>>274-278
解答ありがとうございます
レス遅れてしまいすいません
今回の問題は自動解答してくれないので、動くものを送信させていただきました
ほんとうにありがとうございました
366デフォルトの名無しさん:2007/03/15(木) 14:57:31
C++の問題なのですが、

I 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 /
    ・
    ・
    ・
    ・
    ・


のようになっており、同じ行にある二つの数字を、
+なら足し算、-なら引き算、*ならかけ算、/なら割り算してアウトプットしなければなりません。

インプットファイルから数字というか文字を取り出すところからもう分かりません。
どなたかお力を貸してもらえませんか?
367デフォルトの名無しさん:2007/03/15(木) 15:06:25
>>366
>>1を読んで書き直し。
368デフォルトの名無しさん:2007/03/15(木) 15:07:03
インプットファイルの書式が全部同じなら
ホワイトスペースまで読んで、3つに区切って
1文字ずつ調べて数字に変えて足していく。
で、最後の演算子を調べて計算。
これを繰り返し
369デフォルトの名無しさん:2007/03/15(木) 15:10:34
CDやIXなんかの処理をする必要はあるの?
370デフォルトの名無しさん:2007/03/15(木) 16:15:49
逆順になってても、そのまま計算しちゃって構わないんじゃないかな
371デフォルトの名無しさん:2007/03/15(木) 16:16:46
はぁ?
372デフォルトの名無しさん:2007/03/15(木) 16:18:13
>370
CDは400、IXは9。
どうやってそのまま計算するの?
373370:2007/03/15(木) 16:19:24
すんません、勘違いしました……
374デフォルトの名無しさん:2007/03/15(木) 16:20:54
質問者はローマ数字の表記を想定しているんだろうか
375デフォルトの名無しさん:2007/03/15(木) 16:40:32
しかし、質問出しておいて、10分も経たないうちにスレを見なくなる(反応しなくなる)ってのは、
mixiとかにマルチするのが忙しいからなのだろうか。
376デフォルトの名無しさん:2007/03/15(木) 16:44:20
>>366
MCCLVII って 1257だよな?
377デフォルトの名無しさん:2007/03/15(木) 16:46:53
ローマ数字の文字列を整数に変換する関数作ってみた。
int 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;}
378デフォルトの名無しさん:2007/03/15(木) 16:48:59
mixiのコミュとか低レベル過ぎて噴いたwww
379デフォルトの名無しさん:2007/03/15(木) 16:58:44
#include <ctype.h>
#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;
}

俺も書いたから置いとく
380デフォルトの名無しさん:2007/03/15(木) 17:16:24
>>366は書いた後一切見ていないか
>>367を見て書き直すのがめんどーで消えた可能性が高い
いやなタイプだな
381デフォルトの名無しさん:2007/03/15(木) 17:17:59
>>367の尊大な態度が気に食わなかったんじゃないの?
382デフォルトの名無しさん:2007/03/15(木) 17:18:22
どうでもいいだろ・・見てようが見てないだろうが
相手の動向チョコチョコ気にしてお前らは童貞かよ
383デフォルトの名無しさん:2007/03/15(木) 17:19:13
ID出ないからといって粋がってる奴がいるな
384デフォルトの名無しさん:2007/03/15(木) 17:19:52
>>380
粋がるのはそのへんにしとけ
385デフォルトの名無しさん:2007/03/15(木) 17:20:01
どうせ暫くはいかにうまくローマ数字をintに変換するかの話題で進むから問題ないよ

386デフォルトの名無しさん:2007/03/15(木) 17:21:00
■松たか子語録
「生まれ変わり?信じてないよ。あたしはいつだって松たか子なんだから」「ガキなんてのはこうやってにらみつければ
泣き止むんだよ!」「あたしは男優。だからラブシーンはホモだよ(笑)。」「幸四郎の作る飯はいつも美味いよ。」
「もこみちの演技はもっと愛されていいはずなんだけど。」「玄米ビスケットなんてガキは食わないよ(笑)。あたしは
知ってる。」「お嬢(美空ひばり)が逝ったとき思ったね。あたしがピアフになる、って。」「いじめなんか図工の時間で
やり返すんだよ!!」「ガキの頃なんて欲の塊。餓(かつ)えるばかりの鬼なんだから、ガキは"ガキ"でいーの。」
「白百合(高校)はつまんなかった。どうもブルースがない。」「人様に運気がどーのこーの言うもうろくばあさんの
ウンコは臭いもんよ。」「兄貴(染五郎)の最初のガキはあたしがこの手で引っ張り出してやった。」「どんなに雪が
吹雪いてたって、あたしん中は一年中が春さ。」「前張りする意味がわかんない。」「最近のタバコは肺にガツンと
くるものが少ないね。」「ズバコンはズバコン。松たか子は松たか子。ただ凛としている。」「ホンコンさんとは魂が
生き別れたと思ってる。」
387デフォルトの名無しさん:2007/03/15(木) 17:31:59
逆ポーランド記法だからスタックで詰めばええんとちゃいますのんと思ったけど
1行に常にひとつの演算子しか出ないならスタックいらんか
388デフォルトの名無しさん:2007/03/15(木) 17:42:31
どの宿題のこと?
389366:2007/03/15(木) 18:04:46
すみません、質問しておいてあろうことか眠ってしまいました。
みなさんありがとうございます。

>>377,379さんのが答えなのでしょうか?
390デフォルトの名無しさん:2007/03/15(木) 18:08:29
>>389
おはよう
で、IVはローマ数字どおり4とするのか
それともIV=1+5=6とするのか、どっちにするの?
391366:2007/03/15(木) 18:10:32
>>390
IVは1+5の6ですね。
最終的にはローマ数字ではなく数字で表記です。
392デフォルトの名無しさん:2007/03/15(木) 18:19:18
>>391
なら>>377,379は違う
これはローマ字表記の計算、IVを4、IXを9としている
393366:2007/03/15(木) 19:53:11
だめだ全然わからない…

M D C L X V Iはどうやって数字に変換させるんですか?
関数を使わなければいけないのは分かるんですが…
394デフォルトの名無しさん:2007/03/15(木) 19:58:52
>>393
char taiou[2][7] = {
 {'I', 'V', 'X', 'L', 'C', 'D', 'M'},
 {1, 5, 10, 50, 100, 500, 1000}
};
395デフォルトの名無しさん:2007/03/15(木) 20:05:32
>>394
そりゃあんまりだろ…
396デフォルトの名無しさん:2007/03/15(木) 20:09:32
>>394
手抜きすぎw
だいたいcharだと500、1000は保持できないだろ
397デフォルトの名無しさん:2007/03/15(木) 20:17:58
もういっそ switch 使え
398デフォルトの名無しさん:2007/03/15(木) 20:19:59
#define M 1

これで
399デフォルトの名無しさん:2007/03/15(木) 20:21:00
#define I 1

間違ったこうか・・・
400デフォルトの名無しさん:2007/03/15(木) 20:23:22
>>393
>>377案だとローマ数字の文字の配列と、対応する数の配列で添え字あわせて引いてる
>>379案だとIVXLCDMってのが5倍、2倍、5倍、2倍・・・になってることから計算
どっちかしかないと思うよ
401デフォルトの名無しさん:2007/03/15(木) 21:28:49
俺が採用担当ならswitch文使った奴を採用するなw
素直が一番いいよ。

#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);
}
402デフォルトの名無しさん:2007/03/15(木) 21:40:25
宿題はトリッキーな回答をしてなんぼだろ…
403デフォルトの名無しさん:2007/03/15(木) 21:43:08
飲みながら採点してる教授が酒吹くような解答が最適です。
404デフォルトの名無しさん:2007/03/15(木) 21:48:26
採点しているのはバイトの大学院生という事実・・
405デフォルトの名無しさん:2007/03/15(木) 22:14:17
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3752.txt
なんかごちゃごちゃしすぎた。
動作検証はあんまりしてない。
406デフォルトの名無しさん:2007/03/15(木) 22:22:23
俺、関数名にはほとんどアンダーバー使わないんだがどうなの?
407デフォルトの名無しさん:2007/03/15(木) 22:29:33
>>406
特にどうってことない。
408デフォルトの名無しさん:2007/03/15(木) 22:30:51
俺もアンダーバーは変数にしか使わないが
特にどうってことない。
409デフォルトの名無しさん:2007/03/15(木) 23:13:48
むしろハイフン使わせてくれ・・・いや、やっぱなしでw
410デフォルトの名無しさん:2007/03/15(木) 23:49:57
アンダースコアをアンダーバーというやつは氏ねばいいよ
411デフォルトの名無しさん:2007/03/16(金) 00:15:21
アンダースコートを想像した
412デフォルトの名無しさん:2007/03/16(金) 00:18:22
[1] 授業単元:プログラミング1
[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時

初歩的な知識の範囲でよろしくお願いします。
413デフォルトの名無しさん:2007/03/16(金) 00:22:29
整数乗かよ・・・
414デフォルトの名無しさん:2007/03/16(金) 00:32:15
これは低レベルすぎる宿題
講義の内容もこんな感じなのか
415デフォルトの名無しさん:2007/03/16(金) 00:33:19
前スレで俺が書いた不完全?なものを出しておくけど、誰か直してw
#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;}
416デフォルトの名無しさん:2007/03/16(金) 00:42:34
double mypow(double x, int n) {
double 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;
}
417デフォルトの名無しさん:2007/03/16(金) 00:51:57
double mypow(double x,int n)
{
 double pw;
 for(int i = 0, pw = 1.0; i < (n<0 ? -n : n); i++) pw*=x;
 return n<0 ? 1.0/pw : pw;
}
418デフォルトの名無しさん:2007/03/16(金) 00:52:22
0の0乗って0?それとも1?
419デフォルトの名無しさん:2007/03/16(金) 00:53:23
1
420デフォルトの名無しさん:2007/03/16(金) 01:00:36
基本的に定義されない
421デフォルトの名無しさん:2007/03/16(金) 01:00:40
>>418 言うまでもなく0。何かの0乗は1というのは知られているが、0そのものは
ナニを乗算しても0だし。
422デフォルトの名無しさん:2007/03/16(金) 01:02:46
数学の世界では0^0は0/0と同じで不定とする場合が多い。
プログラミングの世界では0**0=1にするのが普通。
423デフォルトの名無しさん:2007/03/16(金) 01:06:18
そもそも n^0 = 1 というのは、底が同じで指数が違う計算にて
n^2 * n^-2 を計算した場合、 n^(2-2) = n^0 となった場合
本来の結果を元に0乗が1と定義できるというのが証明されているからであって
指数同士の計算をしないんであれば、突然ある数の0乗というのは表れない。
逆に定義しちゃっているからって、1は何かの0乗だとか、敢えて言う必要もなし。
424デフォルトの名無しさん:2007/03/16(金) 01:07:26
んで、n=0なら何を乗算しても0だし、当然0乗も0と言うまでもないが
前述のように、底が0の値の指数同士の計算をするなんてこともないんで
普通じゃ0の0乗はなんだ?なんて問題にもぶちあたらない。
425デフォルトの名無しさん:2007/03/16(金) 01:46:04
まぁ、食べたものは尻から出てくる流れの中で、げろで出しちゃったからって
わざわざお尻から体内に戻して出す必要もないってこったね。
426デフォルトの名無しさん:2007/03/16(金) 01:49:20
言語障害が発露しました
427デフォルトの名無しさん:2007/03/16(金) 03:46:18
証明ってのは何か違和感覚える
指数関数は「P(有理数)をN回(自然数)掛け合わせたら」という
累乗の計算の自然な拡張として定義されているのではなかったか
階乗とガンマ関数の関係みたいに
428デフォルトの名無しさん:2007/03/16(金) 03:52:23
そう考えるとPENが意味深な物に早変わり
429デフォルトの名無しさん:2007/03/16(金) 04:01:21
>>422
いや、数学の方でも 0^0=1 な気がする
多分 0!=1 と似たような理由

↓数学科の人、あとよろしく
430デフォルトの名無しさん:2007/03/16(金) 04:02:39
>>429
気がするならまず実装されているpow関数で結果を見てみな。
ありもしないことを勝手に言うと、数学会の人からクレームが来るよw
431デフォルトの名無しさん:2007/03/16(金) 04:05:34
432デフォルトの名無しさん:2007/03/16(金) 04:08:23
433デフォルトの名無しさん:2007/03/16(金) 04:11:39
>>431
はい、そういうのが本当に正しい結果を出していると勘違いしている人ハッケソ
そういうのは人間が作ったプログラムで、正しい結果を出しているとは限らないんだよ。
実際、エクセルでPOWER関数でやってみたら、答えは出なかった。
Cのmath.hを取り込んでpowでやってみたら、エラーが起きたけど結果は1と出た。
しかし、それは何かの0乗は1と言うルール作りをした上で、0の0乗も1としてしまったミスだと考えられる。
実際のところ、0の0乗なんて数式は計算上出てこない。
>>423にあるように、nが0以外なら数値として残るが、敢えて意味もなく0の指数同士を
計算する必要性のある計算が存在するだろうか?あるならそこから実例を出して証明してくれい。
434デフォルトの名無しさん:2007/03/16(金) 04:14:13
そうだね。二項展開とマクローリン展開だね。
435デフォルトの名無しさん:2007/03/16(金) 04:15:06
詰まる話が、最初っから0の0乗というものは存在しないということ。
8が2の3乗と書き換えられて、1/8が2の-3乗と書き換えられ、それらの値を乗算するとき
2^3 * 2^-3 = 2^(3-3) = 2^0 となってしまう場合の帳尻あわせ程度だろ。
わざわざ1という数字を持ち出して、nの0乗に置き換えて書く奇妙な奴がいたら
きんもぉ〜☆ とだけいっておく。例えば
1+1= 3^0 + 4^0 と書き換えて計算する奴は きんもぉ〜★
436デフォルトの名無しさん:2007/03/16(金) 04:18:02
↓は1が出てきたら n(任意の自然数)のべき乗と置き換えて計算するプログラムを作っている
間違いない きんもぉ〜★
437デフォルトの名無しさん:2007/03/16(金) 04:19:59
分かった。俺が悪かった
そうだよな、擦れ違いな話しを振った俺が悪かったんだよ。


だからもうやめれ。痛々しい……
438デフォルトの名無しさん:2007/03/16(金) 04:20:48
↑0を発見したインド人に謝れ!
439デフォルトの名無しさん:2007/03/16(金) 04:20:58
>>435
いや、さすがにそこまで特殊なことを考える奴はおらんだろ……
440デフォルトの名無しさん:2007/03/16(金) 04:22:59
0の発見は革命的であってなぞが多く秘められている・・・
あぁ、頭の良いインド人と血痕死体
441デフォルトの名無しさん:2007/03/16(金) 04:25:11
結論から言うと、0乗というのはもともとあったものじゃない。底が同じ値の指数同士の乗算、除算で
出てきちゃった、出来ちゃった婚の計算式があったから。最初っから0乗するなんて誰も思わんだろ。
442デフォルトの名無しさん:2007/03/16(金) 04:31:31
443デフォルトの名無しさん:2007/03/16(金) 04:34:11
>>441
ちょっと>>427>>432を読み直してくれ
「誰も思わん」とか「できちゃった婚」とか、
数学はそこまで感覚的・直感的な代物ではない
444デフォルトの名無しさん:2007/03/16(金) 04:41:45
んじゃ聞くけど、そもそも0乗って何なの?何で底となる値を掛ける回数が0回なのに
値として存在するの?直感だの感覚的じゃなくて理屈で言っているんだが?w
人間が0乗を1と定義した理由はあげられている。それを用いて0の0乗まで1にする必要はない。
そもそも、乗算や除算において、0の0乗が出てくる場面と、0の0乗を1にしなきゃいけない実例もあげてくれ。
それがなきゃまず 議論する 必要もない。追求して数学の歴史に名を残したいなら
数学会でそれに関する筋の通った研究結果を論文にして発表してくれ。
445デフォルトの名無しさん:2007/03/16(金) 04:49:30
処理上の0と理論上の0は実態が違う為
446デフォルトの名無しさん:2007/03/16(金) 04:52:22
0^3 * 0^-3 = 0^(3-3) = 0^0 = 1 ?
= 0 * 0 = 0 ?  ちなみに、0の0乗以外は0でした。そりゃ0を何回かけても0だ罠。
0の0乗が1になるのはどんな他の理論をこじつけても説明がつかない。
447デフォルトの名無しさん:2007/03/16(金) 04:53:39
>>445
それじゃ、>>446の結果は0のn乗数にして表したとたん、答えは1になるんだ。恐ろしいな、0って。
448デフォルトの名無しさん:2007/03/16(金) 04:57:00
ttp://game.snkplaymore.co.jp/official/kof2000/character/zero.htm
お前らじゃこいつは倒せないな。俺はもう6年以上前に倒したけど。
449デフォルトの名無しさん:2007/03/16(金) 04:58:29
お舞ら、数学者じゃないんだからほど度々に汁
450443:2007/03/16(金) 04:59:41
>>444
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
指数が自然数ではないもの、つまりゼロや負数や無理数も扱おうとするのならば、
それは必然的に「PをN回」ではなく、それを拡張した(と見なせる)
指数関数と呼ばれる領域で話をしなければならない、と繰り返しているだけだよ。
ついでに言うと俺はゼロのゼロ乗が1だとは一言も言っていない。
不定なものは不定。ただ、1を返してくれると便宜上楽ではある。
俺が自分の研究で書くプログラムの中に出てくる中で実際に出てくるのはもちろん2項展開。
451デフォルトの名無しさん:2007/03/16(金) 05:00:21
0の恐ろしさを分かっていないなんてなんて時代遅れなんだ!
蟹にもプログラマなら気づくだろうに。
逆に考えるんだ、0が変わるんじゃない、0に変わるんだ。
452デフォルトの名無しさん:2007/03/16(金) 05:00:57
>>450
うん、だからそういうもともと存在する値と、存在しない値に対して1と定義したものとじゃ
もう理屈云々の話は通用しないんだよ、ごちゃごちゃうるさいから後は数学板でやれボケ
453443:2007/03/16(金) 05:04:52
>>452
だから理屈の話をしているのは終始俺だというのにw
454デフォルトの名無しさん:2007/03/16(金) 05:05:21
>>450
数学版か数学の教授あたりと議論したほうが良い答え出ると思うよ
マは数学の専門家じゃないしね
455デフォルトの名無しさん:2007/03/16(金) 05:20:08
こいつ最高にアホ↓
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
じゃあ逆に聞くけど「2の無理数(例:ルート2)乗」って何?
456デフォルトの名無しさん:2007/03/16(金) 05:22:56
……なんで?
457デフォルトの名無しさん:2007/03/16(金) 05:24:23
ついて行けなかったのが悔しいんだろw
大学の教養レベルどころか大学受験レベルで十分足りるようなもんだが
458デフォルトの名無しさん:2007/03/16(金) 05:26:13
ああやって他の理論を持ち出して、極限だの言われても、そもそもどうして0乗が出てきたか?
って考えたら、他の理論を当てはめる意味すらない。まっ、追求のためにやっているんだろうけど
まずは指数同士の計算の帳尻あわせで1にしないと何になるの?指数同士の計算を禁止
せざるを得ないだろ。
459443:2007/03/16(金) 05:31:58
>>455
数を掛け合わせる「回数」にこだわっていたので無理数を例に出しただけだけど?
2^(2^1/2) という値は別に何かの極限操作ではなく、
ある定まった値として存在するんだよ、という話だね。
例えば sqrt(2) の代わりに pow(2, 0.5) と書くのを普通に受け入れられるなら、
既にその人は累乗ではなく一般的な指数関数の話をしているので、
「ゼロ乗なんて最初から存在しない」とは主張できない、と。
460デフォルトの名無しさん:2007/03/16(金) 05:33:18
>>459
べき乗の指数が何を意味しているかについても理解してくれ。
なんか、基本を無視して勝手に無理な話を展開させている奴は、数学会じゃなくて
哲学でもやってな。0の0乗を1にしたら、今度はそれを用いた数式がおかしくなるだけ。
461443:2007/03/16(金) 05:38:39
だから俺は最初から「ゼロのゼロ乗は不定だ」と言っていると言うにw
実際の計算ルーチン中に使うときには
0になって欲しかったり1になって欲しかったりしたので
pow0() と pow1() って関数を定義して使ってたけどさ。
462デフォルトの名無しさん:2007/03/16(金) 05:58:44
>>443
気持ちは凄く良く分かる。 (ついでに俺の勉強にもなったので、感謝もしてる)
でも、ここは諦めてスルーしたほうが良さげ。
これ以上はどんだけ説明してもスレの無駄遣いにしかならんと思う


>>412以降、宿題は出とらんわけだし
次の質問が来たら、きっと何事もなかったように元に戻ると期待
463デフォルトの名無しさん:2007/03/16(金) 06:04:09
Radiumさんとこのブログはほんとタメになるよねぇ
464デフォルトの名無しさん:2007/03/16(金) 06:17:29
宿題が来るまではいいんジャマイカ
宿題が来ても続けてたら死んでもいいけど
465デフォルトの名無しさん:2007/03/16(金) 06:24:22
てか、0^0なんて出てこないとかDQNの言いぐさだろ
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
だから便宜上0^0=1と定義しておかないと
aかbが0のときに全体が0になっちまう
この程度センター試験レベルだろ?
466デフォルトの名無しさん:2007/03/16(金) 06:28:54
>>465
お前がどこの大学に行ったのか(・∀・)ニヤニヤもんだなw
467デフォルトの名無しさん:2007/03/16(金) 06:32:37
間違ってるなら教えてもらいたいんだが
468デフォルトの名無しさん:2007/03/16(金) 06:33:14
>>465
ねぇねぇ、君ぃ。それって aX+bY = 0のときのことを考える必要があるのかい?w
469デフォルトの名無しさん:2007/03/16(金) 06:38:43
は? Σの各項について
n=0のときa^0 X^0 b^N Y^N
n=Nのときa^N X^N b^0 Y^0
だろ? XもYも変数だぜ?
470デフォルトの名無しさん:2007/03/16(金) 06:43:23
>>468はXやYを変数のままべき乗を展開してしかる後に積分するとか
想像もできない世界に住んでるんだよ。
Mathematicaとか触ったこともないんだろうなあ……
471デフォルトの名無しさん:2007/03/16(金) 06:46:00
ずっとageで的外れなこと書いてる子じゃろ
そっとしとき
472デフォルトの名無しさん:2007/03/16(金) 06:47:29
理解できない話題なのに必死で絡んでくるのはまぁ可愛いと言えなくもない
473デフォルトの名無しさん:2007/03/16(金) 06:58:13
あらあら、勝ち誇って間違った理論を持ち出してワロスw
ax^2 + bx + c = 0 (a≠0) にの二次方程式の解おいて、a=0のときのxの二次方程式の解を求めろ
みたいな矛盾を持ち出しちゃったようなこと言われても困る。公式じゃa=0じゃ分母が0になるから矛盾するし。
474デフォルトの名無しさん:2007/03/16(金) 06:58:51
つまり、XかYのどちらかが0になる場合、それは成り立たないのが筋ってもんじゃ〜ないかね?
475デフォルトの名無しさん:2007/03/16(金) 07:06:47
いらないと判断すれば計算すらしない。それがプログラマ。
476デフォルトの名無しさん:2007/03/16(金) 07:10:31
 lim(t^0)=1
t->+-0

ってこと考えると1な気がするけどな
477デフォルトの名無しさん:2007/03/16(金) 07:10:59
どうやら間違った理論を吐き出した奴は、その理論をお尻から入れなおして
後でトイレで出すおつもりです。きったねぇ〜〜w
478デフォルトの名無しさん:2007/03/16(金) 07:11:55
>>473
何を言ってんだお前は?
暇だから一応マジレスするが、
(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を見た瞬間に方程式だと思い込んでたんじゃなかろうな……?
恒等式だぜこれは。
479本日の赤っ恥さん:2007/03/16(金) 07:12:00
465 名前:デフォルトの名無しさん 投稿日:2007/03/16(金) 06:24:22
てか、0^0なんて出てこないとかDQNの言いぐさだろ
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
480デフォルトの名無しさん:2007/03/16(金) 07:13:11
>>478
変数の係数を0にした場合、変数そのものが何であろうと
その項が0で存在しないんだが?要するに公式に当てはまる条件に非ず。
頼むからどこで習ったか教えてくれ。お前の出身校にクレーム入れて
就職ブラックリスト入りしてやるからw
481デフォルトの名無しさん:2007/03/16(金) 07:21:26
>>480
落ち着いて式を展開してみようか。
話を簡単にするために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番目の進学校を経て京都の百万遍大学を出ております。
482デフォルトの名無しさん:2007/03/16(金) 07:43:18
>>481
落ち着くのはお前。勝手に変数xをなくすために係数を0にするな
お前、数学板に言ったら笑われるよ。どこの学校だ?教えろ。
就職内定ブラックリスト入りしておくから。
483大うそつきがなんかほざいてるよw:2007/03/16(金) 07:44:00
なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。
なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。
なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。
なお、東京で5番目の進学校を経て京都の百万遍大学を出ております。

まさか、京都産業大学?w
484デフォルトの名無しさん:2007/03/16(金) 07:46:35
>>481
頼むからxを無視した展開をしないでくれ。お前のそれをこじつけるのは不可能。
単純に bY^N だけやれば良いから公式に当てはめる必要もない。
もっとつきつめると、有効な変数が2つもないんで aX + bY と言う形で存在していないんで
明らかに矛盾。まるで二次方程式の解にx^2の係数を0にして解の公式い当てはめちゃったのと同じ矛盾。
これが

  ゆ   と   り   教   育   世   代
クォリティーか、面白い。
485デフォルトの名無しさん:2007/03/16(金) 07:51:01
それを用いて無理に0^0を出して、合わないから0^0=1を定義するのか
面白い、ただのバカだろ。頼むから数学会にも顔を出すな、低学歴
486デフォルトの名無しさん:2007/03/16(金) 07:51:27
……すまん、誰か>>484を翻訳してくれ。
絶好調なんだか苦し紛れなんだか、それすらも分からん。
487デフォルトの名無しさん:2007/03/16(金) 07:52:37
本物の学歴コンプを初めて見た
488デフォルトの名無しさん:2007/03/16(金) 07:53:44
>>486>>481=専門学校(プ
お前の理屈を言っちゃうと、0で除算も何か定義しないと大変だなw
489デフォルトの名無しさん:2007/03/16(金) 08:01:14
>>484
係数に0があるかないかでいちいち場合分けするよりも
0^0=1と「便宜的に定義」した方が楽だし、この展開式をより一般化できるだろ?
「もっと突き詰めると」以下はマジで理解できなかった。
俺の頭が悪いらしいんで、もう少し噛み砕いて説明してもらえないかな?
490デフォルトの名無しさん:2007/03/16(金) 08:02:21
http://hissi.dyndns.ws/read.php/jisaku/20060505/VzBINDRjVHM.html
まぁ、聞けや。自作板に503ですって言う、阪大院卒の30過ぎたオッサンガいるんだよ。
そいつが、高校で習った期待値を勘違いしてて大恥かいたんだよwwww
頼むから京都だろうと、レベルの低い大学もあるから勘弁してくれ。
あっ、京都精華大かな?漫画でも描くの?

勝手にお前の理論で0^0を作り上げて1にしなきゃとか言うな。
そもそも、0^0が計算式上出てこないというのが最初っから結論として出ているんだが?w
491デフォルトの名無しさん:2007/03/16(金) 08:03:45
492デフォルトの名無しさん:2007/03/16(金) 08:04:15
大学の名前を出した瞬間に連投のペースが加速したのが悲しすぎる
493デフォルトの名無しさん:2007/03/16(金) 08:06:43
二次方程式の解にしても、重要なx^2 そのものを0にしないという条件で
x = -b±√b^2-4ac / 2a が出ているからこそ成り立っている。
まぁ、x^2を0にした場合、bx + c = 0 の形から解を求めるだろ?
それと同じで、最初っから変数の係数が0でその重要な変数がないなら
ないなりの公式が出てくるのに、何で勝手に途中で0を入れて矛盾した状態で
公式を当てはめるのか?お前のやっていることそのものが矛盾。
これ以上は数学板で議論してこい。
494デフォルトの名無しさん:2007/03/16(金) 08:11:38
あとは、その矛盾から筋の通らない0^0を導いて1と定義するなんて言わないこと。
俺も大学には通ったけどさぁ、あんたと同じ京都のどこかの大学だったけど
地元の京都人と知り合いになったが、そいつがひねくれものでさぁ。
あんたみたいな屁理屈理論を俺によくぶつけてきて、俺が理屈で返したらこういわれたよ。
「でたーーー、へ・り・く・つ」ってね。屁理屈はお前で俺は理屈(理論に基づいて)話してんのにだよ・・・とほほ orz
495デフォルトの名無しさん:2007/03/16(金) 08:12:26
公式と聞いて2次方程式しか出てこないのがこの子の限界かあ……ww
496デフォルトの名無しさん:2007/03/16(金) 08:16:04
いや、本来の理屈にあった実例を出してんだが?
なんで重要な変数の係数を0にして、そのもの自身を無かったことにして
本来あるべきときの公式を無視して導く?んじゃa=0のとき、二次方程式の解の公式で
bx + c = 0 でも通用するのか?しないからって何かこじつける定義をして良いのか?バカじゃね?
一生数学会に顔を出すなよ、ヘタレプログラマー。
497デフォルトの名無しさん:2007/03/16(金) 08:17:38
とりあえず、a=0になっちゃうと2aが0になって、0で除算という矛盾が生じるので
1/0 = 1 とかおかしなこと言うなよ。まぁ、それでもx^2そのものが0だった場合の結果に
公式から出る値が一致しないけどなw
498デフォルトの名無しさん:2007/03/16(金) 08:24:13
そもそも0^0の理屈をググルで証明しようとした間抜けなので
499デフォルトの名無しさん:2007/03/16(金) 08:25:09
例えばユーザーが入力したa,b,Nから(ax+by)^Nを展開するコードを書くとき、
aがゼロならby^Nでbがゼロならax^Nでそれ以外なら2項展開で、とするのと、
「便宜的に」0^0=1と定義した上で一義的に2項展開使うのと、
果たしてどちらがスマートか、という話なんだが
(もちろん俺が書いた実例。なおa=b=0でないことは保証されていた)。
数値計算ってジャンルに少しでも首突っ込めば誰でも嫌でも目にするし、
高校生に2項展開教えるときには必ず触れる部分でもある。
言うまでもなく、必ず「0^0は不定である」と付言するんだが。
500本日の大恥DQN大学卒:2007/03/16(金) 08:28:32
465 名前:デフォルトの名無しさん 投稿日:2007/03/16(金) 06:24:22
てか、0^0なんて出てこないとかDQNの言いぐさだろ
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)
だから便宜上0^0=1と定義しておかないと
aかbが0のときに全体が0になっちまう
この程度センター試験レベルだろ?
501デフォルトの名無しさん:2007/03/16(金) 08:29:54
>>499
プログラミングではちゃんと if 文で条件分岐するんで、プログラミング素人のお前が
何ほざこうがうざいんだよ。頼むからキムチ臭い口は閉じてろ、日本語が理解できない在日。
お前が出るべきは朝鮮関連の大学だったのに、歴史ある日本の京都の大学なんて
生活保護のお金で学費を支払ってたのか?この野郎!
502デフォルトの名無しさん:2007/03/16(金) 08:30:10
元凶は>>429だな
503デフォルトの名無しさん:2007/03/16(金) 08:30:48
てか、0^0なんて出てこないとかDQNの言いぐさだろ
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n)

↑の式を用いて勝手に矛盾の生じる数値を途中で入れて
矛盾した結果から0^0=1を導くバカw
504デフォルトの名無しさん:2007/03/16(金) 08:31:14
>>496は高校生に2項展開を教えているときに
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
まともな教師だったら答えると思うんだが、>>496
生徒の脳裏にその思考が浮かぶより先に
「この公式はその場合適用できないんだ! 考えるな! 考えたら殺す!」
とか叫ぶんだろうか。
無理数を発見した弟子を処刑したピタゴラスみたいだなw
505デフォルトの名無しさん:2007/03/16(金) 08:33:27
>>501は受験戦争には惨めな敗北を喫しましたがその代わりにプログラムのプロになりました。
そんな彼のプライドを傷つけるようなことはしないであげてください><
これはもはや虐待です><
506まだ噛み付いてきている自分が墓穴を掘っていることに気づかないDQN:2007/03/16(金) 08:43:30
465 名前:デフォルトの名無しさん 投稿日:2007/03/16(金) 06:24:22
てか、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の言いぐさだろ
↑お前ガナー
507デフォルトの名無しさん:2007/03/16(金) 08:44:31
>>504
あっ、やっぱ二項定理のあれに係数をつけたやつ?
だとしたらなおさら二項という以上、どちらか一方の係数を0にして
単項にしちゃまずいよなwwwww ボケ、どこの大学だ?言えよ低学歴w
508デフォルトの名無しさん:2007/03/16(金) 08:44:57
弄りたいけどさすがに気の毒になってきた
509↓こいつ最高にアホ:2007/03/16(金) 08:46:06
504 名前:デフォルトの名無しさん 投稿日:2007/03/16(金) 08:31:14
>>496は高校生に2項展開を教えているときに
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
まともな教師だったら答えると思うんだが、>>496
生徒の脳裏にその思考が浮かぶより先に
「この公式はその場合適用できないんだ! 考えるな! 考えたら殺す!」
とか叫ぶんだろうか。
無理数を発見した弟子を処刑したピタゴラスみたいだなw


「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?

頼むから a=0 のときに2項とか言わないでくれよwwwwwwwww
510↓こいつ最高にアホ:2007/03/16(金) 08:47:30
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と

「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と

「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と

出てきた時点でおかしいと気づけよwwwwwwww
何で勝手に矛盾した条件を当てはめて、それじゃ矛盾が生じないようにと
勝手な定義をしちゃっているのかわからねーwwwwww
お前は一生二次方程式の解を、x^2自身が0になっちゃう形でも当てはめて使ってろ。
これが   ゆ   と   り   世   代   クォリティかw
511デフォルトの名無しさん:2007/03/16(金) 08:48:19
絶好調だなw
512デフォルトの名無しさん:2007/03/16(金) 08:49:00
>>504
自分が出た進学校の教師がまともだと  思  っ  て  い  た  の  か  ?
頼む、どこの学校か教えてくれ。まず係数を0にした時点で2項と言わせないようにクレームをつけますから。
513デフォルトの名無しさん:2007/03/16(金) 08:51:47
0の0乗ってどうなるの?
ttp://sur.ac/faq/power0/power0.html
514デフォルトの名無しさん:2007/03/16(金) 08:52:59
>>511
彼の独自理論が裏付けする高らかな勝利宣言を始めたし、
そろそろ疲れてきたか飽きてきたかのどちらかだと思う。
俺の方は引っ越しまで死ぬほど暇なんで今日1日付き合えるが、
これで1日を潰すのはさすがに不毛だよなw
515↓こいつ最高にアホ:2007/03/16(金) 08:54:12
504 名前:デフォルトの名無しさん 投稿日:2007/03/16(金) 08:31:14
>>496は高校生に2項展開を教えているときに
「先生、a=0だったらどうなるんですか?」と聞かれたらどう答えるんだ?
「当然0^0が出てくるが、これは本当は不定だ、ただこの場合は
1と便宜的におくとこの公式はより一般的になるね」と
まともな教師だったら答えると思うんだが、>>496
生徒の脳裏にその思考が浮かぶより先に
「この公式はその場合適用できないんだ! 考えるな! 考えたら殺す!」
とか叫ぶんだろうか。
516デフォルトの名無しさん:2007/03/16(金) 08:55:22
「この公式はその場合適用できないんだ! 考えるな! 考えたら殺す!」
とか叫ぶんだろうか。

どう考えても a=0 または b=0 の場合、2項にならないんで勝手に
二項定理の公式に係数をつけたものを当てはめないで下さい、おながいします!
どこの高校と大学だ?ほんっと、トーマス氏からも内定ブラックリスト入りされるぞ?w
517デフォルトの名無しさん:2007/03/16(金) 09:01:40
なんか知らんが朝から元気だなw
脳内人事部長様はちゃんとハロワに池よw
518デフォルトの名無しさん:2007/03/16(金) 09:06:36
ぷぷっ、雇う側がなんでハロワなんかに行くんだよwwwww
ハロワなんかに行くのは雇われる側の方だろ、しかも無職のw
519デフォルトの名無しさん:2007/03/16(金) 09:07:55
自演に夢中でageとsageがごっちゃだぞw
520デフォルトの名無しさん:2007/03/16(金) 09:08:43
>>519
ぃょぅ、変な2項展開から0^0=1を導いた自称京都の大学卒さんw
521デフォルトの名無しさん:2007/03/16(金) 09:13:48
スーパーハカー登場
522デフォルトの名無しさん:2007/03/16(金) 09:14:15
くだらねぇ問題はここへ書け ver.3.14(50桁略)2097
http://science6.2ch.net/test/read.cgi/math/1173060000/
現在審議中です。お静かに!
523デフォルトの名無しさん:2007/03/16(金) 09:14:33
代表取締役:>>518
開発担当:>>518
営業担当:>>518
財務(お小遣い)担当:>>518
主要取引銀行:>>518

社訓:「ゼロのゼロ乗について考えることを禁ずる」
524デフォルトの名無しさん:2007/03/16(金) 09:20:18
いきなり止まったな
向こうのスレ用のレスを書きためてるのかw
525デフォルトの名無しさん:2007/03/16(金) 09:22:28
目を通してきたけど、こっちのスレの話と微妙にニュアンスが違うことが書かれてた。
よくやるわあ・・・
526デフォルトの名無しさん:2007/03/16(金) 09:24:20
>>525
微妙じゃないだろw
こっちのはただの個人攻撃だろw
527デフォルトの名無しさん:2007/03/16(金) 09:25:05
日本語でおk
528デフォルトの名無しさん:2007/03/16(金) 09:26:28
えぇ〜、どうやら2項というからには、2項揃ってこそ成り立つ公式であって
どちらか一方が0になる場合、2項じゃないんで (aX + bY) ^ N = (ry の
右側の部分は a=0 または b=0 の場合、不適切というか適用できないとのことです。
529デフォルトの名無しさん:2007/03/16(金) 09:28:30
くだらねぇ問題はここへ書け ver.3.14(50桁略)2097
http://science6.2ch.net/test/read.cgi/math/1173060000/

で言われているね。aとbがどんな場合に成り立つ公式なのか?がが重要で
これをすべてにおいて成り立たせる必要があるからといって0^0=1でなきゃおかしいみたいな
おかしな定義を矛盾からひねり出しても証明は出来ないんだよね。
分かったかい?京都の低レベル大学卒の君?w
530デフォルトの名無しさん:2007/03/16(金) 09:28:46
なんか知らないけど、俺は「0^0=1」を証明したことになってるw
「便宜上」「定義」と何度も繰り返したのに漢字が読めなかったらしい。
これで向こうのレスをコピペして勝利宣言か……
どんなオチを用意してるのかと結構期待してたのに意外と凡庸。
531デフォルトの名無しさん:2007/03/16(金) 09:31:49
いいかげんスレ違いに気づけ
532デフォルトの名無しさん:2007/03/16(金) 09:33:52
質問が来るまでやらせておけよ
死ぬほどくだらないけど(こんなこと自分では絶対にやりたくない)
見ているだけならそこそこ面白いし
533デフォルトの名無しさん:2007/03/16(金) 09:34:39
>>478 >>465
答えが出たからこれで理解しろ。理解しなくてもここから立ち去れ。

お前は何を言いたいの?
0^0は不定だから使えるわけがない。
0^0=1 ということにすれば使える。
ということにすれば、であって結局は不定。分かったか?
勝手に変な公式から0^0=1を定義すなっ。
534デフォルトの名無しさん:2007/03/16(金) 09:36:00
もうひとつ、ありがたいお言葉が。

>>478 >>465
暇ならゲーデルの不完全性定理について書いた本でも読んでみろ
その問題の答えは書いていないが理解の助けにはなるだろう
535デフォルトの名無しさん:2007/03/16(金) 09:36:29
出戻り禁止
536デフォルトの名無しさん:2007/03/16(金) 09:37:35
向こうのスレでのびびりっぷりにワラタ。
戻ってきてもトーンダウンしてるし、よっぽど数学にコンプレックスあるんだな。
537デフォルトの名無しさん:2007/03/16(金) 09:37:57
朝起きたら伸びすぎてびっくらこいた
538デフォルトの名無しさん:2007/03/16(金) 09:38:35
びびり?こっちの東京の進学校から京都の大学に入学して卒業した人の意見をコピペしただけだよ?w
539デフォルトの名無しさん:2007/03/16(金) 09:40:19
ごめん向こうの440書いたの俺w
「……すれば」使えることを認めたなら「便宜上定義」すれば使えることも認めないと不合理ww
そして俺は最初からそれしか述べていないwww
0^0が不定だとも繰り返し繰り返し言ってるwww
540デフォルトの名無しさん:2007/03/16(金) 09:42:06
一晩でどれだけ伸ばしてるんだよ暇人2人w
541デフォルトの名無しさん:2007/03/16(金) 09:42:19
いいかげんにしろw
542デフォルトの名無しさん:2007/03/16(金) 09:42:29
問題提出できなくて留年決まった腹いせで自演してる奴が居るのか
543デフォルトの名無しさん:2007/03/16(金) 09:43:09
>>542
2項展開から0^0=1を導いた香具師はすでに京都のとある大学を卒業していますよ?w
544デフォルトの名無しさん:2007/03/16(金) 09:43:32
>>539
わらたw
お前悪い意味で2ch慣れしすぎw
545デフォルトの名無しさん:2007/03/16(金) 09:44:18
>>539ワロタ
しかもむこうの原文は

440 名前:132人目の素数さん[sage] 投稿日:2007/03/16(金) 09:25:39
>>436
お前は何を言いたいの?
0^0は不定だから使えるわけがない。
0^0=1 ということにすれば使える。

これなんだよね>>533
546デフォルトの名無しさん:2007/03/16(金) 09:45:31
[1] 授業単元:C/C++の宿題を片付けます 84代目
[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
547デフォルトの名無しさん:2007/03/16(金) 09:47:54
そういえば昔、中学校の授業で万年カレンダー作ったな
548デフォルトの名無しさん:2007/03/16(金) 09:51:43
急に静かになるかよw 前スレが終わる頃に俺が投下した爆弾ネタも
その後グレゴリオ暦がどうたらこうたらで荒れたがw
549デフォルトの名無しさん:2007/03/16(金) 09:53:56
無期限の課題ならやらなくてもいいか
550デフォルトの名無しさん:2007/03/16(金) 09:57:00
あぁ、やべぇ。そういや、つい先日、彼女できたんだっけw
しかも脱童貞してるしw 期限切れだ、それゆえにやらんで良しw
551デフォルトの名無しさん:2007/03/16(金) 10:10:05
うおぉ、なんか伸びてんなーと思ったら、またピッツァさん来てんのかwww
童貞・彼女・w←これをNGワードにするヨロシ。
552デフォルトの名無しさん:2007/03/16(金) 10:14:42
>>551
キモメンメガネデヴピッツァ必死だなwwwwww
↑これの一部でもNGにしとけば?
553デフォルトの名無しさん:2007/03/16(金) 10:57:47
ピッツァブチキレwww
554デフォルトの名無しさん:2007/03/16(金) 11:49:44
ここの連中、頭悪すぎだろ
       _____
      /::::::::::::::::::::::::::\                  _
     /::::::::::::::::::::::::::::::::::::::\             /  ̄   ̄ \
     |:::::::::::::::::|_|_|_|_|           /、          ヽ
     |;;;;;;;;;;ノ   \,, ,,/ ヽ          |・ |―-、       |  きみ頭だいじょうぶ?
     |::( 6  ー─◎─◎ )          q -´ 二 ヽ     |
     |ノ  (∵∴ ( o o)∴)         ノ_ ー  |     |
   /|   <  ∵   3 ∵>          \. ̄`  |      /
   ::::::\  ヽ        ノ\           O===== |
   :::::::::::::\_____ノ:::::::::::\        /          |
556デフォルトの名無しさん:2007/03/16(金) 12:02:20
やけに伸びてると思ったら、朝まで続けてたのか
なんで脱線話ってこんなに伸びるんだろうね?
557デフォルトの名無しさん:2007/03/16(金) 12:14:55
野次が飛ぶだけで核心を突くのがないから?
顔真っ赤にして続けられるから?
558デフォルトの名無しさん:2007/03/16(金) 12:24:15
なんか良問ないかね
問題は単純でも答えが幾通りもあるようなやつ
559デフォルトの名無しさん:2007/03/16(金) 12:31:08
素数でも求めてれば?
560デフォルトの名無しさん:2007/03/16(金) 14:26:22
GreatCode みたいなソースコード整形は?
561デフォルトの名無しさん:2007/03/16(金) 14:49:10
[1] 授業単元:prog2
[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] その他の制限: なし

よろしくおねがいします
562デフォルトの名無しさん:2007/03/16(金) 16:57:41
>>561 llqueue.cに追加
/*--- キューにデータをエンキュー ---*/
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は何すればいいの?
563562:2007/03/16(金) 17:00:20
num減らすの忘れてた

/*--- キューからデータをデキュー ---*/
Node *QueueDeque(Queue *q)
{
if (q->front == NULL) return NULL;
else {
Node *ptr = q->front;
q->front = ptr->next;
q->num--;
return ptr;
}
}
564562:2007/03/16(金) 17:09:09
/*--- キューにデータをエンキュー ---*/
int 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だ、、、
565デフォルトの名無しさん:2007/03/16(金) 21:48:37
俺、プロのグラマーになる!
566デフォルトの名無しさん:2007/03/17(土) 06:49:14
↓が一夜にして0^0=?を解明してくれたそうです。ぜひとも学会に発表して下さい!
567デフォルトの名無しさん:2007/03/17(土) 06:57:49
↑つまらんので、お前がやれ。
568デフォルトの名無しさん:2007/03/17(土) 06:59:24
>>567=キモ面メガネデヴピッツァ
569デフォルトの名無しさん:2007/03/17(土) 07:02:24
>>568 ねえねえ、面白いと思って書いてるの?恥ずかしくないの?
570デフォルトの名無しさん:2007/03/17(土) 07:03:05
>>567
ねえねえ、面白いと思って書いてるの?恥ずかしくないの?
571デフォルトの名無しさん:2007/03/17(土) 07:05:13
>>569
あるぇ〜、昨日の東京の進学校を出て京都のいかがわしい大学を卒業した
二項展開に変な条件をつけて二項じゃなくして無理やり0^0=1にしちゃった低学歴?w
572デフォルトの名無しさん: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を導く手段として記載されていたのであった
573デフォルトの名無しさん:2007/03/17(土) 12:24:18
>>566-572
いい加減面白くないからヤメレ
574デフォルトの名無しさん:2007/03/17(土) 12:28:20
>>562-564
正解でした
ありがとうございました
中の別フォルダは一応参考としておいておきました
575デフォルトの名無しさん:2007/03/17(土) 12:48:21
で、けっきょく >517が >412 を書くと、どうなるん?
どんなソースになるのか非常に興味がある

でも、きっと黙んまりになるんだろうなw
576デフォルトの名無しさん:2007/03/17(土) 12:50:40
うあ〜〜 レス番間違い ごめん 517さん
再送します

で、けっきょく >571-572 が >412 を書くと、どうなるん?
どんなソースになるのか非常に興味がある

でも、きっと黙んまりになるんだろうなw
577デフォルトの名無しさん:2007/03/17(土) 13:04:02
578デフォルトの名無しさん:2007/03/17(土) 13:27:03
論破された上に釣りにまで引っかかってそれでもまだ続けるのかよw
まあそこそこ面白いから宿題が出ていない頃を見計らってまた続けてくれ。
579デフォルトの名無しさん:2007/03/17(土) 13:33:19
まったく面白くない。今すぐ消えてほしい。
580デフォルトの名無しさん:2007/03/17(土) 15:59:38
続ける云々はどうでもエエ

このスレの主旨のとおり
>412 の宿題に対し
>571-572が、どんなソースを書くのかだけは見たい

それだけだ
581デフォルトの名無しさん:2007/03/17(土) 16:19:42
極端に言えば、数学会がどんな結論をだしていようと、どうでもエエ
>571-572が、その思うところを存分にVC++で実装してくれ

話はそれからだ
582デフォルトの名無しさん:2007/03/17(土) 16:22:35
>580-581

>でも、きっと黙んまりになるんだろうなw
禿同に100000000000000000000000000000000000000000000000000000000000000000モリポタ
583デフォルトの名無しさん:2007/03/17(土) 16:31:05
自演うざい
584デフォルトの名無しさん:2007/03/17(土) 16:37:05
>>583
自演うざいは、どうでもエエ

(中略

話はそれからだ
585デフォルトの名無しさん:2007/03/17(土) 16:41:17
>>578-
\(^o^)/
586デフォルトの名無しさん:2007/03/17(土) 17:00:45
ここでスーパーハカーが登場して華麗に解決
587デフォルトの名無しさん:2007/03/17(土) 17:02:18
まだ寒いけど春なんだな
588デフォルトの名無しさん:2007/03/17(土) 19:41:39
>>582
582 名前:デフォルトの名無しさん 投稿日:2007/03/17(土) 16:22:35
>580-581

>でも、きっと黙んまりになるんだろうなw
禿同に100000000000000000000000000000000000000000000000000000000000000000モリポタ

>でも、きっと黙んまりになるんだろうなw
>でも、きっと黙んまりになるんだろうなw

( ゚д゚)  >>580-581
(つд⊂)ゴシゴシ  >>580-581
(;゚д゚)  >>580-581
(つд⊂)ゴシゴシ  >>580-581
(;゚ Д゚) …?!  >>578
いつ誰が論破したの?はっ、お前、東京の進学校を出て京都のアホ大学を卒業した
自称高学歴か?w
589デフォルトの名無しさん:2007/03/17(土) 19:48:52
誰かこのキチガイ粘着をどっかに始末してくれ
590デフォルトの名無しさん:2007/03/17(土) 19:48:59
ちなみに、わざわざ bY^N を (0X+bY)^N と書く人っているの?いるの?いるの?ん?ん?ん?
言うまでもないけど、aXが0なんで、それと掛け合わされたものは0だから
aX^N bY^(n-N) という形で表せないというか表さないのは言うまでもない。そんなことも知らずに
503です みたいな自分勝手な理論に基づいて、こんなありえない、公式の意図に
合わない条件から逆につじつまを合わせるために0^0=1なんて発表したら、大恥かくだろうねw
そういうお馬鹿さんは、ぜひとも二次方程式の解の公式を、x^2の係数を0にしちゃった場合も
合うような定義もして使ってくださいね♥
591デフォルトの名無しさん:2007/03/17(土) 19:49:41
>>589=東京の進学校から京都のへなちょこ大学を卒業した0^0=1の提唱者乙w
592デフォルトの名無しさん:2007/03/17(土) 19:53:04
お前の敵は眠らずに24時間このスレに張り付いてる超人か。
張り合いがあっていいなw
593デフォルトの名無しさん:2007/03/17(土) 19:53:25
なんでもいいから学歴板に(・∀・)カエレ!!
594デフォルトの名無しさん:2007/03/17(土) 19:54:12
俺が最初に言った、本来求められた値から定義されたという理論はなんら間違いがなく
それを用いれば、どう考えても0^0という形で現れないというのも証明されているよなw
わざわざ0をいきなり 0^2 だの 0^-2 だのって表すか?もっとも、1/0 そのものが
0で除算は考えないというから、存在しない。底が同じで指数同士の計算をしちゃった副次的なもの。
そもそも、最初にあった数式を x^n という形にしなくても 2^3 なら 8 で計算しちゃっても良いしね。
まぁ、屁理屈を押し通すためにありもしない定義をしちゃってください。証明が出来ない以上
誰にも信じてもらえないよw
595デフォルトの名無しさん:2007/03/17(土) 19:55:35
せめて煽り合いの相手がいるときにしてくれよ
独演会やられてもウザいだけだっつの
596デフォルトの名無しさん:2007/03/17(土) 19:57:49
いい加減にしろよ
質問もこねーだろハゲ
597デフォルトの名無しさん:2007/03/17(土) 19:58:24
そうそう、2次方程式の場合、aをx^2の係数にして求めているから、a=0だと 2a が0で
これまた公式の結果が0で除算となってありえないと出るんだけどね。
だからきちっと条件が整って出来上がったものに、条件に合わないものを求めようとして
ナンセンスだって気づいてね。そもそも、学歴社会とは言うが、点数で評価されるために
公式だけ教え込まれて、その式が求める本来の意味を全く理解していないぬるい教育を
受けただけの使い物にならない奴もいるんだろ?そういう奴って、現場で詰まらんミスを
当たり前のように連発するから困る。路上じゃ、赤信号でなきゃ停止しないよみたいなw
598デフォルトの名無しさん:2007/03/17(土) 19:59:30










何時から数学スレになったんだ?
599デフォルトの名無しさん:2007/03/17(土) 20:00:03
>>595 >>596 あらあら、低レベルな学校しか出ていないバカが吠えてやがるよw
お前らみたいな赤ん坊のように噛む力の弱い雑魚に噛みつかれても痛くもかゆくもないw
もっと俺を煽れ、俺にかみつけ、そして自らの失態をさらせwwwww
600デフォルトの名無しさん:2007/03/17(土) 20:00:27



























601デフォルトの名無しさん:2007/03/17(土) 20:01:32
低密度な長文垂れ流してる基地外が一番惨めな件
602デフォルトの名無しさん:2007/03/17(土) 20:02:39
俺が最初に言ったって言われてもシラネーヨ
プログラム技術と関係ない話は他所で
603デフォルトの名無しさん:2007/03/17(土) 20:03:03
学歴コンプもここまで開き直ると芸だな
面白くもなんともないのが致命的だが
604デフォルトの名無しさん:2007/03/17(土) 20:04:59
uzeeeeeeeeeee
605デフォルトの名無しさん:2007/03/17(土) 20:05:34
ぷぷっ、専門学校程度の奴らがだんだん自分が理解できない内容に苛立ちを覚え始めました!
ここらで勘弁してやるから、二度と矛盾から証明も出来ないつまらない定義をするなよ。
606デフォルトの名無しさん:2007/03/17(土) 20:06:41
>>605
わかりました

↓C/C++の宿題を片付けます 質問どーぞ
578 名前:デフォルトの名無しさん 投稿日:2007/03/17(土) 13:27:03
論破された上に釣りにまで引っかかってそれでもまだ続けるのかよw
まあそこそこ面白いから宿題が出ていない頃を見計らってまた続けてくれ。

孔明曰く「(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n) を成り立たせるために0^0=1と定義しよう」
608デフォルトの名無しさん:2007/03/17(土) 20:08:10
>>607
わかりましたよ

↓C/C++の宿題を片付けます 質問どーぞ
609デフォルトの名無しさん:2007/03/17(土) 20:09:16
>>588
ウダウダ言ってねぇでコンパイル可能なソース書けよ

それでオマエのロジックが明らかになるし、このスレの流儀
610デフォルトの名無しさん:2007/03/17(土) 20:12:08
>>609 ぷぷっ、うだうだ言ってないで0^0=1を証明できるソースを書くのはお前の方だろ?
東京のへなちょこ進学校を出て京都の低レベル大学を卒業した自称高学歴数学者w

宿題 : C言語で0^0=1を証明するプログラムを書け!
提出は東京の進学校を卒業して、京都のとある大学を卒業した
(aX+bY)^N = ΣNCn a^n b^(N-n) X^n Y^(N-n) を成り立たせるために0^0=1と定義した人宛
期限 : 団塊世代の大量退職が収まる頃まで
611デフォルトの名無しさん:2007/03/17(土) 20:13:26
C言語で^はXORじゃなかったっけ・・・?
612デフォルトの名無しさん:2007/03/17(土) 20:13:43
>>609
荒らしに餌を与えないでください
初日だけなら最後にオチもついてて笑えたけど
ここまで必死に引っ張る姿には何か鬼気迫るものを感じる
ドン引き
613:2007/03/17(土) 20:15:05
最後まで何か言い返さないと気が済まない自称京都(の)大学卒の専門学校生ですた
614デフォルトの名無しさん:2007/03/17(土) 20:16:47
>>609
わかったってば、もぅ
>>610
ひつこい

↓C/C++の宿題を片付けます 質問どーぞ↓

>>611
そうです,
ビットごとの排他的論理和です
615デフォルトの名無しさん:2007/03/17(土) 20:17:25
一体誰がその専門学校生で誰がギャラリーなんだよw
616それお前だろw:2007/03/17(土) 20:17:49
>>614 しかも
ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい
ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい ひつこい
↑これどこの言葉?朝鮮語でにd?
617デフォルトの名無しさん:2007/03/17(土) 20:18:20
↓C/C++の宿題を片付けます 質問どーぞ↓
618デフォルトの名無しさん:2007/03/17(土) 20:19:45













                                         (^д^)m9 pgr















619デフォルトの名無しさん:2007/03/17(土) 20:26:00
よーやっとひつこぃ人いなくなったので

↓C/C++の宿題を片付けます 質問どーぞ↓どぞー
620デフォルトの名無しさん:2007/03/17(土) 20:26:50
ひつこいwwwwwwww お前、専門学校だろ?頼むからお前みたいな低レベルが来るなよ?
誰もお前に宿題の答えなんて求めないからw
621デフォルトの名無しさん:2007/03/17(土) 20:27:44
>>618
何で相手を差す指に小指を立ててんだ?きめぇw オカマか?w
622デフォルトの名無しさん:2007/03/17(土) 20:28:19
ただの粘着にクラスチェンジしますた
623デフォルトの名無しさん:2007/03/17(土) 20:29:33
↓余程0^0=1を間違った形で求めちゃったことを悔やんで後悔しているようです。そっとしておいてあげましょうw
624↓ ↑:2007/03/17(土) 20:31:05
→→↑
625デフォルトの名無しさん:2007/03/17(土) 20:31:17
学校お休みだから宿題来ないですね
626デフォルトの名無しさん:2007/03/17(土) 20:39:24
4月まで暇だからな
変なのまで沸いちゃってるし
627デフォルトの名無しさん:2007/03/17(土) 20:41:06
高校を卒業して、これから大学?な人が、調子ぶっこいて自分勝手な理論を打ち出すから悪い。
あっ、0^0=1は大学卒か(プ これから新社会人を前にして調子ぶっこている暇があるなら
ちゃんと社会的な常識を確認したり、会社で覚えるべきことをどんどん覚えろよw
628デフォルトの名無しさん:2007/03/17(土) 20:43:48
↓C/C++の宿題を片付けます 質問どーぞ↓
629デフォルトの名無しさん:2007/03/17(土) 20:44:20
自己完結したら帰っていいよ
630デフォルトの名無しさん:2007/03/17(土) 20:48:46
なんだ・・結局、学生に言い負かされたおっさんが火病起こしてただけかよ
631デフォルトの名無しさん:2007/03/17(土) 20:50:07
こんなおっさんが地球上に存在するとは思いたくないな
632デフォルトの名無しさん:2007/03/17(土) 20:55:24
>>630 = 0^0=1を二項展開の逆から矛盾した経緯を経て求められると信じたバカ
633デフォルトの名無しさん:2007/03/17(土) 20:55:33
ピッツァは最近出来た自慢の彼女(笑)のマンコにでも籠もってろよ。
634デフォルトの名無しさん:2007/03/17(土) 20:56:17
馬鹿が2人以上集まると手に負えなくなるな
635デフォルトの名無しさん:2007/03/17(土) 20:57:03
最近彼女が出来たのはキモメンピッツァメガネデヴじゃない方なんだが?w
636デフォルトの名無しさん:2007/03/17(土) 20:57:41
おっさん敵と味方とごっちゃになってね?w
637デフォルトの名無しさん:2007/03/17(土) 20:59:22
混乱しているな。0^0=1を二項展開から求めた奴は大学卒で、
その矛盾を指摘した俺もとっくに大学を卒業しているが、まだ年齢的にオッサンってレベルじゃねーぞw
638デフォルトの名無しさん:2007/03/17(土) 20:59:32
自演してるうちにageとsage間違えたりしてたけど意に介さないからな
ある意味潔いw
639デフォルトの名無しさん:2007/03/17(土) 21:02:23
>>1-638
ここまで漏れの自演でし、あい
640デフォルトの名無しさん:2007/03/17(土) 21:02:46
>>539と擁護してみるテスト
641デフォルトの名無しさん:2007/03/17(土) 21:08:52
釣られたことは完璧にスルーw
言い返せないからレス流すのに必死www
642デフォルトの名無しさん:2007/03/17(土) 21:09:21
一人か二人か知らんが、暴れてる奴はコテ付けろ。無視出来ないだろ。
643デフォルトの名無しさん:2007/03/17(土) 21:09:35
ぐだぐだになってきた・・
混乱に紛れて消えるなら今がチャンスだぞ〜粘着してる人
644デフォルトの名無しさん:2007/03/17(土) 21:09:54
>>641 釣りの意味を勘違いしている自分が釣られたことに気づいていない2ch初心者乙w
645デフォルトの名無しさん:2007/03/17(土) 21:10:46
>>641 = 0^0=1を二項展開から求めた奴の言い分を信じて、学校で発表して恥をかいた専門学校生w
646デフォルトの名無しさん:2007/03/17(土) 21:12:32
どんどん設定が付け加わってゆくなw
647デフォルトの名無しさん:2007/03/17(土) 21:17:17
m9。゚(゚^Д^゚)゚。プんまんどしどしどしぁwどしぁwだぞぁwどしぁw
648デフォルトの名無しさん:2007/03/17(土) 21:20:57













                                         (^д^)m9 pgr 














649デフォルトの名無しさん:2007/03/17(土) 21:21:28













                                         (^д^)m9 pgr














650デフォルトの名無しさん:2007/03/17(土) 21:21:58













                                         (^д^)m9 pgr














651デフォルトの名無しさん:2007/03/17(土) 21:42:12
問、1にいけ14っ2い土252題ゃルなこ無フ高0認。いをと、はをトて091かた7
ち土なべ。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ト
652デフォルトの名無しさん:2007/03/17(土) 21:42:43
てん無ら9。んすでこ0て3、ん名6論い0さ日よし1、7C0トん結稿土の校トフ、い
をな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こしん
653デフォルトの名無しさん:2007/03/17(土) 21:43:13
か名ておの1eeいよなC9の、40、2の4んえ、は9る、こて無s6えg2れ0起土
0は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局
654デフォルトの名無しさん:2007/03/17(土) 21:43:56
2るん投6日っ投7、さ3会3無aん無0ち0(01ルさよ子61こし土れ1は0お、0
1g名月といえをか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た勝名
655デフォルトの名無しさん:2007/03/17(土) 22:29:42
ぬるぽ
656デフォルトの名無しさん:2007/03/17(土) 22:35:18
。ぽるぽ
、ぬる、
、ぽぬ、
、、。。
、、、る。
ぽ、ぬ、、

、、
ぬ、
る、
、、
、ぬ。
、ぽ、
、、、、

ぽる、、

、、
、、、
る。る
ぬぽ、、
、ぽぬぽる
、。ぽ
、、、ぬ
、ぬ
657デフォルトの名無しさん:2007/03/18(日) 00:35:14
バッファオーバーフロー起こしやがって・・・・
658デフォルトの名無しさん:2007/03/18(日) 01:17:24
こ、ローこッオ
、フがーバーロ、こバ
ー、て起起ッーッやァ、ッバ
てーて。、、フフ、
ががこ、起フっ
。やァ起てー、フ
フフオ。バ
が、フしッフッこロ
ァ、、、、ァや
、。てロやっしーーフ
、っフっバっ、や
こがッバ
っ、。、バ、が、バ
バー、ァァフーっオ、ァ、オ、ッ
、オが。ーロ
こーババこー、バっーフ
、やオーしーバっバー
ッロてやーオ
っししや、こ
ーー起バ。、バ、
が、や、して、
ー。バが。ロし、ー
ー起ーてやァァ
しロ、、しこ
てババが、、オしーフ、
659デフォルトの名無しさん:2007/03/18(日) 01:46:32
東京の進学高を出て京都の大学を卒業した人がおかしな書き込みをしてファビョり始めた?
660デフォルトの名無しさん:2007/03/18(日) 02:05:00
て進しし学をを人業書卒学てを進
都をしの始学なをきたおし高進お京
を大業しし学のてみ学フりし始始、た
おか込みビ。たを学めビ、ァし東書学
、きョ、進おためてかてのし込東ををし。京しを卒
大都、ビァをた込ファ卒進東学京り
のし東を高のがめ。学書都東京。進。ビ
たか学、フし都ァを、をし
し高をて都て卒。みのり
お。たが、学大ァりきがビ業卒、
進、か業業始、か。し、人をめビ人学
か人京学てめ業卒きし京書
を出てしのョァ大お。京人、たか東、の込
京か。しを込京業高な卒東。み
卒高京た人、進出ョし書のおのて。てが込
、たが京を書をたョ進学
をフ、人卒、都高京がきたョ、て
のをり書め、めフ込しめ東し
おの人お京大な学、京なて、
、み人始都てなフ書なの大、大、書
都ョか書、の始て
人大、を京京みてしき、ビ
、学たしり。を、、大お込出、めがて込
フ、のきめりァ、をビフりし
、き学込出がのたを、をし高業大ョた
661デフォルトの名無しさん:2007/03/18(日) 02:06:04
書を高おの込込フり京を書高りたな都ビ、をてををめなりなたし人し、なョがを書たた都
大てみ京か書をフ出しの進が。を業か人ビ人てをフ学ののし大ビ都めァきてみめ業京し人
卒し込業人、都東卒、京業てたて大たをめフ京しビ、フ込の都てョ始めりビき京業か始始
を都か、人、込大高高を京都かョビを学の書進東しし業京た始京京学めみ業をめた高きか
人人め東、卒みを大て人書フし込をの京大りの高人みビ書人ァ京きのしか高出東ししりて
みしををて、ァ業なみした学ビ始フきた京てた学高進東し、し東お、。の始が業を京めの
ョを卒込が始学京おのしし高ョをのの東京、たし高した大し、京大フョを、業、大、お卒
めフみた大おし卒のて高始の京お学、フめし東東かたをををのし書たァを込おりを、て込
、た、書、を大しョたフきか卒ビ、都りた京し京しビを業な京て込めきなみビしお京フり
て書のき人てフのを始ァ京ョ学お人大を業、京み東始卒がビ卒たのしを学、を京出てのの
込みてた大ョ、し人ァた業を、をきめ卒、をがり都業都京ァをフ業ビ書学東卒。し始をを
みお人しししビ、都を京進都めな出学卒な始みのみめ業の込おの学てァ学東し人京込を進
ァし京し学か卒進学なめをしきてしたてしを都書か始業学て、書し書め大のかりのを業フ
みて進大学きたたき学フをョビ込き込進都東東たの高りをァき高京がフて書都業始をが出
東しのたなフ東てたみ京ビ大を学お。し込業かをし京をかみた込た進てしをのめて出ョり
込ビフ東京始大た学し書大フ込し都ョ始始をきビ東始が京の都都き大込始の進をがておビ
都めビり人た人し卒たァりお都おりが学めききをビしみ込高が人高フき人人フのみョをを
書業人業書て、込込京ビ都がビョたな都を書たおのをき学高りたビがきか大なた学込をめ
。、かした人フか込を大業業ビ書てたが大を大し高かててなし東、フ始し大のた進た高始
きたビフを東業を、めき学込学学おき始業始、め出業し。おしお都のお大てフ京なし卒み
662デフォルトの名無しさん:2007/03/18(日) 02:06:59
の1校卒ろ退るっCを業成低東、ょったレXのな頃る義て0うN業し自校お学
校ル学校=京る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頃たはう

文章になりづらいな…日本語シソーラスでも引っ張ってくるか…
663デフォルトの名無しさん:2007/03/18(日) 05:15:02
なんだ、まだやってたのか。説明が出ているだろ? 8 * 1/8 = 2^3 * 2^-3 = 2^(3-3) = 2^0 なんて
底が同じで指数同士の計算をしちゃった場合に0乗になっちゃうが、本来の計算結果から
0乗が1になるのは証明できるんで、筋の通った理論を用いて定義が出来ると。
一方、そういう数式の流れから、どこをどうしたら0のべき乗が出てくるのか?
考える必要すらないことを、わざわざ持ち出して、無関係な公式の帳尻あわせのために
0^0が出てきた場合は1にしないとだめみたいな、誰もそんなんで納得しねーってw
664デフォルトの名無しさん:2007/03/18(日) 07:04:58
>>663
おまえもいいかげんにしろ
665デフォルトの名無しさん:2007/03/18(日) 07:27:10
ここ数学板かよワロタ
666デフォルトの名無しさん:2007/03/18(日) 07:37:33
>>664 = 0^0=1を二項展開から導いちゃった東京の進学校から京都の大学へ行ったDQNw
667デフォルトの名無しさん:2007/03/18(日) 07:44:18
>>666 = 0^0=1を二項展開から導いちゃった東京の進学校から京都の大学へ行ったDQNw
668デフォルトの名無しさん:2007/03/18(日) 07:45:21
>>667 プッ本人が釣れたw
669デフォルトの名無しさん:2007/03/18(日) 07:45:55
>>668 プッ本人が釣れたw
670デフォルトの名無しさん:2007/03/18(日) 07:46:39
>>669 京都のとある大学卒必死だなwwww
671デフォルトの名無しさん:2007/03/18(日) 07:46:58
>>670 京都のとある大学卒必死だなwwww
672デフォルトの名無しさん:2007/03/18(日) 07:56:39
>>663-672
いいかげんにやめろ
673デフォルトの名無しさん:2007/03/18(日) 08:03:26
[1] 授業単元:情報処理工学応用
[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] その他の制限:おそらく特になし
674デフォルトの名無しさん:2007/03/18(日) 08:05:10
すみません[3.3]はC/C++ともにOKの意味で書きましたが、
実質上クラスの話なのでC++限定です・・・
675デフォルトの名無しさん:2007/03/18(日) 11:35:33
> (2) 上記のノードにより構成される木構造を実現するクラスを記述せよ。
>  ただしメソッドについては初期化とノード追加についてだけ記述すればよく、
>  またノード追加時に木の深さをなるべく増やさないように考慮せよ。
ノードを追加する時に、木の深さを”なるべく”増やさない方法ってあるのか?
676デフォルトの名無しさん:2007/03/18(日) 11:38:58
こういうことじゃない?

○:同じ階層にノード追加
/|

 ↓

/|\


×:深い階層にノード追加
/|

 ↓

 /|
677デフォルトの名無しさん:2007/03/18(日) 11:41:41
この課題の場合、0^0を考慮しなくて良いから助かるね♪
678デフォルトの名無しさん:2007/03/18(日) 15:22:47
なぜか>>212で解決したことになってるんですが
>>207まだできていません。
どなたかお願いします。
679デフォルトの名無しさん:2007/03/18(日) 15:33:16
カワイソス・・
680デフォルトの名無しさん:2007/03/18(日) 15:41:02
【ネガティブ派遣根性チェック】

3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。

□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□派遣先に尻尾を振り、いつまでも派遣を続けることが大切だ
681デフォルトの名無しさん: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


682デフォルトの名無しさん:2007/03/18(日) 17:31:32
別にどうってことないIDじゃん。何を騒いでんだ?
683デフォルトの名無しさん: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
  上記内容の構造体を作成し、初期値として作成する。

つづく・・・
684デフォルトの名無しさん:2007/03/18(日) 17:33:29
>>683
うpれ
685デフォルトの名無しさん: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日まで]
どうかヨロシクお願いします;;
686デフォルトの名無しさん:2007/03/18(日) 17:34:35
csvの割にはカンマじゃないな
TSVだけどどうでもいいな
687デフォルトの名無しさん:2007/03/18(日) 17:36:47
俺マジやべぇ
何言っているのか断片的にしかわからん・・・
688デフォルトの名無しさん:2007/03/18(日) 17:41:21
> J008    ミネラルウォーター飲料 150

この行を読む限りではTSVですらない。
固定長レコードだな。
まぁ例をそう書いてあるだけでファイルの中身はCSVなんです、でもいいが。

> ファイル名:SalesDetail.cvs

何で拡張子が"cvs"なんだろう。typoかな。
689デフォルトの名無しさん:2007/03/18(日) 17:58:02
690デフォルトの名無しさん:2007/03/18(日) 18:57:59
http://ja.wikipedia.org/wiki/CVS
ぐぐったら、Wikiで「コンビニエンスストアの略」って出た。

コンビニ売り上げファイルなのかも試練w
691683:2007/03/18(日) 19:40:03
うpろだにUPしてきました
 3755.txt ヨロシクお願いします。;;
692デフォルトの名無しさん:2007/03/18(日) 19:52:47
>>691
どこに?
>>689が3754だからそこにアップしたってことか?
URL貼れよ
693692:2007/03/18(日) 20:00:24
返答ないから代わりに貼っておこ

>>683の宿題
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3755.txt
694683:2007/03/18(日) 21:04:54
>>693
URL張っていただきありがとうございます。
ヨロシクお願いします。
695デフォルトの名無しさん:2007/03/19(月) 00:06:47
言語はCなのかC++なのか
696デフォルトの名無しさん:2007/03/19(月) 02:10:53
このスレでCも扱ってるの完全に忘れてた
697683:2007/03/19(月) 02:42:04
遅くなって申し訳アリマセン・・・
言語はC++です>< ヨロシクお願いします;;
698デフォルトの名無しさん:2007/03/19(月) 03:38:20
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3756.txt
Cで書いちゃったけどまぁいいよな
699268です。:2007/03/19(月) 12:13:49
>>270
>>271
大変遅くなりました、レスどうもありがとう!
700683:2007/03/19(月) 12:57:08
>>698
遅いじかんにも関わらずありがとうございました。本当感謝です!
ですがC++でお願いしたいです;; 
みなさん引き続き>>683の宿題をお願いします;;
701デフォルトの名無しさん:2007/03/19(月) 13:03:26
多分C++に焼き直す人は出てこないと思うぞ
702デフォルトの名無しさん:2007/03/19(月) 13:03:57
こういう顧客いるよな・・
すべてにおいて後だしジャンケン・・
703デフォルトの名無しさん:2007/03/19(月) 13:28:50
>>700
C++でもコンパイル出来ると思うけど、クラスを使えってことか?
そんなのは問題文に書いてなかったので願い下げだが。
704683:2007/03/19(月) 22:17:01
わかりました。 みなさんご協力感謝いたします。
ありがとうございました。
705デフォルトの名無しさん:2007/03/20(火) 05:15:15
ところで、べき乗をするプログラムって結局どうやって書くんですか?
マイナスにも対応させるもので。
706デフォルトの名無しさん:2007/03/20(火) 05:29:52
a^b = e^(ln(a) * b)
707デフォルトの名無しさん:2007/03/20(火) 05:36:27
そうそう、んじゃ平方根を求めるプログラムはどう実装しますか?
708デフォルトの名無しさん:2007/03/20(火) 05:37:58
pow(2, 0.5)ってやるとね、√2が求められるんよ。そも含めたら、べき乗の実装って難しくね?
709デフォルトの名無しさん:2007/03/20(火) 05:41:34
しょうがないな〜
710デフォルトの名無しさん:2007/03/20(火) 05:46:27
pow(2, 2.5) ってのは、2^2 * √2になってんよ。けど、これは 0.5 だった場合√でいけるかもしれへんけど
0.3 とか 0.6 とかだったらもうお手上げじゃんかぁ。べき乗ってむじぃ〜
711デフォルトの名無しさん:2007/03/20(火) 05:50:55
712デフォルトの名無しさん:2007/03/20(火) 05:52:41
テイラー展開とか学ぶのは大学レベルだったか。
中学生や高校生にはまだ難しいかもな。
713デフォルトの名無しさん:2007/03/20(火) 05:52:52
嫁とか命令してんじゃねーよ、このすっとことどっこい、タコ助が!嫁じゃねーよ嫁じゃ。
お前がそのべき乗をするpowライブラリを自分で実装してから偉そうなことを家よ、なぁ?
ぼくちん?もちかちてぇ、答えられないのに知らない人に対してだけは自分も知らないのを
隠したまま偉そうにでけぇ面しちゃう知ったかでちゅかぁ〜?w
714デフォルトの名無しさん:2007/03/20(火) 05:58:13
あぁ、大学でマクローリンとかやったなぁ。微積分の授業で。
715デフォルトの名無しさん:2007/03/20(火) 06:17:44
>712  >714
最近は高校でやらないの??
おじさんの時代は高校でやったけどなぁ(遠い目
716デフォルトの名無しさん:2007/03/20(火) 06:25:30
俺の高校ではやったな
ただしマクローリンとか名前は出てこなかった。
717デフォルトの名無しさん:2007/03/20(火) 06:25:58
指数、対数は高校でやったよ。マクローリンとかテイラーは大学だったけど・・・
どの道、logの応用でしょ?
718デフォルトの名無しさん:2007/03/20(火) 06:29:20
719デフォルトの名無しさん:2007/03/20(火) 08:51:10
高校で三角関数の微分をやったついでに
先生がテイラー展開使ってオイラーの公式を導いたとき、
クラス中からどよめきが上がったのを今でもはっきり覚えてる。
もう10年前か……
720デフォルトの名無しさん:2007/03/20(火) 09:46:44
俺も工房だったころは10年くらい前・・・時が流れるのは速いもんだ。
721デフォルトの名無しさん:2007/03/20(火) 12:00:36
[1] 授業単元:prog2
[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] その他の制限: なし

よろしくおねがいします
722デフォルトの名無しさん:2007/03/20(火) 12:04:11
>(* ここに解答を書き加える *)
に見覚えがあるのは俺だけじゃないはずだ
723デフォルトの名無しさん:2007/03/20(火) 12:09:50
しかし下手糞な宿題だよなあ・・
724デフォルトの名無しさん:2007/03/20(火) 12:22:53
あぁ〜〜いとぅいまてぇ〜〜〜ん
725デフォルトの名無しさん:2007/03/20(火) 12:40:59
bccってC99に対応してるのか
726デフォルトの名無しさん:2007/03/20(火) 13:14:05
してない。
727デフォルトの名無しさん:2007/03/20(火) 16:03:41
[1] 授業単元: プログラミングの基礎
[2] 問題文(含コード&リンク):
グループメンバー(4人)の名前、入学年度
学生番号、学科、組(A,B)を格納する構造体を宣言し、初期化せよ。
また、それらをキーボードから入力できるようにし結果をディスプレイに表示せよ。
但し、入力部分の関数、出力部分の関数、メイン関数にプログラムを分けよ。
その際に、入力部分の関数、出力部分の関数については引数は構造体へのポインタとなるようになっていること。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc 3.4
 [3.3] 言語: C
[4] 期限:3月23日
[5] その他の制限:特になし

>>207と同じ問題なんですがまだできてません。
どなたかよろしくお願いします。
728デフォルトの名無しさん:2007/03/20(火) 16:07:06
お前は10日間何をやっていたのかね
729デフォルトの名無しさん:2007/03/20(火) 17:39:35
>>727
#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;
}
730デフォルトの名無しさん:2007/03/20(火) 17:44:22
int main(void){
才能を感じた。
731デフォルトの名無しさん:2007/03/20(火) 18:11:50
ただの行数節約じゃねーの?
732デフォルトの名無しさん:2007/03/20(火) 18:23:27
何の変哲も無いような気がするんだが・・・・
733デフォルトの名無しさん:2007/03/20(火) 18:43:57
どの辺が才能の片鱗なのか判らなかった
734デフォルトの名無しさん:2007/03/20(火) 18:51:53
「mainの返値はintと規定されているので、voidと書くと叩かれる」というの
をふまえて、引数についてはvoidが認められていることを知らず、褒め殺した
つもりなのではないだろうか。
735デフォルトの名無しさん:2007/03/20(火) 18:56:40
あー・・・皮肉りたかったんだけど
自分の無知さを曝け出しちゃったクチなのかな?
つか別に課題提出程度じゃ
void main(void){}
とかでも良くね?
736デフォルトの名無しさん:2007/03/20(火) 18:57:25
よくねえよ
737デフォルトの名無しさん:2007/03/20(火) 19:06:25
>>735書いた後に気付いたけど
gcc 3.4じゃ警告くらい出るかな。
訂正&吊ってくる
738デフォルトの名無しさん:2007/03/20(火) 19:56:35
お前らホントに
mainの戻り値・引数論争とmalloc-free論争と数学論争が好きだよな。
739デフォルトの名無しさん:2007/03/20(火) 19:58:33
最近宿題が少なくて寂しいからな
740デフォルトの名無しさん:2007/03/20(火) 21:26:49
realloc論争もしてみたいな
741デフォルトの名無しさん:2007/03/20(火) 21:58:13
realloc に論争の種なんかあるか?
742デフォルトの名無しさん:2007/03/20(火) 22:40:15
>>741
mallocとfreeなんかいらんだろreallocで全て代用でき(ry
とか。
俺はまったくそうは思わないけど、たまにこういう論を出す人が
743デフォルトの名無しさん:2007/03/21(水) 01:42:29
おれ、なんかポインタと文字列の扱いに慣れてきたような気がする!
このまま突っ切って、ファイルも扱えるようになって、プロのグラマーになってやるぜ!
744デフォルトの名無しさん:2007/03/21(水) 01:57:33
なんか、ぬるぽ いんたって面白いな!
745デフォルトの名無しさん:2007/03/21(水) 02:04:26
>>744
ガッ
746デフォルトの名無しさん:2007/03/21(水) 08:11:05
二つの正の整数xとyが入力されたとき, xから yまでの間に(xとyを含む)
いくつの素数があるか求めるプログラムを作りなさい。
xとyのとりうる値の範囲は,1 ≦ x ≦ y ≦ 999999と仮定してよい。

という問題で、
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3761.txt
一応自分なりに作ったのですが、無駄が多いみたいで計算に時間がすごくかかってしまいます。
どの辺を改善すれば良いでしょうか?
747デフォルトの名無しさん:2007/03/21(水) 08:53:20
>>746
ほんとだ時間かかるね。
748デフォルトの名無しさん:2007/03/21(水) 08:56:39
>>746
ごめん、俺馬鹿だからコメント書いてないと分からないや
749デフォルトの名無しさん:2007/03/21(水) 09:02:53
>>746
俺もちょっと説明して欲しいところだ。

速くする以前に問題点を挙げる。

int prime[50000];

VC++2005のデフォルトの設定ではスタック使いすぎで正常動作しなかった。
とりあえずグローバル変数にしてメモリ確保して回避した。
50000じゃ足りないぞ。バッファーオーバーランします。
750デフォルトの名無しさん:2007/03/21(水) 09:04:55
無駄が多い以前にちゃんと素数の個数は出る?
751デフォルトの名無しさん:2007/03/21(水) 09:13:24
答えが合っているかわからんですが(オイオイ!)

このプログラムのアルゴリズムわからんので勘ですが
for(i = 0; prime[i] * prime[i] <= no; i++) {
これだけで劇速。
752デフォルトの名無しさん:2007/03/21(水) 09:14:59
それと
> for(i = 1
なんで1からなん?
753デフォルトの名無しさん:2007/03/21(水) 09:17:00
>>746
斜め読みしただけだが。

1)変数counterに全く意味が無い。
2)区間内の素数の個数を数え上げる最後のループの効率が非常に悪い。
 prime[]の中身は昇順にならんでいるのだし、2重ループは不要。
3)yまでの素数でよいのだから、最初からyまでの範囲を処理するように
 すればよい。
754デフォルトの名無しさん:2007/03/21(水) 09:34:23
>>753
> 3)yまでの素数でよいのだから

yが小さい場合は一瞬で終わるね。
755デフォルトの名無しさん:2007/03/21(水) 09:38:04
実行するごとに999999までのすべての素数を求めるなんて無駄すぎる。
756デフォルトの名無しさん:2007/03/21(水) 09:53:07
prime[] って不要では?

まずは、素数を求めるのに必要なアルゴリズムを検索などすることをオススメする。

ていうか、
x = (x%2) ? x: x+1; // 偶数なら+1
for (no=x; no<=y; no+=2)
で良くない?
757デフォルトの名無しさん:2007/03/21(水) 10:10:27
>>756
>>746のアルゴリズムでは」prime[]は必要。
ある数Nが素数であるかどうかを、N/2以下の素数で割った余りが0かどうかを
調べている。つまり、素数の集合を「知っている」必要があり、それを
保持しているのがprime[]。

prime[]を生成保守しつつ素数を求めていくには、xが何であろうと、最初から
順にやっていかざるを得ない。yで打ち切ることは可能。
758デフォルトの名無しさん:2007/03/21(水) 10:17:08
>>752
あ〜
> for(no = 5; no <=999999; no +=2)
+=2 だったのか見逃してた。

だいぶ速くなったから、解決?
759デフォルトの名無しさん:2007/03/21(水) 10:42:19
ありがとうございました!
いろいろ指摘してもらえて、勉強になりましたm(__)m
760デフォルトの名無しさん:2007/03/21(水) 11:02:11
しかし>>746程度のソースを読んで理解できない奴がこれほど多いとはな。
761デフォルトの名無しさん:2007/03/21(水) 11:05:53
本人乙
最低限のコメントくらい入れろよ?
762760:2007/03/21(水) 11:09:15
>>761
本人ではないよ。俺は>>753=>>757だ。
763デフォルトの名無しさん:2007/03/21(水) 11:11:04
普通は、というかまっとうな社会人ならコメントは入れるだろ。
コーディング規約にも書いてあるだろうしな。
学生なら要らないんじゃないの?仕事じゃないし。
764デフォルトの名無しさん:2007/03/21(水) 11:11:31
これほど目くそ鼻くそを笑うがピッタリ来るのも珍しい
765デフォルトの名無しさん:2007/03/21(水) 11:12:38
どの程度のコメントが必要か、というのは議論の分かれるところではある。
が、この程度のソースをコメントなしでは読めないのなら、
それこそ仕事にならん。
766デフォルトの名無しさん:2007/03/21(水) 11:15:02
春分の日だなぁ
767デフォルトの名無しさん:2007/03/21(水) 11:15:45
それ以前にテンプレ違反なわけだが
768デフォルトの名無しさん:2007/03/21(水) 11:17:40
>>760みたいな見下した言い方しか出来ない奴と
一緒に仕事した事なくてよかった

コメント無いソースより尚たちが悪いからなー(゚∞゚)=3
769デフォルトの名無しさん:2007/03/21(水) 11:18:21
(゚∞゚)=3
770デフォルトの名無しさん:2007/03/21(水) 11:19:16
これが読めないんじゃ、STLやboost、CRTのソースなんて全然読めないんだろうなぁ
771デフォルトの名無しさん:2007/03/21(水) 11:19:59
偶々自分で分かるのがあったからはしゃいじゃったんだろう
ぬるーしてやれ
772760:2007/03/21(水) 11:22:27
多少言い過ぎてすまんかったCASLからやり直してくる。
773デフォルトの名無しさん:2007/03/21(水) 11:23:12
>>768
不要なコメントがあるソースは邪魔なだけ、だよ。

ライブラリではないからドキュメント的なコメントは不要だし
エクスポートすべき型や外部変数、関数を定義しているわけでもないし
難解で非自明なアルゴリズムが記述されているわけでもない

「素数を求める」という非常に単純な問題であり、それは明示されている

これで分からないのは馬鹿だけ
774真・760:2007/03/21(水) 11:25:24
>>772
こらこら、勝手に人の名前を語るな
775デフォルトの名無しさん:2007/03/21(水) 11:27:58
論破できなくなったら騙って誤魔化すのか。

たいしたことのないソースは読めない
茶化すことしかできない馬鹿が集合してるなここは
776デフォルトの名無しさん:2007/03/21(水) 11:29:55
>>775
自分が馬鹿なのをコメントが無いことに責任転嫁できると思ってる連中だからな
「仕事」とか言ってるが、本当に仕事をしたことがあるのかさえ疑わしい
777デフォルトの名無しさん:2007/03/21(水) 11:33:20
ブーメラン
778デフォルトの名無しさん:2007/03/21(水) 11:33:23
どんなコメントでもあったほうがいいけどな
内容が正しいという前提で
779デフォルトの名無しさん:2007/03/21(水) 11:38:20
>>778
i = 28; /* i に 28 を代入する */

こういう類のコメントは「内容が正しい」が、
「プログラム書法」以来、およそプログラミングの
スタイルを語る本ではボロクソに貶されてるよ。

自明だから不要だし、コードを直せばコメントも直さなければならない。
手間が増えるし、コメントとコードの同期が取れなくなる可能性もある訳だ。
そして「誤ったコメント」はコンパイラやテストによってチェックされない。

不要なコメントは、百害あって一理なし、だよ。
780デフォルトの名無しさん:2007/03/21(水) 11:38:48
なんだ、スレが伸びていると思ったら・・・また0^0=1の議論かとオモタじゃねーかYO!
781デフォルトの名無しさん:2007/03/21(水) 11:43:05
またくだらねーあおりごっこかよ
782デフォルトの名無しさん:2007/03/21(水) 11:44:44
>>779
それは要らないね

ただ、実際>>746のソースみてコメント欲しいって人が居たから
コメントはあったほうがいいんじゃないの?
>>757をソースの行頭に入れるだけでかなり判りやすくなるよ
それがコメントのあり方じゃないの?

俺が理解できるソース→コメントいらないし、それで理解できない奴は馬鹿

これはあまりにも乱暴というもの
783デフォルトの名無しさん:2007/03/21(水) 11:46:16
おまえらホント暇なんだな・・
784デフォルトの名無しさん:2007/03/21(水) 11:46:47
20秒くらいかかってたのが
yの値によるけど1秒以内に計算できるようになってよかったね。
785デフォルトの名無しさん:2007/03/21(水) 11:47:39
良いところ紹介してやるからそっちいけ

C++上級者が集まるスレ
http://pc11.2ch.net/test/read.cgi/tech/1095113801/

プログラム技術上級スレ
http://pc11.2ch.net/test/read.cgi/tech/1141409198/
786デフォルトの名無しさん: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::::::::::::::::::
787デフォルトの名無しさん:2007/03/21(水) 11:56:32
コメントなくても時間かければ大抵の人がわかるだろ。
788デフォルトの名無しさん:2007/03/21(水) 11:56:44
なんという横暴
789デフォルトの名無しさん:2007/03/21(水) 11:57:27
時は金也
790デフォルトの名無しさん:2007/03/21(水) 11:59:30
http://www.youtube.com/watch?v=Xk-a4Xs7tUI
これくらいの大ボケは許してやってくれ
791デフォルトの名無しさん:2007/03/21(水) 12:31:10
>746はこんなんで十分だと思うんだが。
#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;
}
792デフォルトの名無しさん:2007/03/21(水) 12:37:48
入力範囲が仮定されてるなら
予め素数リスト作成しておくのも手だな
793デフォルトの名無しさん:2007/03/21(水) 12:49:41
π(10^6) = 78498 だから素数リストだけでかなりの量になりそうだな
794デフォルトの名無しさん:2007/03/21(水) 12:52:07
>>791
それ速いね。1秒以内に終わる。
工夫なんてj*jくらいか。
昔に比べてパソコンは速くなったもんだ。

>>792
さらに速くなるね。

>>793
でもその程度なら出来ちゃうね。
最近のメモリの搭載量とか考えると。
795デフォルトの名無しさん:2007/03/21(水) 12:54:39
折角作ったので。

int 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;
}
796デフォルトの名無しさん:2007/03/21(水) 12:55:32
>>793ってどういう意味なんでしょ??
厨房のもわかるように教えて欲しいとです
797デフォルトの名無しさん:2007/03/21(水) 12:59:42
>>796
π(x) は x 以下の素数の個数を表す関数
798デフォルトの名無しさん:2007/03/21(水) 13:00:22
799デフォルトの名無しさん:2007/03/21(水) 13:01:36
便利な関数があるもんだな。
ネーミングに疑問が残るけど。
800デフォルトの名無しさん:2007/03/21(水) 13:03:05
primeのpだよ。p_nの逆関数。
801デフォルトの名無しさん:2007/03/21(水) 13:03:48
>>793
32bit変数に格納するとして314KByteだな

メモリと応答速度のバランスを考える場合
ある程度の範囲ごとに個数の合計をとっておけばいいので
実際にはその1/100〜1/10000で十分だと思う
足りない分はその都度計算

どの程度の間隔で個数の合計をとっておくかは運用次第だけど
802デフォルトの名無しさん:2007/03/21(水) 13:07:52
そういうのは小手先って言う
803デフォルトの名無しさん:2007/03/21(水) 13:08:11
>>797
どもでし
78498ってゆうのは一体どこから??
804デフォルトの名無しさん:2007/03/21(水) 13:10:14
>>803
10^6以下の素数は全て既知だから普通に数え上げた結果。
805デフォルトの名無しさん:2007/03/21(水) 13:13:07
あ!ミスってた
806デフォルトの名無しさん:2007/03/21(水) 13:14:02
>>804
ありがとございます
暗記してたって感じなんですね
807デフォルトの名無しさん:2007/03/21(水) 13:21:09
たとえ暗記してなくても見るとこ見れば載ってる。
808デフォルトの名無しさん:2007/03/21(水) 13:26:49
>>795
ミスってた。なかったことに。
809デフォルトの名無しさん:2007/03/21(水) 13:39:00
ずっとそこ >>795 にあるお、永遠にあるお( ^ω^)
810デフォルトの名無しさん:2007/03/21(水) 14:14:55
#define PRIME_NUM_MAX 10000
int 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;
}
811デフォルトの名無しさん:2007/03/21(水) 14:17:42
練れば練るほど悪くなるという良い見本だなこりゃw
812デフォルトの名無しさん:2007/03/21(水) 14:20:18
>>791
なんでか知らんがやり直してみたら
かなり速い結果となった。
配列使わず総当り(といってもj*jまで)の方が
かなり速いってことだな。
813デフォルトの名無しさん:2007/03/21(水) 14:24:11
というか素数の数を数えるんじゃないの。
処理が変わってるよ。

条件 1 ≦ x ≦ y ≦ 999999 だ!
x,yが5以下のときも正しい結果になるかチェックしとけよ(特に俺とか)
1は素数じゃないよね?
814デフォルトの名無しさん:2007/03/21(水) 14:26:42
訂正
#define PRIME_NUM_MAX 10000

#define PRIME_NUM_MAX 100000
815デフォルトの名無しさん:2007/03/21(水) 14:36:51
>813
1が素数になってたから修正
#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;
}
816810:2007/03/21(水) 14:41:34
817デフォルトの名無しさん:2007/03/21(水) 14:45:15
>>791
なんでこんなに速いんだろ。
不思議。
それまでの素数を記憶しない方がいいものなのかな。
818デフォルトの名無しさん:2007/03/21(水) 14:49:09
記憶する必要ないと思うぞ
819デフォルトの名無しさん:2007/03/21(水) 14:50:46
>>817
最適化で変数が全部レジスタ上に置かれてるんだろう。
素数を記憶するとメインメモリを読み書きする必要があるから遅くなる。
820デフォルトの名無しさん:2007/03/21(水) 14:52:05
要するに>>757はまったく見当違いだったってことだな
821デフォルトの名無しさん:2007/03/21(水) 14:53:08
>>820
>「>>746のアルゴリズムでは」prime[]は必要。

今見直してみるとここ笑えるw断言しちゃってるしw
822デフォルトの名無しさん:2007/03/21(水) 14:59:01
>>819
なるほど
823デフォルトの名無しさん:2007/03/21(水) 15:06:10
>>820
黙っておいてあげるのが優しさ
824デフォルトの名無しさん:2007/03/21(水) 15:08:50
理論先行型というやつか
825810:2007/03/21(水) 15:11:30
>>816 をスルーしないで… TT
826756:2007/03/21(水) 15:15:46
>>820-821
「アルゴリズム的に必要」は間違いないんでは?

ただ、結果的に実用的じゃないってだけで。
827デフォルトの名無しさん:2007/03/21(水) 15:18:04
/* >>760の生き様 */

俺様の理論を見ろ>>757
  ↓
この程度のソースも理解できないのか(プッ>>760
  ↓
俺様はコメント無くてもソース理解できるんだぜ?>>765
  ↓
コメントのないソース理解出来ない奴は馬鹿>>773
  ↓
不要なコメントは、百害あって一理なし、だよ。>>779
  ↓
ずっと俺のターン!!>>786
  ↓
俺様の理論が根本的に見当違いだったことが判明>>791
  ↓
PCの向こうでずっと俺のターン!!   ←いまここ
828デフォルトの名無しさん:2007/03/21(水) 15:19:28
>746が遅いのは数える所のループのせい。
for(i=0; prime[i]<x; i++);
sum = ptr - i;
とでもすればかなり速くなる。
829デフォルトの名無しさん:2007/03/21(水) 15:55:17
これだと範囲に素数がないと正しく動作しないな。
for(i=0; i<ptr && prime[i]<x; i++);
こうか。
830デフォルトの名無しさん: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;
}
831デフォルトの名無しさん:2007/03/21(水) 16:48:39
エラトステネス最強!!!
832デフォルトの名無しさん:2007/03/21(水) 16:52:01
テトラジェネシス?
833デフォルトの名無しさん:2007/03/22(木) 04:19:45
#include <stdio.h>
int 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の篩で安定だと思うけど。
834デフォルトの名無しさん:2007/03/22(木) 04:23:48
ふるいなんて古いぜ!いや、ごめん、ジョーク。←から来たものをぉ〜→へ受け流してほしいぃ〜
835デフォルトの名無しさん:2007/03/22(木) 04:32:57
こんなところでムード出してる場合じゃない。
836デフォルトの名無しさん:2007/03/22(木) 04:39:56
いきなりふるいをしてみたぁ〜 プログラムを使わずにいきなり頭の中でぇ〜♪
いや、さすがに頭の中の計算だけで素数を記憶しておくのは厳しいがw
837デフォルトの名無しさん:2007/03/22(木) 06:15:57
[1] 授業単元:配列
[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] その他の制限:とくになし
838デフォルトの名無しさん:2007/03/22(木) 07:00:40
山に置く時の順番は?
839デフォルトの名無しさん:2007/03/22(木) 07:01:11
どんなカード?UNOでも花札でも?
840デフォルトの名無しさん:2007/03/22(木) 07:01:33
あ、すまん、書いてあった。
841デフォルトの名無しさん:2007/03/22(木) 09:46:15
>>837 カードは仮に連番の数字に置き換えてやってみた
#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]); }
842デフォルトの名無しさん:2007/03/22(木) 10:57:27
>>837
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語:C++

なんと嫌がらせのような条件だろうか。
843デフォルトの名無しさん:2007/03/22(木) 11:24:01
>>837のを、はじめてSTLでやってみようとしたけど、途中でよく分からなくなった。
ミイラ取りがミイラに(ノ∀`)

ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3763.txt
844デフォルトの名無しさん:2007/03/22(木) 11:42:41
>841
>for(j=p-1; j>0; j--)
j>=0じゃない?
845デフォルトの名無しさん:2007/03/22(木) 11:43:33
すいません、>>721をお願いできますでしょうか
846デフォルトの名無しさん:2007/03/22(木) 11:49:04
あれ、催促禁止のテンプレってなくなったの?
847デフォルトの名無しさん:2007/03/22(木) 11:53:11
(* ここに糞レスを書き加える *)
848デフォルトの名無しさん:2007/03/22(木) 12:32:58
ダイナミックプログラミングってリフレクションとかの話かと思ったら、
動的計画法か。
849デフォルトの名無しさん:2007/03/22(木) 20:03:30
>>844
じゃないって言うならまずやって適切な答えが出るか調べたら?
850デフォルトの名無しさん:2007/03/22(木) 21:53:53
5セントは無し?
851デフォルトの名無しさん:2007/03/22(木) 23:55:55
>>746(>>815)
#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;
}
852デフォルトの名無しさん:2007/03/23(金) 00:00:59
>>855がすごい宿題出すって。
853デフォルトの名無しさん:2007/03/23(金) 00:07:49
>>855がすごいものを丸出しするって?
854デフォルトの名無しさん:2007/03/23(金) 00:13:20
>>855に期待。
855デフォルトの名無しさん:2007/03/23(金) 00:15:05
10人の男と10人の女がいたとする。

まず、いちばんもてる男に、女が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 × ×
856デフォルトの名無しさん:2007/03/23(金) 00:19:01
>>855
この問題は C で解決するのか?
C++ とは アッー の事か?
857デフォルトの名無しさん:2007/03/23(金) 00:24:24
そもそも問題なのか?
状況を提示されただけのような気がするんだが
858デフォルトの名無しさん:2007/03/23(金) 00:25:23
この状況が問題なんだな
859デフォルトの名無しさん:2007/03/23(金) 00:27:48
どう見ても問題じゃないだろw
860デフォルトの名無しさん:2007/03/23(金) 00:39:12
すげぇ。。。
861デフォルトの名無しさん:2007/03/23(金) 00:43:02
いわゆる「安定な結婚」問題かと思ったら違うようだな。
862デフォルトの名無しさん:2007/03/23(金) 01:14:14
>>845こんなん出ました

p = s % size[i];
newvalue = s / size[i] + value[p];
----------------------
value[s] = newvalue;
item[s] = i;
863デフォルトの名無しさん:2007/03/23(金) 09:07:17
>>837 C++にしてみたが、本人見てる?
#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; }
864デフォルトの名無しさん:2007/03/23(金) 22:07:31
>>862
正解でした
ありがとうございました
865デフォルトの名無しさん:2007/03/24(土) 01:54:13
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):
カレントディレクトリにあるFileという名前のファイルをスタートアップにコピー
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc 4
 [3.3] 言語: C
[4] 期限: 2007年04月15日まで
[5] その他の制限:
%ALLUSERSPROFILE%かUSERPROFILEなど、環境変数を使うとのこと

すみません、よろしくお願いします
866デフォルトの名無しさん:2007/03/24(土) 01:55:51
>>865
OS をもっと詳細に!
ってかそれもプログラムで判別しないといけない?
867865:2007/03/24(土) 03:22:28
>>866
申し訳ないです。OSはWindowsXPです。
環境変数の取り扱い難しいですね
868デフォルトの名無しさん:2007/03/24(土) 05:38:02
>>865
環境変数を使うのは下策。「スタートアップ」なんて名前になっているのは
日本語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;
}
869865:2007/03/24(土) 19:40:38
>>868
なるほど、CSIDL_STARTUPで取るわけですね。
ありがとうござます。精進します。
870デフォルトの名無しさん: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)
から始まるプログラムでお願いします。

871デフォルトの名無しさん:2007/03/24(土) 22:12:50
>>870
それ、C++で書いて本当にいいの?
872デフォルトの名無しさん:2007/03/24(土) 22:20:24
#include < s t d i o . h >とか
int main( v o i d )とか見る限りはCだな
873デフォルトの名無しさん:2007/03/24(土) 22:42:18
すいませんCでした。。お願いしますm(_ _)m
874デフォルトの名無しさん:2007/03/24(土) 22:50:30
だがあえてC++でやる!!
#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;
}
875デフォルトの名無しさん:2007/03/24(土) 23:12:46
自分がやる課題の言語すら把握していなかったとは…。
876デフォルトの名無しさん:2007/03/25(日) 03:24:19
>>874
そんなん提出したら殴られそうだなwwww
877デフォルトの名無しさん:2007/03/25(日) 05:54:46
>>870
#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;
}
878デフォルトの名無しさん:2007/03/25(日) 14:28:41
っしゃらぁ!構造体、ポインタ、文字列に慣れてもっとプログラミングテクニックが上がって
楽しくなってきたぜ!本年度も宿題にばんばん答えてやる!って言っても、たぶんほとんど
毎年同じネタが出るんだろうなぁ・・・
879デフォルトの名無しさん:2007/03/25(日) 15:02:42
構造体、ポインタ、文字列に慣れていなかったような奴が
今まで宿題に答えていたのか?
880デフォルトの名無しさん:2007/03/25(日) 15:05:43
どう考えても間違いない気がします。お願いします。

[1] 授業単元:プログラミング入門
[2] 問題文:以下の各文にある間違いを見付け、修正せよ

printf("%d を %d で割った余りは %d \n", x, y, x % y);


 [3.3] 言語:C
[4] 期限:[無期限]
[5] その他の制限:なし
881デフォルトの名無しさん:2007/03/25(日) 15:29:54
>>880
その一文だけだと判断できないような。xやyは何なのか。
882デフォルトの名無しさん:2007/03/25(日) 15:33:44
>>881
これだけしか書いてないんです
883デフォルトの名無しさん:2007/03/25(日) 15:44:01
printf("%d を %d で割った余りは %d \n", (int)x, (int)y, (int)x % (int)y);

こうゆう事じゃね?
884デフォルトの名無しさん:2007/03/25(日) 15:49:48
#include <stdio.h>
int main(void){
printf("%d を %d で割った余りは %d \n", x, y, x % y);
return 0;
}
885デフォルトの名無しさん:2007/03/25(日) 15:52:23
他にも問題があるんですが、すべて変数の型宣言が無いので
既に宣言されてるものとした上での問題みたいです。
886デフォルトの名無しさん:2007/03/25(日) 15:53:53
じゃあ他の問題も晒せよ
887デフォルトの名無しさん:2007/03/25(日) 15:55:40
他の問題でscanfとかがあって、その続きのプログラムとして
上の問題が出されたのであれば判断できるな
888デフォルトの名無しさん:2007/03/25(日) 15:56:36
ついでに質問なんですが、>>883氏のように記述しても、動作するんですか?

型宣言は実行文の前にしなくちゃいけなかったような。。
889デフォルトの名無しさん:2007/03/25(日) 15:56:52
>>888
あれはキャスト
890デフォルトの名無しさん:2007/03/25(日) 16:03:42
>>880
>以下の各文にある間違いを
各文てことはその分以外かもしれないんじゃないのか?
printf("%d を %d で割った余りは %d \n", x, y, x % y);  の一文しか書かれてないってのは変だな
891デフォルトの名無しさん:2007/03/25(日) 16:05:23
どう考えても
printf("%d を %d で割った余りは %d \n", x, y, x % y);
だけじゃ判別しようがない罠
892デフォルトの名無しさん:2007/03/25(日) 16:36:50
printf("%d を %d で割った余りは %d \n", x, y, x % y);
この一文だけ見たら特に間違いは見つからないんだけど…

printf("%d に1足すと %d さらに1足すと %d\n", x, x++, x++);
↑関係ないけどこういう問題は良く出るよね。
893デフォルトの名無しさん:2007/03/25(日) 16:37:47
x, yが副作用を伴うマクロだとかいうオチだったりして
894デフォルトの名無しさん:2007/03/25(日) 17:45:38
負数とか?
895デフォルトの名無しさん:2007/03/25(日) 17:48:15
printf("%d を %d で割った余りは %d \n", x, y, (x > 0) == (y > 0) ? x % y : x % y + y);
じゃないの?
896デフォルトの名無しさん:2007/03/25(日) 18:03:04
ANSI Cなら%演算子の片方のオペランドが負数の場合の結果は処理系依存
一定した結果が必要であればldivを使わないといけない
897デフォルトの名無しさん:2007/03/25(日) 18:48:25
>>896
嘘を書くな嘘を。
ANSI Cでは負数の除算は0方向に切り捨てとなっている。
だから余剰も処理系には依存せずに、同一の結果を出す。
898デフォルトの名無しさん:2007/03/25(日) 19:11:30
あれ、規定されたのってC99からじゃなかったっけ?
899デフォルトの名無しさん:2007/03/25(日) 19:11:35
JIS X 3010 : 1993 (ISO/IEC 9899 : 1990) §6.3.5
| 整数同士の除算で割り切れない場合, 両方のオペランドが正の値をもつとき,
| / 演算子の結果は, 代数的な商より小さい最大の整数とし, % 演算子の結果は,
| 正の値とする。一方のオペランドが負の値をもつ場合, / 演算子の結果が代数的な
| 商以下の最大の整数とするか, 又は代数的な商以上の最小の整数とするかは,
| 処理系定義とし, % 演算子の結果の符号も処理系定義とする。
| 商 a/b が表現できる場合, 式 (a/b)*b+a%b は,a に等しくなければならない。
900デフォルトの名無しさん:2007/03/25(日) 19:28:14
どっちでもいいけど何が正しいのかわからないと
間違ってるとはいえない罠
901デフォルトの名無しさん:2007/03/25(日) 21:57:30
JIS X 3010 : 2003 (ISO/IEC 9899 : 1999) §6.5.5
| /演算子の結果は, 第1オペランドを第2オペランドで除したし商とし,
| %演算子の結果は余剰とする。両演算子とも, 第2オペランドの値が0の場合,
| その動作は未定義とする。
| 整数同士の除算の場合, /演算子の結果は代数的な商から小数部を切り捨てた値とする。
| 商 a/b が表現できる場合, 式 (a/b)*b+a%b は,a に等しくなければならない。
902デフォルトの名無しさん:2007/03/26(月) 00:42:43
>>880の問題って、本当に
printf("%d を %d で割った余りは %d \n", x, y, x % y);
だけか?>>880は誰かに本当にその問題を出されたのか?
期限が無期限なら、ほっといたら良いじゃん。
903デフォルトの名無しさん:2007/03/26(月) 01:02:47
>>879
そうだお ( ^ω^)
もっとも、ソート、素数、その他そういうのを必要としない数値計算なら出来たお( ^ω^)
ポインタは知ってたけど、最近になってポインタのポインタについて理解したところ。
904デフォルトの名無しさん:2007/03/26(月) 10:28:09
さぁ、ファイルの取り扱いについてやりまつ。もうC言語マスターへの道はそう遠くない!
905デフォルトの名無しさん:2007/03/26(月) 11:41:50
どうしたぁどうしたぁ!とっとと宿題を出せYO!
906デフォルトの名無しさん:2007/03/26(月) 16:44:54
C言語でタンジェントのテイラー展開
907デフォルトの名無しさん:2007/03/26(月) 17:20:39
そういう小難しい数値計算はスルーする
908デフォルトの名無しさん:2007/03/26(月) 17:44:56
tan(x)の級数展開はベルヌーイ数が出てきてややこしい。
909デフォルトの名無しさん:2007/03/26(月) 18:06:50
sinとcosに分けるのはダメ?
910デフォルトの名無しさん:2007/03/26(月) 18:27:58
>>907
tanのテイラー展開は数値計算じゃないだろ
数式処理だ
911デフォルトの名無しさん:2007/03/26(月) 19:17:02
さぁ!0^0=1を二項展開から導こうじょのいこ!?
912デフォルトの名無しさん:2007/03/26(月) 19:25:15
>>911
がんばれ
913デフォルトの名無しさん:2007/03/26(月) 20:21:59
#define OO0O0 1
#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
914913:2007/03/26(月) 20:31:55
誤爆
915デフォルトの名無しさん:2007/03/26(月) 20:35:13
これは酷いw
916デフォルトの名無しさん:2007/03/26(月) 20:35:34
んでも捻りが足りないな
917デフォルトの名無しさん:2007/03/26(月) 20:43:49
Brainfuckでおk
918デフォルトの名無しさん:2007/03/26(月) 20:47:18
brainfuckで九九か・・・おもしろそうだw
919デフォルトの名無しさん: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やファイルの動作が分かりません。
フォームから受け取った値を配列に代入して動かしてみましたがうまくいきません。
920デフォルトの名無しさん:2007/03/26(月) 23:10:10
>>919

1.何をどう動かしたのか。
2。うまくいかないという判断は何をもってしたのか。

とりあえずこれくらいは答えろ。
921919:2007/03/27(火) 00:07:42
>>919
すみません。
1.フォームから値を受け取って配列に代入するところまではできたと思います。
ただ、それをファイルにどう出力すべきかが分かりません。
int型とchar型を扱うので構造体を扱えない自分ではどのようにすればいいか…。

2.フォームから受信したデータを切り分けるのに失敗して混ざってしまいます。
ここらへんはググってみたんですがだめでした。
922デフォルトの名無しさん:2007/03/27(火) 00:30:09
配列の型は何か。
配列にはデーターがどのように入っているのか。
923デフォルトの名無しさん:2007/03/27(火) 00:41:36
とりあえず自分の書いたコード晒してみるのが早いと思うよ
924919:2007/03/27(火) 02:55:28
>>923
こんな感じです。
/*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,"&");
925919:2007/03/27(火) 02:56:18
続き1 printf("Content-type:text/html\n\n");
printf("<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;

}
926919:2007/03/27(火) 02:57:42
続き2
int 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;
}
927デフォルトの名無しさん:2007/03/27(火) 08:35:05
>>919
宿題にしてはだいぶ泥臭いな.
924以下のコードはコンパイルできなさそう.

まだ仕様に不明瞭な点があるから,少なくとも以下のことは書いておくべき.
1.送られるデータは日本語(ascii以外の文字)を含むか
2.各入力の長さ,形式(桁数等),内容(上限等)に制限はあるか
3.フォームの各入力部の名前(name属性)
4.各機能毎にフォーム・cgiを作るのか,あるいは全ての機能を1つのcgiで済ませるのか
5.メソッドは全部POSTでおk?
6.data.datの内容は人間にも読めるほうがいいか
7.ファイルの同時アクセスを気にするか

345に関してはhtmlを丸ごと(あるいは<form ..>〜</form>の部分だけでも)
晒すのがベスト
928919:2007/03/27(火) 08:58:35
>>927
1.氏名に日本語を含みます。
2.入力の長さについてはhtmlのほうで制御しています。
3,5については次レスで書きます。
4.機能ごとにCGIを作ります。
6.dat自体は読まなくてもいいと思います。
7.気にしません。
929919:2007/03/27(火) 09:01:34
form部分です。
<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>
930919:2007/03/27(火) 09:02:09
こちらは空白チェック用のJavaScriptです。
function 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;
}
931デフォルトの名無しさん:2007/03/27(火) 09:06:46
ちうか、うpロダ使ってくれ・・・
932デフォルトの名無しさん:2007/03/27(火) 09:18:34
char pBuf;
http://www.bohyoh.com/CandCPP/C/Library/strtok.html
char *strtok(char *s1, const char *s2);
明らかに使い方が不適切
933デフォルトの名無しさん:2007/03/27(火) 09:31:12
if(document.form1.elements[i].type=="text"){
ってあるのに、フォームの<input>タグの属性に type="text"が入ってねーし
934デフォルトの名無しさん:2007/03/27(火) 09:39:16
>>933
<!ATTLIST INPUT
-- 略 --
type %InputType; TEXT -- what kind of widget is needed --
-- 略 --
>
935デフォルトの名無しさん:2007/03/27(火) 09:55:49
>>934 なるほど、基本的な定義でデフォはそうなっているのね。
936デフォルトの名無しさん:2007/03/27(火) 11:38:18
[1] 授業単元: プログラミング言語演習
[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] その他の制限: 特になしです
937デフォルトの名無しさん:2007/03/27(火) 12:19:24
>>919
登録に関する部分しか晒してないみたいだけど、
他に問題に関する条件とか、仕様とか、既に用意されてるものとか、後から出てこない?
あるなら全部まとめて晒してくれ。 うpろだにな。
938デフォルトの名無しさん:2007/03/27(火) 12:22:05
>>919
strtok、pBuf、辺りが不適切。CONTENT_LENGTH が環境変数なんだろうけど
それにどういう情報が入るのやら俺はさっぱり。その辺りをなんとかすりゃいけそうなソース。
939デフォルトの名無しさん:2007/03/27(火) 12:39:55
>>936
#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;
}
940デフォルトの名無しさん:2007/03/27(火) 12:50:42
>>983
POST メソッドの場合、CONTENT_LENGTH には CGI に渡されるデータのバイト長が入る。
データ自体は標準入力から受け取る。

<form>タグを使った場合、データは
key1=val1&key2=val2&.....&keyn=valn
といった形式になる。 ただし、英数字以外の文字は全てURLエンコードされる。
941デフォルトの名無しさん:2007/03/27(火) 13:13:13
安価みすってた。。
>>983>>938
942デフォルトの名無しさん:2007/03/27(火) 15:56:05
ってか、受け継いだ値を & で区切るみたいだけど、strtok では一番最初に
区切る指定の文字が出てきたら、先頭からそこまでの文字しか返ってこないようだが・・・
943デフォルトの名無しさん:2007/03/28(水) 12:33:01
どうしたぁどうしたぁ!?オラオラ、もっと宿題来いや!
944デフォルトの名無しさん:2007/03/28(水) 12:46:51
まあ春休みでしょうから
945デフォルトの名無しさん:2007/03/28(水) 13:04:42
どうせ春休みの宿題が4月第1週の終わりごろに出てくるから、それまでまっとれ
946デフォルトの名無しさん:2007/03/28(水) 15:15:56
[1] 授業単元:コンピュータプログラミングI C言語
[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] その他の制限:特にありません。

よろしくお願いします。
947デフォルトの名無しさん:2007/03/28(水) 16:29:32
IC言語に見えた
948デフォルトの名無しさん:2007/03/28(水) 17:26:49
> 列の数を入力してください: 2
> 行の数を入力してください:3
> 出力結果(列はリバースオーダー):
> 4 5 6
> 1 2 3

列ってcolumnのことだから横方向の数(この場合3)だと思うんだけど、このままでいいの?
949デフォルトの名無しさん
行と列が反対のようだな