5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ぼるじょあがC/C++の宿題を片づけますYO! 66代目

1 :ぼるじょあ ◆yBEncckFOU :2006/06/04(日) 00:37:15
(・3・)エェー C++厨のぼるじょあですYO!
わからない宿題を片づけますYO!

あなたが解けない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

【前スレ】 C/C++の宿題を片付けます 65代目
http://pc8.2ch.net/test/read.cgi/tech/1147908265/
【過去スレ一覧】http://makimo.to/cgi-bin/search/search.cgi?q=C%2B%2B%82%CC%8Fh%91%E8&andor=AND&sf=2&H=&view=table&D=tech&shw=2000

2 :デフォルトの名無しさん:2006/06/04(日) 00:46:38


3 :デフォルトの名無しさん:2006/06/04(日) 00:46:47
2

4 :デフォルトの名無しさん:2006/06/04(日) 01:14:03
[1] 授業単元: プログラミング
[2] rand()を使い、モンテカルロ法により円周率を求めるプログラムを作る。
   具体的な手順として
    ・0から1の乱数2つをペアにし、片方をx座標、もう1方をyとする。
    ・乱数のペアをn個のうち半径1の円の内部に落ちた点の数rを数える
    ・1:π/4 = n:r から π = 4*r/n 
     この式に従いπを計算する。
   参考として
    ・rand()でx座標とy座標を求める
      x=(double)rand()/RAND_MAX;
y=(double)rand()/RAND_MAX;
・その点の原点からの距離rを計算する
      r=x*x+y*y
    ・For分で点の発生を繰り返す
    ・点が円の内側か外側かを判定し、内側ならカウンタの変数を1増やす
     (演算子++を使う)
 っていうのが問題です。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: emacs
 [3.3] 言語: C
[4] 期限: 2006年6月8日まで
[5] ホントにかじりしか習ってません。
  

情報が不十分かも知れませんが、できる限り、晒しますので、よろしくお願いします。


5 :デフォルトの名無しさん:2006/06/04(日) 02:01:50
ぼるじょあが一向に宿題を片付けないのが問題

6 :デフォルトの名無しさん:2006/06/04(日) 02:21:07
>>4
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
    int n,r=0;
    srand(time(NULL));
    for(n=0;n<1000;++n){
        double x = rand()/(double)RAND_MAX;
        double y = rand()/(double)RAND_MAX;
        if(x*x+y*y<=1)++r;
    }
    printf("%f\n",4.0*r/n);
}

7 :4:2006/06/04(日) 11:53:27
>>6
ありがとうございます。


8 :デフォルトの名無しさん:2006/06/04(日) 18:31:18


9 :デフォルトの名無しさん:2006/06/04(日) 22:29:25
うわ。こんなスレあげんなよ。

誘導

C/C++の宿題を片付けます 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149350525/


10 :デフォルトの名無しさん:2006/06/04(日) 22:31:30


11 :デフォルトの名無しさん:2006/06/05(月) 05:31:00


12 :デフォルトの名無しさん:2006/06/05(月) 09:52:51
3.Which of the following is the best definition or example of the "principle of least privilege?"

a. Always separate classes into .h definition files and .cpp implementation files.
b. Use global variables to avoid access problems.
c. Grant access to only those clients who have a legitimate need for access.
d. Whenever possible, prefer composition over inheritance.

4.A StatusLabel

a. inherits from class StatusStrip
b. is a control with a StatusStrip control.
c. is a type of flair.
d. none of the above

5.When the code in a try block does not throw an exception, which of the following is false?

a. all the catch handlers immediately following the try block are skipped
b. execution resumes with the first line of code after the catch handlers
c. a default exception is thrown
d. none of the function calls within the try block threw an exception

誰かお願いします。

13 :デフォルトの名無しさん:2006/06/05(月) 09:53:36
続きです。

6. Int16, Int32, Double, and String
a. are executable C++ statements.
b. are examples of data types.
c. are compile error categories.
d. none of the above

7. To disable a menu item,
a. just delete the item.
b. set the Enabled property to false.
c. set the Enabled property to disabled.
d. remove the Enabled property.

8. With Visual C++ Forms Programming, the easiest way to present a dialog window to the user is to use
a. a MessageBox.
b. the cout object.
c. a data file.
d. inheritance.

9. The following method definition, private: Void adjustMargin( Int32 marginSize = 15 ) { . . . }
a. specifies a return type of Void.
b. is a method that can only be invoked within the scope of a method belonging to the same class.
c. is an example of how to specify a default argument value.
d. all of the above


14 :デフォルトの名無しさん:2006/06/05(月) 09:54:31
もう1つ続きです。

9. The following method definition, private: Void adjustMargin( Int32 marginSize = 15 ) { . . . }

a. specifies a return type of Void.
b. is a method that can only be invoked within the scope of a method belonging to the same class.
c. is an example of how to specify a default argument value.
d. all of the above

10. String::SubString

a. extracts a portion of a string.
b. specifies an inheritance relationship.
c. is not supported by Visual C++.
d. is an iostream operation.

よろしくお願いします。

15 :デフォルトの名無しさん:2006/06/05(月) 09:55:56
>>12-14
[1] 授業単元: Introduction to C/C++ Programming

忘れてました。すいません。


16 :デフォルトの名無しさん:2006/06/05(月) 10:22:24 ?#
       ,;r''"~ ̄^'ヽ,
      ./       ;ヽ
      l  _,,,,,,,,_,;;;;i  <いいぞ ベイべー!
      l l''|~___;;、_y__ lミ;l  マルチポストする奴はクズだ!
      ゙l;| | `'",;_,i`'"|;i |  マルチポストしない奴はよく訓練されたクズだ!
     ,r''i ヽ, '~rーj`c=/
   ,/  ヽ  ヽ`ー"/:: `ヽ
  /     ゙ヽ   ̄、:::::  ゙l, ホント このスレは地獄だぜ! フゥハハハーハァー
 |;/"⌒ヽ,  \  ヽ:   _l_        ri                   ri
 l l    ヽr‐─ヽ_|_⊂////;`ゞ--―─-r| |                   / |
 ゙l゙l,     l,|`゙゙゙''―ll___l,,l,|,iノ二二二二│`""""""""""""|二;;二二;;二二二i≡二三三l
 | ヽ     ヽ   _|_  _       "l ̄ ̄ ̄ ̄ ̄ ̄ |二;;二二;;二=''''''''''' ̄ノ
 /"ヽ     'j_/ヽヽ, ̄ ,,,/"''''''''''''⊃r‐l'二二二T ̄ ̄ ̄  [i゙''''''''''''''''"゙゙゙ ̄`"
/  ヽ    ー──''''''""(;;)   `゙,j"  |  | |

17 :12-15:2006/06/05(月) 10:37:40
どなたかお願いします。

18 :デフォルトの名無しさん:2006/06/05(月) 10:43:36 ?#
       ,;r''"~ ̄^'ヽ,
      ./       ;ヽ
      l  _,,,,,,,,_,;;;;i  <いいぞ ベイべー!
      l l''|~___;;、_y__ lミ;l  催促する奴はクズだ!
      ゙l;| | `'",;_,i`'"|;i |  催促しない奴はよく訓練されたクズだ!
     ,r''i ヽ, '~rーj`c=/
   ,/  ヽ  ヽ`ー"/:: `ヽ
  /     ゙ヽ   ̄、:::::  ゙l, ホント このスレは地獄だぜ! フゥハハハーハァー
 |;/"⌒ヽ,  \  ヽ:   _l_        ri                   ri
 l l    ヽr‐─ヽ_|_⊂////;`ゞ--―─-r| |                   / |
 ゙l゙l,     l,|`゙゙゙''―ll___l,,l,|,iノ二二二二│`""""""""""""|二;;二二;;二二二i≡二三三l
 | ヽ     ヽ   _|_  _       "l ̄ ̄ ̄ ̄ ̄ ̄ |二;;二二;;二=''''''''''' ̄ノ
 /"ヽ     'j_/ヽヽ, ̄ ,,,/"''''''''''''⊃r‐l'二二二T ̄ ̄ ̄  [i゙''''''''''''''''"゙゙゙ ̄`"
/  ヽ    ー──''''''""(;;)   `゙,j"  |  | |

19 :デフォルトの名無しさん:2006/06/05(月) 10:52:51
前から思ってたが、依頼者がスルーされた場合のアドバイスを>>1あたりに書いておくべきだと思う。
・満足のゆく解答がないまま依頼が埋もれてしまったときは、そのレスを示して注意を喚起しても構いません。
 それでもだめならあきらめましょう。
とかどうだろう。

20 :デフォルトの名無しさん:2006/06/05(月) 11:05:04 ?#
スルーされたらあきらめろよ。

21 :デフォルトの名無しさん:2006/06/05(月) 11:18:37
まあ、それでもいいんだが、とにかく何か書いておくべきだと思うな

22 :デフォルトの名無しさん:2006/06/05(月) 11:30:02 ?#
何か入れるとしたら、

・ここに来る前にググりましょう
・自分がクズであることを自覚しましょう

くらいか。

23 :デフォルトの名無しさん:2006/06/05(月) 11:41:04
>・ここに来る前にググりましょう
そこまで面倒見てやる必要があるのか?
たしかにつまらん問題は減るかもしれないが。

>・自分がクズであることを自覚しましょう
わけわからん。自覚させてなんになる?

24 :デフォルトの名無しさん:2006/06/05(月) 11:50:30 ?#
書いても読まないんだから何書いても良かろう。

25 :デフォルトの名無しさん:2006/06/05(月) 11:51:33
書いても読まれないなら何も書かない方が美しいと思うが。

26 :デフォルトの名無しさん:2006/06/05(月) 17:25:28
なるほど

27 :デフォルトの名無しさん:2006/06/05(月) 18:05:35
最低、前スレぐらいは検索かけてほしいけどね…

28 :デフォルトの名無しさん:2006/06/06(火) 00:03:55
[1] 授業単元:計算機演習
[2] 問題文(含コード&リンク):
20から120までの整数の中で17で割り切れる値をすべて表示し、
その総個数を求めるプログラムを作成しなさい。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC++ .NET2003
 [3.3] 言語: C++
[4] 期限: 2006年6月9日まで

よろしくお願いします。

29 :デフォルトの名無しさん:2006/06/06(火) 00:13:11 ?#
>>28
こんな電卓演習ができねえくらいなら単位落として退学しろ。
#include<stdio.h>
int main(){int a[]={34,51,68,85,102,119,};int n;
for(n=0;n<sizeof(a)/sizeof(int);n++)printf("%d\n",a[n]);
printf("%d個\n",sizeof(a)/sizeof(int));return 0;}

30 :デフォルトの名無しさん:2006/06/06(火) 00:14:57
>>29
ありがとうございました!

31 :デフォルトの名無しさん:2006/06/06(火) 00:18:48
>>28
#include <stdio.h>

int main(void)
{
int count=0,i;
for (i=20;i<121;i++){
if (i%17==0){
printf("%d\n",i);
count++;
}
}
printf("count [%d]\n",count);
}

32 :デフォルトの名無しさん:2006/06/06(火) 00:31:29 ?#
>>31
惜しい。もう少し。
int i;for(i=2;i*17<120;i++)printf("%d\n",i*17);printf("%d個\n",i-1);

33 :デフォルトの名無しさん:2006/06/06(火) 00:41:00
>>32
勉強になった

34 :デフォルトの名無しさん:2006/06/06(火) 00:51:54
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
1個以上10個以内の整数を大きさ10の整数配列に入力するプログラムで、入力する整数の個数は最初に宣言する。
例えば3と4からなる2個の整数を入力するには”2 3 4”

次にvoid recorder(int*data,int num);を作成し*dataから始まるアドレスに、順におかれたnum個の整数を小さい順に並び替える機能を与える。
recoder()の中ではswapsmall()を有効に活用する。配列宣言以外はポインタを用いなさい。

recoder()を適用した後,配列の内容をスペース1つで区切って出力し、入力された数字を大きい順に表示するプログラムを作成しなさい。最後の数字の後ろに空白はおかない

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語:C
[4] 期限: 今日の午前6時まで

お願いします。

35 :デフォルトの名無しさん:2006/06/06(火) 00:57:52
>>34
swapsmallてなんだ

36 :34:2006/06/06(火) 01:04:31
void swapsmallってぃぅ関数です。
使うなら有効に活用しろって書いてあったので、使わなくてもいいと思います。
わかりにくい説明ですみません

37 :デフォルトの名無しさん:2006/06/06(火) 01:10:31 ?#
関数ならプロトタイプを(ry

38 :デフォルトの名無しさん:2006/06/06(火) 01:34:02
>>34
#include <stdio.h>
#include <stdlib.h>
int recorder_comp(const int* p1, const int* p2) {
return *p1 - *p2;
}
void recorder(int* data, int num) {
qsort(data, num, sizeof(int), recorder_comp);
}
int main() {
int vValues[10];
int cValues;
int iValue;
scanf("%d", &cValues);
for(iValue = 0 ; iValue < cValues ; iValue++) scanf("%d", &vValues[iValue]);
recorder(vValues, cValues);
for(iValue = cValues-1 ; 0 <= iValue ; iValue--) printf(0<iValue?"%d ":"%d\n", vValues[iValue]);
return 0;
}

39 :& ◆QWv3R1XL8M :2006/06/06(火) 01:45:49
>>38さん
実行してみたのですが、数字をうちこむと
「セグメンテーション違反です」
って出てきました。

40 :デフォルトの名無しさん:2006/06/06(火) 02:15:03
>>39
「1個以上10個以内の整数」でか?

41 :227:2006/06/06(火) 02:43:36
>>40さん
はい、そうなんです。

42 :デフォルトの名無しさん:2006/06/06(火) 02:54:27 ?#
>>28-33
ちょっと面白かったのでネタにした。
http://c-kadai.sakura.ne.jp/index.php?itemid=18

43 :デフォルトの名無しさん:2006/06/06(火) 03:06:45
>>41
Linuxないからなんとも言えん。
>>39=>>41か?

44 :39、41:2006/06/06(火) 03:19:26
>>43さん
39=41です

reodr.c: In function ‘recoder’:
reodr.c:12: warning: passing argument 4 of ‘qsort’ makes pointer from integer without a cast
ってぃうエラーメッセージが出てきて、それで実行しようとしたらセグメントエラーになってしまいました。

45 :デフォルトの名無しさん:2006/06/06(火) 03:48:21
>>44
原因がわからんので、別の方法を。
#include <stdio.h>
#include <stdlib.h>
void recorder(int* data, int num) {
int i;
int tmp;
for( ; 0 < num ; num--) {
for(i = 0 ; i < num-1 ; i++) {
if(data[i] > data[i+1]) { tmp = data[i]; data[i] = data[i+1]; data[i+1] = tmp; }
}
}
}
int main() {
int vValues[10];
int cValues;
int iValue;
scanf("%d", &cValues);
for(iValue = 0 ; iValue < cValues ; iValue++) scanf("%d", &vValues[iValue]);
recorder(vValues, cValues);
for(iValue = cValues-1 ; 0 <= iValue ; iValue--) printf(0<iValue?"%d ":"%d\n", vValues[iValue]);
return 0;
}

46 :44:2006/06/06(火) 04:01:00
>>45さん

今回はエラー出ずに実行できました。
本当にありがとうございました!!

47 :デフォルトの名無しさん:2006/06/06(火) 04:28:05
>>38
qsort()の使い方がダメすぎ。勉強しなおしておいた方がよさそうだ。

48 :34:2006/06/06(火) 04:58:36
先ほどの問題と似ているのですが、よくわからないので教えてください。

[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):

1個以上、10個以内の整数を大きさ10の整数配列に入力するプログラムを作成する.
入力する整数の個数は最初に宣言するものとする.たとえば3と4からなる2個の整数を入力する場合には"2 3 4"と入力する.

つぎに,void swapsmall(int *data, int num);という関数を作成し, *dataから始まるアドレスに,順におかれたnum個の
整数のうち最小のものを先頭のものと入れ替える機能を与えなさい.ただし,同一の値をもつ最小の整数が複数ある場合には,
一番後方にあるデータと入れ替えるようにすること.プログラミングにあたっては,配列宣言を除き,すべてポインタを用いて処理すること.

順序をswapsmall()を一回適用したあと,配列の内容をスペース(空文字)一つで区切って出力しなさい.
最後の数字の後ろに空白を置かないこと.

課題実行においては以下の点に注意すること.

* 入力されるデータは与えられた条件を満たしているものとしてよい.(エラー処理は不要)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C
[4] 期限: 今日の朝7時頃
お願いします。


49 :デフォルトの名無しさん:2006/06/06(火) 16:37:34
>>48
もう遅い?

50 :デフォルトの名無しさん:2006/06/06(火) 23:21:51
[1] 授業単元: C言語プログラミング
[2] 問題文(含コード&リンク): キーボードから数を入力し、その数が素数であるかどうかを判断するコードを記述せよ。

素数‥2以上の整数について、1とその数以外で割り切れない数

【ヒント】

しらみつぶしに割り切れるかどうか調べる
調べる範囲に注意する

[3] 環境
 [3.1] OS: Windows
 [3.2] Microsoft Visual C++ .NET
 [3.3] 言語: C
[4] 期限: ([2006年6月7日12:00まで]
[5] forなどループ、配列を習っている最中です


51 :デフォルトの名無しさん:2006/06/06(火) 23:52:17
>>50
ほんとにしらみつぶし法だが…
#include <stdio.h>
int isPrime(int n) ;
int main(void) {
int n ;
printf("数を入力してください:") ;
scanf("%d",&n) ;
if(isPrime(n)) {
printf("素数\n") ;
} else {
printf("非素数\n") ;
}
return(0) ;
}
int isPrime(int n) {
int i ;
for(i=2;i < n;i++) {
if(0==(n%i)) return(0) ;
}
return(1) ;
}

52 :デフォルトの名無しさん:2006/06/06(火) 23:53:44 ?#
>>50
ほい。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1990.txt

53 :デフォルトの名無しさん:2006/06/06(火) 23:54:20
>>51
>>52
ありがとうございます。

54 :デフォルトの名無しさん:2006/06/07(水) 00:17:40 ?#
>>51
>調べる範囲に注意する

55 :デフォルトの名無しさん:2006/06/07(水) 02:47:44
[1] 授業単元:ポインタ
[2] 問題文(含コード&リンク):
 現存ファイルに任意の数の数値が入っている。
 そのファイルを呼び出し、データ最大値・最小値・平均値・標準偏差値を
取り出すプログラムを関数へのポインタ変数の受け渡しを利用して作成せよ。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ(バージョン):
 [3.3] 言語:C
[4] 期限:6月9日
[5] その他の制限:
 「任意の数の」なんでwhileを使え、ということらしいです。
 現存ファイルの名前はseiseki.txtです。
 内容は↓  列ごとに別の教科の点数、ってことみたいです。

70 56 66 45 88
66 85 68 55 73
55 65 53 67 55
85 72 76 58 65
92 70 45 73 55
56 57 52 62 82
72 62 33 85 95
46 95 48 72 34
83 42 88 92 56
68 65 91 82 66

56 :デフォルトの名無しさん:2006/06/07(水) 03:33:54 ?#
>>55
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double average(int* a,size_t len){int s=0;size_t i;for(i=0;i<len;i++)s+=a[i];return (double)(s/len);}
double deviation(int* a,size_t len){size_t i;double var=0.0,avg=average(a,len);
for(i=0;i<len;i++)var+=pow(a[i]-avg,2);var/=len;return sqrt(var);}
int min_arr(int* a,size_t len){int t=INT_MAX;size_t i;for(i=0;i<len;i++)if(t>a[i])t=a[i];return t;}
int max_arr(int* a,size_t len){int t=-INT_MAX;size_t i;for(i=0;i<len;i++)if(t<a[i])t=a[i];return t;}
int main(int argc,char* argv[]){char tmp[100];size_t i,n=0;FILE* fp;int *a,*b,*c,*d,*e;
if(argc>1){if((fp=fopen(argv[1],"r"))!=NULL){while(fgets(tmp,sizeof(tmp),stdin))n++;
fclose(fp);a=(int*)malloc(sizeof(int)*n);b=(int*)malloc(sizeof(int)*n);c=(int*)malloc(sizeof(int)*n);
d=(int*)malloc(sizeof(int)*n);e=(int*)malloc(sizeof(int)*n);fp=fopen(argv[1],"r");for(i=0;i<n;i++){
fgets(tmp,sizeof(tmp),stdin);sscanf(tmp,"%d %d %d %d %d",&a[i],&b[i],&c[i],&d[i],&e[i]);}
printf("教科A 最大:%i 最小:%i 平均:%2.2f 標準偏差:%2.2f\n",max_arr(a,n),min_arr(a,n),
average(a,n),deviation(a,n));
printf("教科B 最大:%i 最小:%i 平均:%2.2f 標準偏差:%2.2f\n",max_arr(b,n),min_arr(b,n),
average(b,n),deviation(b,n));
printf("教科C 最大:%i 最小:%i 平均:%2.2f 標準偏差:%2.2f\n",max_arr(c,n),min_arr(c,n),
average(c,n),deviation(c,n));
printf("教科D 最大:%i 最小:%i 平均:%2.2f 標準偏差:%2.2f\n",max_arr(d,n),min_arr(d,n),
average(d,n),deviation(d,n));
printf("教科E 最大:%i 最小:%i 平均:%2.2f 標準偏差:%2.2f\n",max_arr(e,n),min_arr(e,n),
average(e,n),deviation(e,n));}}return 0;}

57 :デフォルトの名無しさん:2006/06/07(水) 11:10:56
[1] 授業単元: C言語プログラミング
[2] 問題文
次の処理を行うプログラムを作成せよ。
まず、キーボードから整数を50個入力し、配列に格納する。
次に、格納されたデータについて以下の情報を画面に出力する。
最大の要素の値と、その要素番号
最小の要素の値と、その要素番号
全要素の平均値
配列の大きさは以下のマクロを使って定義し、プログラム中で適宜利用すること。
#define SIZE 50
【ヒント】
使用する変数は‥
配列 a[SIZE]
最大値 max
最大値の要素番号(添字)i_max
最小値 min
最小値の要素番号(添字)i_min
全要素の合計 sum
全要素の平均 ave
反復の制御変数 i
‥などが考えられる

[3] 環境
 [3.1] OS: Windows
 [3.2] Microsoft Visual C++ .NET
 [3.3] 言語: C
[4] 期限: ([2006年6月7日12:00まで]
[5] forなどループ、配列を習っている最中です

58 :デフォルトの名無しさん:2006/06/07(水) 11:13:28
>>57 すみません、期限の方が6月7日+一週間です

59 :デフォルトの名無しさん:2006/06/07(水) 11:16:54
キーボードから50個入力するって

60 :デフォルトの名無しさん:2006/06/07(水) 11:42:44
>>57
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1996.txt

61 :デフォルトの名無しさん:2006/06/07(水) 11:47:03 ?#
>>57
#include<stdio.h>
#include<stdlib.h>
#define SIZE 50
int main(void){char tmp[100];size_t i,i_max,i_min;int sum=0,max=-INT_MAX,min=INT_MAX;
int a[SIZE];double ave;
for(i=0;i<SIZE;i++){fgets(tmp,sizeof(tmp),stdin);a[i]=atoi(tmp);sum+=a[i];
if(a[i]<min){min=a[i];i_min=i;}else if(a[i]>max){max=a[i];i_max=i;}}ave=sum/SIZE;
printf("最大値:%i(%u番目)\n最小値:%i(%u番目)\n平均値:%f\n",max,i_max,min,i_min,ave);
return 0;}

62 :デフォルトの名無しさん:2006/06/07(水) 11:59:52
>>60
>>61
ありがとうございます!!

63 :38:2006/06/07(水) 12:15:32
>>47
比較関数の引数をconst void*にしろってことか?
学校のLinux端末でコンパイルしたらこんな警告出てきた。
警告: 互換性のないポインタ型からの引数 4 個の `qsort' を渡しますです

64 :デフォルトの名無しさん:2006/06/07(水) 12:58:45
引数がconst void*
で、比較の時に(int*)でいいんじゃない

65 :デフォルトの名無しさん:2006/06/07(水) 15:51:25
>>56
ありがとうございましたm(_ _)m

66 :デフォルトの名無しさん:2006/06/07(水) 17:17:27
>>64
なんでint *なんだよ。const int *だろ。

67 :デフォルトの名無しさん:2006/06/07(水) 17:24:14
(・3・)エェー ぼるじょあは全然書き込んでないじゃないかYO

68 :デフォルトの名無しさん:2006/06/07(水) 17:32:42
int * でもconst int*でもどっちでもできるけどな

69 :デフォルトの名無しさん:2006/06/07(水) 17:39:56
だからと言ってむやみにconstを外すのはどうかと思う。

70 :デフォルトの名無しさん:2006/06/08(木) 02:17:28
[1] 授業単元:プログラミング演習I
[2] 問題文:
1.正の整数xを引数としてあたえた時にxが素数であるかを判断する関数IsPrimenumber()を
作成しなさい。ただしIsPrimenumber()の返り値は整数で0か1を取るものとし、
・0の時は素数でない。
・1の時は素数である。
とする。

2.正の整数y1とy2を引数として与えた時にy1〜y2までの数値のうちで素数のみを表示する関数
PrintPrimenumber()を作成しなさい。ただし前問のIsPrimenumber()を用いて記述すること。

3.main()関数で正の整数値nを取り込み(scanf()関数を用いる)、PrintPrimenumber()を
用いることで2からnまでのうちで素数であるものを表示せよ。

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ(バージョン):gcc
 [3.3] 言語:C
[4] 期限:6/9まで
[5] その他の制限:無し

どなたかご教授お願いします。

71 :デフォルトの名無しさん:2006/06/08(木) 05:46:51
[1] 授業単元: オペレーティングシステム
[2] 問題文(含コード&リンク): C言語を用いて、子プロセスを生成して何らかの処理を行い、
@親プロセスがビジーウェイトを用いて子プロセスの終了を待つプログラム
Aビジーウェイトをしないプログラム
を書け。
[3] 環境
 [3.1] OS: VineLinux3.2 
[3.2] コンパイラ名とバージョン: gcc 3.3.2
 [3.3] 言語: C
[4] 期限: 2006年6月8日17時
[5] その他の制限: forkを少し習いましたが、それ以外は習っておりません。

よろしくお願いします。


72 :デフォルトの名無しさん:2006/06/08(木) 08:44:40
[1] 授業単元: 基本プログラミング
[2] 問題文(含コード&リンク):入力された複数の0以上の整数値の平均値、最大値、最小値を求めるプログラムを2種類作成せよ。(1をwhile文、2をdoーwhile文を使う) 
1、入力する数値の個数がわかってない場合(入力が終わると負の値を入れて対応)
実行例
Input date:5
Input date:6
Input date:7
Input date:5
Input date:-1
ave=5.75 max=7 min=5

2、入力する数値の個数がわかっている場合(初めに、その個数をnに入力してから、その後にその個数分だけ数値を入力)
実行例
n=5
Input date:4
Input date:6
Input date:9
Input date:3
Input date:8
ave=6 max=9 min=3
[3] 環境
 [3.1] OS:UNIX
 [3.3] 言語:C++
[4] 期限:明日
[5] while,do-whileまで習いました 最初が#includ<iostream>のやつでお願いします 注文多くてすみません‥

73 :デフォルトの名無しさん:2006/06/08(木) 13:29:10 ?#
>>70
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2010.txt

74 :デフォルトの名無しさん:2006/06/08(木) 17:50:42
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):

1個以上、10個以内の整数を大きさ10の整数配列に入力するプログラムを作成する.
入力する整数の個数は最初に宣言するものとする.たとえば3と4からなる2個の整数を入力する場合には"2 3 4"と入力する.

つぎに,void swapsmall(int *data, int num);という関数を作成し, *dataから始まるアドレスに,順におかれたnum個の
整数のうち最小のものを先頭のものと入れ替える機能を与えなさい.ただし,同一の値をもつ最小の整数が複数ある場合には,
一番後方にあるデータと入れ替えるようにすること.プログラミングにあたっては,配列宣言を除き,すべてポインタを用いて処理すること.

順序をswapsmall()を一回適用したあと,配列の内容をスペース(空文字)一つで区切って出力しなさい.
最後の数字の後ろに空白を置かないこと.

課題実行においては以下の点に注意すること.

* 入力されるデータは与えられた条件を満たしているものとしてよい.(エラー処理は不要)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: C
[4] 期限:無期限
お願いします。


75 :デフォルトの名無しさん:2006/06/08(木) 18:07:39 ?#
>>74
http://pc8.2ch.net/test/read.cgi/tech/1149349035/45

76 :デフォルトの名無しさん:2006/06/08(木) 18:34:13
>>75
問題が違うような気がするが。

77 :デフォルトの名無しさん:2006/06/08(木) 18:50:49
みらい おつ

78 :デフォルトの名無しさん:2006/06/08(木) 19:04:11
>>74
#include <stdio.h>
void swapsmall(int *data, int num){
  int *p, *p_min=data, tmp;
  for(p=data; p<data+num; p++) if(*p<=*p_min) p_min=p;
  tmp=*data; *data=*p_min; *p_min=tmp;
}
int main(){
  int a[10], *p, size;
  scanf("%d", &size);
  for(p=a; p<a+size; p++) scanf("%d", p);
  swapsmall(a, size);
  for(p=a; p<a+size; p++) printf("%d ", *p);
  return 0;
}

79 :デフォルトの名無しさん:2006/06/08(木) 19:15:50 ?#
>>76
関数名が違うだけだろ

80 :デフォルトの名無しさん:2006/06/14(水) 12:50:12
[授業単元]プログラミング
[言語]C言語
[提出日]6月17日
[環境]Visual Stdio.NET2003
[OS]Windows XP
[問題]5名分3教科のテスト結果が5×3の配列にはいってるとき
各教科毎に点数の高い順に並び替えた配列を入力する関数と
main関数を作成せよ
英語77,75,65,50,30
数学92,80,69,65,40
国語90,90,80,50,45

よろしくお願いします

81 :デフォルトの名無しさん:2006/06/14(水) 23:56:48
[1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク): Yr年Mo月Dy日がその年の最初から何日目かを求める
関数Days(y、m、d)とmain関数を作りなさい。
[ヒント]うるう年か、そうでないかによって三月以降の日数が変わってくる。
[実行例]INPUT:Yr=1987 Mo=3 Dy=5
    結果:Days of the year = 64
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: boland
 [3.3] 言語: C
[4] 期限: 2006年06月16日
[5] その他の制限: scanfは使わずにgetsで、さらにatoiを使ってお願いします。


82 :デフォルトの名無しさん:2006/06/15(木) 00:24:51
>>80
不明な点が一つ。5x3の中身は?
そこに書かれているものは、既に高い順に並び替えられた出力結果みたいだが?

83 :デフォルトの名無しさん:2006/06/15(木) 00:35:15
>>81
不明な点をいくつか。
getsを使うってことは、まさか入力において自分で INPUT: 以降の
Yr=1987 Mo=3 Dy=5  を Yr= とか Mo= とか、数字以外の部分も入力するわけ?

84 :デフォルトの名無しさん:2006/06/15(木) 01:16:46
>>81
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2071.c
使えるかどうか知らんけど、どぞ。
チェックするポイントとしては、1900/12/31と2000/12/31で
閏年対策もできているのがわかるかと。

85 :デフォルトの名無しさん:2006/06/15(木) 01:26:23
>>81
>>84削除、ちと訂正。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2071.c


86 :デフォルトの名無しさん:2006/06/15(木) 01:27:30
>>81
>>85ミス、すまそ。>>84削除、ちと訂正。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2072.c

87 :デフォルトの名無しさん:2006/06/15(木) 03:43:52
[1] 授業単元: プログラミング
[2] 凸包を求めるプログラムを分割統治法を用いて作成せよ。
  入力:2次元平面上のn個の点の集合A
出力:集合Aに含まれる点集合を全て含む最小の凸多角形
  入出力の詳細:
  n個の点の座標が、構造体
struct point{
int x;
int y; };
の配列AのA[0]〜A[n-1]に格納されているものとする。printf文で凸多角形の頂点の座標を時計回りに
すべて出力する。
出力例 convex polygon = { (-10, 10), (20, 0), (30, 100), (20, 150), (15, 30) }
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: emacs
 [3.3] 言語:C
[4] 期限: 今週金曜18時まで

お願いします。

88 :デフォルトの名無しさん:2006/06/15(木) 20:50:24


89 :デフォルトの名無しさん:2006/06/15(木) 21:07:49
[1] 授業単元: 情報処理演習
[2] 問題文(含コード&リンク): 1. 3を4で割った答えと余りを整数で答えなさい.

2. 3a=(3/2)b+c の等式を bについての等式に変形しなさい.

3. 数字だけを組み合わせて作る4桁の暗証番号は全部で何通りできますか?

キーボードから正の数を次々と入力し,
0が来たら,それまで入力した数の最大値,最小値,平均値を出力するプログラムを書きなさい.
[3] 環境
 [3.1] OS: (Windowsxp
 [3.2] コンパイラ名とバージョン: ez-HTML ver6.686.1
 [3.3] 言語:ジャバスクリプト
[4] 期限: 6月22日
[5] その他の制限: 計算、値の書き換え、更新、入力、条件分岐、繰り返し
を習ったそうです。何もわかりません、、
ジャバスクリプトを使ってます。
お願いします。
バージョンや言語がよくわからないので違っていたらすみません。。


90 :デフォルトの名無しさん:2006/06/15(木) 21:09:06
そうですか
よかったですね

91 :デフォルトの名無しさん:2006/06/15(木) 21:57:42
>>89
+ JavaScript の質問用スレッド vol.48 +
http://pc8.2ch.net/test/read.cgi/hp/1148807484/

まぁ、JavaScriptでもJavaでもC++でも、for、if、演算子は共通しているけどな・・・
ただそのプログラム、プログラム言語でやる意味あんのか・・・?w
手書きで十分だろw

92 :デフォルトの名無しさん:2006/06/15(木) 22:38:19
>>87
emacsってコンパイラ,どこの製品?

93 :デフォルトの名無しさん:2006/06/15(木) 22:51:42
emacsって、UNIX、Linux系で使われているエディタでしょ。
俺はUNIXでmuleを使っていたんでemacsの使い方はさっぱり分からんちん。
けど、文字を入力して使う分には変わりはないな。

94 :デフォルトの名無しさん:2006/06/15(木) 23:00:03
空気が読めない人ね

95 :デフォルトの名無しさん:2006/06/15(木) 23:30:43
空気なんて透明で普通の人なら読めるもんじゃない
もし読める人がいたら・・・仙人かエスパー。
そして空気嫁は独身男性が夜に愛用している空気を入れて膨らます(ry

96 :デフォルトの名無しさん:2006/06/16(金) 15:48:49
ちょっとageますよ

97 :デフォルトの名無しさん:2006/06/16(金) 16:36:42
[1]プログラミング演習[2] 問題文は下に表記[3] 環境 Linux言語:C++[4] 期限:明日の正午

指示に従って完成させなさい
#include <ccc_win.cpp>
void draw_neko( double x,double y ){
cwin << Message( Point(x,y), " /\\ /\\");
cwin << Message( Point(x,y-1),"( . . )");
cwin << Message( Point(x,y-2),"( )~" );
return;}
void run_neko( int n,Point p[] )
{
/* 配列 p の各要素をすべて右に10平行移動 */
for( int i=0;i<n;i++ )
p[ i ].move( 10.0,0.0 );

for( int t=0;t<300;t++ ){
cwin.clear();

/*
* 配列 p の各要素の x 座標と y 座標を draw_neko に渡し、描画
* 各要素を左に 0.1 平行移動
*/
usleep(1);}
exit(0);}
int main()
{
Point p[] = { Point(0,0),Point(3,3),Point(3,-3),
Point(6,6),Point(6,0),Point(6,-6) };
run_neko( 6,p );
return 0;
}

98 :デフォルトの名無しさん:2006/06/16(金) 16:44:01
ちょっとスレと関係ないんですが、なんで宿題スレって乱立してるんでしょうか?

99 :デフォルトの名無しさん:2006/06/16(金) 16:52:47
重複ったスレは放置して捨てればいいものを
トーマスという方の「出されたものは全部食べるのが2ちゃんねるの常識」
という理屈でもって保守されているらしい

100 :デフォルトの名無しさん:2006/06/16(金) 16:55:33
>>99
お前死ねよ

101 :デフォルトの名無しさん:2006/06/16(金) 17:35:54 ?#
>>99
「出されたものは残さず食べる」というのが守れないなら2chに来ない方がいいよ。

102 :デフォルトの名無しさん:2006/06/16(金) 17:43:04
ということだそうです
混乱の原因は

103 :デフォルトの名無しさん:2006/06/16(金) 17:52:02
原因は、質問している人とその質問している人が出した問題を考えた教員を
バカじゃね?っと煽りに来るトーマスのせい。コンパイルもできない
見づらく汚いソースを貼り付けても「何か問題でも?」と自分の落ち度を
指摘されても開き直って、さも修正してやったと恩を着せる態度。
そして修正したソースをコンパイルすると・・・質問したものが求めた目的の
結果が出せないプログラム。出題者をバカにする以前に自分が出題内容を
理解していないというのを露呈してまで書き込むわけのわからないトーマス。
あぁ、トーマス、あなたはなぜトーマスなの?

104 :デフォルトの名無しさん:2006/06/16(金) 18:28:37 ?#
>>103
バカをバカにすると何か問題でも?
俺のコードの誤りは指摘があれば修正している。何か問題でも?

105 :デフォルトの名無しさん:2006/06/16(金) 19:27:19
なんで宿題スレの住人はこんな奴らばっかりなんだ

106 :デフォルトの名無しさん:2006/06/16(金) 19:54:17 ?#
宿題スレはクズの隔離スレだからさ。
何をいまさら。

107 :デフォルトの名無しさん:2006/06/16(金) 19:59:45
なるほど、要するにトーマスも隔離されたクズの一員か
俺はクズにはなりたくねぇ、もうこねぇ〜よウワァ〜〜ン

108 :デフォルトの名無しさん:2006/06/16(金) 23:03:29
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): bcd abcと入力しabcbcdとなるプログラムを書け
void renketu(char *a, char *b);
連結先はaにすること
[3] 環境
 [3.1] OS:windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) C言語
[4] 期限:2006/06/21
[5] その他の制限:ポインタを使用すること

109 :デフォルトの名無しさん:2006/06/16(金) 23:19:55 ?#
>>108
#include<stdio.h>
#include<stdlib.h>
void renketu(char* a,char* b){size_t i,la,lb;la=strlen(a);lb=strlen(b);
for(i=0;i<lb;i++)a[la+i]=b[i];a[la+i]='\0';}
int main(void){size_t len;char tmp[100];char* a;char* b;fgets(tmp,sizeof(tmp),stdin);
len=strlen(tmp);a=(char*)malloc(len);b=(char*)malloc(len);sscanf(tmp,"%s %s",a,b);
renketu(a,b);printf("%s\n",a);return 0;}

110 :デフォルトの名無しさん :2006/06/16(金) 23:23:52
【質問テンプレ】
[1] 授業単元: オペレーティングシステム
[2] 問題文(含コード&リンク):
fork,exec*システムコールを用いて簡単なコマンドインタープリタ
(mysh)を作成せよ。但し、作成するコマンドインタープリタは以下の
昨日をサポートすること。
・設定ファイル(.path)にコマンドサーチパスを指定することが出来る。
なお、ファイル内のパスの指定方法は、各自が考え定義すること。
(パスにないコマンドを入力した場合には、見つからない旨のエラー
メッセージを出力すること。)
・パイプを利用して複数(可変個)のコマンドの入出力を結合する
ことができる。
・コマンド実行中にCtrl-Cを入力すると、現在のコマンドの実行を
中断する
・exitを入力すると、myshを終了する。
[3] 環境
 [3.1] OS: windowsXP,cygwin
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語:C言語
[4] 期限: ([2006年06月20日23:59まで]
[5] その他の制限: ファイル入出力、プロセス制御、パイプ生成に
関してはシステムコールを用いること。

よろしくお願いいたします。


111 :デフォルトの名無しさん:2006/06/16(金) 23:29:22
>>109
ありがとうございます
ただmalloc関数は習っていません・・・
言うの忘れて申し訳ございませんでした・・・

112 :デフォルトの名無しさん:2006/06/16(金) 23:33:12
>>111
 aとbをポインタじゃなくて、char a[10]
みたいに配列にすればいい。
 ただしそれをやると柔軟性がなくなる
(文字入力制限がかかったり、プログラムが飛んだりする)
から>>109は親切のつもりでmallocを使っているのだろう。
まあ、char temp[100]でも同じ問題は残るんだけどね。

113 :デフォルトの名無しさん:2006/06/16(金) 23:36:07 ?#
>>111
あとは知らん。

>>112
>まあ、char temp[100]でも同じ問題は残るんだけどね。

いや、fgetsでsizeof(tmp)を指定してるから、100文字以上の入力はされない。

114 :デフォルトの名無しさん:2006/06/16(金) 23:39:06
おおっとfgetsを見落としてた。すまん。
たしかにそれならバッファオーバーランは起こらないね。

115 :デフォルトの名無しさん:2006/06/16(金) 23:42:43 ?#
>void renketu(char *a, char *b);
>連結先はaにすること

こういう、バッファオーバーランを起こしてくれと言わんばかりの課題を平気で出す教官は
マジでクビになって欲しい。

116 :デフォルトの名無しさん:2006/06/17(土) 00:56:45
bにconstをつけろって言いたい。

117 :デフォルトの名無しさん:2006/06/17(土) 09:11:24
>>110
マジすか、その課題。
1Kくらいいくんじゃね?俺だったら10時間くらいかかるかもしれん。
はたして解答者は出るのだろうか。

118 :デフォルトの名無しさん:2006/06/17(土) 11:18:03 ?#
execとかforkの縛りさえなければ
char tmp[1024];
while(1){
printf("% ");
fgets(tmp,sizeof(tmp),stdin);
system(tmp);
}
で要求のほとんどが満たせそうな気が。

119 :デフォルトの名無しさん:2006/06/17(土) 13:23:05
>>118
いや、縛りがあるから難しいしめんどくさい。
あとパイプの制御も全部自分でやんなきゃならんし、
複数のプロセスをexecしてるときにシグナル入ったら
どうすればいいかっつー問題もある。
コマンドサーチパスも、親シェルのパスを引き継がない
っつーことだしな。
まぁリダイレクトが無い分単純だけど。

120 :デフォルトの名無しさん:2006/06/17(土) 15:49:06


[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク): 0〜5までを順に入力した時に,5〜0の順で表示するプログラムを作ってください。
 
  char moji[ ] を用いること。
[3] 環境
 [3.1] OS:linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: c
[4] 期限: なぜか今日
[5] その他の制限: 問題文の通りです。

121 :デフォルトの名無しさん:2006/06/17(土) 15:58:46
>>120
なしてcharを使うのか分からんけど、要するに入力したものを
逆から表示しろってこと?まぁ、勝手にそう解釈して書いてみるけどw

122 :デフォルトの名無しさん:2006/06/17(土) 16:10:50
そうです。おながいします。

123 :デフォルトの名無しさん:2006/06/17(土) 16:11:53
>>120
#include <stdio.h>

struct data{
char moji[100];
};

int main(void)
{
struct data str[5];
int i;
for (i=0;i<5;i++){
scanf("%s",str[i].moji);
}puts("------------------");
for (i=4;i>=0;i--){
printf("%s\n",str[i].moji);
}
return 0;
}

124 :デフォルトの名無しさん:2006/06/17(土) 16:13:02
>>120 ほい、自分でも幼稚だって思えるソースだが・・・w
#include <stdio.h>
#include <string.h>

int main() {
char moji[6];
int i;
printf("Input some charactors\n");
for(i=0; i<6; i++) {
printf("%d > ",i+1);
scanf("%s",&moji[i]);
}
for(i=5; i>=0; i--)
printf("%c ",moji[i]);
return 0;
}

125 :デフォルトの名無しさん:2006/06/17(土) 16:14:21
ちなみにコレ >>124 各要素は1文字しか入らないからw

126 :デフォルトの名無しさん:2006/06/17(土) 18:40:07
>>123
よく見たら5じゃなくて6だった。orz
5→6
4→5に変更して。

127 :デフォルトの名無しさん:2006/06/17(土) 22:42:30
012345って入力したときに543210って表示するのなら

#include <stdio.h>
#include <string.h>
int main(){char moji[256];int i;printf(">>>");scanf("%s", moji);for(i=strlen(moji);i--;)printf("%c",moji[i]);return 0;}

128 :デフォルトの名無しさん:2006/06/17(土) 22:55:56
>>127
そういう意味だったのね

129 :デフォルトの名無しさん:2006/06/19(月) 14:31:00
[1] 授業単元:プログラミングU
[2] 問題文(含コード&リンク): 目的は、コンピュータとプレイヤーでじゃんけんをするプログラムを作成することである。
その際、コンピュータの手は、乱数によって決め、プレイヤーには知らせない。
プレイヤーの手は、「じゃんけんぽん」のメッセージに対して、プレイヤーがキーボードから入力する。
プレイヤーの手が入力されたら、それとコンピュータの手を比較して、勝敗を表示する。

第一段階
1 「じゃんけんぽん」と表示し、その直後、プレイヤー「グー」か「チョキ」か「パー」を入力させる。
入力方法をどうするかは、プログラマの自由であるが、そのルール説明を、実行時の最初に一回だけ表示する。
2コンピュータの手は乱数により決める。
3プレイヤーとコンピュータの手をそれぞれ表示する。
4プレイヤーの「勝ち」「負け」「あいこ」を表示し、終了する

第二段階
4あいこの場合は「あいこでしょ」と表示して勝負を繰り返すようにする。
5勝負がついたら、プレイヤーの勝ちか負けかを表示して終了する。

第三段階
5勝ち、負けの表示後、プレイヤーが勝った場合はじゃんけんを継続する。
6プレイヤーが負けたら、勝った回数を表示し、終了する。

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:OS付属コンパイラ
 [3.3] 言語:C
[4] 期限:2006年6月23日17:00まで
[5] その他の制限:特にないです。皆様が標準だと思われる環境で動作するものであれば大丈夫だと思います。
おそらくscanf switch if〜elseくらいまで習った気が・・・。

第一段階の最後4番と 第二段階最後5番と 第三段階最後7番が提出するものです。

お手数ですがお願いします。

130 :デフォルトの名無しさん:2006/06/19(月) 14:57:07
CPUに絶対勝てないじゃんけんぽん作ったなあ

131 :デフォルトの名無しさん:2006/06/19(月) 15:48:38
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int show(int p){
switch(p){
case 0:printf("グー\n");break;
case 1:printf("チョキ\n");break;
case 2:printf("パー\n");break;
default:break;}}
int judge(int p, int e){
printf("あなたの手:");show(p);
printf("COMの手:");show(e);
if(e == p)return 0;
if(e == ((p+1)%3))return 1;
return -1;}
int main(int argc, char *argv[]){
int win=0,p,e;
char buf[1024];
srand((unsigned)time(NULL));
printf("じゃんけんゲーム\n0:グー 1:チョキ 2:パー\n");
while(1){
printf("\nじゃんけんぽん:");
while(1){
fgets(buf,1024,stdin);
sscanf(buf,"%d",&p);
p = p%3;
e = rand()%3;
if(judge(p,e) != 0)break;
printf("\nあいこでしょ:");}
if(judge(p,e) < 0)break;
printf("勝ち!\n");win++;}
printf("負け!勝った回数は%dだよ\n",win);}

132 :デフォルトの名無しさん:2006/06/19(月) 15:56:20
char te[3][7] = {"グー","チョキ","パー"};
int show(int p){printf("%s\n",te[p]);}
こっちのほうがいいかな

133 :129:2006/06/19(月) 22:52:51
把握しました。dクス。助かったわ。

134 :デフォルトの名無しさん:2006/06/19(月) 23:07:06
>>130
こんなの?
#include <stdio.h>
int main(void)
{
int user,i;
char *te[]={"グー","チョキ","パー"};
printf("0-グー 1-チョキ 2-パー\n");
for (i=0;i<5;i++){
printf("Input > ");
scanf("%d",&user);
printf("あなた > %s\nCPU > %s\n",te[user],te[(user+2)%3]);
puts("あなたの負け");
}
printf("%d回やっても勝てないなんて・・・テラヨワスwww",i);
return 0;
}

135 :デフォルトの名無しさん:2006/06/25(日) 22:38:35
【質問テンプレ】
[1] 授業単元: オペレーティングシステム
[2] 問題文(含コード&リンク):
fork,exec*システムコールを用いて簡単なコマンドインタープリタ
(mysh)を作成せよ。但し、作成するコマンドインタープリタは以下の
機能をサポートすること。
・設定ファイル(.path)にコマンドサーチパスを指定することが出来る。
なお、ファイル内のパスの指定方法は、各自が考え定義すること。
(パスにないコマンドを入力した場合には、見つからない旨のエラー
メッセージを出力すること。)
・パイプを利用して複数(可変個)のコマンドの入出力を結合する
ことができる。
・コマンド実行中にCtrl-Cを入力すると、現在のコマンドの実行を
中断する
・exitを入力すると、myshを終了する。
[3] 環境
 [3.1] OS: windowsXP,cygwin
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語:C言語
[4] 期限: ([2006年06月26日23:59まで]
[5] その他の制限: ファイル入出力、プロセス制御、パイプ生成に
関してはシステムコールを用いること。

よろしくお願いいたします。

136 :デフォルトの名無しさん:2006/06/25(日) 22:43:28
>>135
オメーいつから溜め込んでやがんだアフォ

137 :デフォルトの名無しさん:2006/06/25(日) 23:08:02
>>135
前に質問した人?
答え既に出てるよ。

138 :デフォルトの名無しさん:2006/06/26(月) 00:00:38
>>97 ずいぶんな亀レスだが、ccc_win.cpp って結構一般的に使われてるの?
俺の学校でも ccc_win.cppインクルードして cwin << Point(0,0) とか
やったけど、その学校特有の関数だと思ってた
それとも同じ学校・・・

139 :デフォルトの名無しさん:2006/06/26(月) 00:03:03
>>138
どこの学校なのかは知らないが、*.cppをインクルードするというのは
全くの異端だから気をつけとけよ。

140 :デフォルトの名無しさん:2006/06/26(月) 14:47:33


141 :デフォルトの名無しさん:2006/06/26(月) 16:38:41
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 関数sin(2x) と関数cos(x) の和
を求めるプログラムを作ってください。
ただし,xの値を0〜2πの間で100等分。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: (gcc
 [3.3] 言語: (C
[4] 期限: 明日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)



142 :デフォルトの名無しさん:2006/06/26(月) 18:12:50 ?#
>>141
#include<stdio.h>
#include<math.h>
int main(void){double x;for(x=0.0;x<2.0;x+=0.02)printf("x=%f,sin(2x)+cos(x)=%f\n",
x,sin(2.0*x)+cos(x));return 0;}

143 :デフォルトの名無しさん:2006/06/26(月) 21:40:39
>>142 問題読め。C言語より先に日本語ちゃんと学べ。
#include<stdio.h>
#include<math.h>
int main(void){
double x, pi = acos(-1.0);
for( x = 0.0 ; x < 2.0 ; x += 0.02 )
printf("x=%f,sin(2x)+cos(x)=%f\n", x, sin(2.0*x*pi) + cos(x*pi));
return 0;
}

144 :デフォルトの名無しさん:2006/06/26(月) 22:43:32
#include<stdio.h>
#include<math.h>
#define PI 3.141592
#define N 100.0
int main(void)
{int i;double x,dt;dt= 2/N;for(i=0;i<=N;i++)
{x = i * dt * PI;printf("x=%f sin(2x)+cos(x)=%f\n",x,sin(2*x)+cos(x));}
return 0;}

145 :デフォルトの名無しさん:2006/06/26(月) 22:50:34
ゆとり教育にならって #define PI 3 でw

146 :デフォルトの名無しさん:2006/06/26(月) 23:50:55
ありがとうございます。
すごいですね。

147 :デフォルトの名無しさん:2006/06/27(火) 02:37:21
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):
入力ファイル中の改行文字('\n')を全て文字列"<RETURN>\n"へ置き換えて
ファイルを出力するプログラムを作成せよ。
入力ファイル、出力ファイル名はキーボードから入力するものとする。

●入力ファイル例
abcd
12345

●出力ファイル例
abcd<RETURN>
12345<RETURN>
               
[3] 環境
 [3.1] OS:UNIX
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限:本日17時
[5] その他の制限: 特にないです


一応自分でやったのですが、うまく動作がしません

148 :147デフォルトの名無しさん:2006/06/27(火) 02:37:52
/* return.c : \n → <RETURN>\n */
#include <stdio.h>
#include <stdlib.h>

main(){
FILE *fpa,*fpb;
char ch,filea[100],fileb[100];
printf("入力ファイル名:");
scanf("%s",filea);
printf("出力ファイル名:");
scanf("%s",fileb);
if ((fpa=fopen(filea,"r" ))==NULL){
fprintf(stderr,"エラーです。\n");
exit(1);
}

if ((fpb=fopen(filea,"w" ))==NULL){
fprintf(stderr,"ファイルがopen出来ません。\n");
exit(1);
}

while((ch=fgetc(fpa))!=EOF){
if (ch=='\n'){
fprintf(fpb,"%s<RETURN>\n",ch);
}else{
fputc(ch,fpb);
}
}
fclose(fpa);
fclose(fpb);
}

149 :デフォルトの名無しさん:2006/06/27(火) 13:30:15
これでできるはず
int a;
while (fscanf(fpa,"%c",a)!=EOF){
if (a=='\n'){
fprintf(fpb,"<RETURN>\n");
}else{
fprintf(fpb,"%c",a);
}
}

150 :147:2006/06/27(火) 14:20:22
上ので試してみましたが、コンパイラは通ったのですが、
うまくファイルが作成されなかったです。

しかも入力ファイルの中身が消えてしまいます…‥

151 :149:2006/06/27(火) 14:39:21
× while (fscanf(fpa,"%c",a)!=EOF)
○ while (fscanf(fpa,"%c",&a)!=EOF)
初歩的なミスをしてしまったorz

152 :147:2006/06/27(火) 15:09:32
ありがとうございます!おかげさまで出来ました。

あと初歩がわからなかったので勉強しなおします。

153 :デフォルトの名無しさん:2006/06/28(水) 01:48:25
>>152
お前いいやつだな
ここにくるやつの大半は丸投げのやる気なしなのに

154 :デフォルトの名無しさん:2006/06/28(水) 10:57:17
[1] 授業単元: プログラミング
[2] 問題
名前と点数を格納するデータ部を持つ自己参照型構造体を定義し、
線形リストを実装しなさい。
構造体の名前は struct grade とし、新たに glist 型として定義する。
構造体のメンバは、char name[40]、int score、及びポインタnext。
ノードは3つ作成し、それぞれキーボードからデータを入力する。
ポインタに値を代入し、ヘッダhdと3つのノードの間を繋ぐ。
読み出し用のポインタpを使って、リストのデータを順に画面に出力する。
【ヒント】
実習時間中にスライドの指示に沿って作成したコードを提出しても良い。
余力のある人は、ノードを作成する際に動的にメモリを確保するコードを作成すること
(より効率的なコーディングが可能となる)。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio.2003
 [3.3] 言語: C
[4] 期限: 今日中
[5] その他の制限:なるべく早くお願いします


155 :デフォルトの名無しさん:2006/06/28(水) 10:59:48
>>154
マルチ死ね

156 :デフォルトの名無しさん:2006/06/28(水) 15:26:16
>>141ですが>>143>>144では実行できません。
自分で訂正するもむなしくだめでした。
どこが違うんですか?

157 :デフォルトの名無しさん:2006/06/28(水) 17:33:47
全角が入ってるか
改行箇所間違えてるか
ていうかそこまで面倒見切れん
訂正じゃなくて一から作ればいいじゃん

158 :144:2006/06/28(水) 20:01:56
>>156
はじめてlinux使ったとき全角受け付けてくれなくて
コンパイルエラーがでた。
他にも制限あるかもしれないけど
linuxつかってないんで分かりません。


159 :143:2006/06/28(水) 20:23:47
>>156
#include<stdio.h>
#include<math.h>
int main(void){
double x, pi = acos(-1.0);
for( x = 0 ; x < 2 ; x += 0.02 )
printf("x=%f,sin(2x)+cos(x)=%f\n", x*pi, sin(2*x*pi) + cos(x*pi));
return 0;
}
ちょっとxに関する表示が変だったので訂正。
元のままでは↑を除いて正常に動作したけど、コンパイル時に
mathライブラリリンクし忘れとかいうオチは無いよね?「実行できません」ではなく、
もっと具体的に何をしたら何が起きたかを書いてくれないと対処しようがない。

160 :デフォルトの名無しさん:2006/06/29(木) 08:03:17
>>156
Linux とか UNIX 系のコマンドって正常終了したら一切メッセージが出ないんだよ。
だから、コンパイルして全くメッセージが出ないのは
正常にコンパイルが終ってるんだよ。
あと、コンパイルって実行じゃないよ。
コンパイルしたら、
.\a.out
って打たないと実行できないよ。

161 :デフォルトの名無しさん:2006/07/03(月) 12:51:21
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):2つの配列a[i][j]とb[i][j]に数値を入力し,各要素の和を求めるプログラムを作ってください。
[3] 環境
 [3.1] OS: linux

 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語: c
[4] 期限: 明日
[5] その他の制限:ナシ



162 :デフォルトの名無しさん:2006/07/03(月) 14:21:39
[1] 授業単元: プログラミング
[2] 問題文:階乗を計算するdoubleがたの関数を使い、1から10までの階乗を表示するプログラムを作成して
ください。因数を使わないで、外部変数を使って、main関数からユーザー関数に、1から10までの値を送ってください
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 今日3時
[5] その他の制限:お願いします。私にはできません;;


163 :デフォルトの名無しさん:2006/07/03(月) 22:49:08 ?#
>>161
何と何の和だよ。

>>162
>因数を使わないで、外部変数を使って

意味ワカンネ。

164 :デフォルトの名無しさん:2006/07/03(月) 22:58:47
>>163
http://dictionary.goo.ne.jp/search.php?MT=%B0%F8%BF%F4&kind=jn
おいおい、因数ってかなり低学年で習うことだと思うけど・・・
要するに、4の階乗(24)だったら1・2・3・4とそのときに因数の掛け算をせず
3の階乗までの結果の6と4を掛けて求めろってことじゃね?
いちいち自分の足りない知識や頭を露呈しなくて良いからさぁ

165 :デフォルトの名無しさん:2006/07/03(月) 23:05:34
>>162が「引数」を「いんすう」とまちがっておぼえていて、そのまま打ち
込んで変換した結果「因数」となったのかも。

166 :デフォルトの名無しさん:2006/07/03(月) 23:08:45
そういうオチかぁ?wwww

167 :デフォルトの名無しさん:2006/07/03(月) 23:10:22
http://pc8.2ch.net/test/read.cgi/tech/1151158759/276
これと同じか?w

168 :デフォルトの名無しさん:2006/07/03(月) 23:51:36


169 :デフォルトの名無しさん:2006/07/04(火) 00:12:05
[1] 授業単元: プログラミング
[2] 問題文:テスト結果を保存したファイルをwebページからダウンロードします。
ファイルにはテスト結果の点数を表す数値が140個格納されています。テスト結果のうちを
秀、優、良、可、不可それぞれの個数を集計して、以下のように棒グラフにより
表示するプログラムshukei.cを作成しなさい。
ただし、秀、優、良、可、不可は次のように判定すること。
・秀:90〜100点
・優:80〜89点
・良:70〜79点
・可:60〜69点
・不可:0〜59点

また棒グラフは記号「*」の数が該当する生徒の人数を表すものとする。

実行例:(ただし、test.datの集計結果が正確に下の棒グラフのようになるとは限らない。)
./shukei<test.dat
集計結果は次のとうりです。
秀:*********
優:************
良:************************
可:*******************************
不可:****************
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: [2006年7月4日まで]
[5] その他の制限: whileを習ったので使わないといけないみたいです。
よろしくお願いします。

170 :デフォルトの名無しさん:2006/07/04(火) 00:14:58 ?#
>>164
>3の階乗までの結果の6と4を掛けて求めろってことじゃね?

6も4も因数なわけだが。アホか?

>>165
どうやらそうらしい。

171 :デフォルトの名無しさん:2006/07/04(火) 00:22:21
>>169
#include <stdio.h>
int
main()
{
int i, j, n;
int score[] = { 0, 0, 0, 0, 0 };
const char* label[] = { "秀", "優", "良", "可", "不可" };
while (scanf("%d", &n) > 0) {
if (90 <= n && n <= 100) { score[0]++; }
else if (80 <= n && n <= 89) { score[1]++; }
else if (70 <= n && n <= 79) { score[2]++; }
else if (60 <= n && n <= 69) { score[3]++; }
else if (0 <= n && n <= 59) { score[4]++; }
}
for (i = 0; i < 5; i++) {
printf("%s: ", label[i]);
for (j = 0; j < score[i]; j++) { printf("*"); }
printf("\n");
}
return 0;
}


172 :デフォルトの名無しさん:2006/07/04(火) 00:43:11
>>170
6が何の因数?結果の因数ってなら論外ね。俺はそれは言ってないから。
6をさらに2・3にするとか、4を2・2にしたら各々の数値が因数だと思うが?
とりあえず意味が分からないなら突っ込まない方が良いみたいだな

少なくともお前にアホって言われたくないんですけどぉ〜〜?市ねよカス

173 :デフォルトの名無しさん:2006/07/04(火) 00:47:02
C/C++の宿題を片付けます 67代目
http://pc8.2ch.net/test/read.cgi/tech/1150273052/

39 名前:デフォルトの名無しさん 投稿日:2006/06/15(木) 09:52:58 ?#
>>11
しまった。
-printf("%lf\n",abs(pt[1].x-pt[0].x)*abs(pt[1].y-pt[0].y));return 0;}
+printf("%lf\n",pow(pt[1].x-pt[0].x,2)*pow(pt[1].y-pt[0].y,2));return 0;}

41 名前:デフォルトの名無しさん 投稿日:2006/06/15(木) 12:50:36
>>39
三平方の定理って知ってる?

44 名前:デフォルトの名無しさん 投稿日:2006/06/15(木) 13:12:16 ?#
>>41
>2点間の距離の2乗を計算する

174 :デフォルトの名無しさん:2006/07/04(火) 00:55:46
>>165が正解だろ。
氏ね、クズども。

175 :デフォルトの名無しさん:2006/07/04(火) 00:59:14
>>171
ありがとうございます!
ですが…俺がちゃんと制限しなかったせいなんですが…
score,const,char,label,for,return
というのは習ってないんです。
while,if,scanf,printfと変数だけで出来ないでしょうか?



176 :デフォルトの名無しさん:2006/07/04(火) 00:59:17
>>174
引数のことなんてどーでも良いんだよ、因数がどうかが次の言い争いの論点になっただけ。
6単体では因数とは言いません。6を2・3であらわしたとき、その各々の要素が因数になる。
日本語も数学も理解していないバカ共は中学校からやり直した方が良いんじゃね?
数学も知らずに数値計算のプログラムをしててもつまんねーだろ?な?

177 :デフォルトの名無しさん:2006/07/04(火) 01:07:45 ?#
>>172
>俺はそれは言ってないから。

だから何?
誤謬によって元の題意自体が存在しないんだから、「意味ワカンネ」が正解であって、お前が脳内で
でっちあげた題意なんか知ったことではないんだが。

178 :デフォルトの名無しさん:2006/07/04(火) 01:10:08 ?#
>>173
http://pc8.2ch.net/test/read.cgi/tech/1150273052/49
が読めないのは目が悪いか頭が悪いか(ry

179 :デフォルトの名無しさん:2006/07/04(火) 01:11:03
>>177 >>178
お前の頭が弱くて必死なのは分かるが、頭が弱いがために
適切な説明も理解もできなくてますます自分を窮地に追いやっているな
お前、在日だろ?素性までバレバレとは・・・

180 :デフォルトの名無しさん:2006/07/04(火) 01:13:55 ?#
>>179
じゃあ6と4は因数ではないのかね?
4は4の因数だし6は6の因数なんだが。
万が一「因数を使うな」が正解だったとしても「何の因数か」が指定されてないんだから
やっぱり「意味ワカンネ」が正解なわけだ。

181 :デフォルトの名無しさん:2006/07/04(火) 01:15:31
>>180
6と4がではなく6そのもの、4そのものは因数ではない。
6の因数は2・3、4には2・2と因数分解できるが?
因数分解についても理解していなかったか?やれやれ・・・
どうでも良いが、俺は計算結果に対しての因数とは言っていない。
計算結果は掛け算して出すのはわかってんだし
まぁ、これ以上は無駄な議論になるんで、あとはお前の弱い頭でとことん理解しろ

182 :デフォルトの名無しさん:2006/07/04(火) 01:16:51
明らかにトーマスの勝ちが見えてるのになんで勝利宣言してるんだろう…

183 :デフォルトの名無しさん:2006/07/04(火) 01:17:50
>>180 あとはここをちゃんと読んで理解してね。数学の本も読むべきだが。
http://dictionary.goo.ne.jp/search.php?MT=%B0%F8%BF%F4&kind=jn
>整式が、「幾つかの整式の積の形で表されて」 いるとき、その 「各構成要素」 をいう。
数値そのものは因数とは言わない。あくまでも約数になる「要素」

184 :デフォルトの名無しさん:2006/07/04(火) 01:18:39
>>182
明らかにトーマスが因数の意味を理解していないことに気づくまでに
あんたも時間が掛かるだろうね

185 :デフォルトの名無しさん:2006/07/04(火) 01:18:39 ?#
>>181
>6と4がではなく6そのもの、4そのものは因数ではない。

だから何の?

>6の因数は2・3、4には2・2と因数分解できるが?

因数分解と素因数分解の違いはわかってまちゅか?
素数でなくても「因数」と言うんでちゅよ〜

186 :デフォルトの名無しさん:2006/07/04(火) 01:19:31
>素数でなくても「因数」と言うんでちゅよ〜
やっちまたな、言葉も数学も理解していない墓穴発言www
http://dictionary.goo.ne.jp/search.php?MT=%B0%F8%BF%F4&kind=jn
が読めない在日だったか・・・哀れ

187 :デフォルトの名無しさん:2006/07/04(火) 01:20:48
>>185
>幾つかの整式の積の形で表されているとき、その各構成要素
6は6であっていくつかの整式であらわせるとしても、
6という数字単体ではいくつかの整式の積であらわされていないため
因数とは言わない。因数になり得る数値であるというならまだしもw

188 :デフォルトの名無しさん:2006/07/04(火) 01:21:49
>>183
ここまで堂々と自爆する奴久しぶりに見た。

189 :デフォルトの名無しさん:2006/07/04(火) 01:22:21 ?#
>>187
6×1はいくつですか?

190 :デフォルトの名無しさん:2006/07/04(火) 01:24:53 ?#
>要するに、4の階乗(24)だったら1・2・3・4とそのときに因数の掛け算をせず

の「因数」は何の因数のつもりだったんだろう。

191 :デフォルトの名無しさん:2006/07/04(火) 01:38:18
>各構成要素をいう
各要素に対して因数と言って下さいね♥ > トーマス

192 :デフォルトの名無しさん:2006/07/04(火) 01:41:28
プログラミングについてほとんどわかってません…。どうか助けてくださいorz

【質問テンプレ】
[1] 授業:プログラミング入門
[2] 問題文:while文を使って任意個のデータ(0〜100)の平均と標準偏差を求めよ。
[3] 環境
 [Windows XP Borland C++ Compiler 5.5(BCC Developer) C言語
[4] 期限: 今週中に
[5] その他の制限:文系大学なので初歩の初歩です。if,for,whileまでは習いました。

999の入力を処理終了の合図にしたいのですがどうやればいいかわかりませんm(_ _)m

193 :192:2006/07/04(火) 01:42:13
192の続きです。自分で作ってみたソースは以下です。

#include<stdio.h>
#include<math.h>
int main(void)
{
int n,x;
double sum,sum2,ave,sd;
sum=0;sum2=0;

puts("データを入力して下さい。0〜100以外の数を入力すると結果を表示します。");

n=1;x=0;

while(0<=x&&x<=100){
printf("%d番目のデータ=",n); scanf("%d",&x);
sum=sum+x;sum2=sum2+x*x;
n++;}

ave=sum/n;/*aveは単純平均*/ sd=sqrt(sum2/n-ave*ave);/*sdは標準偏差*/

printf("平均は%lfです\n",ave); printf("標準偏差は%lfです\n",sd);
}
return(0);
}

194 :デフォルトの名無しさん:2006/07/04(火) 01:43:06 ?#
>>191
何の構成要素?

>1・2・3・4

の事だったら、

>結果の因数ってなら論外ね。俺はそれは言ってないから。

と矛盾するしなぁw

195 :デフォルトの名無しさん:2006/07/04(火) 01:44:30 ?#
>>193
while(x!=999){

196 :デフォルトの名無しさん:2006/07/04(火) 01:49:35
>>192
#include <stdio.h>
#include <math.h>
int main(void)
{
int n;
double sum = 0.0, sqsum = 0.0, data = 0.0;
n = 0;
while( 1 ) {
scanf("%lf", &data);
if( data == 999.0 ) break;
sum += data;
sqsum += data * data;
n++;
}
sum /= n;
sqsum = sqrt(sum * sum - (sqsum / n)); // -の前後は逆かも知れない。
printf("平均=%f\n標準偏差=%lf\n", sum, sqsum);
return 0;
}

あと、トーマスの肩を持つわけじゃないが、因数はつまり約数と同義なわけだから
6が6の因数というのは間違いない。構成要素云々の解釈でも6=1×6で見ればおk。
だからこそ「素因数」なんて言うことで素数に限定する必要があるわけだ。

197 :デフォルトの名無しさん:2006/07/04(火) 09:50:28
情報系のクセにプログラミングが全然わかりませんorz お願いします。

【質問テンプレ】
[1] 授業:
プログラミング演習

[2] 問題文:
・10個の変数を生成
・変数に数を入れる(乱数で数の範囲は1〜100) ← ここまで配列でつくりますた
・任意の変数を2つ選び、その数の和を計算、100以上ならお互いの変数にカウントする
・それぞれの変数におけるカウント数を計算する
・カウントした数の分布を出力
で、結果をグラフにするわけです(グラフはエクセルでしますので)

[3] 環境
 [Windows XP Borland C++ Compiler 5.5(BCC Developer) C言語

[4] 期限:
とくにありませんが、できるだけ早目がうれしいです

[5] その他の制限:
上に書いたとおりこれでも情報系なので、しっかり理解したいです。
ソースだけでも充分ですが、補足説明があるとうれしいです。

よろしくおねがいします。

198 :デフォルトの名無しさん:2006/07/04(火) 10:02:17
問題文そのまま載せろ。

199 :デフォルトの名無しさん:2006/07/04(火) 10:18:49
構造体とポインタがちょっと危うい程度の香具師にc++を教えなきゃいかんのだが何か適当な課題ある?一日2時間一ヶ月ぐらいで。

200 :デフォルトの名無しさん:2006/07/04(火) 10:29:14 ?#
>>199
多倍長実数クラスの設計と実装。

201 :デフォルトの名無しさん:2006/07/04(火) 10:34:39
実数か。漏れがほとんど実数触らんからなぁ。考えてみる。d

202 :197:2006/07/04(火) 17:55:09
>>198
はい

100個のノードを生成する
ノードに重みを適当に点ける(1〜100)
任意のノードペアを選び、重みの和を取り、重みの和が100以上のノードペアにリンクを張る
それぞれのノードの持つリンクの数を計算する
リンクの数の分布
(リンクが1つ・・・○○、リンクが2つ・・・○○、・・・みたいな)

擬似的にWEBページの繋がりを出すプログラムです。

203 :デフォルトの名無しさん:2006/07/05(水) 12:36:55
>>197
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#define SIZE 100
int
main()
{
int i, j, link[SIZE], w[SIZE], count[SIZE];
memset(link, 0, sizeof(link));
memset(count, 0, sizeof(count));
srand(time(NULL));
for (i = 0; i < SIZE; i++) { w[i] = rand() % 100 + 1; }
for (i = 0; i < SIZE; i++) {
for (j = 0; j < i; j++) {
if (w[i] + w[j] >= 100) { link[i]++; link[j]++; }
}
}
for (i = 0; i < SIZE; i++) { count[link[i]]++; }
for (i = 0; i < SIZE; i++) { printf("link %d: %d\n", i, count[i]); }
return 0;
}


204 :192です:2006/07/05(水) 22:17:58
お礼がおくれてすみませんm(__)m今回はどうもありがとうございました。

205 :デフォルトの名無しさん:2006/07/06(木) 00:29:41
[1]C言語初級プログラミング
[2]キーボードから任意の西暦年と月を入力し、その年月のカレンダーを表示するプログラムを作成せよ。尚、紀元前は考慮せず、閏年の判別にはグリゴリオ暦を用いる事。 
(西暦の年月日から曜日を求める公式)
w=[c/4]-2c+[y/4]+y+[26(m+1)/10]+d
ここでcとyはそれぞれ西暦年数の上2桁と下2桁、mは月数(ただし、1月は前年の13月、2月は14月として計算)、dは日数である。また上記式の角ばった方の括弧はガウス記号を表している。wを7で割った余りより、以下のように判別する。ただしwが負の場合は7を付け足す事。
1(日),2(月),3(火),4(水),5(木),6(金),0(土)
[3]OS:Linux
  コンパイラ名:gcc
  言語:C言語
[4] 期限:今週末まで
[5] その他の制限:c言語の授業を受け始めてまだ間もない状況です(授業2回分程度)。なので私自身あまり難易度の高いプログラミングはまだまったく出来ません。

206 :c++:2006/07/07(金) 16:10:01
[1] 授業単元: プログラミング言語
[2] 問題文(含コード&リンク): 線形リストを用いて、素数とわかった数を保存し、指定された数(N)以下の素数を求めるプログラムを作成せよ。ただし、Nはプログラム実行中で外部から入力できるようにすること。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: 6.0
 [3.3] 言語: C++
[4] 期限: 2006年7月10日まで
[5] その他の制限:たぶんなし

この問題がわかりません。
基礎なことかもしれませんが、どうかお願いします


207 :デフォルトの名無しさん:2006/07/07(金) 19:30:39
>>206
メモリ開放まんどくせ
#include<iostream>
using namespace std;
struct Cell{int car;Cell*cdr;Cell(int car,Cell*cdr):car(car),cdr(cdr){}};
Cell*enumFromTo(int from,int to,Cell*cdr=NULL){return from>to?cdr:enumFromTo(from,to-1,new Cell(to,cdr));}
Cell*erase(Cell*p,int n){return!p?NULL:p->car%n?new Cell(p->car,erase(p->cdr,n)):erase(p->cdr,n);}
Cell*solve(Cell*p){return p?new Cell(p->car,solve(erase(p->cdr,p->car))):NULL;}
int main(){
    int n;cout<<"n <- ";cin>>n;
    for(Cell*p = solve(enumFromTo(2,n));p;p=p->cdr)cout<<p->car<<' ';
}


208 :デフォルトの名無しさん:2006/07/09(日) 03:42:53


209 :デフォルトの名無しさん:2006/07/09(日) 06:18:51
>>205 まったくの答えでないけど、下でできるはず。
   エラー処理、get_youbi()とget_nissu()は自分で考えましょう。
intmain(void)
{
chartmp[256];
intyear, month,st,ni,ii ;
printf("年をいれろ->");
year = atoi(gets(tmp));
printf("月をいれろ->");
month = atoi(gets(tmp));
st = get_youbi(year,month,1)-1 ; /* 土曜は7を返す */
ni = get_nissu(year,month); /* 年月の月日数を返す */
printf(" 日 月 火 水 木 金 土\n");
printf("%*c",st*3,' ');
for (ii = 0 ; ii < ni ; ii ++ ){
printf("%3d",ii+1);
st++;
if (( st % 7 ) == 0 )
printf("\n");
}
return 0 ;
}

210 :デフォルトの名無しさん:2006/07/09(日) 12:43:06
>>209
有難う御座います。後は自力で頑張ってみます。

211 :デフォルトの名無しさん:2006/07/09(日) 12:52:48
c++builderで
点を左から右へ移動させる簡単なプログラムを教えてください。

212 :デフォルトの名無しさん:2006/07/09(日) 12:55:19
点って? GUI?

213 :デフォルトの名無しさん:2006/07/09(日) 13:04:06
はい、GUIです

214 :デフォルトの名無しさん:2006/07/09(日) 21:44:23
[1] 授業単元:演習1
[2] 問題文(含コード&リンク):
1からNまでの自然数の中から,素数のみを取り出すプログラムを書きなさい
素数とは,1と自分自身以外では割り切れない数のことを言う.この性質を利用し,1からN までの数の中から,2の倍数(ただし1倍は除く)
を取り除き,次に3の倍数を取り除き,... 最後にNの倍数を取り除く.最後に残るのが素数である.
以下の点に注意すること.
* Nが最大で254まで対応できるようにすること.
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] 言語: C
[4] 期限: 10日中
よろしくお願いします。

215 :デフォルトの名無しさん:2006/07/09(日) 21:51:03
>>214
メモリ開放まんどくせ
#include<stdio.h>
#include<stdlib.h>
typedef struct Cell Cell;
struct Cell{int car;Cell*cdr;}; 
Cell*cons(int car,Cell*cdr){Cell*p=malloc(sizeof(Cell));p->car=car;p->cdr=cdr;return p;}
Cell*enumFromTo(int from,int to){return from>to?NULL:cons(from,enumFromTo(from+1,to));} 
Cell*erase(Cell*p,int n){return!p?NULL:p->car%n?cons(p->car,erase(p->cdr,n)):erase(p->cdr,n);} 
Cell*solve(Cell*p){return p?cons(p->car,solve(erase(p->cdr,p->car))):NULL;} 
int main(){ 
    Cell*p;
    int n;printf("n <- ");scanf("%d",&n); 
    for(p = solve(enumFromTo(2,n));p;p=p->cdr)printf("%d ",p->car); 
    return 0;
}

216 :214:2006/07/09(日) 22:26:47
>>215
ありがとうございます。
実行した時に必ず1も表示させるにはどうしたらいいのですか?

217 :デフォルトの名無しさん:2006/07/09(日) 22:33:16
>>216
1は素数じゃないから間違いのような気もするけど、一応表示するならこう

- for(p = solve(enumFromTo(2,n));p;p=p->cdr)printf("%d ",p->car);
+ for(p = cons(1,solve(enumFromTo(2,n)));p;p=p->cdr)printf("%d ",p->car);

218 :デフォルトの名無しさん:2006/07/12(水) 10:39:05
[1] C言語プログラミング
[2] 問題文(含コード&リンク):
要素数5の配列key[5]に、適当な初期値を用意し、単純交換法でソートするプログラムを作成せよ
要素が1つ決定されるたびに(前ページの流れ図のループ1の中で)、確認の為配列を画面に出力しなさい
初期値として、スライド・教科書の例を使い確認すること。
{58, 27, 6, 32, 13}
比較回数を数えて、最後に画面に出力しなさい
計算量の説明を参照して、確認すること
教科書・スライドの流れ図とプログラムで、要素番号の違いに注意する
[3] 環境
 [3.1] OS: XP
 [3.2] visual studio.2003
 [3.3] 言語: C
[4] 期限: 来週の火曜日まで
[5] 配列、ループ、線形探索、二部探索、構造体


219 :デフォルトの名無しさん:2006/07/13(木) 16:07:09
>>218
これでおk?
#include <stdio.h>
int bubbleSort(int *data,int size){
int i,j,cnt=0,temp;
for (i=0;i < size;i++){
for (j=0;j < size;j++){
cnt++;
if (data[i] < data[j]){
printf(" %d = %d\n",data[i],data[j]);
temp=data[i];
data[i]=data[j];
data[j]=temp;
}}}
return cnt;
}

int main(void){
int data[]={58,27,6,32,13},cnt,i;
cnt=bubbleSort(data,(sizeof(data)/sizeof(int)));
puts("----------------------------");
for (i=0;i < (sizeof(data)/sizeof(int));i++){
printf("%d\t%d\n",i+1,data[i]);
}
printf("\n%d回比較\n",cnt);
return 0;
}

220 :デフォルトの名無しさん:2006/07/14(金) 14:57:46
ごるごるもあ?

221 :デフォルトの名無しさん:2006/07/16(日) 16:16:03


222 :デフォルトの名無しさん:2006/07/16(日) 23:10:00
>>218 これってスライドや教科書がどーなっているかで
答えが微妙に変わるような希ガス

223 :デフォルトの名無しさん:2006/07/20(木) 23:24:28


224 :デフォルトの名無しさん:2006/07/25(火) 00:17:25
[1] 授業単元:cプログラミング
[2] 問題文(含コード&リンク):
大きさ20の配列keyを用意し、キーボードから値を入力する。 この配列keyの要素を、単純挿入法で昇順にソートするプログラムを作成せよ。
ただし、ソートの途中経過を画面に出力すること。 また、最後に比較回数を画面に出力すること。
【ヒント】
配列の大きさの指定 ‥ ただし最初の要素は番兵用。よって入力は SIZE - 1 回。
単純挿入法‥未ソートの部分の先頭の要素を、ソート済みの部分に挿入する
途中経過‥未ソートの部分が1つ減るたびに(外ループ)出力。
比較回数‥初期値0の変数を用意し、比較のたびに(内ループ)インクリメント。
[3] 環境
 [3.1] OS: xp
 [3.2] visual studio2003
 [3.3] 言語: c
[4] 期限: 25日まで
[5] その他の制限: ループ、探索、ソート、配列、構造体など

225 :デフォルトの名無しさん:2006/07/25(火) 12:19:56
別のスレですれ違いと指摘されここにたどり着きました。よろしくお願いします。
以下は作ってもらったプログラムですが、できれば以下の修正をお願いします。
@double a, s;を使わない。time(NULL)・double y, w = 0.0;も使わない。
A実行時にy[ ] =を表示しないで、数値のみを表示する。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>

void main(void)
{
int i, j;
double a, s;

srand((unsigned)time(NULL));
printf("a s = ");
scanf("%lf %lf", &a, &s);
printf("a = %lf\n", a);
printf("s = %lf\n", s);
for(i = 0; i < 100; i++){
double y, w = 0.0;
for(j = 0; j < 12; j++)
w += (double)rand() / (double)RAND_MAX;
y = s * (w - 6) + a;
printf("y[%2d] = %lf\n", i, y);
}
getchar();
}


226 :デフォルトの名無しさん:2006/07/25(火) 15:02:16 ?2BP
>>225
>>1

227 :225:2006/07/25(火) 15:25:27
>>226 すみませんでした。
自己解決しましたのでOKです。ご迷惑おかけしました。

228 :ぼるじょあ ◆yBEncckFOU :2006/07/29(土) 19:12:43
(・3・) エェー ぼるじょあはどこだYO

229 :デフォルトの名無しさん:2006/07/29(土) 19:35:00
>>228
そのトリップを見るたびに"fuck you"を連想する。

230 :ぼるじょあ ◆yBEncckFOU :2006/07/29(土) 20:08:54
>>224
(・3・) エェー その配列の型は何だYO
          番兵やた挿入やらなんかリストっぽいけど本当に配列かYO

231 :ぼるじょあ ◆yBEncckFOU :2006/07/30(日) 02:31:37
(・3・) アルェ〜 このスレは使われてないのかYO!

232 :デフォルトの名無しさん:2006/07/30(日) 04:19:58
プログラムの質問としては少し違うのかもしれませんが、
平方cmと立方cmなど右上に小さな数字を打ち込みたいのですがどうやったらできますか?^^;

233 :デフォルトの名無しさん:2006/07/30(日) 04:31:01
printf("%g$cm^2$\n", area);
printf("%g$cm^3$\n", volume);


234 :デフォルトの名無しさん:2006/07/30(日) 04:32:59
cuってこと?

235 :デフォルトの名無しさん:2006/07/30(日) 04:50:45
それもですが普通に10の23乗とかとかを打ち込みたいんですけど
どうしたらいいのかわからなくて^^;

236 :デフォルトの名無しさん:2006/07/30(日) 04:57:35
printf("%g\n", 1e23);

237 :デフォルトの名無しさん:2006/07/30(日) 05:00:14
普通にテキストの段階で教科書に書いてるような小さな数字をそのまんま表示させたいのですが^^;

238 :デフォルトの名無しさん:2006/07/30(日) 05:02:14
cuですめばいいときもあるのですが、この2の部分が3の時とかきごうで変換させても候補ないのでどうしたらいいのか考えてるのです^^;

239 :デフォルトの名無しさん:2006/07/30(日) 05:02:48
プレインテキストでそれをやろうと思ってるのなら無理

240 :デフォルトの名無しさん:2006/07/30(日) 05:05:19
なるほど
なら基本的には先程教えていただいたようにcm^3とい風でいいのですかね?

241 :デフォルトの名無しさん:2006/07/30(日) 05:11:45
cm^3はUnicodeだとあるみたいだ
U+33A4
まあ4乗ならどうするのかとか一般性を考えれば
累乗を^で表すとか当事者間で規約を決めてそれに従うのが普通だと思う

242 :デフォルトの名無しさん:2006/07/30(日) 05:14:26
なるほど、参考になりました^^
ありがとう^^

243 :ぼるじょあ ◆yBEncckFOU :2006/07/30(日) 06:59:55
(・3・) エェー 腹減って来たYO!

244 :赤鼻 ◆uh1FQt4ihg :2006/08/02(水) 19:15:15
>>243
ボルジョア様こんばんわ
早速ですが、質問です。
C++のコンパイラをインストールしようと試みたのですが、
容量が足りないとエラーが出てしまいます。
50MBあけて再試行してしてくださいと。表示されますが、
ちゃんと、C:¥ドライブには、76GBの容量があるんです。
困りました。どうすればよいのでしょうか?初心者ですみませぬ。

245 :デフォルトの名無しさん:2006/08/02(水) 19:24:13
>>244
マルチ乙

246 :ぼるじょあ ◆yBEncckFOU :2006/08/06(日) 02:07:07
(・3・) エェー 良い子の簡単な質問待ってるYO

247 :デフォルトの名無しさん:2006/08/07(月) 16:56:00
ここは授業オンリーなんですか?
授業以外で同じ趣旨のスレって有るんですかね?

248 :デフォルトの名無しさん:2006/08/07(月) 19:05:48
授業以外でも宿題ならばOKだろ
でも授業以外の宿題って・・・?

249 :デフォルトの名無しさん:2006/08/07(月) 22:30:15
>248
あぁーそっか、「宿題」か。
なるほど。サンクス!

250 :ぼるじょあ ◆yBEncckFOU :2006/08/30(水) 00:04:04
 _, ._
(・3・) エェー 宿題まだぁ?

251 :ぼるじょあ ◆yBEncckFOU :2006/09/27(水) 11:58:00
(・3・) エェー 無いC

252 :デフォルトの名無しさん:2006/10/02(月) 20:01:18
ぼるじょあ先生!
彼女いない暦生まれたときからの俺に良い彼女を作る方法を教えてください。

253 :デフォルトの名無しさん:2006/10/02(月) 20:56:04
>>252
必要な材料は石鹸1個、釘1本、マッチ100本、鉛筆450本、石灰コップ1杯、硫黄一つまみ、マグネシウム一つまみ、水1.8リットル。

254 :デフォルトの名無しさん:2006/10/02(月) 21:12:16
>>253
それは危険だから弄っちゃ駄目だぞ。

255 :デフォルトの名無しさん:2006/10/03(火) 17:28:28 ?2BP(200)
国連軍が出動するほどの大騒ぎになるからな。

256 :デフォルトの名無しさん:2006/10/03(火) 17:30:13
ミルク持って来い

257 :デフォルトの名無しさん:2006/10/04(水) 12:53:49
[1]授業単位 C言語実習
[2]仕様書
整数の四則演算の入力を受け付け、計算結果を整数で出力します。

1.ユーザーの入力を受け付ける
2.入力結果を解析し、計算結果を表示する。
(例:1+2+3*4 という入力をすると、15という数値を表示する)
3.括弧にも対応すること。
(例:1+(2+3)*4 という入力をすると、21という数値を表示する)
(例:(1+(2+3))*4 という入力をすると、24という数値を表示する)
4.入力される数値は、大きい桁にも対応する。
(例:(100+(200+300))*400 という入力をすると、240000という数値を表示する)
5.16進にも対応する(出力は10進で)
(例:(0x10+(0x20+0x30))*0x40 という入力をすると、6044という数値を表示する)
6.(オプション)2進にも対応する(出力は10進で)
(例:(0b1+(0b10+0b11))*0b100 という入力をすると、24という数値を表示する)

※6.はオプションなので、時間があれば作る。急ぐなら組み込まなくてもよい。

※/はCの/と同じ動き。つまり 1+2*3/4は、2*3=6を/4したもの、つまり1となり上記計算結果は2となる。
[3] 環境
 [3.1] OS: XP
 [3.2] Visual Studio2003
 [3.3] 言語: c
[4] 期限: 6日まで
困り果てた挙句ここに書き込みました


258 :デフォルトの名無しさん:2006/10/04(水) 22:43:00
>>257
6は未対応だけど

#include<stdio.h>
#include<stdlib.h>
int expr(char*&p);
int mul(char*&p,int v){return *p=='*'?++p,mul(p,v*expr(p)):*p=='/'?++p,mul(p,v/expr(p)):v;}
int add(char*&p,int v){return *p=='+'?++p,add(p,v+mul(p,expr(p))):*p=='-'?++p,add(p,v-mul(p,expr(p))):v;}
int expr(char*&p){int v;return *p=='('?++p,v=add(p,mul(p,expr(p))),++p,v:strtol(p,&p,0);}
int main(){char*p,tmp[100];while(gets(p=tmp))printf("%d\n",add(p,mul(p,expr(p))));}

259 :253:2006/10/04(水) 22:45:33
>>254-256
このネタにフツーに反応してくれるとは思わなかった。
なんかウレシイぞ。

260 :258:2006/10/04(水) 22:46:02
わりいC++の参照使ってた書いてた。
Cに直したのはこっち。

#include<stdio.h>
#include<stdlib.h>
int expr(char**p);
int mul(char**p,int v){return **p=='*'?++*p,mul(p,v*expr(p)):**p=='/'?++*p,mul(p,v/expr(p)):v;}
int add(char**p,int v){return **p=='+'?++*p,add(p,v+mul(p,expr(p))):**p=='-'?++*p,add(p,v-mul(p,expr(p))):v;}
int expr(char**p){int v;return **p=='('?++*p,v=add(p,mul(p,expr(p))),++*p,v:strtol(*p,p,0);}
int main(){char*p,tmp[100];while(gets(p=tmp))printf("%d\n",add(&p,mul(&p,expr(&p))));}

261 :デフォルトの名無しさん:2006/10/04(水) 22:57:43
>>260
いいねこれ。

262 :デフォルトの名無しさん:2006/10/05(木) 14:59:13
会社の先輩にC++でコールバックできる仕組みを調べて来いと言われました。
boost::functionとか便利そうですが、標準C++ライブラリのみでできないでしょうか。

また、どんな戻り値&引数の関数も区別無く渡して保存できる方法というものはないのでしょうか。

263 :デフォルトの名無しさん:2006/10/05(木) 15:14:10
CallBackって実装上の仕組みじゃなくて、仕様上の仕組みなんだけどその辺区別してる?

264 :デフォルトの名無しさん:2006/10/05(木) 17:18:19
【質問テンプレ】
[1] 授業単元: 応用プログラミング
[2] 問題文(含コード&リンク):
2つの整数をさすポインタを引数とし、
それらのポインタがさす整数のうちが大きいほうの値をさす
ポインタを返す関数 max_pointer を作成し、
プログラム (Sep27.c)を完成しなさい。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: Borland Compiler
 [3.3] 言語:C++
[4] 期限: 今日の日付が変わるまで
[5] その他の制限:

265 :264:2006/10/05(木) 17:19:24
#include <stdio.h>
#include <stdlib.h>
int max_value(int *a,int *b);

main()
{
int i, j, k;

for (k = 1; k <= 10; k++){

i = rand();
j = rand();

printf(" %5d と %5d のうち大きいほう = %5d \n",i, j, max_value(&i,&j));
}
}

int max_value(int *a,int *b)
{
if(*a>*b){
return *a;
}
return *b;
}
これではダメだと言われました。
助けてください お願いします

266 :デフォルトの名無しさん:2006/10/05(木) 17:28:00
int* max_value(int *a,int *b) 

if(*a>*b){ 
return a; 

return b; 


とか

267 :デフォルトの名無しさん:2006/10/05(木) 17:40:29
>>263
意味が良くわかりません。何の実装上の仕組みと何の仕様上の仕組みの区別を問うておられるのですか?

268 :264:2006/10/05(木) 17:48:35
>>266
やってみましたが、エラーがでました

269 :デフォルトの名無しさん:2006/10/05(木) 18:26:48
>>268
変更前のSep27.cをupしる

270 :264:2006/10/05(木) 19:18:58
#include <stdio.h>
#include <stdlib.h>
/* プロトタイプ宣言 */

main()
{
int i, j, k;


for (k = 1; k <= 10; k++){

i = rand();/**/
j = rand();

/* 次の printf 文に注意 */
printf(" %5d と %5d のうち大きいほう = %5d \n", i, j, /* 呼び出し部分*/);
}

}



271 :264:2006/10/05(木) 19:28:20
/* >>270は誤爆です。*/
/* ただしい変更前のSep27.c です。どうかお願いします*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int* max_pointer (int *a,int *b);

int main()
{
int i, j, k;
srand((unsigned) time(NULL));
for (k = 1; k <= 10; k++)
{
i = rand();
j = rand();
printf("ぴろこ: %5d と %5d のうち大きいほう = %5d \n",i, j, *max_pointer ( &i,&j) );
}
return 0;
}

int* max_pointer(int *a,int *b)
{
if(*a > *b) return a;
return b;
}

272 :デフォルトの名無しさん:2006/10/05(木) 19:44:38
>>260-261
目が覚めるコードに久しぶりに出会いました。

273 :デフォルトの名無しさん:2006/10/05(木) 21:07:00
ぴろこって誰やねん。
でも、コードはこれでOKだろうから、264は参考にしる。

274 :デフォルトの名無しさん:2006/10/05(木) 21:22:36
>>262
引数は、boost::bindを使ってからboost::function<void ()>に入れればいいと思う。
boost::functionのようなものは、引数・戻り値さえ固定なら自分で作るのもそう難しくはない。
#include <iostream>
typedef int intptr_t;

class my_function { //int (double)
public:
    template <typename T>
    my_function(T fn) : func(call_function<T>), obj(reinterpret_cast<intptr_t>(&fn)) {}
    template <typename Ret, typename Arg1>
    my_function(Ret (*pfn)(Arg1)) : func(call_function<Ret (Arg1)>), obj(reinterpret_cast<intptr_t>(pfn)) {}
    int operator ()(double x) {return func(obj, x);}
private:
    int (*func)(intptr_t, double);
    intptr_t obj;

    template <typename T>
    static int call_function(intptr_t p, double x) {return (*reinterpret_cast<T*>(p))(x);}
};
int foo(double) {std::cout << "foo" << std::endl; return 0;}
struct hoge {
    short operator ()(long double) const {std::cout << "hoge::operator ()" << std::endl; return 0;}
};
int main() {
    my_function f = foo; f(0.);
    hoge obj;
    my_function g = obj; g(0.);
}

275 :デフォルトの名無しさん:2006/10/05(木) 23:24:58
[1] 授業単元: C言語
[2] 指定されたデータからデータを読み込み、データ件数が何件あるか、最大データ長は何文字か
  最大値および最小値を調べて出力するプログラムを作成せよ、ただしfscanf関数を使用してはならない
  データ長を数えるときに空白はカウントしない データにアルファベットおよび数値の中に記号等などを含んでいるデータは
  データ件数にカウントしない
[3] 環境
 [3.1] UNIX
 [3.2]
 [3.3] C
[4] 来週の火曜日まで
[5] fscanfはダメだが他はOK 
  データ(例)
  512.1
↑17S4.Z 1183.5 631.8 959.4 678.6 483.3 620.1 1226.7 lOOS.3 1473.3 1591.2 -251.1 -1342.8
  おねがいします。




276 :デフォルトの名無しさん:2006/10/06(金) 12:30:42
(-3-)ぼるじょあは休憩中だから、あっちのスレで頼むといいYo...
C/C++の宿題を片付けます 74代目
http://pc8.2ch.net/test/read.cgi/tech/1158844912/

277 :デフォルトの名無しさん:2006/10/06(金) 16:02:09 ?2BP(200)
>>275
sscanfならいいのか?

278 :275:2006/10/06(金) 16:42:52
sscanfはOKです

279 :デフォルトの名無しさん:2006/10/06(金) 17:10:18
>指定されたデータからデータを読み込み
意味がわからん。
これはデータをファイルから読み込むのか、それとも標準入力を使うのか。

280 :デフォルトの名無しさん:2006/10/06(金) 17:38:14
>>275

C/C++の宿題を片付けます 74代目
http://pc8.2ch.net/test/read.cgi/tech/1158844912/l50

412 :デフォルトの名無しさん :2006/10/04(水) 13:56:16
[1] 授業単元:応用C
[2] 問題文(含コード&リンク)
fscanfを使わないで指定されたデータファイルから
データを読み込みデータ件数、最大データ長、最大値、最小値
を出力するプログラム:
[3.1] UNIX
3.3]C
[4] 来週の火曜日
[5] break文continue文fscanf
です。お願いします

281 :215:2006/10/06(金) 18:10:51
215に書いてあるように例のデータをテキストファイで作り
作ったデータをプログラムで読み込みデータ件数等を調べることです

282 :275:2006/10/06(金) 22:25:57
↑すみません275でした

283 :デフォルトの名無しさん:2006/10/07(土) 06:00:38
入力例に対する出力例を。

284 :ぼるじょあ ◆yBEncckFOU :2006/10/07(土) 16:57:42
(・3・) エェー ぼるじょあは永遠に不滅ですYO

285 :デフォルトの名無しさん:2006/10/07(土) 17:18:39
>>284
喪前、サボりすぎ

ぼるじょあは仕事しなくなったから
宿題は下記のスレでお願いします
http://pc8.2ch.net/test/read.cgi/tech/1158844912/


286 :ぼるじょあ ◆yBEncckFOU :2006/10/07(土) 17:18:55
(・3・) エェー ぼるじょあは永遠に滅亡ですYO

287 :デフォルトの名無しさん:2006/10/08(日) 23:21:43
[1] プログラミング
[2] エンゲル係数(食費/収入*100、小数点以下切捨て)チェックプログラムを作る、5人の1ヶ月の収入と食費を入力すると各人のエンゲル係数、エンゲル係数の平均値、エンゲル係数が平均値以上なのは何人目で食費とエンゲル係数はいくつかを表示する。
[3] 環境
 [3.1] Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
 [3.3] c
[4]10月10日
[5]   ・すべての配列はメイン関数で宣言。
    ・5人分の1ヶ月の収入と食費を配列に入力する関数、
     各人のエンゲル係数を計算し、結果を別の配列に代入する関数、
     エンゲル係数の平均値を計算し、その値を戻り値とする関数、
     エンゲル係数が平均以上の人を調べ、何番目に入力した人であるかとそのエンゲル係数と食費を計算する関数、
     をそれぞれ作る。
    ・2次元配列を使用する
よろしくお願いします

288 :ぼるじょあ ◆yBEncckFOU :2006/10/08(日) 23:42:17
(・3・) エェー 把握したお

289 :ぼるじょあ ◆yBEncckFOU :2006/10/09(月) 00:25:17
(・3・) エェー 
エンゲル係数が平均以上の人を調べ、何番目に入力した人であるかとそのエンゲル係数と食費を計算する関数、
これが良く分からなかったけど一応作ったお
2次元配列に入力する関数って僕の無い知識だと汚くなっちゃったお いい方法あるかお



290 :ぼるじょあ ◆yBEncckFOU :2006/10/09(月) 00:25:50
#include<stdio.h>
#include<stdlib.h>

void inLife(long *life);
void calcEngel(long life[5][2], long *engel);
double average(long engel[5]);
void checkOver(long life[5][2], long engel[5], double average);

int main(void){
long life[5][2], engel[5], i;
inLife(&life[0][0]);
calcEngel(life, engel);
for(i=0; i<5; i++)printf("%d人目のエンゲル係数:%d\n", i+1, engel[i]);
printf("エンゲル係数の平均値:%f\n", average(engel));
checkOver(life, engel, average(engel));
return EXIT_SUCCESS;
}

void inLife(long *life){
int i;
for(i=0; i<5; i++){
printf("%d人目の収入:", i+1); scanf("%d", life);
printf("%d人目の食費:", i+1); scanf("%d", life+1);
life += 2;
}
}


291 :ぼるじょあ ◆yBEncckFOU :2006/10/09(月) 00:26:29
void calcEngel(long life[5][2], long *engel){
int i;
for(i=0; i<5; i++){
*(engel+i) = (long)(life[i][1]*100.0/life[i][0]);
}
}

double average(long engel[5]){
double sum= 0;
int i;
for(i=0; i<5; i++)sum += (double)engel[i];
return sum/5;
}

void checkOver(long life[5][2], long engel[5], double average){
int i;
puts("エンゲル係数が平均値以上なのは・・・");
for(i=0; i<5; i++){
if(engel[i] >average){
printf("%d人目 食費:%d エンゲル係数:%d\n", i+1, life[i][1], engel[i]);
}
}
}

292 :デフォルトの名無しさん:2006/10/09(月) 06:54:14
[1] 授業単元:C言語実習
[2] 問題文:

 インクルードファイルstdlib.hにて定義されているrand()は
 擬似乱数を生成する関数であり,この関数が呼ばれるたびに
 0〜RAND_MAXまでの範囲の一様擬似整数乱数を生成する。

(1)この関数を利用して,0〜1.0区間のdouble型擬似乱数を生成せよ。
(2)(1)で生成した[0, 1]区間の一様乱数を10個生成して,その和を取ったものを新たな乱数として考える。
   その乱数は[0, 10]区間の乱数になっているはずである。その乱数を100個程度作成して,平均値を求めよ。
(3)その乱数が一様乱数かどうかを確かめよ(どのような分布になっているか表示するプログラムを考える)。

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名:Borland C++ Builder
 [3.3] 言語:C
[4] 期限:10/9(今日中)
[5] その他の制限:基本的なことしか習ってません

お願いできますでしょうか

293 :ぼるじょあ ◆yBEncckFOU :2006/10/09(月) 12:23:57
(・3・) エェー 今起きたお
          今日中かお・・飯食ってから着手するお

294 :ぼるじょあ ◆yBEncckFOU :2006/10/09(月) 12:53:11
(・3・) アルェー 全然一様にならんお
            でもしったこっちゃないお

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

double rand2(void);
double rand3(void);
void showgraph(int cnt);

int main(void){
int i;
double sum= 0.0;
srand(time(NULL));
for(i=0; i<100; i++)sum+= rand3();
printf("平均値は:%f\n", sum/100.0);
showgraph(100);
return EXIT_SUCCESS;
}

double rand2(void){
return (double)rand()/RAND_MAX;
}

double rand3(void){
double sum= 0.0;
int i;
for(i=0; i<10; i++)sum+= rand2();
return sum;
}

295 :ぼるじょあ ◆yBEncckFOU :2006/10/09(月) 12:53:44
void showgraph(int cnt){
int i, k, once, count[10];
for(i=0; i<10; i++)count[i]= 0;
for(i=0; i<cnt; i++){
once = (int)rand3();
if(once <10)count[once]++;
else count[9]++;
}
for(i=0; i<10; i++){
printf("%2d〜%2d:", i, i+1);
for(k=0; k<count[i]; k++)printf("*");
puts("");
}
}

296 :デフォルトの名無しさん:2006/10/09(月) 18:55:44
一様にならんので正しいよ.中心極限定理から正規分布に近い形になるはず.

297 :ぼるじょあ ◆yBEncckFOU :2006/10/09(月) 19:20:02
(・3・) エェー そうなんですかYO
          よかったYO

298 :292:2006/10/09(月) 21:20:47
>>ぼるじょあ

ありがとう。
でも知識が足りなさ過ぎて全然プログラム理解できないや。
参考にしてやってみますm(_ _)m

299 :デフォルトの名無しさん:2006/10/10(火) 14:02:23
>287だけどサンクス
なんか見たことない関数使われてるけどそのまま提出してしまった・・・

300 :ぼるじょあ ◆yBEncckFOU :2006/10/11(水) 19:41:46
(;・3・) エェー それでいいのかYO

301 : ◆HYwgg5QUFo :2006/10/13(金) 01:46:37
【質問テンプレ】
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):

始点と終点、およびその間に複数個の頂点と、2つの頂点間に正の重み(コスト)
がつけられた辺からなる有向グラフにおいて、始点から終点に至る経路の中で
以下の処理を実行するプログラムを作成する。
   (1)最大コストになる経路を深さ優先探索法で求める。
   (2)最小コストになる経路を深さ優先探索法で求める。
   (3)最小コストになる経路をダイクストラ法で求める。
なお、グラフの作成の際には、画面の適当な位置をマウスで順次クリックして
ゆくと頂点とその間の枝が登録でき、結果の経路をその上に表示できるような
GUIを作成する。グラフ作成時には有向グラフであるから枝の終端には
矢印をつけて枝の向きがわかるようにする。

[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: borland C++Builder 5 bcc32

 [3.3] 言語: C言語
[4] 期限: ([2006年10月18日]
[5] その他の制限: 特になし

グラフがわからず、とても困ってます。どうかおねがいします。


302 :デフォルトの名無しさん:2006/10/13(金) 02:05:21
http://pc8.2ch.net/test/read.cgi/tech/1160580550/
ぼるじょあなんかに頼らず俺に聞いてくれ

303 :デフォルトの名無しさん:2006/10/13(金) 02:09:50
>>301
> 結果の経路をその上に表示できるような
> GUIを作成する。グラフ作成時には有向グラフであるから枝の終端には
> 矢印をつけて枝の向きがわかるようにする。

> 言語: C言語

気合入ってるな
俺にはむり


304 :ぼるじょあ ◆yBEncckFOU :2006/10/13(金) 23:54:12
(;・3・) エェー BCBなんかないんですけどYO

305 :デフォルトの名無しさん:2006/10/14(土) 19:39:33
【質問テンプレ】
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
  scanf関数を用いて計算方法(+ − * /)と2個の整数を入力し
  計算方法によって、2個の整数の計算を行え
ただし、除算を指定した場合は、0で割り算しないこと
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: borland C++Builder 5 bcc32

 [3.3] 言語: C言語
[4] 期限: ([2006年10月15日]
[5] その他の制限: 特になし

丸投げして悪いと思うのですが、用事があって手がつけられそうにありません
宜しくお願いします





306 :ぼるじょあ ◆yBEncckFOU :2006/10/14(土) 20:18:06
(・3・) エェー 把握したお

307 :ぼるじょあ ◆yBEncckFOU :2006/10/14(土) 20:28:37
(・3・) エェー 例によってエラーチェックなんぞないYO

#include<stdio.h>
#include<stdlib.h>
int main(void){
long x, y, ans;
char str;
printf("演算子 数値1 数値2の順に入力だお:");
scanf("%c%ld%ld", &str, &x, &y);
if(str == '+')ans = x+ y;
else if(str == '-')ans = x- y;
else if(str == '*')ans = x* y;
else if(str == '/'){
if(y == 0){
printf("0での除算は不可だYO\n");
return EXIT_FAILURE;
}
ans = x/ y;
}
else{
printf("そんな演算子認めませんYO\n");
return EXIT_FAILURE;
}
printf("%d %c %d = %d\n", x, str, y, ans);
return EXIT_SUCCESS;
}

308 :デフォルトの名無しさん:2006/10/16(月) 10:14:40
[1] 授業単元: C言語
[2] 問題文
アナログ時計

1.使用する予定のライブラリ又はWindowsAPIを使用して、アナログ時計を作る。
2.文字盤・短針・長針は画像を使用する。秒針は、画像でもAPI等で直に書いてもよい。
3.システムから現在時刻を取得し、アナログ時計で表示する。
オプション)目覚まし機能
[3] 環境
 [3.1] OS: XP
 [3.2] Visual Studio2003
 [3.3] 言語: c
[4] 期限:10月23日

よろしくお願いします!


309 :デフォルトの名無しさん:2006/10/16(月) 13:20:21
助けてください…
(1) 0 が入力されるまで正整数を読み込み、最大値、(最後の0 を除いた)最小値、全入力数値の平均(最
後の0 を含めず) を出力するプログラムを作りなさい。
(2) 正整数を入力し、それをローマ数字で表示するプログラムを作りなさい。
例: 1 I
3 III
4 IIII (またはIV)
5 V
12 XII
46 XXXXVI
73 LXXIII
111 CXI
378 CCCLXXVIII
521 DXXI
1001 MI

xpのgccです

310 :ぼるじょあ ◆yEbBEcuFOU :2006/10/16(月) 14:34:51
>>309
(1)http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2780.txt
(2)http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2781.txt
(・3・) VC++2005で書いたけど、たぶん大丈夫だYO

311 :ぼるじょあ ◆yBEncckFOU :2006/10/16(月) 21:49:28
(・3・) エェー 僕以外のぼるじょあが来たYO
          うれしいYO

>>308
(・3・) エェー VSはもちろんVCもBCBもないんだけどYO
          全部APIでもいいのかYO?

312 :デフォルトの名無しさん:2006/10/17(火) 01:15:55
ぼるじょあ ◆yBEncckFOU、喪前頑張らないと、ぼるじょあ ◆yEbBEcuFOU がスレ主になるぞ

313 :ぼるじょあ ◆yBEncckFOU :2006/11/04(土) 22:26:30
(・3・) エェー 質問こないですNE

314 :デフォルトの名無しさん:2006/11/04(土) 22:39:06
【質問テンプレ】
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
  sinx は
x - x**3/3! + x**5/5! -x**7/7! + ---- (1)
と級数展開される.

式(1)と組み込み関数で求めたsinxの値の差を,0度から360度まで,プログラムを作成して求め,エクセルを用いてグラフに描け.また,両者の差を0度から360度の範囲で1/10**4 (0.0001) 以下とするには(1)の項数を第何項まで取ればよいか?[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: borland C++Builder 5 bcc32
[3.3] 言語: C言語
[4] 期限: ([2006年11月5日]
ためしに作ってみたのですが、エラーがでてしまってどこがエラーしているのかわかりませんでした・・・orz
よろしくお願いします。
一応プログラム貼っておきます。
---------------------------------------------------------------
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>

int kaijo(int a){
int f,kai=1;
for(f=1;f<=a;f++){
kai*=f;}
return kai;}
int jo(int a,int b){
int d,s,y=1;
for(d=1;d<=b;d++){
y=y*a;}
return y;}
長かったので、↓に続きを書きます。

315 :デフォルトの名無しさん:2006/11/04(土) 22:44:01
main()
{float g=0,ans,m,w[361],sa[361];
int a,x,k,r,p;
scanf("%d",&k);
printf("第%d項(xの%d乗)のときの\n sinx=x - x**3/3! + x**5/5! -x**7/7! + ---- (1)\nと\n組み込み関数sinx\nとの差を下記に記す。",k,k*2-1); 
for(x=0;x<=360;x++){
for(a=1;a<=k;a++){
r=a*2-1;
if(r%2=0){
ans=(jo(x,r))/(kaijo(r));}
else{
ans=-(jo(x,r))/(kaijo(r));}
g=g+ans;}
w[x]=g:
m=sin(x);
sa[x]=fabs((w[x])-(m));
printf("角度%d度のとき   差は%f\n",x,sa[x]);}
for(a=0;a<360;a++){
if(sa[a]>sa[a+1]){
k=sa[a];
sa[a]=sa[a+1];
sa[a+1]=k;}}
printf("0度から360度の範囲で最大の差は%dです。",sa[360]);
getch();
return(0);}

316 :デフォルトの名無しさん:2006/11/04(土) 22:50:01
>>314-315

if(r%2=0){
 ⇒ if(r%2==0){

w[x]=g:
 ⇒ w[x]=g;

317 :314-315:2006/11/04(土) 23:20:27
>>316
どうもありがとうございます。
これでエラーがあとひとつになりました。
エラー E2206 C: 30: 不正な文字 ' ' (0x8140)(関数 main() )
ってでるんですが、30行目は
printf("第%d項(xの%d乗)のときの\n sinx=x - x**3/3! + x**5/5! -x**7/7! + ---- (1)\nと\n組み込み関数sinx\nとの差を下記に記す。",k,k*2-1); 
の場所なんですがなにが悪いのでしょうか?
よろしくお願いします。


318 :ぼるじょあ ◆yBEncckFOU :2006/11/04(土) 23:39:54
>>317
(・3・) エェー 全角の空白でも入ってるんじゃないNO?

319 :314-315:2006/11/04(土) 23:43:51
全角の空白が1つ紛れ込んでました・・・orz
で、実行した結果・・・・・・ソフトが固まり強制終了・・・。
ん〜これは、プログラム自体がダメってことなのですかね?
どなたか、できれば「ここをこうすればもっといいよ」みたいな感じに教えてもらえないでしょうか?
よろしくお願いします。

320 :ぼるじょあ ◆yBEncckFOU :2006/11/04(土) 23:45:24
(・3・) エェー 酒飲んでるからじかんかかるお

321 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 00:15:06
(・3・) エェー 入力する数字がある程度大きいとゼロ除算してるお
          そこで止まってるお
          階乗は数値が大きくなると簡単にオーバーフロー起こすお
          で、最後は0になっちゃうんだお

322 :314-315:2006/11/05(日) 00:31:16
kaiとyの型をdoubleにしてみましたが、入力する前に止まってしまいますね・・・


323 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 00:33:44
(・3・) エェー そうゆう問題じゃないお
          今の処理の流れだとダメだお
          階乗計算を一気にやらないで順次割っていくとかお

324 :314-315:2006/11/05(日) 01:02:23
おぉ、そういうことですか。
上のプログラムを変えてみたのですが残念なことに相変わらず止まってしまいますね。
for(a=1;a<=k;a++){
r=a*2-1;
if(a%2==0){
ans=-(jo(x,r));
}
else{
ans=jo(x,r);
}
for(h=r;h>0;h--){
ans=ans/h;
}
g=g+ans;
}
w[x]=g;

325 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 01:37:22
(・3・) エェー 止まんないけどお

326 :314-315:2006/11/05(日) 01:43:11
マジですか!?多分、似たようなプログラムのはずなんでしょうけど・・・。
それとも自分のと全然違うんでしょうかね?参考にしたい限りです。

327 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 01:51:30
(・3・) エェー おかしいお
          同じハズだけどお

for(x=1; x<=360; x++){
for(a=1; a<=k; a++){
r = a*2-1;
if(r%2 == 0){
//ans=(jo(x, r))/(kaijo(r));
ans = jo(x, r);
}
else{
//ans=-(jo(x, r))/(kaijo(r));
ans = jo(x, r);
}
for(cnt=r; cnt>0; cnt--){
ans = ans/cnt;
}
//for(cnt=r ; cnt>1; cnt--)ans /= cnt;
g = g+ans;
}

328 :314-315:2006/11/05(日) 02:09:26
同じですね;;
ちょっとこのプログラム試してもらえないですかね?
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
int jo(int a,int b){
double y=1;
int d,s;
for(d=1;d<=b;d++){
y=y*a;}
return y;}
main()
{
float g=0,ans,m,w[361],sa[361];
int a,x,k,r,p,h;
scanf("%d",&k);
printf("第%d項(xの%d乗)のときの\nsinx=x - x**3/3! + x**5/5! -x**7/7! + ---- (1)\nと\n組み込み関数sinx\nとの差を下記に記す。",k,(k*2-1)); 
for(x=0;x<=360;x++){
for(a=1;a<=k;a++){
r=a*2-1;


329 :314-315:2006/11/05(日) 02:10:00
if(a%2==0){
ans=-(jo(x,r));}
else{
ans=jo(x,r);}
for(h=r;h>0;h--){
ans=ans/h;}
g=g+ans;}
w[x]=g;
m=sin(x);
sa[x]=fabs((w[x])-(m));
printf("角度%d度のとき   差は%f\n",x,sa[x]);}
for(a=0;a<360;a++){
if(sa[a]>sa[a+1]){
k=sa[a];
sa[a]=sa[a+1];
sa[a+1]=k;}}
printf("0度から360度の範囲で最大の差は%dです。",sa[360]);
getch();
return(0);
}

330 :314-315:2006/11/05(日) 02:11:17
多分、動かないと思いますが。
これで動いたらうちのPC環境のせいだと思うので、諦めますね・・・orz

331 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 02:18:46
(・3・) エェー たしかに動かないお
          ちょ〜酔っ払いながら調査するお

332 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 02:50:31
(・3・) エェー くわしいことわかんないけどなんかこれはjoが悪い感じするお
          結局のところ数値が一時的にでかくなりすぎて暴走してる感じがするお

333 :314-315:2006/11/05(日) 03:08:53
今日は付き合ってもらってどうもありがとうございました。
また明日やってみますね。一番の問題は自分が級数展開を理解していないと言う点ですなw

334 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 03:13:18
(・3・) エェー わかるように説明してくれたら明日作るYO
          もう酔っ払ってわかわかめだから僕も寝るお ノシ

335 :デフォルトの名無しさん:2006/11/05(日) 03:16:08
>>334
つ 砂糖

336 :314-315:2006/11/05(日) 12:09:00
問題文はこんな感じです。
sinx は
x - x**3/3! + x**5/5! -x**7/7! + ---- (1)
と級数展開される.

式(1)と組み込み関数で求めたsinxの値の差を,0度から360度まで,
プログラムを作成して求め,エクセルを用いてグラフに描け.
また,両者の差を0度から360度の範囲で1/10**4 (0.0001) 以下と
するには(1)の項数を第何項まで取ればよいか?

注意1:式(1)をプログラム化する際に,mainと別の関数を利用し,項数と角度を渡すと値を返すような関数
   を作成のこと.
注意2:xの型(整数,実数,倍精度実数)に注意すること.
注意3:xの単位(ラジアン,デグリー)に注意すること.

これでわかりますかね?

337 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 12:54:41
(・3・) エェー 今起きたお
          飯食べるからちょっこす待ってお

338 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 13:04:35
(・3・) アルェー ちょっとまった・・・もしかして暴走の原因って角度をラジアンに直してないからじゃ・・・

339 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 14:15:25
(・3・) エェー これでどうかNA?
          オーバーフロー怖いYO
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2876.txt

340 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 15:01:07
(・3・) エェー タイムリミット出かけるYO
          なんかあったらまた後でNE

341 :314-315:2006/11/05(日) 22:52:37
おかげさまで、プログラムを完成させることができました。
どうもありがとうございました。
また、聞くことがあるかもしれませんがそのときもよろしくお願いします。

342 :ぼるじょあ ◆yBEncckFOU :2006/11/05(日) 23:45:24
(・3・) エェー そりはよかったお

343 :デフォルトの名無しさん:2006/11/12(日) 14:05:22
1] 授業単元: プログラミング
[2] 問題文:
入力した文字列から指定した文字を検索するプログラムをポインタ変数を用いて作成せよ.
[実行例]
文字列を入力してください:Exercise
検索文字を入力してください:e
文字列"Exercise"に"e"は
3番目
8番目
にあります.

文字列を入力してください:Exercise
検索文字を入力してください:a
そんな文字は入っていない!
[3] 環境
[3.1] OS:Windowsxp
[3.3] 言語:C
[4] 期限:11月15日

よろしくお願いします。


344 :デフォルトの名無しさん:2006/11/12(日) 14:22:17
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
char *buf,c;
int i,x=0;

if ((buf=(char*)malloc(sizeof(char)*100)) == NULL){
return 1;
}
gets(buf);
scanf("%c",&c);

for (i=0;buf[i] != '\0';i++){
if (buf[i] == c){
printf("%d番目\n",i+1);
x=1;
}
}
if (!x){
printf("プゲラ\n");
}
free(buf);
return 0;
}

345 :ぼるじょあ ◆yBEncckFOU :2006/11/12(日) 14:24:04
(・3・) エェー なんかその問題違うスレで見た気がするお

346 :デフォルトの名無しさん:2006/11/13(月) 05:07:02
【質問テンプレ】
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):以下のそれぞれの数値を配列方変数に入力し、
数値の合計、平均を求め、さらに入力した数値を大きい順に並び替えて出力せよ
[3] 環境
 [3.1] OS: レッドハットリナックス
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2006/11/13
[5] その他の制限: 標準ライブラリは使ってはいけないっぽいです。
授業始まったばっかなんですが早くもさっぱりです><
よろしくおねがいします。

347 :デフォルトの名無しさん:2006/11/13(月) 14:06:52
>標準ライブラリは使ってはいけない
無理

348 :デフォルトの名無しさん:2006/11/13(月) 18:04:44
>>347
入出力をread, writeにすればいいだけだろ

349 :ぼるじょあ ◆yBEncckFOU :2006/11/13(月) 21:05:33
(・3・) エェー qsortとか使っちゃいけないとかじゃないNO?

350 :ぼるじょあ ◆yBEncckFOU :2006/11/13(月) 21:09:51
>>356
>その他の制限: 標準ライブラリは使ってはいけないっぽいです。

すまん、もう一度よく聞いて来てくれ。「っぽい」では信用しにくい。
さすがにprintf()とかfrptinf()を使うなとはいきなり言わないと思うが。

351 :ぼるじょあ ◆yBEncckFOU :2006/11/13(月) 21:10:34
×>>356
>>346

(・3・) アルェ〜 間違ってしまったYO

352 :ぼるじょあ ◆yBEncckFOU :2006/11/13(月) 21:21:04
(・3・) エェー じゃあこんなんで

#include<stdio.h>
#include<stdlib.h>
#define N 5

int main(void){
int num[N], i, k, swap, sum=0;
for(i=0; i<N; i++){
scanf("%d", &num[i]);
sum = sum + num[i];
}
printf("合計:%d\n", sum);
printf("平均:%f\n", (double)sum/N);
for(i=0; i<N; i++){
for(k=0; k<N-i-1; k++){
if(num[k] < num[k+1]){
swap = num[k];
num[k] = num[k+1];
num[k+1] = swap;
}
}
}
for(i=0; i<N; i++)printf("%d\n", num[i]);
return EXIT_SUCCESS;
}

353 :デフォルトの名無しさん:2006/11/15(水) 02:06:40
C++やP2P技術に卓越したプログラマのぼるじょあ殿
宜しければ一度で良いので拝見して頂きたいです
当企画の成立には貴方の力が必要です

次世代コミュニティ製作 C++,mod_perl,P2Pが使えるコーダ、グラフィッカ募集中
http://pc8.2ch.net/test/read.cgi/tech/1163349367/

354 :デフォルトの名無しさん:2006/11/15(水) 13:43:11
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):2つの自然数 a, b に対し,
   その公約数をすべて表示する関数を作成せよ 。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++
[4] 期限: 2006年11月15日14:30まで
[5] その他の制限: なし


355 :デフォルトの名無しさん:2006/11/15(水) 14:00:29
>>354
ここにある
C/C++の宿題を片付けます 76代目
http://pc8.2ch.net/test/read.cgi/tech/1162771475/605

356 :デフォルトの名無しさん:2006/11/15(水) 14:22:52
>>355
ありました!ありがとうございます。

357 :デフォルトの名無しさん:2006/11/15(水) 23:00:57
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
最大8桁の整数を2つ入力し、int型配列に格納。
入力後2つの数の和を求める。負の数、整数以外、スペースのみが入力された場合
エラーメッセージを表示
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 11/18まで
[5] その他の制限:scanfは使えない






358 :デフォルトの名無しさん:2006/11/16(木) 09:10:41
>>357
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2942.txt
(・3・) エェー エラーは纏めて一緒くただけど良いよNE

359 :ぼるじょあ ◆yEbBEcuFOU :2006/11/16(木) 09:12:02
(・3・;) アルェ〜 名前欄忘れちゃったYO

360 : ◆bUnakS8vvE :2006/11/16(木) 23:11:44
[1] 授業単元:プログラム
[2] 問題文(含コード&リンク): ローマ数字から算用数字への変換をC言語でつくりなさい。
例 1 = I
2 = II
3 = III
4 = IV
5 = V
6 = VI
7 = VII
8 = VIII
9 = IX
10 = X
50 = L
100 = C
500 = D
1000 = M
1058 = MLVIII
  
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: ([2006年11月18日まで] )
[5] その他の制限: 特にありません


361 :デフォルトの名無しさん:2006/11/16(木) 23:45:41
# include <stdio.h>
const char *parse_char(const char *src, char c) {
  return src && c && *src == c ? src + 1 : NULL;
}
const char *parse_unit(const char *src, char one, char five, char ten, int *out) {
  const char *ret = NULL;
  if(ret = parse_char(parse_char(src, one), ten)) *out = 9;
  else if(ret = parse_char(parse_char(parse_char(parse_char(src, five), one), one), one)) *out = 8;
  else if(ret = parse_char(parse_char(parse_char(src, five), one), one)) *out = 7;
  else if(ret = parse_char(parse_char(src, five), one)) *out = 6;
  else if(ret = parse_char(src, five)) *out = 5;
  else if(ret = parse_char(parse_char(src, one), five)) *out = 4;
  else if(ret = parse_char(parse_char(parse_char(src, one), one), one)) *out = 3;
  else if(ret = parse_char(parse_char(src, one), one)) *out = 2;
  else if(ret = parse_char(src, one)) *out = 1;
  else if(ret = src) *out = 0;
  return ret;
}
int main(void) {
  const char *ones = "\0MCXI", *fives = "\0DLV";
  char input[0x100];
  const char *p;
  int i, j, n = 0;
  if(!(p = fgets(input, sizeof input, stdin))) return 1;
  for(i = 1; ones[i]; i++) {
    p = parse_unit(p, ones[i], fives[i-1], ones[i-1], &j);
    n = n * 10 + j;
  }
  if(!p || *p != '\n' || !*p || p == input) printf("parse error\n");
  else printf("%d\n", n);
  return 0;
}

362 : ◆bUnakS8vvE :2006/11/16(木) 23:57:53
>>361
すいません。windowsでも同じですか?自宅ではwindowsで
やっています。
コンパイルしたら、
エラー E2206 ファイル名:不正な文字` `(0x0)
というのが、たくさん出てきたのですが。

363 :デフォルトの名無しさん:2006/11/17(金) 00:01:05
>>362
同じ。
>エラー E2206 ファイル名:不正な文字` `(0x0)
2chブラウザの問題かもしれない。
webブラウザでこのスレを開いてコピペしてみてくれ。

364 : ◆bUnakS8vvE :2006/11/17(金) 00:13:13
>>363
できました。ありがとうございます。
後、繰り返すには、どうすればよいですか?

別に構造体を使うこともできますか?

365 :デフォルトの名無しさん:2006/11/17(金) 00:20:15
>>364
使いたければ使え。使う必要はないが。

366 :デフォルトの名無しさん:2006/11/17(金) 00:26:24
>>365
かるくこのプログラムについて教えていただいていいですか?
うまく理解できないんで・・・
すいません、勉強が足りなくて。


367 :デフォルトの名無しさん:2006/11/17(金) 01:10:57
>>366
parse_charとparse_unitは文字列の一部を解析する関数で、
解析を開始する位置の文字へのポインタを第一引数として受け取って、
解析し終わった位置の次の文字へのポインタ、または
解析に失敗したときはNULLを返す。
parse_charは決まった文字cを解析する。だから、*str==cのときのみ成功し、
次の文字へのポインタを返す。!strや!cのとき無条件に失敗するのは、後で役に立つ。
parse_unitはアラビア数字の一桁に相当するものを解析し、結果を*outに入れる。
例えば、MMMXXIXなら「MMM」(3), 「」(0), 「XX」(2), 「IX」(9)の4桁からなっていると考える。
この関数は、注目している桁の基本となるローマ数字(one)と、その5倍(five)、10倍(ten)を表す
ローマ数字(適切な文字がないときは'\0')を引数としてとる。
例えば、10の位に注目しているなら、one='X', five='L', ten='C'で呼び出される。
ところで、parse_charを入れ子にして呼び出すと、特定の文字の並びを解析できる。例えば
parse_char(parse_char(str, 'a'), 'b')と呼び出すと、strが"ab"ではじまるときのみ解析が成功し、
さらに次の文字(strの三文字め)を指すポインタを返す(なぜこうなるか考えてみよ)。途中で解析が
失敗すると、parse_charからNULLが返り、それを受け取った次のparse_charも即座に失敗し、これが繰り返されるので、
全体が失敗してNULLが返ることに注意。さて、これを利用して、例えば
ret = parse_char(parse_char(src, one), ten)とすれば「one, ten」というローマ数字の並びを解析でき、
これはつまり注目している桁が「9」だということを意味する。同様に8から1までもテストして、結果に応じて
*outに値を代入して返る。全てのテストが失敗したときは、この桁には数字がなかったと考えて、*outに0を代入して返る。
mainでは、大きい桁から順にparse_unitを呼び、それぞれの桁を10倍しながら足し合わせて、結果を得る。
最終的に文字列が全て消費されていないときは、どこかで失敗しているのでエラーメッセージを表示。
そうでなければ成功しているはずなので結果を表示して終了。

368 :デフォルトの名無しさん:2006/11/17(金) 01:18:40
>>367
ありがとうございます。理解できるよう考えながら読んでみます。

369 : ◆DG40hZpqdg :2006/11/17(金) 01:37:01
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 次の数値の表を反復構造とタブ文字\tを使って
  プリントするCプログラムを書け。
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
 N     10*N     100*N     1000*N

 1     10      100      1000
 2     20      200      2000
 3     30      300      3000
 4     40      400      4000
 5     50      500      5000

〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓

[3] 環境
 [3.1] OS: Windows/XP
 [3.2] コンパイラ名とバージョン: emacs
 [3.3] 言語: (C/C++/どちらでも可 のいずれか) Cのみでお願いします。
[4] 期限:[2006年11月22日まで
[5] その他の制限: ぜんぜんかじり程度しか習ってません。
今までの課題は教科書に載ってる練習問題に少し応用が利いたもので
理解できたのですが、今回はまったくわからないです(´・ω・`)
C言語を理解する上で大切な事とか教えてもらえたら幸いです。
大変お忙しいとは思いますが、よろしくお願いいたします。

370 :ぼるじょあ ◆yEbBEcuFOU :2006/11/17(金) 02:12:19
>>369
(・3・) エェー とりあえずヒント書いてみるYO
int n;
printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");
printf(" N\t10*N\t100*N\t1000*N\n");
for ( n = 1 ; n <= 5 ; n++ ) { /* 反復処理は(・3・)ここ */ }

371 :ぼるじょあ ◆yBEncckFOU :2006/11/18(土) 12:17:46
>>369
(・3・) エェー 1日中サンプルコードを打ち込むとすぐにできるようになるYO

372 :デフォルトの名無しさん:2006/11/19(日) 09:29:31
[1] 授業単元:成績処理プログラミング
[2] 問題文・キーボードから n (1 <= n <= 50) 人分の得点(整数)を入力する.
・得点は0点以上100点以下とし,範囲外なら再入力させる.
・全員分入力が完了したら,平均点を求め,小数点以下1桁で表示する.
・各個人について,得点,平均点との差,および判定を表示する.
・判定は,80点以上を優,80点未満70点以上を良,
70点未満60点以上を可,60点未満を不可とする.

[3] 環境
 [3.1] OS: (Linux)
 [3.2] コンパイラ名とバージョン: (gcc 3.4 )
 [3.3] 言語: C言語
[4] 期限: (2006年11月21日まで)
[5] その他の制限: 論理演算子・配列

373 :デフォルトの名無しさん:2006/11/19(日) 15:02:58
ぼるじょあイイやつだな、、

374 :ぼるじょあ ◆yBEncckFOU :2006/11/19(日) 15:05:25
>>373
(・3・) エェー
悪いぼるじょあもいるYo

375 :デフォルトの名無しさん:2006/11/19(日) 20:48:44
[1] 授業単元: プログラム
[2] 問題文
二次元配列の理解:
srand関数と二次元配列を使用してランダムな1〜9の数字を10×10マスで埋めること。
例:
5 3 2 2 8 1 8 8 5 5
6 8 2 7 2 4 1 9 1 3
5 9 9 3 6 4 4 2 8 1
5 5 5 9 9 2 9 1 1 4
3 9 7 7 4 6 1 9 2 7
2 2 2 7 4 9 8 2 8 1
5 1 7 8 4 3 7 9 5 9
2 9 2 9 6 9 3 8 6 7
7 3 1 4 5 6 4 5 5 6
2 5 9 3 5 9 7 8 7 3


次にこれらの配列を小さい順に並べるプログラムを完成させよ

例:
1 2 2 2 2 3 3 3 4 4 5
5 5 6 7 7 8 8 8 ......

[3] 環境
 [3.1] OS: XP
 [3.2] borland bcc32
 [3.3] 言語: c
[4] 期限:10月20日
[5] その他の制限: マージソートというのを習ったのですが理解ができませんでした orz
よろしくお願いします。


376 :デフォルトの名無しさん:2006/11/19(日) 21:21:27
ぐぐってみたんですか?
この一言に集約されます。

377 :ぼるじょあ ◆H6wikgcXIU :2006/11/19(日) 21:27:20
(・3・)エェー

378 :デフォルトの名無しさん:2006/11/19(日) 21:41:43
>>375

#include <stdio.h>
#include <stdlib.h>

void rand_array(int array[10][10]) {
 for(int* p=array; p!=&array[10][0]; p++) *p=rand()%9+1;
}

void rand_disp(int array[10][10]) {
 for(int i=0; i<10; i++) {
  for(int j=0; j<10; j++)
   printf("%1d ", array[i][j]);
  printf("\n");
 }
}

int comp(const void* a, const void* b) {
 return *(int*)a-*(int*)b;
}

int main(void) {
 int array[10][10];
 srand(rand());
 rand_array(array);
 rand_disp(array);
 qsort(array, 10*10, sizeof(int), comp);
 printf("\n");
 rand_disp(array);
 return 0;
}


379 :デフォルトの名無しさん:2006/11/19(日) 21:55:59
[1] 授業単元: 卒研
[2] 問題文:
三次元self-aboidingウォークのプログラム
self-aboidingウォークとはランダムウォークしてるときに
一度通った道を通らないもの。
格子状でお願いします(上下左右の運動)
[3] 環境
 [3.1] OS: WindowsXP
 [3.3] 言語: C言語
[4] 期限: なるべく早めでお願いします
[5] その他の制限: cygwinを使います。gnuplotで表示させます

どなたかお願いします。。

380 :デフォルトの名無しさん:2006/11/19(日) 22:12:55
[3] 環境
言語: C言語

381 :デフォルトの名無しさん:2006/11/20(月) 00:16:54
>>379 卒研ってお前・・・
研究する気あるのかよ

382 :デフォルトの名無しさん:2006/11/20(月) 00:21:57
>>381
全然理解できないのです
どうかよろしくお願いします。

383 :デフォルトの名無しさん:2006/11/20(月) 00:23:41
>>382
留年ってかっこいいよ!!

384 :デフォルトの名無しさん:2006/11/20(月) 00:31:21
勘弁してください↓

385 :デフォルトの名無しさん:2006/11/20(月) 00:31:32
>>382
卒論の謝辞のところにちゃんと「ぼるじょあスレの皆さん」と書いてくれるかな?

386 :デフォルトの名無しさん:2006/11/20(月) 00:44:12
>>382
うう・・・
言われると思ったwwww
さすがに厳しいっすよ(;;)

387 :デフォルトの名無しさん:2006/11/20(月) 07:02:21
なら、(・3・)エェー って時々書いておけ

388 :デフォルトの名無しさん:2006/11/20(月) 15:27:13
>>379
マルチすんなはげ

389 :ぼるじょあ ◆yBEncckFOU :2006/11/20(月) 19:27:11
>>372
(・3・) エェー 明日までかYO
          コーシー淹れたらやるYO

390 :ぼるじょあ ◆yBEncckFOU :2006/11/20(月) 19:52:21
>>372
(・3・) エェー ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3005.txt

391 :ぼるじょあ ◆yBEncckFOU :2006/11/20(月) 19:53:42
>>379
(・3・) エェー gnuplotがよくわからんYO

392 :デフォルトの名無しさん:2006/11/20(月) 20:39:01
>>379
ランダムウォークの移動方向の確率は?
空間の広さは?
袋小路にはまったときは?
空間は端っこが行き止まり?それともどこかに繋がってる?
終了条件は?
格子のすべての辺および点は通行可能?
aboid?avoid?

393 :デフォルトの名無しさん:2006/11/20(月) 20:41:01
ついでに開始条件も

394 :デフォルトの名無しさん:2006/11/20(月) 20:43:16
904 名前:デフォルトの名無しさん[] 投稿日:2006/11/20(月) 14:03:05
[1] 授業単元: 卒研の授業の課題
[2] 問題文:
三次元self-aboidingウォークのプログラム
self-aboidingウォークとはランダムウォークしてるときに
一度通った道を通らないもの。
格子状でお願いします(上下左右の運動)
[3] 環境
 [3.1] OS: WindowsXP
 [3.3] 言語: C言語
[4] 期限: なるべく早めでお願いします
[5] その他の制限: cygwinを使います。gnuplotで表示させます

どなたかお願いします。。

395 :デフォルトの名無しさん:2006/11/20(月) 22:15:24

典型的な自分が何をしたら良いのかすらわからない
若しくは伝えられない逝っちゃってる人乙。
研究室の人から見放されたか?w
ちっとくらい整理してから説明しろ。

396 :デフォルトの名無しさん:2006/11/20(月) 22:16:42
>卒研の授業の課題
どういうこと?

397 :デフォルトの名無しさん:2006/11/20(月) 22:59:21
>>392
ランダムウォークの移動方向の確率は?
>1〜6までの乱数でx+1,x-1,y+1,y-1,z+1,z-1と動かすのでお願いします。
空間の広さは?
>空間はとりあえず10*10*10で取り合えずお願いします
袋小路にはまったときは?
>もう一回やり直します
空間は端っこが行き止まり?それともどこかに繋がってる?
行き止まりでお願いします。
終了条件は?
>10*10*10の中で取り合えず20回歩かせれば良いです。
格子のすべての辺および点は通行可能?
10*10*10の範囲だったらOKです。
aboid?avoid?
>すいません。avoidです。
卒研の授業の課題
どういうこと?
>単位上は卒業研究として扱われます。


とりあえず二次元上でもよいので誰かよろしくお願いします。
できれば原点からの距離を求めれたら尚更良です。

私はプログラミングが全然理解できません
すみません。。


398 :デフォルトの名無しさん:2006/11/20(月) 23:07:30
マルチポストは意地でも謝らないんだなw

399 :デフォルトの名無しさん:2006/11/20(月) 23:13:50
距離とかどうでもいんだけど、どっから始めんの
(x,y,z)=(0.0.0)とかそれとも・・・適当?w

400 :デフォルトの名無しさん:2006/11/20(月) 23:18:27
>>397みたいなボケが、まるで「自分はプログラムを組める」かのような顔をしてPGとかSEになるんだろうな…

401 :デフォルトの名無しさん:2006/11/20(月) 23:24:16
こんなクソ簡単なプログラムが卒業研究ってどんなバカ大学だよ

402 :デフォルトの名無しさん:2006/11/20(月) 23:31:59
(X、Y、Z)=(0、0、0)でお願いします。

403 :デフォルトの名無しさん:2006/11/21(火) 00:33:39
>>397
でけた!卒業研究の論文の内容が面白ければうpする。
どんな論文なのかうpしる!まあ、オレはぼるじょわではないけどな

>私はプログラミングが全然理解できません
心理学系の学科だとすると三次元というのは考えにくいので、情報系の学科だろう。
そうだとすると、こんな奴が卒業してもいいのか疑問。後輩が苦労するからな。

404 :デフォルトの名無しさん:2006/11/21(火) 01:08:35
>>403
ほんとですか?
一応内容は3次元self-avoidingウォークの臨界指数を求めること。
ランダムウォークは原点からNステップ回移動した距離は回数Nの1/2乗に
比例します。(臨界指数とはこの場合1/2のことを指す)
self-avoidingウォークの場合は2次元上ではNの3/4乗
4次元の場合は1/2乗に比例するが3次元の場合は数値計算に
よるしか方法がないためそのシミュレーションを行いたいのです。
ここのみなさんではこんなの簡単だろうと思うと思いますが
私にはそんなことすらできないのです。
自分が情けないです。
ちなみに情報系の学科です。
なぜみなさんはプログラミングができるのでしょうか?


405 :デフォルトの名無しさん:2006/11/21(火) 01:22:10
>>404 で書いていることと >>397 の条件が食い違っている
プログラミング以外にも問題があるようだな

406 :デフォルトの名無しさん:2006/11/21(火) 01:28:17
>>404
>なぜみなさんはプログラミングができるのでしょうか?

逆にお前に聞きたい。
情報系の学科にいて、なぜこの程度のプログラムも書けない?
大学に入ってからプログラミングを始めた奴でも、今の時期なら書けるぞ。

407 :406:2006/11/21(火) 01:31:21
× 大学に入ってからプログラミングを始めた奴
○ 大学に入ってからプログラミングを始めた一回生
でお願いします。

408 :デフォルトの名無しさん:2006/11/21(火) 01:37:46
プログラムの授業をとらなくていいことと自分の理解力の低さが原因です。

409 :デフォルトの名無しさん:2006/11/21(火) 01:40:11
情報系の学科でプログラムの授業を取らなくいい?
可能ならば大学名さらしてくれ。興味がある。

410 :デフォルトの名無しさん:2006/11/21(火) 01:47:22
以下のような3つのペアの実数をファイルに書き、
それらのペアを配列を使って読んで、
それぞれの四則演算を別のファイルに書き出しなさい。

5.0 3.0
2.5 1.0
4.0 1.5


って課題が授業で出てサッパリわかんなくて困ってるんですが、
どなたか助けていただけないでしょうか?

411 :デフォルトの名無しさん:2006/11/21(火) 01:49:38
必修がひとつあるのだけど用語などの暗記で単位が習得できるのです
大学名は勘弁してください


412 :デフォルトの名無しさん:2006/11/21(火) 02:01:43
機械科卒だがプログラミング演習は必修だった俺が来ましたよ。

まあ、プログラミングってもFORTRANで数値計算やっただけだがな。

413 :デフォルトの名無しさん:2006/11/21(火) 02:26:54
>>394

一歩だけ動くプログラムを作った。

・20歩動けば終了
・一度通ったところに行くと終了
・範囲外に出たら終了
とりあえず、この3つの条件を自分で追加すべし。


#include <cstdlib>
#include <ctime>

#define SIZE (10)

void init(bool space[SIZE][SIZE][SIZE], int *x, int *y, int *z)
{
*x = 0;
*y = 0;
*z = 0;

for (unsigned int i = 0; i < SIZE; ++i) {
for (unsigned int j = 0; j < SIZE; ++j) {
for (unsigned int k = 0; k < SIZE; ++k) {
space[i][j][k] = false;
}
}
}

return;
}


414 :デフォルトの名無しさん:2006/11/21(火) 02:27:41
bool move(bool space[SIZE][SIZE][SIZE], int *x, int *y, int *z)
{
int param = rand()%6 + 1;

switch(param) {
case 1:
++(*x);
break;

case 2:
--(*x);
break;



415 :デフォルトの名無しさん:2006/11/21(火) 02:28:19

case 3:
++(*y);
break;

case 4:
--(*y);
break;

case 5:
++(*z);
break;

case 6:
--(*z);
break;

default:
break;
}

space[*z][*y][*x] = true;

return true;
}


416 :デフォルトの名無しさん:2006/11/21(火) 02:29:01
int main()
{
bool space[SIZE][SIZE][SIZE];
int x, y, z;

srand(time(NULL));

init(space, &x, &y, &z);

move(space, &x, &y, &z);

return 0;
}


417 :デフォルトの名無しさん:2006/11/21(火) 02:44:28
ありがとうございます。
しかし失礼ですがエラーのほとんど理解できません。
1、2行目は
stdio,h
stdlib.h
のことですよね?

418 :デフォルトの名無しさん:2006/11/21(火) 02:47:10
>>417
おお、すまん。
これはC++のコードだ。
g++とかc++あたりでコンパイルしてくれ。

419 :デフォルトの名無しさん:2006/11/21(火) 02:53:32
Cすら全然分からないのにC++だと頭パンクしそうです。
C++でコンパイルと言われましても‥

420 :デフォルトの名無しさん:2006/11/21(火) 02:54:41
もうほっとけ

421 :デフォルトの名無しさん:2006/11/21(火) 02:56:30
>>419
cygwin入れてるんだろ?
g++ xxx.cpp -o xxx.exe

422 :デフォルトの名無しさん:2006/11/21(火) 03:00:14
すいません。
gccしか使えません。


423 :デフォルトの名無しさん:2006/11/21(火) 03:04:56
>>422

じゃあg++を入れる。

もしくはソースを書き換える。

cstdlib -> stdlib.h
ctime -> time.h

あとはCにはboolがないので、
bool -> int
false -> 0
true -> 1

にでも書き換える。

424 :デフォルトの名無しさん:2006/11/21(火) 03:06:37
もう一つ

for (unsigned int i = 0; i < SIZE; ++i) {
for (unsigned int j = 0; j < SIZE; ++j) {
for (unsigned int k = 0; k < SIZE; ++k) {


unsigned int i, j , k;

for (i = 0; i < SIZE; ++i) {
for (j = 0; j < SIZE; ++j) {
for (k = 0; k < SIZE; ++k) {

425 :デフォルトの名無しさん:2006/11/21(火) 03:17:00
わざわざすいません。
理解ができるようにソースを書き換えたとこれエラーがでなくなりました。
しかしお恥ずかしいのですがこの先どうすればよいのですか?


426 :デフォルトの名無しさん:2006/11/21(火) 03:19:36
・20歩動けば終了
・一度通ったところに行くと終了
・範囲外に出たら終了
とりあえず、この3つの条件を自分で追加すべし。

427 :デフォルトの名無しさん:2006/11/21(火) 03:22:18
それが条件の入れ方などが全く分からないのです。
すいません。

428 :デフォルトの名無しさん:2006/11/21(火) 03:27:16
>>427
じゃあ、ヒント(なにもかも人任せなのはいただけないので)
for
while
if
return
あたりの使い方を調べるべし。

あと、move関数は
・移動ができれば1を返す
・移動ができなければ0を返す
という関数として書きました。

429 :デフォルトの名無しさん:2006/11/21(火) 03:28:25
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
FILE *fp;
int a,t,x=0,y=0,z=0;
fp = fopen("ozi3.txt","w");
srand(time(NULL));
for(t=1;t<1000;t++)
{
a=rand()%6;
if (a==0) y=y+1;
else if (a==1)y=y-1;
else if (a==2)x=x+1;
else if (a==3)x=x-1;
else if (a==4)z=z-1;
else if (a==5)z=z+1;
fprintf(fp,"%d %d %d\n", x, y,z);
printf("%d %d %d\n", x, y,z);
}
fclose(fp);
return 0;
}
この程度のランダムウォークのプログラムが私の限界です


430 :デフォルトの名無しさん:2006/11/21(火) 03:33:16


431 :デフォルトの名無しさん:2006/11/21(火) 03:34:22
>>429
とりあえず、whileをつかって1から20までの整数を出力するプログラムを書いてみましょう。
それができれば、>>426で書いた一つ目の条件がクリアできるようになるはず。

432 :デフォルトの名無しさん:2006/11/21(火) 04:04:49
#include <stdio.h>
main()
{
int i;
for(i = 1; i <=20; i++){
printf("%3d", i);
}

return 0;
}

おきてますか?
forを使いました
時間かかってすいません




433 :デフォルトの名無しさん:2006/11/21(火) 04:06:28
おきてますかじゃねーだろ

434 :デフォルトの名無しさん:2006/11/21(火) 04:09:50
まあ、forでもいいか。
で、俺が書いたプログラムに戻る。

>>432の要領で、move関数を20回呼び出せば、20歩動くことになるってのはわかるかい?

435 :デフォルトの名無しさん:2006/11/21(火) 04:10:29
すいません

436 :デフォルトの名無しさん:2006/11/21(火) 04:16:16
意味はわかるのですがどういれてやるのかわかりません。

437 :デフォルトの名無しさん:2006/11/21(火) 04:17:37
>>436
俺が書いたプログラムで、1回だけmove関数を呼び出してるってのはわかるかい?

438 :デフォルトの名無しさん:2006/11/21(火) 04:21:05
すいません
それがよくわかりません。

439 :デフォルトの名無しさん:2006/11/21(火) 04:24:50
もうネタとしか思えない

440 :デフォルトの名無しさん:2006/11/21(火) 04:29:27
なるほど。そこがわからんのか。

>>432は、printf関数を20回呼び出すプログラムなわけだ。
今回はの対象がprintfじゃなくてmoveに変わっただけ。

printfとmoveの違いは、
printfは既に用意されている標準関数であるのに対して、
moveは自分で用意した自作関数であるって所。
関数であることに違いはない。

自作関数に関しては↓あたりを参照して勉強するべし
http://www1.cts.ne.jp/~clab/hsample/Primary/Io6.html

441 :デフォルトの名無しさん:2006/11/21(火) 04:35:11
いやmoveだけじゃなく95%わかんないです。

442 :デフォルトの名無しさん:2006/11/21(火) 04:38:22
じゃあ、とりあえずわかってる5%がどこなのか教えてくれ。

443 :デフォルトの名無しさん:2006/11/21(火) 04:43:03
わかるのは
まず10×10×10の配列をつくっているとこ
そこの値が0であること
その道を通ると1になることくらいです
まちがってたらすいません

444 :デフォルトの名無しさん:2006/11/21(火) 04:48:13
>>443
それであってますよ。(「そこ」とか「その」って表現は微妙ですが)

じゃあ、
init(space, &x, &y, &z);
move(space, &x, &y, &z);
で何をしているかはわかるかい?

445 : ◆i5dB9vhrMo :2006/11/21(火) 04:50:27
そこは全くわかりません

446 :デフォルトの名無しさん:2006/11/21(火) 04:54:53
すまん。眠たさの限界だ。
とりあえず、改良したソースを張っておく。
どこでどんなことをしているプログラムなのかは、
Cの入門書片手にソースを読むか、プログラミングができる友達にでも見せて教えてもらってくれ。

#include <stdlib.h>
#include <time.h>

#define SIZE (10)

void init(int space[SIZE][SIZE][SIZE], int *x, int *y, int *z)
{
unsigned int i, j, k;

*x = 0;
*y = 0;
*z = 0;

for (i = 0; i < SIZE; ++i) {
for (j = 0; j < SIZE; ++j) {
for (k = 0; k < SIZE; ++k) {
space[i][j][k] = 0;
}
}
}

return;
}


447 :デフォルトの名無しさん:2006/11/21(火) 04:55:24

int move(int space[SIZE][SIZE][SIZE], int *x, int *y, int *z)
{
int param = rand()%6 + 1;

switch(param) {
case 1:
++(*x);
break;

case 2:
--(*x);
break;

case 3:
++(*y);
break;

case 4:
--(*y);
break;


448 :デフォルトの名無しさん:2006/11/21(火) 04:56:20

case 5:
++(*z);
break;

case 6:
--(*z);
break;

default:
break;
}

if ((space[*z][*y][*x] == 1) ||
(*x < 0) || (*x > 10) ||
(*y < 0) || (*y > 10) ||
(*z < 0) || (*z > 10)) {
return 0;
}

space[*z][*y][*x] = 1;

return 1;
}


449 : ◆i5dB9vhrMo :2006/11/21(火) 05:10:44
遅くまですいませんでした。
エラーが出ました
最後の
||
はなんでしょうか?
またよろしくお願いします

450 :446:2006/11/21(火) 06:17:35
連続書き込み制限に引っかかって、最後までソースを張れなかったぜorz

int main()
{
int space[SIZE][SIZE][SIZE];
int x, y, z;
unsigned int counter;

srand(time(NULL));

init(space, &x, &y, &z);

counter = 0;
while (counter < 20) {
if (move(space, &x, &y, &z) == 1) {
++counter;
} else {
init(space, &x, &y, &z);
counter = 0;
}
}

return 0;
}


451 :デフォルトの名無しさん:2006/11/21(火) 08:14:14
つーか、この程度がわからないのは致命的だって。
指導教官と相談してなんか対策とらないと不幸になるぞ。

452 :403:2006/11/21(火) 08:25:08
オレが書いたソースの一部。今教えてくれてる人と書き方が違うので注意。
int random_walk(position *cur){
const position pos_diff[]={
{ 1, 0, 0},
{-1, 0, 0},
{ 0, 1, 0},
{ 0,-1, 0},
{ 0, 0, 1},
{ 0, 0,-1},
};
int index_list[NITEM(pos_diff)];
int index, index_num=0;
int i;
position pos_temp;

for(i=0;i<NITEM(pos_diff);i++){ /* 行き先候補の列挙 */
pos_temp=position_add(cur, &pos_diff[i]);
if(field_get_pos(&pos_temp)==FIELD_ZERO)
index_list[index_num++]=i;
}
if(index_num==0)/* 次の行き先候補が 0 個 -> 袋小路に入った */
return 0;

index=index_list[rand()%index_num]; /* 行き先候補の中から一つ選択 */
*cur=position_add(cur, &pos_diff[index]);
field_set_pos(cur, FIELD_PASSED);

return 1;
}

453 :デフォルトの名無しさん:2006/11/21(火) 09:23:11
↓どうか助けてください。

以下のような3つのペアの実数をファイルに書き、
それらのペアを配列を使って読んで、
それぞれの四則演算を別のファイルに書き出しなさい。

5.0 3.0
2.5 1.0
4.0 1.5

454 :453:2006/11/21(火) 09:31:26
[1] 授業単元: プログラミング
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: emacs
 [3.3] 言語: C
[4] 期限: 2006年11月21日14時まで


455 :デフォルトの名無しさん:2006/11/21(火) 09:32:24
>>453
マルチしすぎ

456 :453:2006/11/21(火) 09:42:48
>>455
ごめんなさい。それだけ焦っちゃってるんで・・・・


457 :デフォルトの名無しさん:2006/11/21(火) 09:44:49
Emacs Lispは強力だな。
最近はCコンパイラまで実装してたのか。

458 :デフォルトの名無しさん:2006/11/21(火) 10:05:19
>>453
半年振りにC触ったよ
コンパイルないから、構文エラー等は自分で何とかしてくれ。

#include<stdio.h>
#include<math.h>

int main(int argc,char **argv){
float value[3][2]={{5.0, 3.0}, {2.5, 1.0 },{4.0, 1.5 }}
int i=0;
FILE *fp=NULL

if(NULL==(fp=fopen("test.dat","w")){
printf("file open error! %s\n","test.dat");
exit(1);
}
for (i=0;i<3;i++){
fprintf("%f + %f = %5.3f\n",value[i][0],value[i][1],value[i][0]+value[i][1]);
fprintf("%f - %f = %5.3f\n",value[i][0],value[i][1],value[i][0]-value[i][1]);
fprintf("%f * %f = %5.3f\n",value[i][0],value[i][1],value[i][0]*value[i][1]);
fprintf("%f / %f = %5.3f\n",value[i][0],value[i][1],value[i][0]/value[i][1]);
}

fclose(fp);
return 0;
}


459 :デフォルトの名無しさん:2006/11/21(火) 11:22:23
それだと、fprintfのところでコンパイルエラーが出るはず。

460 :デフォルトの名無しさん:2006/11/21(火) 11:29:47
>>456
つまりお前は今後も焦ったらマルチポストを繰り返すわけか

もうね、死んで

461 :458:2006/11/21(火) 12:22:12
>>459
それ以外にも、valueやfpの宣言でもエラーがでるよ。
でも、95%答えは出ているのだから、
コンパイル通すくらいはマルチ君でもできるだろう。。


462 :デフォルトの名無しさん:2006/11/21(火) 12:24:04
>>461
あ、本当だw
あと、ifでも出るね。

463 :デフォルトの名無しさん:2006/11/21(火) 16:10:00
>>446
エラー出ませんでした
この先どーすればいいでしょうか?

464 :デフォルトの名無しさん:2006/11/21(火) 16:46:05
マルチ君のなにが悪いんだって気がするけど。
それだけ困ってるって人を助けてあげるってのが我々の仕事だとオモワレ

465 :デフォルトの名無しさん:2006/11/21(火) 16:50:05
だから助けてあげてるYO

466 :デフォルトの名無しさん:2006/11/21(火) 17:05:11
>>465
助けてください
446のあとどーすればgnuplotに20歩歩かせたのを出力できますか?

467 :デフォルトの名無しさん:2006/11/21(火) 17:05:50 ?2BP(200)
>>464
意味が分からん。課題ができなくて困ってる奴の代わりに課題をやってやっても
別に困ってる奴は助からないぞ。必要な能力が身に付かないんだから。

468 :464:2006/11/21(火) 17:08:58
>>467
今回は時間に終われてたみたいだし、
これ以降はきっと自分で理解するように頑張るんじゃない?

469 :デフォルトの名無しさん:2006/11/21(火) 17:45:01 ?2BP(200)
そもそも卒研なのに時間に追われてる時点で救いがたい。
つーか「これ以降」って何よw そんなもんあるの?w

470 :デフォルトの名無しさん:2006/11/21(火) 18:26:20
くだらん議論はスレ違い

471 :デフォルトの名無しさん:2006/11/21(火) 18:30:45
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(void)
{
FILE *fp;

int t,x=0,y=0,z=0,a;
fp = fopen("1.txt","w");
srand(time( NULL ) );
for(t=1;t<2;t++)
{
a = rand()%6;
if (a==0) y=y+1;
else if (a==1)y=y-1;
else if (a==2)x=x+1;
else if (a==3)x=x-1;
else if (a==4)z=z+1;
else if (a==5)z=z-1;
fprintf(fp,"%d %d %d\n", x, y,z);
printf("%d%d%d\n",x,y,z);
}

fclose(fp);
return 0;
}

ここからself-avoidingウォークできませんか?

472 :デフォルトの名無しさん:2006/11/21(火) 18:43:45
「自分で考える」ってことをしてるか?

473 :デフォルトの名無しさん:2006/11/21(火) 18:53:59
考えてもできないんです
10*10の5回移動する二次元上のプログラムでよいので
模範解答作っていただけませんか?
明日発表しなければいけないのですがなんも進みません。。


474 :デフォルトの名無しさん:2006/11/21(火) 19:03:41
>>473
手遅れと気付こうよ。

475 :デフォルトの名無しさん:2006/11/21(火) 19:11:46
だれか救いの手を。。

476 :デフォルトの名無しさん:2006/11/21(火) 19:14:56 ?2BP(200)
考えてもできないなら卒業する能力がないんだからおとなしく留年しれ。

477 :デフォルトの名無しさん:2006/11/21(火) 19:16:27
最終日まで何もしないで居るんだから、
その程度のものなんだよ。
だから、例えできないまま発表を迎えても
>>473には特に影響はないのだろう。

478 :デフォルトの名無しさん:2006/11/21(火) 19:39:01
進捗状況として、「標準出力は出来るようになりました。これからgnuplotで出力できるように改良していきます。」とでも言っておけ。

479 :478:2006/11/21(火) 19:43:07
まさか、>>446にあそこまで作ってもらって、コンソールに出力が出来ないわけないよな?

480 :デフォルトの名無しさん:2006/11/21(火) 19:45:28
実行してもなにもおこらないんです

481 :デフォルトの名無しさん:2006/11/21(火) 19:46:35 ?2BP(200)
留年するか退学しれ。もう手の施しようがない。

482 :デフォルトの名無しさん:2006/11/21(火) 19:48:50
お前プログラムをちゃんと読んだか?
あのプログラムは、ランダムウォークを実装してるだけだ。
出力はしていない。
出力部分は自分で作れ(spaceの値を出力するだけでいいだろう?)。
そして>>478のように言っておけ。

483 :デフォルトの名無しさん:2006/11/21(火) 19:56:22
printf("%d%d%d",x,y,z);
をどこに入れればいいのでしょうか?

484 :デフォルトの名無しさん:2006/11/21(火) 19:57:59
>>482をちゃんと読んだか?
人に聞いてばかりじゃなくて、それくらい自分でやれ。

485 :デフォルトの名無しさん:2006/11/21(火) 20:00:57
それが本当にわからないんです。

486 :デフォルトの名無しさん:2006/11/21(火) 20:01:24
きっと>>464が助けてくれるよ

487 :デフォルトの名無しさん:2006/11/21(火) 20:03:03 ?2BP(200)
>>485
それすら分からないならもうあきらめろ。
どう見ても卒業に値する能力がない。

488 :デフォルトの名無しさん:2006/11/21(火) 20:05:20
マルチなんだろ?
そのうち別のところで答えもらえるんじゃね?

489 :デフォルトの名無しさん:2006/11/21(火) 20:06:54
すみません質問です。
byte[79999]をdouble[9999]に変換したいのですがCだといとも簡単に
変換できたりするものでしょうか?

490 :デフォルトの名無しさん:2006/11/21(火) 20:26:38
int main()
{
int space[SIZE][SIZE][SIZE];
int x, y, z;
unsigned int counter;

srand(time(NULL));

init(space, &x, &y, &z);

counter = 0;
printf("%2d:(%d,%d,%d)\n", counter, x, y, z);

while (counter < 20) {
if (move(space, &x, &y, &z) == 1) {
++counter;
} else {
init(space, &x, &y, &z);
counter = 0;
}
printf("%2d:(%d,%d,%d)\n", counter, x, y, z);
}

return 0;
}


491 :sage:2006/11/21(火) 20:45:23
実行してみるとわかると思うんですけど
同じ道通ってんジャンww

492 :デフォルトの名無しさん:2006/11/21(火) 20:49:07
同じ道通ると、最初からやり直してるよ。

493 :デフォルトの名無しさん:2006/11/21(火) 20:52:14
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww

494 :デフォルトの名無しさん:2006/11/21(火) 20:55:43
init関数の最後にに
space[*x][*y][*z] = 1;
を追加すべし。

495 :デフォルトの名無しさん:2006/11/21(火) 21:00:03
ありがとうございます
ちなみに邪魔なもの省いて1から20だけを
出力させることできますか?

496 :デフォルトの名無しさん:2006/11/21(火) 21:04:29
できる。
自分でやれ。

497 :デフォルトの名無しさん:2006/11/21(火) 21:16:59
ポインタを使わないでもできますか?

498 :デフォルトの名無しさん:2006/11/21(火) 21:27:52
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE (10)
#define MAX_STEP (20)
typedef struct Point{int x;int y;int z;}Point;
void init(int space[SIZE][SIZE][SIZE],int *x,int *y,int *z)
{unsigned int i,j,k;*x=0;*y=0;*z=0;for(i=0;i<SIZE;++i){for(j=0;j<SIZE;++j){for(k=0;k<SIZE;++k){space[i][j][k]=0;}}}space[*x][*y][*z]=1;return;}
int move(int space[SIZE][SIZE][SIZE],int *x,int *y,int *z)
{int param=rand()%6+1;switch(param){case 1:++(*x);break;case 2:--(*x);break;case 3:++(*y);break;case 4:--(*y);break;case 5:++(*z);break;case 6:--(*z);break;default:break;}
if((space[*z][*y][*x]==1)||(*x<0)||(*x>10)||(*y<0)||(*y>10)||(*z<0)||(*z>10)){return 0;}space[*z][*y][*x] = 1;return 1;}
int main()
{int space[SIZE][SIZE][SIZE];int x,y,z;unsigned int i;unsigned int counter;Point route[MAX_STEP+1];srand(time(NULL));init(space,&x,&y,&z);counter=0;route[counter].x=x;route[counter].y=y;route[counter].z=z;
while(counter<MAX_STEP){if(move(space,&x,&y,&z)==1){++counter;}else{init(space,&x,&y,&z);counter=0;}route[counter].x=x;route[counter].y=y;route[counter].z=z;}
for(i=0;i<=MAX_STEP;++i){printf("%2d:(%d,%d,%d)\n",i,route[i].x,route[i].y,route[i].z);}return 0;}


499 :デフォルトの名無しさん:2006/11/21(火) 21:39:05
てかおまいら学生でつか?
なんでこんなに親切なの?

500 :デフォルトの名無しさん:2006/11/21(火) 21:53:01
簡単な宿題も自分一人じゃ解けないダメ人間をつくってるところだお。
決して親切でやってるわけじゃないお。

501 :デフォルトの名無しさん:2006/11/21(火) 22:18:20
そのうち
[1] 授業単元: 仕事
とか出てきそうで怖い

502 :デフォルトの名無しさん:2006/11/21(火) 22:19:53
[1] 授業単元: 辞表の書き方
も出てくるとみたねw

503 :デフォルトの名無しさん:2006/11/21(火) 22:33:50
>>498がプログラムを張ってくれたらそれっきりかよw

504 :デフォルトの名無しさん:2006/11/21(火) 22:48:36
教えてクン養成マニュアル

明日の「教えてクン」を目指す、若き戦士達に以下の文章を捧げる。
日々精進し、パソコンヲタクどもの親切を蹂躙してやれ。

1. 努力を放棄すること
いやしくも「教えてクン」たるもの、努力をしてはならない。
過去ログを読んだり、検索してはいけない。
「英語は苦手なので、分かりません。」は、高く評価できる。
辞書片手にマニュアルやReadMeを読むなど、決してしてはならない。
他力本願と言われようと、自分で調べたり試行錯誤したりせず、他人の努力の結果を搾取するのが、正しい「教えてクン」である。
また、「もう何が悪いのかサッパリ分かりません。」と言ってふてくされるのも有効である。
「サッパリ」という単語が「やる気の無さ」を効果的に表現している。
「原因を特定するには、何をすべきでしょうか?」と訊いてしまうと自己の積極性が現れてしまうので、「教えてクン」失格である。

2. 情報を開示しないこと
使用OSや、機器構成などの必須の情報を知らせてはならない。
マザーボード名やBIOSのバージョンも同様だ。
具体的なアプリ名やバージョンも隠蔽すべきだ。
「DVD再生ソフト」のように曖昧に表記しておけばよい。
反対に「前から欲しいと思っていた○○」とか「安売りされていた ○○」等の「どうでもいい情報」は、どんどん書いてやれ。
トラブルの場合は、状況を正確に記述してはならない。
「なんだかうまく動きません。」とか「エラーが出ます。」等と具体的なことは何も書かないことが重要である。
また、自分の試してみた事も具体的に書いてはいけない。
考えられる組合せのマトリックスを作成し、状況を整理するなどもってのほかである。
最悪の場合、それだけで問題が解決してしまうこともあるのだ。
「いろいろやってみたけど、動きません。」が理想的だ。


505 :デフォルトの名無しさん:2006/11/21(火) 22:48:39
>>503
安心しろ 卒論まるまるやらせるつもりだろうから
しばらくしたら「あの時はありがとうございました」って出てくる

506 :デフォルトの名無しさん:2006/11/21(火) 22:49:22
3. 答える人間のことを考えないこと
「教えてクン」は、孤高の戦士である。
相手のことを考えるようでは教えてクン失格というものだ。
以下のような行動が、望ましい。
初心者であることを高らかに宣言し、初心者向けの丁寧で分かりやすい説明を強要する。
専門用語の使用を禁じておくとさらに効果的である。
簡潔な説明を禁じられたヲタクどもは、同じ内容を説明するのに、何倍もの労力を強いられる。
自分は努力せず、相手には多大な努力をさせることこそが「教えてクン」の真骨頂である。マルチポストも有効である。
そのBBSを信用していないことを明確に示せる。
「どうせ、お前らじゃ分からんだろう。」という意志表示として高く評価できる。
もちろんマルチポストの非礼をあらかじめ詫びてはならない。
それでは、単なる「急いでいる人」になってしまう。
それは、教えてクンではない。質問のタイトルは、「教えてください。」で良い。
タイトルを読んだだけでは「何に関する質問」か全く分からない。
そういう努力は、答える人間にさせれば良いのだ。
とにかく、答える人間が答えやすいように気を使って質問してはならない。
傲慢で不遜な態度が必須である。「聞きたいことがあります。」など、プロの仕事であろう。

最後に、言うまでも無いことだとは思うが、答えてくれた人達に礼の言葉を返すなど言語道断である。
せっかく「教えてクン」を貫いてきたのに、最後にお礼を言っているようでは、画竜点睛を欠いていると言わざるを得ない。
質問だけしておいて、後はシカトが基本である。
上級テクニックとして、「そんなことはもう試しました。」とか、「そこまで初心者じゃありません。」などと言って、回答者の神経を逆なでしておけば完璧である。

以上のことを踏まえて質問すれば、君も立派な「教えてクン」である。
ビバ!教えてクン! 教えてクンに栄光あれ!!


507 :ぼるじょあ ◆yBEncckFOU :2006/11/21(火) 22:59:55
[1] 授業単元: ウィルスの作り方

508 :デフォルトの名無しさん:2006/11/21(火) 23:30:58
>>504>>506
ワロタ

509 :ぼるじょあ ◆yBEncckFOU :2006/11/22(水) 00:36:30
[1] 授業単元: 今携わってるシステムの改修

510 : ◆i5dB9vhrMo :2006/11/22(水) 04:12:05
すいません返事遅れました。。
今帰宅しました!
ほんとみな様には感謝しています。
私みたいなものに丁寧に教えてくださって世の中まだ捨てたもんじゃないですね。
プログラム出来る人は尊敬しています
ひとつ思うんですがみなさんはプログラムは好きなのですか?

511 :デフォルトの名無しさん:2006/11/22(水) 06:32:27
>>510
スレ違い。
消えろ

512 :デフォルトの名無しさん:2006/11/22(水) 15:45:21
プログラム出来る人なんていない。

513 :デフォルトの名無しさん:2006/11/22(水) 16:04:29 ?2BP(200)
[1] 授業単元: 新入社員研修

とかが普通に出てきそうだな。
その場合は会社名晒し必須で。料金は会社に請求。

514 :デフォルトの名無しさん:2006/11/22(水) 18:26:32
>>510
面倒くさいです

515 :デフォルトの名無しさん:2006/11/23(木) 00:33:36
>>498
このプログラムに新しいプログラムを付け加えて距離を求めること
ができるようになりました
また質問です。。
このプログラムから空間を広くして
ランダムウォークの歩かせる回数のNを100とか1000にしたいんですけど
どうすればよいですか?
よろしくお願いします。

516 :デフォルトの名無しさん:2006/11/23(木) 00:36:47
SIZEとMAX_STEPを書き換えろ。それだけで出来る。

517 :デフォルトの名無しさん:2006/11/23(木) 00:40:40
>>516
できました〜〜〜。
本当にありがとうございます!!

518 :デフォルトの名無しさん:2006/11/23(木) 00:44:04
515です。
>>516
また、質問です。すみません。
SIZEとMAX_STEP の( )は意味があるのでしょうか?
意図がよくわかりませんでした。

>>517
??

519 :デフォルトの名無しさん:2006/11/23(木) 00:47:27
>>518
一つの数字だけの時は意味はない。

ただ、例えば
#define X 2+3

#define X (2+3)
とでは、
X*3の値が違ってくる。

520 : ◆i5dB9vhrMo :2006/11/23(木) 00:49:50
SIZEとMAX_STEPを書き換えてみてエラーでなかったんですが
うまく実行できませんでした。
MAX_STEPは40以上だとうまくいきませんでした。
おそらくSIZEだけ増やすだけではspeceSIZEが広げられないと思います

521 :デフォルトの名無しさん:2006/11/23(木) 00:54:28
>>520
SIZEはどれくらいにした?

522 : ◆i5dB9vhrMo :2006/11/23(木) 00:59:58
>>521
SIZEは100とかにしたのですがおそらく10*10*10のままなのだと
おもいます。。


523 :デフォルトの名無しさん:2006/11/23(木) 01:00:29
if ((space[*z][*y][*x] == 1) ||
(*x < 0) || (*x >= SIZE) ||
(*y < 0) || (*y >= SIZE) ||
(*z < 0) || (*z >= SIZE)) {
return 0;
}

524 : ◆i5dB9vhrMo :2006/11/23(木) 01:03:37
sizeの値をずらすと
$ ./a
Segmentation fault(core dumed)
と表示されます

525 :デフォルトの名無しさん:2006/11/23(木) 01:05:27
spaceをグローバル変数にすれば幸せになれるかもよ?

526 : ◆i5dB9vhrMo :2006/11/23(木) 01:06:40
>>525
是非教えてください

527 :デフォルトの名無しさん:2006/11/23(木) 01:07:05
教えてくださいじゃなくて、グローバル変数にしろよ。

528 :デフォルトの名無しさん:2006/11/23(木) 01:08:57
グローバル変数にするにはどーすればよいのですか?

529 :デフォルトの名無しさん:2006/11/23(木) 01:09:49
お前さぁ。調べるって言葉知ってる?

530 :ぼるじょあ ◆yBEncckFOU :2006/11/23(木) 01:14:24
(・3・)エェー グローバル変態?

531 :デフォルトの名無しさん:2006/11/23(木) 01:15:07
>>529
もちろん知ってますよ

532 :デフォルトの名無しさん:2006/11/23(木) 01:36:29
>>504>>506を実践してるだけじゃ?

533 :デフォルトの名無しさん:2006/11/23(木) 01:37:51
なるほど!
納得!

534 :デフォルトの名無しさん:2006/11/23(木) 02:40:12
>>530
そういや、ぼるじょあは宿題片づけてないじゃないか!w

535 :ぼるじょあ ◆yEbBEcuFOU :2006/11/23(木) 08:12:16
(・3・) 宿題くらい自分でやれよ

536 :デフォルトの名無しさん:2006/11/23(木) 09:31:46
ちょw

537 :デフォルトの名無しさん:2006/11/23(木) 10:16:47
>>535
俺はそういうのすきだぞw

538 :ぼるじょあ ◆yBEncckFOU :2006/11/23(木) 19:04:39
>>534
(・3・) エェー 平日は仕事だし休日も1日中暇なわけでもないから難しいYO

539 :デフォルトの名無しさん:2006/11/23(木) 20:14:58
>>538
にもかかわらず、こんなスレを立てるぼるじょあが大好きだぁ〜!

540 :ぼるじょあ ◆yBEncckFOU :2006/11/23(木) 20:47:51
(・3・) エェー 立てたの僕じゃないC

541 :デフォルトの名無しさん:2006/11/23(木) 20:52:55
>>540
じゃあ、お前のこと好きじゃないw

542 :デフォルトの名無しさん:2006/11/23(木) 20:52:56
>>540
ぇ?

543 :デフォルトの名無しさん:2006/11/23(木) 21:07:52
ぼるじょあは一体ではない。
他のぼるじょあを確認しあうことでオリジナルの存在を確信しているが、
未だオリジナルに到達したものはいない…

544 :デフォルトの名無しさん:2006/11/23(木) 21:22:18
【質問テンプレ】
[1] 授業単元: 一般教養
[2] 問題文(含コード&リンク):
ぼるじょあとブルジョアの関係を述べよ
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: notepad ver.5.1 (Service Pack 2)
[3.3] 言語: 日本語
[4] 期限: (なるべく早めに)

545 :ぼるじょあ ◆yBEncckFOU :2006/11/23(木) 21:30:56
(・3・)エェー それは難問だYO!

546 :ぼるじょあ ◆yBEncckFOU :2006/11/23(木) 21:52:34
>>544
(・3・) エェー ぼるじょあ==ブルジョア は偽を返すYO

547 : ◆i5dB9vhrMo :2006/11/24(金) 16:33:39
グローバル変数のいれ方どなたか教えてください。
勉強しましたがわかりませんでした。

548 :デフォルトの名無しさん:2006/11/24(金) 17:14:40
>勉強しましたがわかりませんでした。
そんなわけない。
ググれば一発で出てくる。
いいかげんこのスレから出て行け。

549 :デフォルトの名無しさん:2006/11/24(金) 17:20:39
>>547
ローカルじゃない変数を宣言すればいいと思うよ!

550 :デフォルトの名無しさん:2006/11/24(金) 17:47:34 ?2BP(200)
>>547
>勉強しましたがわかりませんでした。

じゃああきらめろ。お前の能力じゃ誰が教えても無理だ。

551 :デフォルトの名無しさん:2006/11/24(金) 18:46:41
40時間経過してもなおグローバル変数が分からないってのがすごいな

552 : ◆i5dB9vhrMo :2006/11/24(金) 19:09:59
だからおねがいしたんですよ。

553 :デフォルトの名無しさん:2006/11/24(金) 19:17:29
そうですか。

554 :デフォルトの名無しさん:2006/11/24(金) 19:35:46
>>552
お前、よくそれで4回生になれたなw

555 : ◆i5dB9vhrMo :2006/11/24(金) 19:36:33
自分でも不思議っすね

556 :デフォルトの名無しさん:2006/11/24(金) 22:18:46
例)>>555はグローバルバカだね

557 :ぼるじょあ ◆yBEncckFOU :2006/11/24(金) 22:19:58
>>547
(・3・) エェー もいらに言わせるとまずはアナ○に入れるといいお

558 :デフォルトの名無しさん:2006/11/24(金) 22:21:55
アッー!

559 :ぼるじょあ ◆yBEncckFOU :2006/11/24(金) 22:26:59
>>558
(・3・) エェー どうしたんだお?
          C++やjavaみたいな厨な言語はよくわからんけど
          C、C#、pascal、basic(N88-basicとX-basicに限る)に関してはもいらが
          ばりばり答えてやるお
          アナ○についてもおすすめビデオなど聞かれたら答えられるお

560 :デフォルトの名無しさん:2006/11/25(土) 00:29:16
あなじょあさんありがとう
あなたのおかげでこのスレも滅びそうです
本家がそうであるように

561 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 12:28:16
 _, ._
(・3・) エェー このやろうはこっちまで滅ぼす気なのかYO

562 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 12:29:33
>>547
(・3・) エェー とりあえずmain関数の外ででも宣言しとけYO
          流れは知らないけどYO

563 :デフォルトの名無しさん:2006/11/25(土) 12:46:14
それはグローバル変数とは呼ばない

564 :デフォルトの名無しさん:2006/11/25(土) 12:51:43
>>556
つまり学校にいようが社会に出ようがどこでも
バカあつかいされるということですね^^
main関数の中だろうが自作関数の中だろうが
通用するバカなんですね^^
これでわからなかったらもうキングオブバカ

565 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 13:11:26
>>563
(・3・) アルェー そうなのかYO

566 :デフォルトの名無しさん:2006/11/25(土) 13:31:56
うむ

567 :デフォルトの名無しさん:2006/11/25(土) 14:01:53
namespaceを無視した変数:グローバル変数
namespaceの外からも見える変数:パブリック変数

なの。

568 :デフォルトの名無しさん:2006/11/25(土) 14:24:12
学生にグローバル変数とは>>567
とかいきなり説明する講師はいない。
ていうかリアルで>>567はキチガイじゃないの?

569 :デフォルトの名無しさん:2006/11/25(土) 14:26:22
>>568
('A`) そういうことは先ずは自分で説明してから言えよホゲ

570 :デフォルトの名無しさん:2006/11/25(土) 14:31:57
>>567
C++を使わない、Cだけの人にもわかるように説明してください><

571 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 14:33:56
 _, ,_
(・3・) エェー こうやってすぐスレのムードを険悪にするしったかぶりの名無しは嫌だYO

572 :デフォルトの名無しさん:2006/11/25(土) 14:41:18
>>571
ナナシの問題じゃなく、言葉だけ投げるのが問題
('A`)

573 :デフォルトの名無しさん:2006/11/25(土) 14:41:25
ゴメン

574 :デフォルトの名無しさん:2006/11/25(土) 14:47:17
>>570
Cだけの人はググレカス

575 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 17:16:40
(・3・) エェー ケンカすんな馬鹿

576 :デフォルトの名無しさん:2006/11/25(土) 18:03:16
ゴメン

577 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 18:51:42
(・3・) エェー 謝るくらいならやめろYO
          死んで詫びRO

578 :デフォルトの名無しさん:2006/11/25(土) 18:54:13
ゴメン・・・

579 :デフォルトの名無しさん:2006/11/25(土) 19:07:05
ぼるじょあ、お前普通にキモイから書きこむな

580 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 19:25:38
(・3・) エェー

581 :ぼるじょあ ◆yEbBEcuFOU :2006/11/25(土) 19:32:05
(・3・) アルェー

582 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 19:35:03
>>579
(・3・) エェー 出てKE!

583 :デフォルトの名無しさん:2006/11/25(土) 19:43:09
>>582
>>575


584 :ぼるじょあ ◆yBEncckFOU :2006/11/25(土) 23:34:46
(・3・) エェー ここはぼくたちのスレだからしきっても無問題だYO
          ルール守れない煽りの名無しは出て行けYO

585 :デフォルトの名無しさん:2006/11/25(土) 23:40:47
>>584
>>575

586 :デフォルトの名無しさん:2006/11/26(日) 00:55:42
キモイぼるじょあが二匹もいるよ、ガクブル
警報age

587 :ぼるじょあ ◆yBEncckFOU :2006/11/26(日) 01:11:17
ヽ(`3´)ノ

588 :デフォルトの名無しさん:2006/11/26(日) 05:49:36
名無しが新たなぼるじょあになるには資格が必要ですか?>ぼるじょあの皆さん

589 :ぼるじょあ ◆yBEncckFOU :2006/11/26(日) 08:53:49
(・3・) エェー 煽らない、ネタ質にも答える、マルチOK
          これを守ればみんなぼるじょあだYO!

590 :ぴろこ ◆lHG3Yzo0a6 :2006/11/26(日) 16:38:15
漏れは駄目だな

591 :ぼるじょあ ◆H6wikgcXIU :2006/11/26(日) 16:40:35
変身ぼるじょあ、とやー

592 :ぴろこ ◆lHG3Yzo0a6 :2006/11/26(日) 16:42:36
やめた、元にもどるぽ
巣に戻るにょろ

593 : ◆i5dB9vhrMo :2006/11/27(月) 00:27:23
498にグローバル変数いれたプログラム誰か作ってください

594 :デフォルトの名無しさん:2006/11/27(月) 00:28:28
>>498

595 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 01:18:17
>>593
(・3・) エェー やって欲しかったらインデント付けてわかりやすく整形しろYO
          見づらくてかなわんY

596 :ぐあ:2006/11/27(月) 01:18:19
マイクロソフトのVisualStudioのアカデミックパックでウィンドウズプログラミングの課題をやっているんですけど、
OnDraw()関数にいくらコードを書き込んでも実行するファイルに反映されません。
誰かわかる方いませんか?

597 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 01:19:20
>>596
(・3・) エェー 大将ウィンドウをUpdate()しないと繁栄されないYO

598 :ぐあ:2006/11/27(月) 01:20:09
597>ビルドのことですか?

599 :デフォルトの名無しさん:2006/11/27(月) 01:22:26
>>598
んにゃ

600 :ぐあ:2006/11/27(月) 01:23:40
599>>ビルドはしてるんですけど反映されないんですか・・・。


601 :デフォルトの名無しさん:2006/11/27(月) 01:32:01
>>593
いい加減死ね。
お前に大学の卒業するだけの能力も資格もない。
あと2年くらい留年して勉強しろ。

602 :ぼるじょあ ◆yEbBEcuFOU :2006/11/27(月) 09:13:02
>>596
(・3・) エェー ソースupしろYO

603 :デフォルトの名無しさん:2006/11/27(月) 10:40:10
>>593
ちょっと書いてみたら面白いな。
size を200くらいまで100回ずつ試行したところ1400〜2000ステップで安定する。
空間が広くなっても歩ける距離は収束するって事を論じたいんだろうな。



604 :603:2006/11/27(月) 10:49:40
さらに止まった位置での x + y + z で論じると平均値で100もいかないんだな。
酔っ払いが帰れなくなるのが実感できるわ。


605 :デフォルトの名無しさん:2006/11/27(月) 11:54:37
>>603
そのソース下さい!
と奴が言ってくると見たねw

606 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 13:06:05
>>603
(・3・) エェー ソースupしろYO

607 :デフォルトの名無しさん:2006/11/27(月) 13:13:33
(・3・)つ[gpg]

608 :603:2006/11/27(月) 13:50:20
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Pos3D { int x; int y; int z; };

static bool checkSp( bool* pSp, int iSize, int iX, int iY, int iZ )
{
return *( pSp + iZ * iSize * iSize + iY * iSize + iX );
}
static void setSp( bool* pSp, int iSize, int iX, int iY, int iZ )
{
*( pSp + iZ * iSize * iSize + iY * iSize + iX ) = true;
}
// To be continue


609 :603:2006/11/27(月) 13:50:58
static int setMove( Pos3D* pPos, bool* pSp, int iSize, Pos3D aMove[6] )
{
int iRet = 0;

memset( (void*)aMove, 0x00, sizeof( Pos3D ) * 6 );
if( pPos->x > 0 && ! checkSp( pSp, iSize, pPos->x - 1, pPos->y, pPos->z ) ) {
aMove[iRet].x = -1; iRet++;
}
if( pPos->x < iSize - 1 && ! checkSp( pSp, iSize, pPos->x + 1, pPos->y, pPos->z ) ) {
aMove[iRet].x = 1; iRet++;
}
if( pPos->y > 0 && ! checkSp( pSp, iSize, pPos->x, pPos->y - 1, pPos->z ) ) {
aMove[iRet].y = -1; iRet++;
}
if( pPos->y < iSize - 1 && ! checkSp( pSp, iSize, pPos->x, pPos->y + 1, pPos->z ) ) {
aMove[iRet].y = 1; iRet++;
}
if( pPos->z > 0 && ! checkSp( pSp, iSize, pPos->x, pPos->y, pPos->z - 1 ) ) {
aMove[iRet].z = -1; iRet++;
}
if( pPos->z < iSize - 1 && ! checkSp( pSp, iSize, pPos->x, pPos->y, pPos->z + 1 ) ) {
aMove[iRet].z = 1; iRet++;
}
return iRet;
}
// To be continue

610 :603:2006/11/27(月) 13:51:59
static bool move( Pos3D* pPos, bool* pSp, int iSize )
{
int iMove, iRand;
Pos3D aMove[6];

iMove = setMove( pPos, pSp, iSize, aMove );
if( ! iMove )
return false;
iRand = rand() % iMove;
pPos->x += aMove[iRand].x;
pPos->y += aMove[iRand].y;
pPos->z += aMove[iRand].z;
setSp( pSp, iSize, pPos->x, pPos->y, pPos->z );
return true;
}
// To be continue


611 :603:2006/11/27(月) 13:52:59
static int walk( int iSize )
{
bool *pSp;
Pos3D stNow;
int iStep = 1;
size_t tSize;

tSize = sizeof( bool ) * iSize * iSize * iSize;
pSp = (bool*)malloc( tSize );
memset( (void*)pSp, 0x00, tSize );
*pSp = true;
stNow.x = stNow.y = stNow.z = 0;
while( move( &stNow, pSp, iSize ) ) {
iStep++;
}
free( (void*)pSp );
// return iStep;
return stNow.x + stNow.y + stNow.z;
}
// To be continue


612 :603:2006/11/27(月) 13:54:09
int main( void )
{
int i, j, iRet, iTotal;

for( i = 1; i < 200; i++ ) {
iTotal = 0;
for( j = 0; j < 100; j++ ) {
iRet = walk( i );
iTotal += iRet;
}
printf( "%d: %d / %d\n", i, iTotal / 100, i * i * i );
}
return 0;
}


613 :デフォルトの名無しさん:2006/11/27(月) 18:31:45
>>608
めちゃエラーでますよ

614 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 18:38:45
>>613
(・3・) エェー もまいもぬけさくだなあ
          拡張子を cpp にしてるかお?
          もしくは c++ モードでちゃんとコンパイルしてるかお?


615 :デフォルトの名無しさん:2006/11/27(月) 18:39:33
C言語でお願いしたんですけど・・・

616 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 18:41:03
(・3・) エェー >>560>>561 そんなつもりはないお
          まあC専用スレと言うことでアナ○の話は控えめにするつもりだお
          一応もいらのプロフィールは>>559となってるお、
          指名してくれたら喜んで回答してやるお

617 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 18:42:24
>>615
(・3・) エェー bool を独自で定義してコンパイルしてみろお

typedef enum {
int false,
int false
} bool;

618 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 18:43:37
(*・3・*) エェー 訂正
typedef enum {
false,
false
} bool;


619 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 18:45:02
(*>3<*) エェー さらに訂正

typedef enum {
false,
true
} bool;

あとstruct を次のように変更

typedef struct _pos3d { int x; int y; int z; } Pos3D;


620 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 18:53:42
(・3・) エェー まあ>>614と書いたけど一番悪いのは>>613だよな
          cとc++のスタイルを混同して使うやつは頭が悪い
          コードも汚いしなあ
          もう少し美しいスタイルでコーディングするように心がけるべし

621 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 18:54:57
(*>3<*) エェー めんごめんご、今日は見吸ってばっかりだお
             ↓>>620の訂正

(・3・) エェー まあ>>614と書いたけど一番悪いのは>>603だよな
          cとc++のスタイルを混同して使うやつは頭が悪い
          コードも汚いしなあ
          もう少し美しいスタイルでコーディングするように心がけるべし

622 :デフォルトの名無しさん:2006/11/27(月) 18:57:04
コーディングせずにケチだけつけるなよw

623 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:02:15
(・3・) エェー コーディングせずにとはどうやって知り得た情報だ?
          もまいは超能力者かw




          理論的に考えられない奴は鳶でもやってろw

624 :デフォルトの名無しさん:2006/11/27(月) 19:06:56 ?2BP(200)
(・3・) アルェー、ぼるじょあ同士でケンカすんなYO!

625 :デフォルトの名無しさん:2006/11/27(月) 19:19:07
だれかC言語で書いてください

626 :デフォルトの名無しさん:2006/11/27(月) 19:35:37
>>625
if(borujoa.joutai==kenka){
  borujowa.joutai=dead
}

627 :homoじょあ ◆5OLf4yFnuM :2006/11/27(月) 19:41:47
(・3・) エェー あなじょあが居るお

628 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:44:47
(・3・) エェー homoもここに来ることあるのかお?

629 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:45:33
>>624
(・3・) エェー 別にぼるじょあ同士じゃないお
          童貞の名無しが煽ってきたから煽り返してやっただけだし

630 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:47:52
>>628
(・3・) エェー 時々来てるお

631 :homoじょあ ◆5OLf4yFnuM :2006/11/27(月) 19:48:31
(*・3・) エェー いつもぼるじょあだから名前間違えたお

632 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:50:36
(・3・) エェー そうなのかお!
          >>631お前はぼるじょあ名乗るなお、まぎらわしいから

633 :homoじょあ ◆5OLf4yFnuM :2006/11/27(月) 19:51:40
>>632
(・3・) エェー 本スレではしてないから安心汁お

634 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:52:48
(・3・) エェー C++とjava以外の気持ち悪い言語以外ならどんどん回答してやるお
          もいらの専門はCとC#、basic(N88-basicとx-basicに限る)だお

635 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:53:29
>>633
(・3・) エェー それは分かってるけどここでもトリ付けるんだお

636 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 19:54:56
(・3・) エェー 期限切れ間近の5分でゆであがるパスタを半額で買ってきたけど
          これまずいお
          全部捨てて晩飯はカップラーメンだ

637 :homoじょあ ◆5OLf4yFnuM :2006/11/27(月) 20:02:56
>>635
(・3・) エェー 把握したお

638 :603:2006/11/27(月) 20:22:45
最近 C++ しか書いてないからなぁ...C の書き方忘れとる。
なんか部分的に直してくれてたみたいだけど >>608 の差し替え。
関数定義でエラーが出るような古いコンパイラは知らん。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef char bool;
#define true (0x01)
#define false (0x00)
typedef struct _Pos3D { int x; int y; int z; } Pos3D;

static bool checkSp( bool* pSp, int iSize, int iX, int iY, int iZ )
{
return *( pSp + iZ * iSize * iSize + iY * iSize + iX );
}
static void setSp( bool* pSp, int iSize, int iX, int iY, int iZ )
{
*( pSp + iZ * iSize * iSize + iY * iSize + iX ) = true;
}


639 :603:2006/11/27(月) 20:35:44
>>620
c のスタイルと混同だぁ?俺は c++ で書いたんじゃ。
c 独自のスタイルと言えば old-fushion の関数定義くらいだろが。(もう忘れて書けないけど)

インデントが汚い理由は知らん。(行頭スペースが削られてる)


640 :デフォルトの名無しさん:2006/11/27(月) 20:41:14
せめて#include の.hは省略して
引数のvoidは省略してクラス化ないとC++らしくないですよ

641 :デフォルトの名無しさん:2006/11/27(月) 20:42:44
C++のバイブルに従うならnamespaceも必要かな

642 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 20:44:31
(・3・) エェー >>639 インデントのことをいってるわけではないお
          >>640 #include <iostream>一行で済むお

643 :ぼるじょあ ◆yBEncckFOU :2006/11/27(月) 21:01:55
(・3・) エェー >>640 まあテスト的なプログラムでわざわざクラスにする必要もないと思うけど
          ただこの人はちょっとcとc++を混同して使ってる印象は受けるね

644 :デフォルトの名無しさん:2006/11/27(月) 21:07:16
>>640
.h は普段でも省略しないな。
自前のヘッダーをインクルードするからそっちだけ .h 付いてるの何か嫌。
VC++ 使う事が多いしね。

『void は省略してクラス化ないと』の意味が解らん。

645 :デフォルトの名無しさん:2006/11/27(月) 21:09:24
C++風って蔑称だよね

646 :デフォルトの名無しさん:2006/11/27(月) 22:47:54
>>◆i5dB9vhrMo
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
で「非ぼるじょあ」の書きこみをみるヨロシ

647 :デフォルトの名無しさん:2006/11/27(月) 23:12:43
誰かウィンドウを管理するアルゴリズムを教えてください
例えばウィンドウズOSでウィンドウをたくさん出して
1つのウィンドウを閉じたときその閉じたウィンドウに消されていた矩形領域を
計算するようなプログラムです

言語はCがいいです
期日は12月3日まででお願いします

648 : ◆EWRYh38uoo :2006/11/27(月) 23:13:21
647です。トリップ付けます

649 :デフォルトの名無しさん:2006/11/27(月) 23:20:24
>>647
自分で実装したいってこと?
もしそうじゃないなら、それはウインドウマネージャーの仕事なので、
関数を使って調べることができるよ

650 : ◆EWRYh38uoo :2006/11/27(月) 23:26:23
自分で実装したいです
C言語の授業でDirectXを使ったグラフィックの実験があるんですけど
大小様々な矩形を画面にたくさん出して(最大32枚まで)
適当な矩形を消したときに重なっていたウィンドウがちゃんと表示されるように
しなければならないんです。むつかしいです。。。

651 : ◆EWRYh38uoo :2006/11/27(月) 23:29:03
矩形を消したときに画面を全部クリアして
矩形を再描画という方法はだめ(5点満点中2点しかもらえません)だそうです。。。

652 : ◆EWRYh38uoo :2006/11/27(月) 23:35:53
DirectXで描画するルーチンは必要ないんですけど、
塗りつぶさなきゃならない領域を計算する方法とか分かればいいです

熱が出てきたので今日はお休みさせていただきますね
また明日来ます
.oO(誰かすごい人がソースコードうpしてくれるとうれしいなー。なんて)

653 :デフォルトの名無しさん:2006/11/28(火) 00:02:13
説明がちっとも具体的でないから話にならん。

654 :デフォルトの名無しさん:2006/11/28(火) 10:16:00
>>652
要するに二つの矩形を引数で受け取って、重なっている領域を返す関数を作れって事?

655 :ぼるじょあ ◆yEbBEcuFOU :2006/11/28(火) 10:17:59
(・3・) エェー
多少効率が落ちても良いなら、
削除矩形とウィンドウの重なった部分を再描画領域にして
奥から手前に向かって描画するのが楽だYO
Win32のリージョン無しで真面目にやると面倒そうだNE……(-3-)

656 : ◆i5dB9vhrMo :2006/11/28(火) 15:03:51
誰か>>608をCで書き直して下さい(>_<)

657 :デフォルトの名無しさん:2006/11/28(火) 15:06:45
「卒論を丸投げするバカがいるスレ」としてコピペブログに宣伝してきて良いですか

658 :ぼるじょあ ◆yBEncckFOU :2006/11/28(火) 15:07:49
(・3・) エェー
卒論なんて3日前からBlogコピペすれば完成するYO!

659 :デフォルトの名無しさん:2006/11/28(火) 15:56:52
>>656
直近の30レス程度読み直してみなよ

660 :デフォルトの名無しさん:2006/11/28(火) 16:26:29
>>656
>>638

661 :608:2006/11/28(火) 18:06:23
>>656
どうでもいいけどお前はソフト業界に来るな。

662 :デフォルトの名無しさん:2006/11/28(火) 18:17:15
>>661
ここまで池沼だとどの業界でもだめだろ

663 :608:2006/11/28(火) 18:33:02
>>662
デジドカじゃなくてマジドカならいけるんじゃねぇ?

664 :デフォルトの名無しさん:2006/11/28(火) 18:47:33
>>652
KDEあたりのウインドウマネージャーのソースコードならすごい人が書いてると思うぞ。
該当部分を探すと吉。

一般人のオレがうpしてもうれしくなさそうなので悲しいけどな。

665 : ◆EWRYh38uoo :2006/11/28(火) 20:21:53
>>654
ちょっと違うけどそんな感じです!実際には
2つとは限らないです。
struct Rect { int x; int y; int width; int height };みたいな
構造体で再描画しなきゃならない領域を計算したいんです
>>655>>664
すばらしい(・∀・)b!!
>>664さんの方法でソースコードを見たいと思います
師匠と呼ばせてください!

666 :デフォルトの名無しさん:2006/11/28(火) 20:35:51
>>608の実行結果の
1 :x/y
2 :x/y
 :
200:x/y
と出ますがこのx/yは何をあらわしているんでしょうか?

667 :デフォルトの名無しさん:2006/11/28(火) 20:43:12
xをyで割ったものをあらわしています。

668 :デフォルトの名無しさん:2006/11/28(火) 20:47:13
うそつけww
i, iTotal / 100, i * i * i
なんで回数かけてるんだ?
iTotalってなに?

669 :デフォルトの名無しさん:2006/11/28(火) 20:52:35
iTotalもシラネエのか?だっせ

670 :デフォルトの名無しさん:2006/11/28(火) 21:09:54
だっせ

671 :デフォルトの名無しさん:2006/11/28(火) 21:16:40
>>498のx、y、zの空間をもっと広くしてステップ数を1000くらいに
してもらいたいのですがどなたかできませんか?

672 :608:2006/11/28(火) 21:22:07
>>666
たくサルだな。

N: x / y

N: 領域のサイズ(1辺の長さ)
x: 動けなくなった時の位置での x + y + z 値を100回の試行で平均したもの
y: 領域の点数 = N^3

ちなみに >>611 walk() の戻り値を iStep (コメントアウトしてある行)とすれば、

x:動けなくなるまでに動いたステップ数を100回の試行で平均したもの

となる。

>>612 の i は領域のサイズを表し、j は試行回数なので適宜ループ条件を修正すべし。
ただし、サイズ = 1000 とかにすると 1GByte のヒープを必要とするので普通の環境では動かないと思う。


673 :デフォルトの名無しさん:2006/11/28(火) 21:29:12
>>672
なるほど。。>>671のプログラムはどーすればできますか?

674 :デフォルトの名無しさん:2006/11/28(火) 21:51:21
>>◆i5dB9vhrMo
ハッシュテーブルを使って一度通過した点を記録するようにすれば、
ランダムウォークの長さを 100000 でも 1000000 にでもできる。
(遅くてもよければ一方向リストでもいいが)

いいたいのは条件の後付けをすると全面的に作り直しになることが多いってこと。
空間の広さを聞かれたときに、広くなる予定なので無限扱いにできるようにとでも書いておけば
そのように実装したのにって事なんだ。
規模が代わるとアルゴリズム変える必要があるとか何も分かってないみたいだから
情報系学科を卒業しないでほしいな。

675 :ぼるじょあ ◆yBEncckFOU :2006/11/28(火) 21:59:23
(・3・) エェー もちっと高度な質問こないのかお
          もいらの出番が全然無いし

676 :ぼるじょあ ◆yBEncckFOU :2006/11/28(火) 22:03:23
(・3・) エェー まじぷーたんをアナ○調教したいお
          ここだったら彼女もくることないしどうどうと言えるお

677 :デフォルトの名無しさん:2006/11/28(火) 22:09:29
アナ○調教にかかるコスト・リスクを教えてください。(ネタで)
1.金銭
2.物
3.時間
4.人員
5.場所
6.情報(自分の風評)

成功率を上げる&リスクを減らす方法についてもお願いします。

678 :デフォルトの名無しさん:2006/11/28(火) 22:13:09
>>674
ぜひ書いてくれませんか?

679 :デフォルトの名無しさん:2006/11/28(火) 22:14:40
>>678
いくらで?

680 :デフォルトの名無しさん:2006/11/28(火) 22:15:42
>>677
ま、とりあえずビフィズス菌からで

681 :デフォルトの名無しさん:2006/11/28(火) 22:24:47
もしかして件の人は>>394からずっと張り付いているの?

682 :デフォルトの名無しさん:2006/11/28(火) 22:29:16
こいつは実は情報学科の学生ではなく心理学・あるいは人文系の学科の学生で、
その卒論の内容は「インターネットを通じてアカの他人に卒論レベルの問題を解かせる研究」
なんじゃないかという気がしてきた

683 :デフォルトの名無しさん:2006/11/28(火) 22:34:30
>>678
書きました。

684 :デフォルトの名無しさん:2006/11/28(火) 22:42:03
ってか、この課題の発表ってもう終わったんじゃねぇの?
どうせそこで留年が決定しただろうし、もうやる必要なくね?

685 :デフォルトの名無しさん:2006/11/28(火) 22:49:30
>>684
留年確定かどうかは知らんが、やる必要はないってところは同意。
元々ぼるじょあじゃないし、単にデータの精度が悪くなるだけで
今のソースコードのままでも卒論は書けるだろうからな。

>>405 にもあるけど前提条件間違ってるし、精度なんて必要無いっしょ

686 : ◆i5dB9vhrMo :2006/11/28(火) 23:13:10
卒研の中間報告なんでまだ終わってないですよ。
どなたかお願いします

687 :デフォルトの名無しさん:2006/11/28(火) 23:15:12
お前が自分でやれ

688 :608:2006/11/29(水) 06:22:00
>>671, >>673
1000ステップくらい動いてるだろ。
N=50くらいから平均値で1000~2000くらいに収束してるんだから。
それとも x + y + z を1000にしたいって事か?

お前すでに何をしたいか自分でも解ってないんじゃねぇ?


>>682 が正しいかも知れない。



689 : ◆i5dB9vhrMo :2006/11/29(水) 10:08:07
1000ステップってX+Y+Zを1000にしたいんですよ。

690 :デフォルトの名無しさん:2006/11/29(水) 10:24:37
>>689
それも心理学の実験でつか?

691 : ◆i5dB9vhrMo :2006/11/29(水) 10:32:51
>>689の訂正
X+Y+Zを1000というより3次元上で1000歩動かしたいんですよ
心理学ではありません

692 :608:2006/11/29(水) 10:42:34
>>689
最後のサービスだ。
N=500で1000回試行した結果、x + y + z の最大値は472だった。
もっとも walk() が返す x + y + z は最終停止位置なので最大到達位置ならもう少し大きいだろうし、
空間の端にぶち当たったケースも存在すると思われる。

>>674 が書いた様に通った点のリストを持つ処理系につくり直せばN=INT_MAXで処理できる
だろうが、x + y + z > 1000 を満たすには天文的試行回数が必要とされると思われる。

...今後のサポートは有償となります。

693 :デフォルトの名無しさん:2006/11/29(水) 11:08:18
>>691
>X+Y+Zを1000というより3次元上で1000歩動かしたいんですよ
ならば、そういうプログラムを書けばいい。
お前がな!

694 : ◆i5dB9vhrMo :2006/11/29(水) 11:11:27
だからX+Y+Zを1000にしるんじゃなくて歩く回数を1000にするのはむりなんですか?

695 :デフォルトの名無しさん:2006/11/29(水) 11:16:06
>>694
お前に一つ言っておこう。

このスレで何人かプログラムを書いてくれてる人がいるが、
その人たちも最初からプログラムを書ける人間だったわけじゃない。

「できません」「作ってください」なんて言っていないで、自分で勉強してプログラムを組め。

696 :608:2006/11/29(水) 11:22:34
>>694
お前馬鹿?

>>688 で1000ステップくらい動いてると書いただろ。
1000ステップちょうどで止めたいなら walk() にループの停止条件を追加するだけだろ。

while( move( &stNow, pSp, iSize ) ) {

while( iStep < 1000 && move( &stNow, pSp, iSize ) ) {

そもそもどんな結果を得ようとしてるんだ。釣りか?

697 : ◆i5dB9vhrMo :2006/11/29(水) 11:33:28
説明不足でしたね。
私が出したいのは歩かせる回数Nを10回〜1000回にし原点からの距離の平均を求め歩いた回数Nと移動した距離が比例するか検証したいのです。


698 :デフォルトの名無しさん:2006/11/29(水) 11:37:20
>>697
>説明不足でしたね。
ボケか?
お前に不足しているのはそれ以前のモノだ。

699 :デフォルトの名無しさん:2006/11/29(水) 11:39:42
>>697
さすが心理学専攻。煽るのもお手の物ですね

700 :デフォルトの名無しさん:2006/11/29(水) 11:40:11
>>◆i5dB9vhrMo
もう一度よく考えてから、プログラムの条件を整理しろ。
いくつか根本的に勘違いしてるだろ。

勘違いしてる部分を改めて、かつ誤解の無いように実装ができるような表現で書きなおせ。
ちなみに >>608 とオレでは問題に対する認識が全然違う。
両方もしくはどちらかが誤解したのは、おまえの書き方に問題があるからだぞ。

701 : ◆i5dB9vhrMo :2006/11/29(水) 11:59:05
>>608のような難しいことは必要としてないんですよ。
ただ>>498のプログラムの空間を広くして歩く歩数MAXSTEPNを20から1000にしたいだけですが後付け条件ではプログラムの書き直しが必要らしいのですが私にはでき兼ねるのでみなさんにお願いしたいんです

702 :デフォルトの名無しさん:2006/11/29(水) 12:01:40
とりあえず>>695を読め

703 :デフォルトの名無しさん:2006/11/29(水) 12:02:44
>>701
もう十分に後付けしまくってるくせに!

正しい条件を整理して書きなおせ。
箇条書きがどんなものかくらいは分かるだろうな。

704 :デフォルトの名無しさん:2006/11/29(水) 12:13:43
>>701
有償ならやるぞ。
金でも情報でもいいから出せるものを出せ。
情報は分野問わずだが、オレが面白いと思うものに限り有効だ。
雑文でも、論文でも、新製品の情報でも、新技術でもおk。あとエロ画像もw

あと、条件が間違ってると思われる部分も報酬によっては指摘するぞ。

(心理学専攻ならこの釣りは大成功だなぁ)

705 : ◆WBRXcNtpf. :2006/11/29(水) 12:38:32
[1] 授業単元:構造論
[2] 問題文(含コード&リンク):リストを用いて多項式の演算ができるようにせよ。
[3] 環境
 [3.1] OS: (Windows/bcc32)
 [3.2] Borland
 [3.3]
[4] 期限: 金曜日
[5] その他の制限: 線形リストまでならってます…

問題文からして自由度が高すぎて何をすればよいか… orz
考えでは線形リストを2つ用意して足し算引き算を行えるプログラムを
作成してからがんばろうと思ったのですがそれさえ組むことができませんでした。
ですので次のプログラムを教えていただければ幸いです…

線形リストを2つ用意してそれぞれ順番ごとに数値を足していくプログラム。

706 :デフォルトの名無しさん:2006/11/29(水) 12:44:03
>線形リストまでならってます
あほ?

707 :ぼるじょあ ◆yEbBEcuFOU :2006/11/29(水) 13:17:59
(・3・) アルェー 名無しばっかりでぼるの出る幕が無いYO

708 :デフォルトの名無しさん:2006/11/29(水) 13:21:28 ?2BP(201)
>>701
学校名と学籍番号と支払可能な金額を書け。

>>705
線形リストをどこにどうやって使うのかが分からん。
a+3b+4a-b

5a+2b
にしろってことか?

709 :デフォルトの名無しさん:2006/11/29(水) 16:09:47
>>705 こうか?

#include <stdio.h> 
#include <stdlib.h>
struct hoge{
  double a;
  struct hoge *p;
};
void puthogelist(struct hoge *list){
  int i;struct hoge *tmp,*tmp2=0;
  for(;tmp2!=list;tmp2=tmp){
    for(i=0,tmp=list;tmp->p!=tmp2;tmp=tmp->p) ++i;
    printf("%+lfx^%d ",tmp->a,i);
  }
  printf("\n");
}

710 :デフォルトの名無しさん:2006/11/29(水) 16:11:01
int main(){
  int i;double a;char buff[64];struct hoge *tmp,*tmp2,*list[2+1]={0},**result;
  for(i=1;i<sizeof(list)/sizeof(list[0]);++i){
    printf("%dつめの多項式の係数を入力\n",i);
    while(1){
      fgets(buff,sizeof(buff),stdin);
      if(1!=sscanf(buff,"%lf",&a)) break;
      tmp=(struct hoge*)calloc(sizeof(struct hoge),1);
      tmp->a=a; tmp->p=list[i]; list[i]=tmp;
    }
    puthogelist(list[i]);
  }
  for(i=1;i<sizeof(list)/sizeof(list[0]);++i){
    for(result=&list[0],tmp=list[i];tmp;result=&((*result)->p),tmp=tmp->p){
      if(*result){
        (*result)->a += tmp->a;
      }else{
        *result=(struct hoge*)calloc(sizeof(struct hoge),1);
        (*result)->a = tmp->a;
      }
    }
  }
  puthogelist(list[0]);
  for(i=0;i<sizeof(list)/sizeof(list[0]);++i){
    for(tmp=list[i];tmp;tmp=tmp2){
      tmp2=tmp->p; free(tmp);
    }
  }
  return 0;
}

711 :デフォルトの名無しさん:2006/11/29(水) 19:19:55
>>707
ぼるカナシスw

712 : ◆i5dB9vhrMo :2006/11/30(木) 01:05:41
>>704

http://up2.viploader.net/pic/src/viploader360372.jpg
こんなんでどう?

713 :デフォルトの名無しさん:2006/11/30(木) 01:12:05
>>712
妙にエロいな・・・さすが心理学

714 :デフォルトの名無しさん:2006/11/30(木) 01:17:17
惨事はいらね

715 :704:2006/11/30(木) 01:18:40
>>712
努力する方向が違うと思うんだが…

・間違っていると思われる条件
空間は端っこが行き止まり

空間の広さは制限無し(座標は負数も取り得る)

オレが協力できるのはここまでだ

716 :デフォルトの名無しさん:2006/11/30(木) 01:26:52
>>715
もっとエロが必要らしいw

717 :704:2006/11/30(木) 01:36:10
何を出してくるか興味があっただけなんだ。

あと、前提条件を見なおせって書いたのに
1000歩動かしたいとかあまりに不憫で…

早めに間違ってるのを教えてあげないと
卒論発表の時に突っ込まれるからな。

718 :608:2006/11/30(木) 03:37:26
>>701 の要求仕様は以下と考えられる。
1)ランダム移動によりNステップ移動した時の移動距離(x^2 + y^2 + z^2)^0.5を複数回試行した平均で求めたい。
2)Nを1〜1000として演算した結果をプロットしたい。
3)ただしランダム移動において移動空間による制約があってはいけない。

曖昧な点は以下。
A)1)における移動距離とは最大値なのか?それともNステップ移動した位置での距離か?
B)Nステップ移動できなかった(自ら作った袋小路に入った)場合の結果は破棄して良いか?

A)B)に回答が有れば書いてやっても良いぞ。
ただし有償な。


岡田りなの裏動画をアップしろ。


719 :デフォルトの名無しさん:2006/11/30(木) 03:43:25
岡田りなかわいいのにしゃべり方が頭悪そうで萎える

720 :デフォルトの名無しさん:2006/11/30(木) 13:34:07
↑そこが良いんじゃん。

721 :ぼるじょあ ◆yBEncckFOU :2006/11/30(木) 21:44:22
(・3・) アルェー もいらが来ないとあまり盛り上がらないね
            とりあえず鶏肉の香草焼き作って晩ご飯を食べ終わった後に
            お相手するお

722 : ◆i5dB9vhrMo :2006/12/01(金) 16:15:21
>>718
A)Nステップ移動した位置での距離です
B)袋小路になったときは破棄してよいです
岡田りなの裏画像探したのですがまだ見付かりません。

723 :デフォルトの名無しさん:2006/12/01(金) 16:37:14
裏動画と裏画像の間にはかなりの隔たりがある

724 :デフォルトの名無しさん:2006/12/01(金) 19:01:27
配列入力で10文字以外なら再入力にしたいんだけど条件は
どうすればいいかな?

教えてエロイ人!!

725 :デフォルトの名無しさん:2006/12/01(金) 19:51:42
ここは宿題スレ
スレタイも読めないバカですか?

726 :デフォルトの名無しさん:2006/12/01(金) 20:14:59
>>724
ヒント: != 10

727 :デフォルトの名無しさん:2006/12/01(金) 20:30:49
intにポインタの値が格納されています。
値の場所を先頭とみなしてdoubleの配列を
作りたいんですがどうしたらいいでしょう?

double *test[] = ポインタの値の入ったint;

とかするとコンパイルしてくれません。

728 :デフォルトの名無しさん:2006/12/01(金) 21:21:12
>>727
double** test = (double**)ポインタの値のは行ったint

729 :デフォルトの名無しさん:2006/12/01(金) 21:52:00
>>727, >>728
何故にダブルポインタ?
double* test = (double*)iPtr;
でいいんじゃまいか。

int にポインタ値を入れるのは良くないよ。
64Bit コンパイラとかだと int = 4Byte, pointer = 8Byte なんて環境もある。


730 :デフォルトの名無しさん:2006/12/01(金) 23:27:23
ありがとうございます。
.netクラスライブラリで作ったC++DLLに値を値を渡す場合
ByRefが使えないんで困っていたんです。
参照渡しする方法があるとスマートなんですが見つからないので
仕方なくintで受けようかと・・・


731 :デフォルトの名無しさん:2006/12/02(土) 00:26:40
>>730
> ByRefが使えないんで困っていたんです。
> ByRefが使えないんで困っていたんです。
> ByRefが使えないんで困っていたんです。
ううーん・・・VB?

732 : ◆i5dB9vhrMo :2006/12/02(土) 03:24:04
誰か>>722のプログラム作って下さい

733 : ◆EWRYh38uoo :2006/12/02(土) 09:10:24
>>655>>664
>>647です。KDEやOSASKなぞ、片っ端からOSのソース調べてなんとか実現できました!
>>664師匠のおかげです!間隙です!今度飯おごらせてください!
では!

734 :デフォルトの名無しさん:2006/12/02(土) 09:16:24
もう留年確定なんだからプログラム必要ないでしょ?

735 :デフォルトの名無しさん:2006/12/02(土) 09:19:01
>>733
っていって、どうせ俺にいやらしいことしたいんだろ?
ウホッ

736 :◇EWRYh38uoo:2006/12/02(土) 09:24:14
>>664師匠のおかげです!間隙です!今度掘らせてください!
おっす!

737 :デフォルトの名無しさん:2006/12/02(土) 09:31:24
>>736
>>736
>>736
>>736
>>736
>>736
>>736
>>736
>>736
>>736


738 :デフォルトの名無しさん:2006/12/02(土) 10:19:29
>>730
> ByRefが使えないんで困っていたんです。
んなあほな。できるに決まっている。

739 :デフォルトの名無しさん:2006/12/02(土) 14:49:33
>>722
で、結局どんな条件になったの? >>715の指摘している部分は妥当?
全部の条件書き出しなよ
これじゃ入力、出力もさっぱり分からん

740 :デフォルトの名無しさん:2006/12/02(土) 15:48:04
↑負の座標も許す方が簡単だし、題意にも合ってる気がする。

しかし、仕様もまとめられない >>722 が論文を書くのか?
論文の前提として使用したプログラムの外部仕様を書く必要があるんだから、一度まとめたら?


741 :デフォルトの名無しさん:2006/12/03(日) 00:02:55
整数型変数a,bの初期値がそれぞれa=2,b=3のとき、以下の式を計算して実数型
変数dを求める(実数となる場合は小数点以下4桁まで記述する)問題なのですが、
d= a += b /= 2;
の答えが3.000
となるようです、 まずb=b/2を計算して a=a+b/2 となって d=a で答えを3.500
となってしまうのですが、どういう順番ですればいいのでしょうか。
教えてください。

742 :ぼるじょあ ◆yEbBEcuFOU :2006/12/03(日) 00:25:30
>>741
(・3・) エェー 整数同士の割り算は商を返すYO

743 :デフォルトの名無しさん:2006/12/03(日) 00:27:03
演 算|.a| b| d
-----+-+-+------
開始 |.2| 3| ??
b /= 2|.2| 1| ??
a += b|.3| 1| ??
d = a .|.3| 1| 3.0000
で、何の問題も無し。 a, bは int だから 1.5 とか出てこない。

744 :デフォルトの名無しさん:2006/12/03(日) 07:59:35
あ…ホントだ(^_^;)。ありがとうございます!

745 : ◆i5dB9vhrMo :2006/12/03(日) 19:35:52
岡田りなの裏動画みつかりませんでした

746 :608:2006/12/03(日) 20:10:56
↑残念だったね。2〜3年くらい前に一瞬だけ出回ったんだけどもう入手不可かもね。

....ちゅことで論文は自力で頑張ってね。

747 : ◆i5dB9vhrMo :2006/12/03(日) 23:02:50
なんとかお願いしますよ

748 :デフォルトの名無しさん:2006/12/03(日) 23:05:19
だが断る!

749 : ◆i5dB9vhrMo :2006/12/03(日) 23:07:10

この状態でも平気なんですけどなんか納得いかないんですよ

750 :デフォルトの名無しさん:2006/12/03(日) 23:11:00
>>749
自分で何もしていない奴にその言葉を言う資格はない

751 : ◆i5dB9vhrMo :2006/12/03(日) 23:12:16
確かにおっしゃるとおりです
でもできないんですよ↓

752 :デフォルトの名無しさん:2006/12/03(日) 23:16:06
いきなりプログラムを組た奴なんかいない。
このスレの住人も例外ではない。

俺が何が言いたいかわかるか?

753 :デフォルトの名無しさん:2006/12/03(日) 23:48:43
>>749
セリフだけ抜き出すとすごく立派に見えてワロタ

754 :デフォルトの名無しさん:2006/12/03(日) 23:49:17
>>752
落ち着けw

755 :デフォルトの名無しさん:2006/12/04(月) 00:28:46
◆i5dB9vhrMoは妥協を許さない漢

756 :デフォルトの名無しさん:2006/12/04(月) 00:30:20
>>755
自分への妥協はするくせに
他人への妥協は許さないあたり
上司にしたくない人間ナンバーワンだな

757 :デフォルトの名無しさん:2006/12/04(月) 01:07:31
部下でもやだ

758 :デフォルトの名無しさん:2006/12/04(月) 01:25:19
throw i5dB9vhrMo::works(NULL);

759 : ◆i5dB9vhrMo :2006/12/04(月) 03:11:56
お先真っ暗な私を救ってください〜

760 :デフォルトの名無しさん:2006/12/04(月) 03:18:13
死ねば助かるのに…

761 :デフォルトの名無しさん:2006/12/04(月) 03:19:36
>>759

>お先真っ暗
よくわかってるじゃないか

762 :デフォルトの名無しさん:2006/12/04(月) 03:20:19
>>759
今北産業

763 :デフォルトの名無しさん:2006/12/04(月) 03:48:42
>>759
かわいくてついいぢめたくなる子だこと

764 :デフォルトの名無しさん:2006/12/04(月) 04:49:40
本当にかわいかったらちゃんと研究室の先輩が助けている

765 :デフォルトの名無しさん:2006/12/04(月) 04:57:39
>>764
先輩もいぢめててw

766 :デフォルトの名無しさん:2006/12/04(月) 05:03:58
あんなクズがちゃんと研究室に行ってるわけがない

767 :デフォルトの名無しさん:2006/12/04(月) 13:55:15 ?2BP(202)
>>759
留年するか退学するのが一番楽だと何度も言われてるだろ。

768 :デフォルトの名無しさん:2006/12/04(月) 14:02:39
といいつつ高学歴ということもあるんだぜ?そんな俺は旧帝大だけが取り柄の大学。

769 :デフォルトの名無しさん:2006/12/04(月) 14:02:50
>>764
「研究室の先輩も同レベルなんじゃないのか?」と思ってきた

770 :デフォルトの名無しさん:2006/12/04(月) 14:03:44
>>768
阪南大学のことかーーー!

771 :デフォルトの名無しさん:2006/12/04(月) 15:10:36
749 名前: ◆i5dB9vhrMo [] 投稿日:2006/12/03(日) 23:07:10

この状態でも平気なんですけどなんか納得いかないんですよ
        ^^^^^

772 :デフォルトの名無しさん:2006/12/04(月) 16:17:28
[1]プログラム演習
[2]
いろいろな整数地a,bに対して、tを媒介変数として、座標が
x=cos(2πat)
y=sin(2πbt)
で表される曲線(リサージュ)を描くlisajous関数を作成しなさい
[3]C言語(emacs)
[4]12/6
[5]for,while,if文 ポインター 文字列 1,2次配列 関数

いまならってる範囲でグラフの描き方がわかりません。すいませんが力を貸してください

773 :デフォルトの名無しさん:2006/12/04(月) 16:51:52
>>749
この状態ってどんな状態?

>>772
その出題ではグラフの描き方が解りません。
1) x, y の座標列を出力する?
2) '*'等で標準出力にグラフもどきを描画する?だとすればサイズ/縮尺は?
3) なんらかのGUIが指定されている?


774 :デフォルトの名無しさん:2006/12/04(月) 17:26:46
1)はx-y座標です
2)は適当でいいと思います
3)はなにも指定されていません

775 :デフォルトの名無しさん:2006/12/04(月) 17:29:51
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います

776 :デフォルトの名無しさん:2006/12/04(月) 17:38:01
正直、縮尺やらならってないのでわかりません

777 :デフォルトの名無しさん:2006/12/04(月) 18:02:51
[1] 授業単元:高度情報演習
[2] 問題文(含コード&リンク):
ディレクトリ内にあるテキストファイル(拡張子.txt)を読み込み、
半角英数106キーボードにある記号を
全て全角文字にして(*.h.txt)のファイル名で出力せよ。
文字コードはEUC-JP改行コードはLFとする。
[3] 環境
 [3.1] OS:Linux (Fedora Core 5)
 [3.2] コンパイラ名とバージョン: gcc4.1.1
 [3.3] 言語: C
[4] 期限: 2006年12月9日9:00まで
[5] その他の制限: gcc4.1.1でコンパイルできること。システムコール可


778 :デフォルトの名無しさん:2006/12/04(月) 18:55:04
>>776 微妙にずれてるような気もする。
#include <stdio.h>
#include <math.h>
int round( double x ){
int i; i = (int)x; if( x - (double)i > 0.5 ) i++; return i;
}
int main( void ){
char mat[21][42];
int i, j;
double a,b, t = 0.0, x, y, pai;
for( i = 0; i < 21; i++ ) {
for( j = 0; j < 41; j++ ) {
mat[i][j] = ' '; if( i == 10 ) mat[i][j] = '-'; if( j == 20 ) mat[i][j] = '|';
if( i == 10 && j == 20 ) mat[i][j] = '+';
}
mat[i][41] = 0x00;
}
pai = atan( 1.0 ) * 4.0; printf( "a: " ); scanf( "%lf", &a ); printf( "b: " ); scanf( "%lf", &b );
while( t < 1.0 ) {
x = sin( a * t * 2.0 * pai ); y = cos( b * t * 2.0 * pai );
mat[ 10 - round( y * 10.0 ) ][ 20 + round( x * 20.0 ) ] = '*'; t += 0.01;
}
for( i = 0; i < 21; i++ ) printf( "%s\n", mat[i] );
return 0;
}


779 :デフォルトの名無しさん:2006/12/04(月) 18:58:20
ありがとうございます・

780 :◇i5dB9vhrMo:2006/12/04(月) 19:01:16
なんでボクにはプログラムくれないの〜?

781 :デフォルトの名無しさん:2006/12/04(月) 19:23:59
>>780
#include <stdio.elf>
#include <manko.H>

782 :デフォルトの名無しさん:2006/12/04(月) 19:35:11
>>780
※一回書いた物の仕様変更は詰まらないから。
>>740 に返事が無いから。
※りなタンを見つけてくれないから。

783 :デフォルトの名無しさん:2006/12/04(月) 19:48:33
>>780
ttp://up2.viploader.net/pic/src/viploader364150.jpg

再帰の穴掘り法で書いてみたらすぐできたぞww

784 : ◆i5dB9vhrMo :2006/12/05(火) 01:26:36
ほんとお願いします!!!

785 :デフォルトの名無しさん:2006/12/05(火) 01:48:17
>>784
お前は勘違いをしている。
お前以外の人間にはお前のプログラムを組む義務はない。
お願いするのは勝手だが、断られたらあきらめろ。

786 : ◆i5dB9vhrMo :2006/12/05(火) 01:52:27
義務はないけど情はまだみなさんにもあると思います

787 :デフォルトの名無しさん:2006/12/05(火) 01:56:42
>>786
その「情」を当たり前のように求めるな。

788 : ◆i5dB9vhrMo :2006/12/05(火) 01:58:28
弱者にも親切に
それが民主主義だと思いませんか?

789 :デフォルトの名無しさん:2006/12/05(火) 01:59:46
>>788
ん?
弱者に厳しいのが民主主義だよ?

790 :デフォルトの名無しさん:2006/12/05(火) 02:05:30
>>788
ヒント: 弱者≠怠け者

791 :デフォルトの名無しさん:2006/12/05(火) 02:20:47
こいつから追い詰められた人間の必死さを感じないのが
一番不思議

792 :デフォルトの名無しさん:2006/12/05(火) 02:21:36
>>791
あと、一年ちょいの猶予があるからじゃない?

793 : ◆i5dB9vhrMo :2006/12/05(火) 02:30:13
みなさんが書いてくれなくてめちゃ焦ってますよ
このままじゃまとまりません。。

794 :デフォルトの名無しさん:2006/12/05(火) 02:32:01
>>793
今のままでも平気だと言ってただろうが。
いい加減、お前に力を貸す人間はここにはいないということに気づけ。

795 :デフォルトの名無しさん:2006/12/05(火) 02:35:20
>みなさんが書いてくれなくて
自分の無能を棚に上げて、人のせいにするなボケ。

796 :デフォルトの名無しさん:2006/12/05(火) 02:45:25
指導教官に頼れよ
何のために高い税金(or授業料)払って奴らを養ってるんだよ

797 : ◆i5dB9vhrMo :2006/12/05(火) 03:03:30
肝心のぼるじょあさんはどこいったんだ?

798 :ぼるじょあ ◆yBEncckFOU :2006/12/05(火) 03:15:49
(・3・)エェー 食事中だYOー

799 : ◆i5dB9vhrMo :2006/12/05(火) 05:11:14
(・3・)
お願いですので作って下さい

800 :デフォルトの名無しさん:2006/12/05(火) 06:42:41
>>800なら◆i5dB9vhrMoにはプログラムを書いてあげない

801 :デフォルトの名無しさん:2006/12/05(火) 06:57:06
>>801なら◆i5dB9vhrMoは留年決定

802 :デフォルトの名無しさん:2006/12/05(火) 07:00:36
>>802なら◆i5dB9vhrMoは俺より低学歴

803 :デフォルトの名無しさん:2006/12/05(火) 07:02:46
お前らヒドスwww

804 :デフォルトの名無しさん:2006/12/05(火) 07:04:17
>>805なら◆i5dB9vhrMoは実は既に自分でプログラムを完成させている。

805 :デフォルトの名無しさん:2006/12/05(火) 07:17:52
>>805なら、>>803はもっとヒドイことを言ってくれるw

806 :デフォルトの名無しさん:2006/12/05(火) 07:19:33
ところで「i5dB9vhrMo」でググると君はじつにエッチな子だな。

807 :デフォルトの名無しさん:2006/12/05(火) 07:25:08
単なる暇人じゃないかwww
誰かいますかなんて聞いてるうちにプログラムの一つでも書けるじゃないか

808 :デフォルトの名無しさん:2006/12/05(火) 07:48:29
[1]授業単元:プログラミング演習
[2]問題文:文字列str[ ]に整数表記(負の場合もある)が入っているとする。
それを整数に変換して返す関数を記述せよ。
ただし、atoi関数は使用することはできない。

[3]環境
 [3-1]OS:Windows XP
 [3-2]gcc
 [3-3]言語:C
[4]期限:12月5日


809 :デフォルトの名無しさん:2006/12/05(火) 07:55:50
>>808
つ atol(str)

810 :デフォルトの名無しさん:2006/12/05(火) 08:12:10
strtol
sscanf
atof
strtod

811 :ぼんじょるの ◆yBEncckFOU :2006/12/05(火) 08:17:22
>>808
#include <ctype.h>
int atoippoi(const char *str)
{
int n = 0;
int sign = 1;
if (*str == '-') { sign = -1; str++; }
else if (*str == '+') str++;
while (isdigit(*str)) n = n * 10 + (*str++ - '0');
return sign * n;
}


812 :デフォルトの名無しさん:2006/12/05(火) 10:57:46
まあ、お願いしますの一言も書けんやつへの
回答はこんなもんだろ

813 :デフォルトの名無しさん:2006/12/05(火) 14:58:43
申し訳ないです。お願いします。
標準ライブラリで回答お願いします。

814 :デフォルトの名無しさん:2006/12/05(火) 15:20:01
>>813
<ctype.h>も標準に含まれているわけだが。

815 :デフォルトの名無しさん:2006/12/05(火) 15:30:52
<stdio.h>ってこと?

816 :ぼりしぇびき ◆yBEncckFOU :2006/12/05(火) 16:31:25
>>812
俺の回答のどこに不満があるんだYO
自分が書いたような言い方するなYO

817 :ぼるじょあ ◆yBEncckFOU :2006/12/05(火) 22:32:20
>>808
(・3・) エェー もいらがとっておきのとんちをきかせてあげよう


#include <stdlib.h>

i = atol( str );


818 :ぼるじょあ ◆yBEncckFOU :2006/12/05(火) 22:34:16
(・3・) エェー atoi()ではないし全然無問題だお
          ところで大沢あかねたんとぷータンとアナ○3Pのハードプレイをしたいお

819 :ぼるじょあ ◆yBEncckFOU :2006/12/05(火) 22:36:27
(・3・) エェー 大沢あかねたんのアナ○に入れたぽこたんを引き抜き少し茶色いものがついたそれを
          つんでれぷータンの口に思いっきりねじ込んでそのまま放尿してやりたいお
          そしてぷータンに女としての本当の悦びを教えたあげたいね

820 :ぼるじょあ ◆yBEncckFOU :2006/12/05(火) 22:38:42
(・3・) エェー ぷータンのシリアナを泣き叫ぶくらい激しくつきたいなあ
          括約筋が潰れるほどがんがん犯しまくってもいらに依存させたいお

821 :ぼるじょあ ◆yBEncckFOU :2006/12/05(火) 22:39:19
(・3・) エェー まあもいらの妄想だから軽く受け流してくれお

822 :ぼるじょあ ◆yBEncckFOU :2006/12/05(火) 22:41:28
(・3・) エェー それにしても>>808が本当に問題文通りだったとすると
          アホな先生もいたもんだね、
          せめて標準ライブラリは使用しないこと、くらいは書けばいいのに
          これでもまだまだもいらのとんちにかかっちゃ抜け道はいくらでもあるけどねw

823 :デフォルトの名無しさん:2006/12/05(火) 22:46:40
>>817
賢い

824 :デフォルトの名無しさん:2006/12/05(火) 23:10:11
ぼるじょあは「とんち」と「揚げ足取り」の違いがわからないキチガイ

825 :デフォルトの名無しさん:2006/12/05(火) 23:36:02
[1]授業単元:C言語
[2]問題文:整数配列data[0]〜data[9]に、0以上の整数が格納されている。それぞれの
配列要素ごとに、一行に*を印刷し、グラフを作りたい。最も大きな数字を*
が50個となるように、スケーリングして表示すること。

[3]環境
 [3-1]OS:Windows XP
 [3-2]gcc
 [3-3]言語:C
[4]期限:2006/12/7
[5]if,forは分かります。ポインタ無しでお願いします。

826 :揚げ物2号:2006/12/05(火) 23:54:19
1] 授業単元: C言語基礎演習
[2] 問題文: 1から3までの3種類の商品について、1月から12月までの売り上げ個数
を入力すると、商品ごとの合計売り上げ個数と月ごとの合計売り上げ個数を
表示するプログラム。
[3] 環境
 [3.1] OS:windows xp
 [3.2] コンパイラ名とバージョン:わかりません
 [3.3] 言語: C
[4] 期限: 12月6日1:00まで
[5] その他の制限: defineは使わずに。二次配列(hyo[i][j])を使って
         作る。



827 : ◆GJenck4cmw :2006/12/06(水) 00:43:36
[1] 授業単元: 情報処理T
[2] 問題文(含コード&リンク): 1万円以上の金額を入力し、必要となる金種別の
               枚数計算を行い、結果を配列Aに設定するプログラム
               をつくれ。ただし、使用する金種は、1万円・千円
               百円・十円・一円も5種類のみとし、配列Bに予め
               値が格納されているとする。結果は配列Aと配列Bの
               内容を印刷せよ。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:Borland C++Compiler 5.5
 [3.3] 言語: C++
[4] 期限:2006年12月6日午前8:00 まで
[5] その他の制限:C言語を習い始めて3ヶ月と6日です。
         1次元配列を習っているところなので1次元配列を
         使用した形でよろしくお願いします。
         

828 :デフォルトの名無しさん:2006/12/06(水) 00:58:55 ?2BP(202)
>>827
http://c-kadai.sakura.ne.jp/index.php?itemid=8

829 :デフォルトの名無しさん:2006/12/06(水) 00:59:12
>>826
なんで解答もらっとるのにマルチポストすんねん

830 :デフォルトの名無しさん:2006/12/06(水) 02:24:46
>>829
概ね同意。>>828 とは若干問題が違うみたいだけど。
書こうかと思ったけどマルチしてるからやーめた。



831 :デフォルトの名無しさん:2006/12/06(水) 03:55:39
>825
int i, j, max;
max = data[0];
for(i=1; i<50; i++) if(data[i]>max) max = data[i];
for(i=0; i<50; i++) {
for(j=0; j<50*data[i]/max; j++) putchar('*');
putchar('\n');
}


832 :デフォルトの名無しさん:2006/12/06(水) 04:07:09
>>828
>int res=0;
>res = *money % res;
>*money -= res * par;
>return res;
正気か?

833 :デフォルトの名無しさん:2006/12/06(水) 04:15:16
>827
#include <stdio.h>
int main(void)
{
int i, n;
int a[5], b[5] = {10000, 1000, 100, 10, 1};
scanf("%d", &n);
for(i=0; i<5; i++) {
a[i] = n / b[i];
n %= b[i];
}
for(i=0; i<5; i++) printf("%5d円:%5d枚\n", b[i], a[i]);
return 0;
}


834 :デフォルトの名無しさん:2006/12/06(水) 09:39:29
[1] 授業単元:プログラミングT
[2] 問題文(含コード&リンク):キーボードから数値を5個入力して、それらの合計、平均値、最大値、最小値と標準偏差で求める
プログラムを配列とforループを用いて作りなさい

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] Microsoft Visual C++ 6.0
 [3.3] C++
[4] 期限: 2006年12月10日午後2時まで]
[5] まだかじってる程度です

835 :デフォルトの名無しさん:2006/12/06(水) 20:42:01
>831
ありがとうございます。

836 :デフォルトの名無しさん:2006/12/06(水) 20:51:45
>>831>>835
2個目のfor文はfor(i=0; i<10; i++)
あとmaxがゼロ(dataの中身が全部ゼロ)だったらゼロ除算

837 :デフォルトの名無しさん:2006/12/06(水) 20:56:00
>836
1個目のforも10までだな。
0除算は
>0以上の整数が格納されている
だから考える必要はない

838 :デフォルトの名無しさん:2006/12/06(水) 20:57:37
ん?0以上ってゼロを含まないの?

839 :デフォルトの名無しさん:2006/12/06(水) 20:58:04
以上は0も含む

840 :デフォルトの名無しさん:2006/12/06(水) 21:01:54
データが全て0で最大0だったら、全部*50個表示しなきゃなんないのか。
0なのに*50個って相当おかしいな。

841 :デフォルトの名無しさん:2006/12/06(水) 21:56:01
ほんとぼるじょあは役に立たないな
活躍してるのは名無しだけじゃん

842 :デフォルトの名無しさん:2006/12/06(水) 22:26:44
>>834

#include<iostream>
#include<cmath>
using namespace std;

int main()
{
double data[5];
double max, min, average=0, sum=0, std_dev=0;
double s=0 , variance=0;

for(int i=0 ; i < 5 ; ++i) {
cout << i << "個目のデータを入力してください: ";
cin >> data[i];
}
max = min = data[0];
for(int j=0 ; j < 5 ; ++j) {
sum += data[j]; //合計
s += ( data[j] * data[j] );
if( max < data[j] ) { //最大値
max = data[j];
}
if( min > data[j] ) { //最小値
min = data[j];
}
}


843 :デフォルトの名無しさん:2006/12/06(水) 22:29:31
average = sum / 5;
variance = ( 1.0/4.0 )*( s - ( (1.0/5.0)*(sum*sum) ) );
std_dev = sqrt( variance );

cout << "max :" << max << endl;
cout << "min :" << min << endl;
cout << "average :" << average << endl;
cout << "std_deviation :" << std_dev << endl;
return 0;
}

こんな感じ?わかんね

844 :842:2006/12/06(水) 22:33:31
あ・・・
variance = うんぬんの後の行に

if( variance < 0.0 ) variance = 0.0;
入れないとまずいな

845 :デフォルトの名無しさん:2006/12/06(水) 22:57:27
無駄な要望だとは思うんだが次スレは立てないで本スレと一本化してくれないだろうか>スレ立てたぼるじょあ
本スレとこっち両方見るのめんどいんだ
(マルチポストするバカを判別しやすいというメリットはあるが)

846 :ぼるじょあ ◆yBEncckFOU :2006/12/06(水) 23:31:57
ぼるじょあ全然活躍してないしこのスレが最後ということで決定

847 :デフォルトの名無しさん:2006/12/07(木) 00:17:18
>>846
>>841はぼるじょあを奮い立たせるための方便だよ。
ほんとはみんな応援してるんだから。

848 :デフォルトの名無しさん:2006/12/07(木) 13:09:33
挿入ソートの課題で、数字がちゃんと小さい順に並ばないんですが、どこが悪いのかプログラムを見てもらえませんか?
それと、このプログラムはステップ1-5 を実行した時点で、ソート済み位置より前の要素 は小さい順に並ぶらしいんですけど、その説明はどういう風にしたらいいでしょうか?
#define N 30 // 配列要素の個数
#include <iostream>
using namespace std;
void main() {
int hairetsu[N] = {636, 80, 246, 766, 881, 383,
244, 671, 503, 331,444, 723, 916,287, 492, 719, 476,
187, 704, 115,774, 334, 618, 625, 582, 938, 427,
831, 899, 909}; //ソート対象の配列
int sortedPos,pos,insert,insertPos; //ソート済み位置,現在位置,挿入要素,挿入位置
//(1)ソート済み位置を、配列先頭の要素番号-1から1ずつ増やしながら、
// 配列末 尾の要素番号-1になるまで以下の処理を繰り返す。
for ( sortedPos = 0; sortedPos < N; sortedPos++ ) {
//(1-1)ソート済み位置+1の位置に格納されている要素を挿入要素とする。
insert = hairetsu[sortedPos + 1];
insertPos = sortedPos + 1;//(1-2)挿入位置←ソート済み位置+1
pos = sortedPos;//(1-3)現在位置←ソート済み位置
//(1-4)現在位置が配列先頭の要素番号以上であり、
// かつ現在位置の要素が 挿入要素よりも大きい限り以下の処理を繰り返す。
while ( pos >= 0 && insert < hairetsu[pos] ) {
//(1-4-1)現在位置の要素を1つ後ろの位置に格納する。
hairetsu[pos] = hairetsu[pos - 1];
insertPos = pos;//(1-4-2)挿入位置←現在位置
pos = pos + 1;}// (1-4-3) 現在位置を配列の先頭方向に1つ戻す。
insert = hairetsu[insertPos];}// (1-5) 挿入要素を挿入位置に格納する。
// (2) 配列の各要素を表示する。
for ( int i = 0; i < N; i++ ) { cout << hairetsu[i] << " ";}}
すいません、お願いします。

849 :デフォルトの名無しさん:2006/12/07(木) 13:11:24
if文の中に記号をごちゃごちゃ入れられると見づらいので
よっぽどな事が無い限りは、適当な変数に値を入れ
それで比較してくれると可読性が良いので助かる。

850 :デフォルトの名無しさん:2006/12/07(木) 13:28:39 ?2BP(202)
何を言ってるんだお前は。

851 :デフォルトの名無しさん:2006/12/07(木) 13:33:52
>>848
>insert = hairetsu[insertPos];}// (1-5) 挿入要素を挿入位置に格納する。
ここを
hairetsu[insertPos]=insert;
にしてくれ

しかし、無駄なコメントが多くて読みにくかった・・・

852 :デフォルトの名無しさん:2006/12/07(木) 13:35:32
文の中に//をごちゃごちゃ入れられると見づらいので
よっぽどな事が無い限りは、適当な変数に値を入れ
それで比較してくれると可読性が良いので助かる。

853 :デフォルトの名無しさん:2006/12/07(木) 13:37:59
>>849
最高にド低脳な発言してください in ム板(XV)
http://pc8.2ch.net/test/read.cgi/tech/1164376614/185

あの、晒されてるよ・・・

俺も、変数はかえって邪魔だと思うけどね・・・

854 :ぼるじょあ ◆yBEncckFOU :2006/12/07(木) 14:08:45
(・3・) おまえらバカにいちいち付き合ってるほどヒマヒマじゃないんですYO!!!

855 :デフォルトの名無しさん:2006/12/07(木) 15:01:24
>>848
マルチ乙

856 :揚げ物2号:2006/12/07(木) 19:27:25
>>829
>>830

すいません、見落としていました。
スルーされていたと思ってこちらにも立てていました。
本当に申し訳ありませんでした。

857 :デフォルトの名無しさん:2006/12/07(木) 20:09:43
[1] 授業単元:C言語処理
[2] 問題文(含コード&リンク):
ライブラリ関数strcmpと同じ処理をする関数を記述せよ。
ポインタは使ってはならない。
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] gcc
 [3.3] C
[4] 期限: 2006年12月8日]
[5] 関数、if,for文でお願いします。ポインタはなし。です。


858 :デフォルトの名無しさん:2006/12/07(木) 20:12:41
>>857
> ポインタはなし。
> ポインタはなし。
> ポインタはなし。
全てを否定された気がする

859 :デフォルトの名無しさん:2006/12/07(木) 20:16:17
>>857
ポインタなしでどうやって比較する文字列を受け取るんだ?

860 :デフォルトの名無しさん:2006/12/07(木) 20:17:26
普通にできるじゃん

861 :デフォルトの名無しさん:2006/12/07(木) 20:18:06
不可能な課題だなw

862 :デフォルトの名無しさん:2006/12/07(木) 20:19:27
>>857
配列で受けとるの?

863 :デフォルトの名無しさん:2006/12/07(木) 20:51:32
>>861
”同じ処理”ってのが凄いなw

864 :デフォルトの名無しさん:2006/12/07(木) 23:23:18
>>860
strcmpの型はわかってるか?
int strcmp(const char *s1, const char *s2);

865 :デフォルトの名無しさん:2006/12/07(木) 23:55:40
”同じ処理をする関数”とは書いてあるが
”同じインタフェースの関数”とは書いてない
お前大丈V?

866 :デフォルトの名無しさん:2006/12/08(金) 00:03:08
>>865
C言語において1次配列とポインタが等価って事は知ってるよね。
ポインタも配列も使わないIFで strcmp を実装できたらすげぇと思う。

単に出題者が池沼。


867 :デフォルトの名無しさん:2006/12/08(金) 00:07:32
>>866
得意気になってないで
それくらい(呼び方の違いくらい)認知してやれw
だから配列で記述してやればよいだけだ

868 :デフォルトの名無しさん:2006/12/08(金) 00:32:36
>>857
int strcmp(const char s1[], const char s2[]) {
int i;
for(i=0; s1[i] && s2[i] && s1[i]==s2[i]; i++);
return s1[i] != s2[i] ? s1[i] - s2[i]
: !s1[i]&&!s2[i] ? 0 : s1[i] ? 1 : -1;
}

869 :デフォルトの名無しさん:2006/12/08(金) 01:10:36
>>866
http://www.kouno.jp/home/c_faq/c6.html
配列はポインターと違う。配列の宣言「char a[6]」 は6文字分の領域を確保して、
それを「a」という名前で識別すること を要求する。
すなわち「a」という名前の場所があって、そこには6文 字を収めることができる。
一方、ポインターの宣言「char *p」はポ インターを収める場所を要求する。
ポインターはpという名前で識別 され、ほとんどどんなものでも指すことができる。
どんなchar、ある いは連続したcharの列を指すこともできるし、どこも指さなくても
構わない。

870 :デフォルトの名無しさん:2006/12/08(金) 01:27:34
というわけでCのポインタ変数と配列名の相互互換性が余りにも高すぎるのが悪いことになりました

871 :デフォルトの名無しさん:2006/12/08(金) 01:44:24
配列とポインタが同じものだと思い込んで
ここまでgdgd言ってたのかw

872 :デフォルトの名無しさん:2006/12/08(金) 03:13:38
素で解ってないやつが混じってそうなんで書くが
配列とポインタを明確に区別して話すなら

関数に配列を渡すことは出来ない
配列を渡そうとしたとたんポインタに成り下がる

関数の仮引数に
char *a
と書こうが
char a[]
と書こうがどちらも同じポインタ変数だ


ちなみに
char a[10];
は、確かに配列の宣言だが
a[0]='s';
とかの a は既にポインタに成り下がっている

873 :デフォルトの名無しさん:2006/12/08(金) 03:47:55
「等価」といったら明確もクソも関係ないだろwww

874 :866:2006/12/08(金) 04:28:53
>>872 が言いたいことを代弁してくれた。

『ポインタを使わずに』と言った出題者は >>872 より解ってないと思う。
『ポインタと配列は等価』っていうのはK&Rに書いていたと記憶するんだけど...
『ポインタ変数と配列変数は等価』だったっけ?

875 :デフォルトの名無しさん:2006/12/08(金) 13:38:13
以下、独り言なので賢い人は読み飛ばして
/*
Cだとただの識別子名の評価される値が
識別子の型で違うことが混乱の元なんだよね
便利だけど。

int a[1], b, *c;
a 自体はintの配列だが、aが評価されると先頭のintへのポインタになる
だから、c=a; ができる。
ある意味c=&a[0]; の手抜きの表現なんだよね。
ここのみんなは違うと思うけど
これをcとごっちゃになりやすい人もいる。
でも、Cを作った人たちは自分たちが使いやすいように作ったんだね
*/

876 :デフォルトの名無しさん:2006/12/08(金) 14:19:12
>>875
14dd

877 :デフォルトの名無しさん:2006/12/08(金) 20:00:44


878 :デフォルトの名無しさん:2006/12/08(金) 20:04:11


879 :デフォルトの名無しさん:2006/12/08(金) 21:27:31
]

880 :デフォルトの名無しさん:2006/12/08(金) 21:31:55
マルチ

881 :デフォルトの名無しさん:2006/12/08(金) 21:36:13
o

882 :デフォルトの名無しさん:2006/12/08(金) 21:38:09
[1] 授業単元: プログラミング応用
[2] 問題文:以下の整列済み配列を分割せずに統合(マージ)を繰り返せば、
        ソートされる。このプログラムを作成し、結果を出力せよ。

        [11.34.58.62][20.61][100][250.300][400]

[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン:gcc?
 [3.3] 言語:C言語
[4] 期限:06年12月09日PM12:00まで
[5] その他の制限:ポインタを使用しろと指示されていますが、よくわかりません
            配列それぞれに割り振るということなのでしょうか・・・




883 :デフォルトの名無しさん:2006/12/08(金) 21:39:01
vはじめまして

突然すみません

すでに登録していたら大変失礼致しましたm(__)m


こちらの前略プロフィール同様、このサイトも無料です

すでに100万人が登録し日々楽しんでいます

サイトの内容としてゎいろいろな方との交流

無料で遊べるゲーム等が魅力です

是非登録してみて下さい

パケット定額制の方にお勧めです

http://mbga.jp/AFmbb.hs5w132b18

884 :デフォルトの名無しさん:2006/12/08(金) 21:40:16
d

885 :デフォルトの名無しさん:2006/12/08(金) 21:41:55
d

886 :デフォルトの名無しさん:2006/12/08(金) 22:02:59


887 :デフォルトの名無しさん:2006/12/08(金) 22:05:00


888 :デフォルトの名無しさん:2006/12/08(金) 22:05:55


889 :デフォルトの名無しさん:2006/12/08(金) 22:23:02
fg

890 :デフォルトの名無しさん:2006/12/08(金) 22:32:37
なんだこれ

891 :デフォルトの名無しさん:2006/12/08(金) 22:33:10


892 :デフォルトの名無しさん:2006/12/08(金) 22:35:03


893 :デフォルトの名無しさん:2006/12/08(金) 22:49:08


894 :デフォルトの名無しさん:2006/12/08(金) 22:50:52


895 :デフォルトの名無しさん:2006/12/08(金) 22:52:15


896 :デフォルトの名無しさん:2006/12/08(金) 22:54:37


897 :デフォルトの名無しさん:2006/12/08(金) 22:58:26


898 :デフォルトの名無しさん:2006/12/08(金) 22:59:46


899 :デフォルトの名無しさん:2006/12/08(金) 23:00:13


900 :デフォルトの名無しさん:2006/12/08(金) 23:04:05
rとぇr

901 :デフォルトの名無しさん:2006/12/08(金) 23:27:06


902 :デフォルトの名無しさん:2006/12/08(金) 23:29:11


903 :デフォルトの名無しさん:2006/12/08(金) 23:32:32


904 :デフォルトの名無しさん :2006/12/08(金) 23:35:04
症状:main関数に引数を渡すプログラムでエラーが出てしまう。


int main(int argc, char *argv[])
{
int i;
double d;
long l;

i=atoi(argv[1]);
l=atol(argv[2]);
d=atof(argv[3]);

printf("%d %ld %f",i,l,d);

return 0;
}


上記がソースです。使用ソフト:VisualC++6.0、OS:windowsMe。



905 :デフォルトの名無しさん:2006/12/08(金) 23:37:44
マルチ自分で考えろや


906 :デフォルトの名無しさん :2006/12/08(金) 23:47:47
>>905

自分で考えて見ました。プロンプトで引数を加えたら実行できました。
ところで、VisualC++では実行できないんでしょうか?

907 :デフォルトの名無しさん:2006/12/08(金) 23:48:30


908 :デフォルトの名無しさん:2006/12/08(金) 23:49:49
知るかボケ!俺はDOSしか使わん

909 :デフォルトの名無しさん:2006/12/08(金) 23:58:26
よう

910 :ぼるじょあ ◆yBEncckFOU :2006/12/09(土) 00:00:16
(・3・) エェー まともな質問が来ないね、もいらの出る幕じゃなさそうだお
          というかぷータン消えたんだけど・・・もいらってばれて警戒してるのかなw

911 :デフォルトの名無しさん:2006/12/09(土) 00:11:53
ノシ

912 :デフォルトの名無しさん:2006/12/09(土) 00:12:38
トリップ解析のプログラムキボンヌ

913 :ぼるじょあ ◆yBEncckFOU :2006/12/09(土) 00:15:08
(;3;) エェー ぷータンが消えたお、黙って消えないで一言寝るとか残せお
          >>911 よぐわからんけど ノシ

914 :デフォルトの名無しさん:2006/12/09(土) 00:16:23
トリップ解析のプログラムはやくしろ

915 :デフォルトの名無しさん:2006/12/09(土) 00:18:34
誰のトリップを解析したいんだよ
俺がやってやるから言えよ

916 :デフォルトの名無しさん:2006/12/09(土) 00:19:28
トリップ解析のプログラムハラショー

917 :デフォルトの名無しさん:2006/12/09(土) 00:24:44
◆LLLLLLLLL.

918 :デフォルトの名無しさん:2006/12/09(土) 00:25:51
んなもん公開トリップだろ
ググれボケ

919 :ぼるじょあ ◆yBEncckFOU :2006/12/09(土) 00:27:21
(・3・) エェー 何々、ぼるじょあのとっぷりが知りたかったのかお?

          「ぼるじょあ#もっきんぐ」でキミも今日からぼるじょあだお!

920 :デフォルトの名無しさん:2006/12/09(土) 00:27:35
できないんだろ?笑

921 :デフォルトの名無しさん:2006/12/09(土) 00:28:18
だっせー

922 :ぼるじょあ ◆yBEncckFOU :2006/12/09(土) 00:28:23
(・3・) エェー 明日(というか今日か)用事があるから寝るお
          じゃーなおまいら

923 :デフォルトの名無しさん:2006/12/09(土) 00:29:19


924 :ぼるじょあ ◆yBEncckFOU :2006/12/09(土) 00:30:17
(・3・) エェー 今日こそは彼女のアナ○に小指の第1関節の半分は入れたいお
          今日の目標: 先々週はアナ○の周囲は舐めたので今日はア○ルの中心を舐めるお
                    願わくばアナ○に小指の第1関節の半分は入れるお
          じゃーおやしみだお

925 :デフォルトの名無しさん:2006/12/09(土) 00:30:23
今日中にこのスレ終わらせようぜ

926 :デフォルトの名無しさん:2006/12/09(土) 00:34:34
いいぜ

927 :デフォルトの名無しさん:2006/12/09(土) 00:36:37


928 :デフォルトの名無しさん:2006/12/09(土) 00:37:53
ちょっとプラプラしてくるノシ

929 :デフォルトの名無しさん:2006/12/09(土) 00:44:30


930 :デフォルトの名無しさん:2006/12/09(土) 00:54:59


931 :デフォルトの名無しさん:2006/12/09(土) 00:56:25



932 :デフォルトの名無しさん:2006/12/09(土) 01:30:06
西村ひろゆきだけどなんか質問アル_?

933 :デフォルトの名無しさん:2006/12/09(土) 01:32:37
ない

934 :デフォルトの名無しさん:2006/12/09(土) 01:33:48


935 :デフォルトの名無しさん:2006/12/09(土) 01:36:17


936 :デフォルトの名無しさん:2006/12/09(土) 01:37:02


937 :デフォルトの名無しさん:2006/12/09(土) 01:40:28


938 :デフォルトの名無しさん:2006/12/09(土) 02:05:08
そろそろ次スレの季節?

939 :デフォルトの名無しさん:2006/12/09(土) 02:17:56
いやいや、次スレいらんだろ。

940 :デフォルトの名無しさん:2006/12/09(土) 08:57:33
そだな。肝心のぼるじょあがいないか来ても
アナルとか運国際話しをするやつらばかりで
このスレの存在意義がない

941 :ぼるじょあ ◆yBEncckFOU :2006/12/09(土) 09:44:12
(・3・) エェー 少しはがんばるYO!!


942 : ◆i5dB9vhrMo :2006/12/09(土) 18:11:50


943 :デフォルトの名無しさん:2006/12/09(土) 18:31:06
>>941
エェー アナルの話を頑張ってしてくれYo
C言語よりはるかに詳しいいんだろ(・3・)

944 :デフォルトの名無しさん:2006/12/09(土) 18:47:38


945 :デフォルトの名無しさん:2006/12/09(土) 18:48:21
アナル臭いからきらい

946 :デフォルトの名無しさん:2006/12/09(土) 19:01:34
d

947 :デフォルトの名無しさん:2006/12/09(土) 19:05:40


948 :デフォルトの名無しさん:2006/12/09(土) 19:09:49


949 :デフォルトの名無しさん:2006/12/09(土) 19:10:27
杯は灰は位牌亜ヒアヒアヒアヒアヒア母ヒアはいあひあはいはいあひあひあはいあひあっはあひ

950 :デフォルトの名無しさん:2006/12/09(土) 19:11:44


951 :デフォルトの名無しさん:2006/12/09(土) 19:12:40


952 :デフォルトの名無しさん:2006/12/09(土) 19:13:50


953 :デフォルトの名無しさん:2006/12/09(土) 19:25:05


954 :デフォルトの名無しさん:2006/12/09(土) 19:28:42
お前らなんかかけや

955 :デフォルトの名無しさん:2006/12/09(土) 21:21:07
k

956 :デフォルトの名無しさん:2006/12/09(土) 21:22:19
s

957 :デフォルトの名無しさん:2006/12/09(土) 21:23:26



958 :デフォルトの名無しさん:2006/12/09(土) 21:25:18



959 :デフォルトの名無しさん:2006/12/09(土) 21:26:27
これからも酔え惜しくこれsからもよろしいくこれからもよろkしく

960 :デフォルトの名無しさん:2006/12/09(土) 21:50:36
;

961 :デフォルトの名無しさん:2006/12/09(土) 21:54:02
俺のチン子なめてよ

962 :デフォルトの名無しさん:2006/12/09(土) 21:55:14
チンシュばっかやんなよ

963 : ◆fNzDaWbaps :2006/12/09(土) 21:57:15


964 :デフォルトの名無しさん:2006/12/09(土) 21:59:46
;p

965 :デフォルトの名無しさん:2006/12/09(土) 22:00:47
961 名前:デフォルトの名無しさん :2006/12/09(土) 21:54:02
俺のチン子なめてよ


962 名前:デフォルトの名無しさん :2006/12/09(土) 21:55:14
チンシュばっかやんなよ


963 名前: ◆fNzDaWbaps :2006/12/09(土) 21:57:15


966 :デフォルトの名無しさん:2006/12/09(土) 22:07:11


967 :デフォルトの名無しさん:2006/12/09(土) 22:27:00


968 :デフォルトの名無しさん:2006/12/09(土) 23:08:09
a

969 :デフォルトの名無しさん:2006/12/09(土) 23:19:39
d

970 :デフォルトの名無しさん:2006/12/09(土) 23:31:18


971 :デフォルトの名無しさん:2006/12/09(土) 23:32:10


972 :デフォルトの名無しさん:2006/12/09(土) 23:33:02
http://eclipse.dip.jp/cgi-bin/zuru/source/up0017.htm?%A5%EA%A5%B3%A1%BC%A5%EB+%A5%C8%A5%E8%A5%BF+%BB%B0%C9%A9+%A5%DB%A5%F3%A5%C0+%C6%FC%BB%BA+%A5%B9%A5%BA%A5%AD+%A5%DE%A5%C4%A5%C0+%A5%B9%A5%D0%A5%EB+%A4%A4%A4%B9%A1%B6+%A5%E4%A5%DE%A5%CF+%C6%FC%CC%EE


6 :デフォルトの名無しさん :2006/09/05(火) 23:32:24
>>3 そのようですね


7 :デフォルトの名無しさん :2006/09/06(水) 00:52:06
欠陥 回収 強度 偽装 発注 事故 飲酒 放火 妨害 核 の検索
http://eclipse.dip.jp/cgi-bin/zuru/source/up0017.htm?+%B7%E7%B4%D9+%B2%F3%BC%FD+%B6%AF%C5%D9+%B5%B6%C1%F5+%C8%AF%C3%ED+%BB%F6%B8%CE+%B0%FB%BC%F2+%CA%FC%B2%D0+%CB%B8%B3%B2+%B3%CB


8 :デフォルトの名無しさん :2006/09/06(水) 00:52:36
気まぐれ記事検索
http://eclipse.dip.jp/cgi-bin/zuru/source/up0017.htm?+1+2+3+4+5+6+7+8+9+0


9 :デフォルトの名無しさん :2006/09/06(水) 06:30:49
核ミサイル投下検索
http://eclipse.dip.jp/cgi-bin/zuru/source/up0017.htm?+%B3%CB+%A5%DF%A5%B5%A5%A4%A5%EB+%C5%EA%

973 :デフォルトの名無しさん:2006/12/09(土) 23:36:35


974 :デフォルトの名無しさん:2006/12/09(土) 23:37:31
そろそろ次スレ立てます

975 :デフォルトの名無しさん:2006/12/09(土) 23:51:43
こんなしょうもない書き込みが続くようじゃ次スレいらなくね?

976 :デフォルトの名無しさん:2006/12/10(日) 00:04:56
本スレ
ttp://pc8.2ch.net/test/read.cgi/tech/1165190320/
に統合すればいいじゃん。元々ココは完全に派生し損なった残骸なんだし。

977 :デフォルトの名無しさん:2006/12/10(日) 00:08:32
そうか、がんばれよ

978 :デフォルトの名無しさん:2006/12/10(日) 00:10:48


979 :デフォルトの名無しさん:2006/12/10(日) 00:12:31


980 :デフォルトの名無しさん:2006/12/10(日) 00:13:05
1000は俺がいただくぜ!!!

981 :デフォルトの名無しさん:2006/12/10(日) 00:13:54
いや俺がいただくわ!!

982 :デフォルトの名無しさん:2006/12/10(日) 00:14:26
いやいやおれがいただく

983 :デフォルトの名無しさん:2006/12/10(日) 00:20:23
どうぞどうぞ

984 :デフォルトの名無しさん:2006/12/10(日) 00:49:20


985 :デフォルトの名無しさん:2006/12/10(日) 00:51:04
おれのちんちんなめてる?

986 :デフォルトの名無しさん:2006/12/10(日) 00:54:26


987 :デフォルトの名無しさん:2006/12/10(日) 00:56:19
l;

988 :デフォルトの名無しさん:2006/12/10(日) 00:59:00


989 :デフォルトの名無しさん:2006/12/10(日) 00:59:44
いしやきーいも
おいしいよ

990 :デフォルトの名無しさん:2006/12/10(日) 01:02:21
11

991 :デフォルトの名無しさん:2006/12/10(日) 01:03:13
1000はもらった
お前らには絶対渡さん
覚悟しておけ
ちんちんちん

992 :デフォルトの名無しさん:2006/12/10(日) 01:05:30
sa

993 :デフォルトの名無しさん:2006/12/10(日) 01:06:40
#include <iostream>
using namespace std;
const int n = 1000000;
const int m = 4*n; // margin を4倍くらい取る
int num[m];
int main() {
for (int i = 1; i < m; ++i)
for (int j = i+i; j < m; j+=i)
num[j] += i;
for (int i = 1; i < n; ++i)
if (i < num[i] && i == num[num[i]])
cout << i << "," << num[i] << endl;
}


530 :デフォルトの名無しさん :2006/12/09(土) 13:06:42
http://ja.wikipedia.org/wiki/%E5%8F%8B%E6%84%9B%E6%95%B0
どうもこれをみる限り完全数は友愛数から除くっぽいけど
その処理は?


994 :デフォルトの名無しさん:2006/12/10(日) 01:08:59


995 :デフォルトの名無しさん:2006/12/10(日) 01:09:50
995


996 :デフォルトの名無しさん:2006/12/10(日) 01:11:36
1000

997 :ぼるじょあ ◆yBEncckFOU :2006/12/10(日) 01:19:08
(・3・) エェー 1000取り合戦なんて不毛だC

998 :ぼるじょあ ◆yBEncckFOU :2006/12/10(日) 01:21:01
(・3・) エェー そんなこと言いつつ1000狙うYo

999 :デフォルトの名無しさん:2006/12/10(日) 01:21:07
次スレは67代目でOKですか?

1000 :ぼるじょあ ◆yBEncckFOU :2006/12/10(日) 01:21:31
1000

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

276 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)