ぼるじょあがC/C++の宿題を片づけますYO! 66代目
レス数が1000を超えています。これ以上書き込みはできません。
0001ぼるじょあ ◆yBEncckFOU
2006/06/04(日) 00:37:15わからない宿題を片づけます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
0002デフォルトの名無しさん
2006/06/04(日) 00:46:380003デフォルトの名無しさん
2006/06/04(日) 00:46:470004デフォルトの名無しさん
2006/06/04(日) 01:14:03[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] ホントにかじりしか習ってません。
情報が不十分かも知れませんが、できる限り、晒しますので、よろしくお願いします。
0005デフォルトの名無しさん
2006/06/04(日) 02:01:500006デフォルトの名無しさん
2006/06/04(日) 02:21:07#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);
}
00074
2006/06/04(日) 11:53:27ありがとうございます。
0008デフォルトの名無しさん
2006/06/04(日) 18:31:180009デフォルトの名無しさん
2006/06/04(日) 22:29:25誘導
C/C++の宿題を片付けます 66代目
http://pc8.2ch.net/test/read.cgi/tech/1149350525/
0010デフォルトの名無しさん
2006/06/04(日) 22:31:300011デフォルトの名無しさん
2006/06/05(月) 05:31:000012デフォルトの名無しさん
2006/06/05(月) 09:52:51a. 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
誰かお願いします。
0013デフォルトの名無しさん
2006/06/05(月) 09:53:366. 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
0014デフォルトの名無しさん
2006/06/05(月) 09:54:319. 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.
よろしくお願いします。
0015デフォルトの名無しさん
2006/06/05(月) 09:55:56[1] 授業単元: Introduction to C/C++ Programming
忘れてました。すいません。
0016デフォルトの名無しさん
NGNG./ ;ヽ
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" | | |
001712-15
2006/06/05(月) 10:37:400018デフォルトの名無しさん
NGNG./ ;ヽ
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" | | |
0019デフォルトの名無しさん
2006/06/05(月) 10:52:51・満足のゆく解答がないまま依頼が埋もれてしまったときは、そのレスを示して注意を喚起しても構いません。
それでもだめならあきらめましょう。
とかどうだろう。
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
2006/06/05(月) 11:18:370022デフォルトの名無しさん
NGNG・ここに来る前にググりましょう
・自分がクズであることを自覚しましょう
くらいか。
0023デフォルトの名無しさん
2006/06/05(月) 11:41:04そこまで面倒見てやる必要があるのか?
たしかにつまらん問題は減るかもしれないが。
>・自分がクズであることを自覚しましょう
わけわからん。自覚させてなんになる?
0024デフォルトの名無しさん
NGNG0025デフォルトの名無しさん
2006/06/05(月) 11:51:330026デフォルトの名無しさん
2006/06/05(月) 17:25:280027デフォルトの名無しさん
2006/06/05(月) 18:05:350028デフォルトの名無しさん
2006/06/06(火) 00:03:55[2] 問題文(含コード&リンク):
20から120までの整数の中で17で割り切れる値をすべて表示し、
その総個数を求めるプログラムを作成しなさい。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC++ .NET2003
[3.3] 言語: C++
[4] 期限: 2006年6月9日まで
よろしくお願いします。
0029デフォルトの名無しさん
NGNGこんな電卓演習ができねえくらいなら単位落として退学しろ。
#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;}
0030デフォルトの名無しさん
2006/06/06(火) 00:14:57ありがとうございました!
0031デフォルトの名無しさん
2006/06/06(火) 00:18:48#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);
}
0032デフォルトの名無しさん
NGNG惜しい。もう少し。
int i;for(i=2;i*17<120;i++)printf("%d\n",i*17);printf("%d個\n",i-1);
0033デフォルトの名無しさん
2006/06/06(火) 00:41:00勉強になった
0034デフォルトの名無しさん
2006/06/06(火) 00:51:54[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時まで
お願いします。
0035デフォルトの名無しさん
2006/06/06(火) 00:57:52swapsmallてなんだ
003634
2006/06/06(火) 01:04:31使うなら有効に活用しろって書いてあったので、使わなくてもいいと思います。
わかりにくい説明ですみません
0037デフォルトの名無しさん
NGNG0038デフォルトの名無しさん
2006/06/06(火) 01:34:02#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;
}
0039& ◆QWv3R1XL8M
2006/06/06(火) 01:45:49実行してみたのですが、数字をうちこむと
「セグメンテーション違反です」
って出てきました。
0040デフォルトの名無しさん
2006/06/06(火) 02:15:03「1個以上10個以内の整数」でか?
0041227
2006/06/06(火) 02:43:36はい、そうなんです。
0042デフォルトの名無しさん
NGNGちょっと面白かったのでネタにした。
http://c-kadai.sakura.ne.jp/index.php?itemid=18
0043デフォルトの名無しさん
2006/06/06(火) 03:06:45Linuxないからなんとも言えん。
>>39=>>41か?
004439、41
2006/06/06(火) 03:19:2639=41です
reodr.c: In function ‘recoder’:
reodr.c:12: warning: passing argument 4 of ‘qsort’ makes pointer from integer without a cast
ってぃうエラーメッセージが出てきて、それで実行しようとしたらセグメントエラーになってしまいました。
0045デフォルトの名無しさん
2006/06/06(火) 03:48:21原因がわからんので、別の方法を。
#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;
}
004644
2006/06/06(火) 04:01:00今回はエラー出ずに実行できました。
本当にありがとうございました!!
0047デフォルトの名無しさん
2006/06/06(火) 04:28:05qsort()の使い方がダメすぎ。勉強しなおしておいた方がよさそうだ。
004834
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時頃
お願いします。
0049デフォルトの名無しさん
2006/06/06(火) 16:37:34もう遅い?
0050デフォルトの名無しさん
2006/06/06(火) 23:21:51[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などループ、配列を習っている最中です
0051デフォルトの名無しさん
2006/06/06(火) 23:52:17ほんとにしらみつぶし法だが…
#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) ;
}
0053デフォルトの名無しさん
2006/06/06(火) 23:54:20>>52
ありがとうございます。
0054デフォルトの名無しさん
NGNG>調べる範囲に注意する
0055デフォルトの名無しさん
2006/06/07(水) 02:47:44[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
0056デフォルトの名無しさん
NGNG#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;}
0057デフォルトの名無しさん
2006/06/07(水) 11:10:56[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などループ、配列を習っている最中です
0058デフォルトの名無しさん
2006/06/07(水) 11:13:280059デフォルトの名無しさん
2006/06/07(水) 11:16:540060デフォルトの名無しさん
2006/06/07(水) 11:42:44http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1996.txt
0061デフォルトの名無しさん
NGNG#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;}
0062デフォルトの名無しさん
2006/06/07(水) 11:59:52>>61
ありがとうございます!!
006338
2006/06/07(水) 12:15:32比較関数の引数をconst void*にしろってことか?
学校のLinux端末でコンパイルしたらこんな警告出てきた。
警告: 互換性のないポインタ型からの引数 4 個の `qsort' を渡しますです
0064デフォルトの名無しさん
2006/06/07(水) 12:58:45で、比較の時に(int*)でいいんじゃない
0065デフォルトの名無しさん
2006/06/07(水) 15:51:25ありがとうございましたm(_ _)m
0066デフォルトの名無しさん
2006/06/07(水) 17:17:27なんでint *なんだよ。const int *だろ。
0067デフォルトの名無しさん
2006/06/07(水) 17:24:140068デフォルトの名無しさん
2006/06/07(水) 17:32:420069デフォルトの名無しさん
2006/06/07(水) 17:39:560070デフォルトの名無しさん
2006/06/08(木) 02:17:28[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] その他の制限:無し
どなたかご教授お願いします。
0071デフォルトの名無しさん
2006/06/08(木) 05:46:51[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を少し習いましたが、それ以外は習っておりません。
よろしくお願いします。
0072デフォルトの名無しさん
2006/06/08(木) 08:44:40[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>のやつでお願いします 注文多くてすみません‥
0074デフォルトの名無しさん
2006/06/08(木) 17:50:42[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] 期限:無期限
お願いします。
0076デフォルトの名無しさん
2006/06/08(木) 18:34:13問題が違うような気がするが。
0077デフォルトの名無しさん
2006/06/08(木) 18:50:490078デフォルトの名無しさん
2006/06/08(木) 19:04:11#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;
}
0079デフォルトの名無しさん
NGNG関数名が違うだけだろ
0080デフォルトの名無しさん
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
よろしくお願いします
0081デフォルトの名無しさん
2006/06/14(水) 23:56:48[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を使ってお願いします。
0082デフォルトの名無しさん
2006/06/15(木) 00:24:51不明な点が一つ。5x3の中身は?
そこに書かれているものは、既に高い順に並び替えられた出力結果みたいだが?
0083デフォルトの名無しさん
2006/06/15(木) 00:35:15不明な点をいくつか。
getsを使うってことは、まさか入力において自分で INPUT: 以降の
Yr=1987 Mo=3 Dy=5 を Yr= とか Mo= とか、数字以外の部分も入力するわけ?
0084デフォルトの名無しさん
2006/06/15(木) 01:16:46http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2071.c
使えるかどうか知らんけど、どぞ。
チェックするポイントとしては、1900/12/31と2000/12/31で
閏年対策もできているのがわかるかと。
0085デフォルトの名無しさん
2006/06/15(木) 01:26:23>>84削除、ちと訂正。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2071.c
0086デフォルトの名無しさん
2006/06/15(木) 01:27:30>>85ミス、すまそ。>>84削除、ちと訂正。
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2072.c
0087デフォルトの名無しさん
2006/06/15(木) 03:43:52[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時まで
お願いします。
0088デフォルトの名無しさん
2006/06/15(木) 20:50:240089デフォルトの名無しさん
2006/06/15(木) 21:07:49[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] その他の制限: 計算、値の書き換え、更新、入力、条件分岐、繰り返し
を習ったそうです。何もわかりません、、
ジャバスクリプトを使ってます。
お願いします。
バージョンや言語がよくわからないので違っていたらすみません。。
0090デフォルトの名無しさん
2006/06/15(木) 21:09:06よかったですね
0091デフォルトの名無しさん
2006/06/15(木) 21:57:42+ JavaScript の質問用スレッド vol.48 +
http://pc8.2ch.net/test/read.cgi/hp/1148807484/
まぁ、JavaScriptでもJavaでもC++でも、for、if、演算子は共通しているけどな・・・
ただそのプログラム、プログラム言語でやる意味あんのか・・・?w
手書きで十分だろw
0092デフォルトの名無しさん
2006/06/15(木) 22:38:19emacsってコンパイラ,どこの製品?
0093デフォルトの名無しさん
2006/06/15(木) 22:51:42俺はUNIXでmuleを使っていたんでemacsの使い方はさっぱり分からんちん。
けど、文字を入力して使う分には変わりはないな。
0094デフォルトの名無しさん
2006/06/15(木) 23:00:030095デフォルトの名無しさん
2006/06/15(木) 23:30:43もし読める人がいたら・・・仙人かエスパー。
そして空気嫁は独身男性が夜に愛用している空気を入れて膨らます(ry
0096デフォルトの名無しさん
2006/06/16(金) 15:48:490097デフォルトの名無しさん
2006/06/16(金) 16:36:42指示に従って完成させなさい
#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;
}
0098デフォルトの名無しさん
2006/06/16(金) 16:44:010099デフォルトの名無しさん
2006/06/16(金) 16:52:47トーマスという方の「出されたものは全部食べるのが2ちゃんねるの常識」
という理屈でもって保守されているらしい
0100デフォルトの名無しさん
2006/06/16(金) 16:55:33お前死ねよ
0101デフォルトの名無しさん
NGNG「出されたものは残さず食べる」というのが守れないなら2chに来ない方がいいよ。
0102デフォルトの名無しさん
2006/06/16(金) 17:43:04混乱の原因は
0103デフォルトの名無しさん
2006/06/16(金) 17:52:02バカじゃね?っと煽りに来るトーマスのせい。コンパイルもできない
見づらく汚いソースを貼り付けても「何か問題でも?」と自分の落ち度を
指摘されても開き直って、さも修正してやったと恩を着せる態度。
そして修正したソースをコンパイルすると・・・質問したものが求めた目的の
結果が出せないプログラム。出題者をバカにする以前に自分が出題内容を
理解していないというのを露呈してまで書き込むわけのわからないトーマス。
あぁ、トーマス、あなたはなぜトーマスなの?
0104デフォルトの名無しさん
NGNGバカをバカにすると何か問題でも?
俺のコードの誤りは指摘があれば修正している。何か問題でも?
0105デフォルトの名無しさん
2006/06/16(金) 19:27:190106デフォルトの名無しさん
NGNG何をいまさら。
0107デフォルトの名無しさん
2006/06/16(金) 19:59:45俺はクズにはなりたくねぇ、もうこねぇ〜よウワァ〜〜ン
0108デフォルトの名無しさん
2006/06/16(金) 23:03:29[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] その他の制限:ポインタを使用すること
0109デフォルトの名無しさん
NGNG#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;}
0110デフォルトの名無しさん
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] その他の制限: ファイル入出力、プロセス制御、パイプ生成に
関してはシステムコールを用いること。
よろしくお願いいたします。
0111デフォルトの名無しさん
2006/06/16(金) 23:29:22ありがとうございます
ただmalloc関数は習っていません・・・
言うの忘れて申し訳ございませんでした・・・
0112デフォルトの名無しさん
2006/06/16(金) 23:33:12aとbをポインタじゃなくて、char a[10]
みたいに配列にすればいい。
ただしそれをやると柔軟性がなくなる
(文字入力制限がかかったり、プログラムが飛んだりする)
から>>109は親切のつもりでmallocを使っているのだろう。
まあ、char temp[100]でも同じ問題は残るんだけどね。
0113デフォルトの名無しさん
NGNGあとは知らん。
>>112
>まあ、char temp[100]でも同じ問題は残るんだけどね。
いや、fgetsでsizeof(tmp)を指定してるから、100文字以上の入力はされない。
0114デフォルトの名無しさん
2006/06/16(金) 23:39:06たしかにそれならバッファオーバーランは起こらないね。
0115デフォルトの名無しさん
NGNG>連結先はaにすること
こういう、バッファオーバーランを起こしてくれと言わんばかりの課題を平気で出す教官は
マジでクビになって欲しい。
0116デフォルトの名無しさん
2006/06/17(土) 00:56:450117デフォルトの名無しさん
2006/06/17(土) 09:11:24マジすか、その課題。
1Kくらいいくんじゃね?俺だったら10時間くらいかかるかもしれん。
はたして解答者は出るのだろうか。
0118デフォルトの名無しさん
NGNGchar tmp[1024];
while(1){
printf("% ");
fgets(tmp,sizeof(tmp),stdin);
system(tmp);
}
で要求のほとんどが満たせそうな気が。
0119デフォルトの名無しさん
2006/06/17(土) 13:23:05いや、縛りがあるから難しいしめんどくさい。
あとパイプの制御も全部自分でやんなきゃならんし、
複数のプロセスをexecしてるときにシグナル入ったら
どうすればいいかっつー問題もある。
コマンドサーチパスも、親シェルのパスを引き継がない
っつーことだしな。
まぁリダイレクトが無い分単純だけど。
0120デフォルトの名無しさん
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] その他の制限: 問題文の通りです。
0121デフォルトの名無しさん
2006/06/17(土) 15:58:46なしてcharを使うのか分からんけど、要するに入力したものを
逆から表示しろってこと?まぁ、勝手にそう解釈して書いてみるけどw
0122デフォルトの名無しさん
2006/06/17(土) 16:10:500123デフォルトの名無しさん
2006/06/17(土) 16:11:53#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;
}
0124デフォルトの名無しさん
2006/06/17(土) 16:13:02#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;
}
0125デフォルトの名無しさん
2006/06/17(土) 16:14:210126デフォルトの名無しさん
2006/06/17(土) 18:40:07よく見たら5じゃなくて6だった。orz
5→6
4→5に変更して。
0127デフォルトの名無しさん
2006/06/17(土) 22:42:30#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;}
0128デフォルトの名無しさん
2006/06/17(土) 22:55:56そういう意味だったのね
0129デフォルトの名無しさん
2006/06/19(月) 14:31:00[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番が提出するものです。
お手数ですがお願いします。
0130デフォルトの名無しさん
2006/06/19(月) 14:57:070131デフォルトの名無しさん
2006/06/19(月) 15:48:38#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);}
0132デフォルトの名無しさん
2006/06/19(月) 15:56:20int show(int p){printf("%s\n",te[p]);}
こっちのほうがいいかな
0133129
2006/06/19(月) 22:52:510134デフォルトの名無しさん
2006/06/19(月) 23:07:06こんなの?
#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;
}
0135デフォルトの名無しさん
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] その他の制限: ファイル入出力、プロセス制御、パイプ生成に
関してはシステムコールを用いること。
よろしくお願いいたします。
0136デフォルトの名無しさん
2006/06/25(日) 22:43:28オメーいつから溜め込んでやがんだアフォ
0137デフォルトの名無しさん
2006/06/25(日) 23:08:02前に質問した人?
答え既に出てるよ。
0138デフォルトの名無しさん
2006/06/26(月) 00:00:38俺の学校でも ccc_win.cppインクルードして cwin << Point(0,0) とか
やったけど、その学校特有の関数だと思ってた
それとも同じ学校・・・
0139デフォルトの名無しさん
2006/06/26(月) 00:03:03どこの学校なのかは知らないが、*.cppをインクルードするというのは
全くの異端だから気をつけとけよ。
0140デフォルトの名無しさん
2006/06/26(月) 14:47:330141デフォルトの名無しさん
2006/06/26(月) 16:38:41[2] 問題文(含コード&リンク): 関数sin(2x) と関数cos(x) の和
を求めるプログラムを作ってください。
ただし,xの値を0〜2πの間で100等分。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン: (gcc
[3.3] 言語: (C
[4] 期限: 明日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
0142デフォルトの名無しさん
NGNG#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;}
0143デフォルトの名無しさん
2006/06/26(月) 21:40:39#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;
}
0144デフォルトの名無しさん
2006/06/26(月) 22:43:32#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;}
0145デフォルトの名無しさん
2006/06/26(月) 22:50:340146デフォルトの名無しさん
2006/06/26(月) 23:50:55すごいですね。
0147デフォルトの名無しさん
2006/06/27(火) 02:37:21[2] 問題文(含コード&リンク):
入力ファイル中の改行文字('\n')を全て文字列"<RETURN>\n"へ置き換えて
ファイルを出力するプログラムを作成せよ。
入力ファイル、出力ファイル名はキーボードから入力するものとする。
●入力ファイル例
abcd
12345
●出力ファイル例
abcd<RETURN>
12345<RETURN>
[3] 環境
[3.1] OS:UNIX
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語:C
[4] 期限:本日17時
[5] その他の制限: 特にないです
一応自分でやったのですが、うまく動作がしません
0148147デフォルトの名無しさん
2006/06/27(火) 02:37:52#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);
}
0149デフォルトの名無しさん
2006/06/27(火) 13:30:15int a;
while (fscanf(fpa,"%c",a)!=EOF){
if (a=='\n'){
fprintf(fpb,"<RETURN>\n");
}else{
fprintf(fpb,"%c",a);
}
}
0150147
2006/06/27(火) 14:20:22うまくファイルが作成されなかったです。
しかも入力ファイルの中身が消えてしまいます…‥
0151149
2006/06/27(火) 14:39:21○ while (fscanf(fpa,"%c",&a)!=EOF)
初歩的なミスをしてしまったorz
0152147
2006/06/27(火) 15:09:32あと初歩がわからなかったので勉強しなおします。
0153デフォルトの名無しさん
2006/06/28(水) 01:48:25お前いいやつだな
ここにくるやつの大半は丸投げのやる気なしなのに
0154デフォルトの名無しさん
2006/06/28(水) 10:57:17[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] その他の制限:なるべく早くお願いします
0155デフォルトの名無しさん
2006/06/28(水) 10:59:48マルチ死ね
0157デフォルトの名無しさん
2006/06/28(水) 17:33:47改行箇所間違えてるか
ていうかそこまで面倒見切れん
訂正じゃなくて一から作ればいいじゃん
0158144
2006/06/28(水) 20:01:56はじめてlinux使ったとき全角受け付けてくれなくて
コンパイルエラーがでた。
他にも制限あるかもしれないけど
linuxつかってないんで分かりません。
0159143
2006/06/28(水) 20:23:47#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ライブラリリンクし忘れとかいうオチは無いよね?「実行できません」ではなく、
もっと具体的に何をしたら何が起きたかを書いてくれないと対処しようがない。
0160デフォルトの名無しさん
2006/06/29(木) 08:03:17Linux とか UNIX 系のコマンドって正常終了したら一切メッセージが出ないんだよ。
だから、コンパイルして全くメッセージが出ないのは
正常にコンパイルが終ってるんだよ。
あと、コンパイルって実行じゃないよ。
コンパイルしたら、
.\a.out
って打たないと実行できないよ。
0161デフォルトの名無しさん
2006/07/03(月) 12:51:21[2] 問題文(含コード&リンク):2つの配列a[i][j]とb[i][j]に数値を入力し,各要素の和を求めるプログラムを作ってください。
[3] 環境
[3.1] OS: linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語: c
[4] 期限: 明日
[5] その他の制限:ナシ
0162デフォルトの名無しさん
2006/07/03(月) 14:21:39[2] 問題文:階乗を計算するdoubleがたの関数を使い、1から10までの階乗を表示するプログラムを作成して
ください。因数を使わないで、外部変数を使って、main関数からユーザー関数に、1から10までの値を送ってください
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 今日3時
[5] その他の制限:お願いします。私にはできません;;
0163デフォルトの名無しさん
NGNG何と何の和だよ。
>>162
>因数を使わないで、外部変数を使って
意味ワカンネ。
0164デフォルトの名無しさん
2006/07/03(月) 22:58:47http://dictionary.goo.ne.jp/search.php?MT=%B0%F8%BF%F4&kind=jn
おいおい、因数ってかなり低学年で習うことだと思うけど・・・
要するに、4の階乗(24)だったら1・2・3・4とそのときに因数の掛け算をせず
3の階乗までの結果の6と4を掛けて求めろってことじゃね?
いちいち自分の足りない知識や頭を露呈しなくて良いからさぁ
0165デフォルトの名無しさん
2006/07/03(月) 23:05:34込んで変換した結果「因数」となったのかも。
0166デフォルトの名無しさん
2006/07/03(月) 23:08:450167デフォルトの名無しさん
2006/07/03(月) 23:10:22これと同じか?w
0168デフォルトの名無しさん
2006/07/03(月) 23:51:360169デフォルトの名無しさん
2006/07/04(火) 00:12:05[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を習ったので使わないといけないみたいです。
よろしくお願いします。
0170デフォルトの名無しさん
NGNG>3の階乗までの結果の6と4を掛けて求めろってことじゃね?
6も4も因数なわけだが。アホか?
>>165
どうやらそうらしい。
0171デフォルトの名無しさん
2006/07/04(火) 00:22:21#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;
}
0172デフォルトの名無しさん
2006/07/04(火) 00:43:116が何の因数?結果の因数ってなら論外ね。俺はそれは言ってないから。
6をさらに2・3にするとか、4を2・2にしたら各々の数値が因数だと思うが?
とりあえず意味が分からないなら突っ込まない方が良いみたいだな
少なくともお前にアホって言われたくないんですけどぉ〜〜?市ねよカス
0173デフォルトの名無しさん
2006/07/04(火) 00:47:02http://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乗を計算する
0174デフォルトの名無しさん
2006/07/04(火) 00:55:46氏ね、クズども。
0175デフォルトの名無しさん
2006/07/04(火) 00:59:14ありがとうございます!
ですが…俺がちゃんと制限しなかったせいなんですが…
score,const,char,label,for,return
というのは習ってないんです。
while,if,scanf,printfと変数だけで出来ないでしょうか?
0176デフォルトの名無しさん
2006/07/04(火) 00:59:17引数のことなんてどーでも良いんだよ、因数がどうかが次の言い争いの論点になっただけ。
6単体では因数とは言いません。6を2・3であらわしたとき、その各々の要素が因数になる。
日本語も数学も理解していないバカ共は中学校からやり直した方が良いんじゃね?
数学も知らずに数値計算のプログラムをしててもつまんねーだろ?な?
0177デフォルトの名無しさん
NGNG>俺はそれは言ってないから。
だから何?
誤謬によって元の題意自体が存在しないんだから、「意味ワカンネ」が正解であって、お前が脳内で
でっちあげた題意なんか知ったことではないんだが。
0178デフォルトの名無しさん
NGNGhttp://pc8.2ch.net/test/read.cgi/tech/1150273052/49
が読めないのは目が悪いか頭が悪いか(ry
0179デフォルトの名無しさん
2006/07/04(火) 01:11:03お前の頭が弱くて必死なのは分かるが、頭が弱いがために
適切な説明も理解もできなくてますます自分を窮地に追いやっているな
お前、在日だろ?素性までバレバレとは・・・
0180デフォルトの名無しさん
NGNGじゃあ6と4は因数ではないのかね?
4は4の因数だし6は6の因数なんだが。
万が一「因数を使うな」が正解だったとしても「何の因数か」が指定されてないんだから
やっぱり「意味ワカンネ」が正解なわけだ。
0181デフォルトの名無しさん
2006/07/04(火) 01:15:316と4がではなく6そのもの、4そのものは因数ではない。
6の因数は2・3、4には2・2と因数分解できるが?
因数分解についても理解していなかったか?やれやれ・・・
どうでも良いが、俺は計算結果に対しての因数とは言っていない。
計算結果は掛け算して出すのはわかってんだし
まぁ、これ以上は無駄な議論になるんで、あとはお前の弱い頭でとことん理解しろ
0182デフォルトの名無しさん
2006/07/04(火) 01:16:510183デフォルトの名無しさん
2006/07/04(火) 01:17:50http://dictionary.goo.ne.jp/search.php?MT=%B0%F8%BF%F4&kind=jn
>整式が、「幾つかの整式の積の形で表されて」 いるとき、その 「各構成要素」 をいう。
数値そのものは因数とは言わない。あくまでも約数になる「要素」
0184デフォルトの名無しさん
2006/07/04(火) 01:18:39明らかにトーマスが因数の意味を理解していないことに気づくまでに
あんたも時間が掛かるだろうね
0185デフォルトの名無しさん
NGNG>6と4がではなく6そのもの、4そのものは因数ではない。
だから何の?
>6の因数は2・3、4には2・2と因数分解できるが?
因数分解と素因数分解の違いはわかってまちゅか?
素数でなくても「因数」と言うんでちゅよ〜
0186デフォルトの名無しさん
2006/07/04(火) 01:19:31やっちまたな、言葉も数学も理解していない墓穴発言www
http://dictionary.goo.ne.jp/search.php?MT=%B0%F8%BF%F4&kind=jn
が読めない在日だったか・・・哀れ
0187デフォルトの名無しさん
2006/07/04(火) 01:20:48>幾つかの整式の積の形で表されているとき、その各構成要素
6は6であっていくつかの整式であらわせるとしても、
6という数字単体ではいくつかの整式の積であらわされていないため
因数とは言わない。因数になり得る数値であるというならまだしもw
0188デフォルトの名無しさん
2006/07/04(火) 01:21:49ここまで堂々と自爆する奴久しぶりに見た。
0189デフォルトの名無しさん
NGNG6×1はいくつですか?
0190デフォルトの名無しさん
NGNGの「因数」は何の因数のつもりだったんだろう。
0191デフォルトの名無しさん
2006/07/04(火) 01:38:18各要素に対して因数と言って下さいね♥ > トーマス
0192デフォルトの名無しさん
2006/07/04(火) 01:41:28【質問テンプレ】
[1] 授業:プログラミング入門
[2] 問題文:while文を使って任意個のデータ(0〜100)の平均と標準偏差を求めよ。
[3] 環境
[Windows XP Borland C++ Compiler 5.5(BCC Developer) C言語
[4] 期限: 今週中に
[5] その他の制限:文系大学なので初歩の初歩です。if,for,whileまでは習いました。
999の入力を処理終了の合図にしたいのですがどうやればいいかわかりませんm(_ _)m
0193192
2006/07/04(火) 01:42:13#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);
}
0194デフォルトの名無しさん
NGNG何の構成要素?
>1・2・3・4
の事だったら、
>結果の因数ってなら論外ね。俺はそれは言ってないから。
と矛盾するしなぁw
0195デフォルトの名無しさん
NGNGwhile(x!=999){
0196デフォルトの名無しさん
2006/07/04(火) 01:49:35#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。
だからこそ「素因数」なんて言うことで素数に限定する必要があるわけだ。
0197デフォルトの名無しさん
2006/07/04(火) 09:50:28【質問テンプレ】
[1] 授業:
プログラミング演習
[2] 問題文:
・10個の変数を生成
・変数に数を入れる(乱数で数の範囲は1〜100) ← ここまで配列でつくりますた
・任意の変数を2つ選び、その数の和を計算、100以上ならお互いの変数にカウントする
・それぞれの変数におけるカウント数を計算する
・カウントした数の分布を出力
で、結果をグラフにするわけです(グラフはエクセルでしますので)
[3] 環境
[Windows XP Borland C++ Compiler 5.5(BCC Developer) C言語
[4] 期限:
とくにありませんが、できるだけ早目がうれしいです
[5] その他の制限:
上に書いたとおりこれでも情報系なので、しっかり理解したいです。
ソースだけでも充分ですが、補足説明があるとうれしいです。
よろしくおねがいします。
0198デフォルトの名無しさん
2006/07/04(火) 10:02:170199デフォルトの名無しさん
2006/07/04(火) 10:18:490200デフォルトの名無しさん
NGNG多倍長実数クラスの設計と実装。
0201デフォルトの名無しさん
2006/07/04(火) 10:34:390202197
2006/07/04(火) 17:55:09はい
100個のノードを生成する
ノードに重みを適当に点ける(1〜100)
任意のノードペアを選び、重みの和を取り、重みの和が100以上のノードペアにリンクを張る
それぞれのノードの持つリンクの数を計算する
リンクの数の分布
(リンクが1つ・・・○○、リンクが2つ・・・○○、・・・みたいな)
擬似的にWEBページの繋がりを出すプログラムです。
0203デフォルトの名無しさん
2006/07/05(水) 12:36:55#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;
}
0204192です
2006/07/05(水) 22:17:580205デフォルトの名無しさん
2006/07/06(木) 00:29:41[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回分程度)。なので私自身あまり難易度の高いプログラミングはまだまったく出来ません。
0206c++
2006/07/07(金) 16:10:01[2] 問題文(含コード&リンク): 線形リストを用いて、素数とわかった数を保存し、指定された数(N)以下の素数を求めるプログラムを作成せよ。ただし、Nはプログラム実行中で外部から入力できるようにすること。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: 6.0
[3.3] 言語: C++
[4] 期限: 2006年7月10日まで
[5] その他の制限:たぶんなし
この問題がわかりません。
基礎なことかもしれませんが、どうかお願いします
0207デフォルトの名無しさん
2006/07/07(金) 19:30:39メモリ開放まんどくせ
#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<<' ';
}
0208デフォルトの名無しさん
2006/07/09(日) 03:42:530209デフォルトの名無しさん
2006/07/09(日) 06:18:51エラー処理、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 ;
}
0210デフォルトの名無しさん
2006/07/09(日) 12:43:06有難う御座います。後は自力で頑張ってみます。
0211デフォルトの名無しさん
2006/07/09(日) 12:52:48点を左から右へ移動させる簡単なプログラムを教えてください。
0212デフォルトの名無しさん
2006/07/09(日) 12:55:190213デフォルトの名無しさん
2006/07/09(日) 13:04:060214デフォルトの名無しさん
2006/07/09(日) 21:44:23[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日中
よろしくお願いします。
0215デフォルトの名無しさん
2006/07/09(日) 21:51:03メモリ開放まんどくせ
#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;
}
0216214
2006/07/09(日) 22:26:47ありがとうございます。
実行した時に必ず1も表示させるにはどうしたらいいのですか?
0217デフォルトの名無しさん
2006/07/09(日) 22:33:161は素数じゃないから間違いのような気もするけど、一応表示するならこう
- 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);
0218デフォルトの名無しさん
2006/07/12(水) 10:39:05[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] 配列、ループ、線形探索、二部探索、構造体
0219デフォルトの名無しさん
2006/07/13(木) 16:07:09これでお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;
}
0220デフォルトの名無しさん
2006/07/14(金) 14:57:460221デフォルトの名無しさん
2006/07/16(日) 16:16:030222デフォルトの名無しさん
2006/07/16(日) 23:10:00答えが微妙に変わるような希ガス
0223デフォルトの名無しさん
2006/07/20(木) 23:24:280224デフォルトの名無しさん
2006/07/25(火) 00:17:25[2] 問題文(含コード&リンク):
大きさ20の配列keyを用意し、キーボードから値を入力する。 この配列keyの要素を、単純挿入法で昇順にソートするプログラムを作成せよ。
ただし、ソートの途中経過を画面に出力すること。 また、最後に比較回数を画面に出力すること。
【ヒント】
配列の大きさの指定 ‥ ただし最初の要素は番兵用。よって入力は SIZE - 1 回。
単純挿入法‥未ソートの部分の先頭の要素を、ソート済みの部分に挿入する
途中経過‥未ソートの部分が1つ減るたびに(外ループ)出力。
比較回数‥初期値0の変数を用意し、比較のたびに(内ループ)インクリメント。
[3] 環境
[3.1] OS: xp
[3.2] visual studio2003
[3.3] 言語: c
[4] 期限: 25日まで
[5] その他の制限: ループ、探索、ソート、配列、構造体など
0225デフォルトの名無しさん
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();
}
0226デフォルトの名無しさん
NGNG>>1
0228ぼるじょあ ◆yBEncckFOU
2006/07/29(土) 19:12:430229デフォルトの名無しさん
2006/07/29(土) 19:35:00そのトリップを見るたびに"fuck you"を連想する。
0230ぼるじょあ ◆yBEncckFOU
2006/07/29(土) 20:08:54(・3・) エェー その配列の型は何だYO
番兵やた挿入やらなんかリストっぽいけど本当に配列かYO
0231ぼるじょあ ◆yBEncckFOU
2006/07/30(日) 02:31:370232デフォルトの名無しさん
2006/07/30(日) 04:19:58平方cmと立方cmなど右上に小さな数字を打ち込みたいのですがどうやったらできますか?^^;
0233デフォルトの名無しさん
2006/07/30(日) 04:31:01printf("%g$cm^3$\n", volume);
0234デフォルトの名無しさん
2006/07/30(日) 04:32:590235デフォルトの名無しさん
2006/07/30(日) 04:50:45どうしたらいいのかわからなくて^^;
0236デフォルトの名無しさん
2006/07/30(日) 04:57:350237デフォルトの名無しさん
2006/07/30(日) 05:00:140238デフォルトの名無しさん
2006/07/30(日) 05:02:140239デフォルトの名無しさん
2006/07/30(日) 05:02:480240デフォルトの名無しさん
2006/07/30(日) 05:05:19なら基本的には先程教えていただいたようにcm^3とい風でいいのですかね?
0241デフォルトの名無しさん
2006/07/30(日) 05:11:45U+33A4
まあ4乗ならどうするのかとか一般性を考えれば
累乗を^で表すとか当事者間で規約を決めてそれに従うのが普通だと思う
0242デフォルトの名無しさん
2006/07/30(日) 05:14:26ありがとう^^
0243ぼるじょあ ◆yBEncckFOU
2006/07/30(日) 06:59:550244赤鼻 ◆uh1FQt4ihg
2006/08/02(水) 19:15:15ボルジョア様こんばんわ
早速ですが、質問です。
C++のコンパイラをインストールしようと試みたのですが、
容量が足りないとエラーが出てしまいます。
50MBあけて再試行してしてくださいと。表示されますが、
ちゃんと、C:¥ドライブには、76GBの容量があるんです。
困りました。どうすればよいのでしょうか?初心者ですみませぬ。
0245デフォルトの名無しさん
2006/08/02(水) 19:24:13マルチ乙
0246ぼるじょあ ◆yBEncckFOU
2006/08/06(日) 02:07:070247デフォルトの名無しさん
2006/08/07(月) 16:56:00授業以外で同じ趣旨のスレって有るんですかね?
0248デフォルトの名無しさん
2006/08/07(月) 19:05:48でも授業以外の宿題って・・・?
0249デフォルトの名無しさん
2006/08/07(月) 22:30:15あぁーそっか、「宿題」か。
なるほど。サンクス!
0250ぼるじょあ ◆yBEncckFOU
2006/08/30(水) 00:04:04(・3・) エェー 宿題まだぁ?
0251ぼるじょあ ◆yBEncckFOU
2006/09/27(水) 11:58:000252デフォルトの名無しさん
2006/10/02(月) 20:01:18彼女いない暦生まれたときからの俺に良い彼女を作る方法を教えてください。
0253デフォルトの名無しさん
2006/10/02(月) 20:56:04必要な材料は石鹸1個、釘1本、マッチ100本、鉛筆450本、石灰コップ1杯、硫黄一つまみ、マグネシウム一つまみ、水1.8リットル。
0254デフォルトの名無しさん
2006/10/02(月) 21:12:16それは危険だから弄っちゃ駄目だぞ。
0256デフォルトの名無しさん
2006/10/03(火) 17:30:130257デフォルトの名無しさん
2006/10/04(水) 12:53:49[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日まで
困り果てた挙句ここに書き込みました
0258デフォルトの名無しさん
2006/10/04(水) 22:43:006は未対応だけど
#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))));}
0260258
2006/10/04(水) 22:46:02Cに直したのはこっち。
#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))));}
0261デフォルトの名無しさん
2006/10/04(水) 22:57:43いいねこれ。
0262デフォルトの名無しさん
2006/10/05(木) 14:59:13boost::functionとか便利そうですが、標準C++ライブラリのみでできないでしょうか。
また、どんな戻り値&引数の関数も区別無く渡して保存できる方法というものはないのでしょうか。
0263デフォルトの名無しさん
2006/10/05(木) 15:14:100264デフォルトの名無しさん
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] その他の制限:
0265264
2006/10/05(木) 17:19:24#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;
}
これではダメだと言われました。
助けてください お願いします
0266デフォルトの名無しさん
2006/10/05(木) 17:28:00{
if(*a>*b){
return a;
}
return b;
}
とか
0267デフォルトの名無しさん
2006/10/05(木) 17:40:29意味が良くわかりません。何の実装上の仕組みと何の仕様上の仕組みの区別を問うておられるのですか?
0269デフォルトの名無しさん
2006/10/05(木) 18:26:48変更前のSep27.cをupしる
0270264
2006/10/05(木) 19:18:58#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, /* 呼び出し部分*/);
}
}
0271264
2006/10/05(木) 19:28:20/* ただしい変更前の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;
}
0272デフォルトの名無しさん
2006/10/05(木) 19:44:38目が覚めるコードに久しぶりに出会いました。
0273デフォルトの名無しさん
2006/10/05(木) 21:07:00でも、コードはこれでOKだろうから、264は参考にしる。
0274デフォルトの名無しさん
2006/10/05(木) 21:22:36引数は、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.);
}
0275デフォルトの名無しさん
2006/10/05(木) 23:24:58[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
おねがいします。
0276デフォルトの名無しさん
2006/10/06(金) 12:30:42C/C++の宿題を片付けます 74代目
http://pc8.2ch.net/test/read.cgi/tech/1158844912/
sscanfならいいのか?
0278275
2006/10/06(金) 16:42:520279デフォルトの名無しさん
2006/10/06(金) 17:10:18意味がわからん。
これはデータをファイルから読み込むのか、それとも標準入力を使うのか。
0280デフォルトの名無しさん
2006/10/06(金) 17:38:14C/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
です。お願いします
0281215
2006/10/06(金) 18:10:51作ったデータをプログラムで読み込みデータ件数等を調べることです
0282275
2006/10/06(金) 22:25:570283デフォルトの名無しさん
2006/10/07(土) 06:00:380284ぼるじょあ ◆yBEncckFOU
2006/10/07(土) 16:57:420285デフォルトの名無しさん
2006/10/07(土) 17:18:39喪前、サボりすぎ
ぼるじょあは仕事しなくなったから
宿題は下記のスレでお願いします
http://pc8.2ch.net/test/read.cgi/tech/1158844912/
0286ぼるじょあ ◆yBEncckFOU
2006/10/07(土) 17:18:550287デフォルトの名無しさん
2006/10/08(日) 23:21:43[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次元配列を使用する
よろしくお願いします
0288ぼるじょあ ◆yBEncckFOU
2006/10/08(日) 23:42:170289ぼるじょあ ◆yBEncckFOU
2006/10/09(月) 00:25:17エンゲル係数が平均以上の人を調べ、何番目に入力した人であるかとそのエンゲル係数と食費を計算する関数、
これが良く分からなかったけど一応作ったお
2次元配列に入力する関数って僕の無い知識だと汚くなっちゃったお いい方法あるかお
0290ぼるじょあ ◆yBEncckFOU
2006/10/09(月) 00:25:50#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;
}
}
0291ぼるじょあ ◆yBEncckFOU
2006/10/09(月) 00:26:29int 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]);
}
}
}
0292デフォルトの名無しさん
2006/10/09(月) 06:54:14[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] その他の制限:基本的なことしか習ってません
お願いできますでしょうか
0293ぼるじょあ ◆yBEncckFOU
2006/10/09(月) 12:23:57今日中かお・・飯食ってから着手するお
0294ぼるじょあ ◆yBEncckFOU
2006/10/09(月) 12:53:11でもしったこっちゃないお
#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;
}
0295ぼるじょあ ◆yBEncckFOU
2006/10/09(月) 12:53:44int 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("");
}
}
0296デフォルトの名無しさん
2006/10/09(月) 18:55:440297ぼるじょあ ◆yBEncckFOU
2006/10/09(月) 19:20:02よかったYO
0298292
2006/10/09(月) 21:20:47ありがとう。
でも知識が足りなさ過ぎて全然プログラム理解できないや。
参考にしてやってみますm(_ _)m
0299デフォルトの名無しさん
2006/10/10(火) 14:02:23なんか見たことない関数使われてるけどそのまま提出してしまった・・・
0300ぼるじょあ ◆yBEncckFOU
2006/10/11(水) 19:41:460301 ◆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] その他の制限: 特になし
グラフがわからず、とても困ってます。どうかおねがいします。
0302デフォルトの名無しさん
2006/10/13(金) 02:05:21ぼるじょあなんかに頼らず俺に聞いてくれ
0303デフォルトの名無しさん
2006/10/13(金) 02:09:50> 結果の経路をその上に表示できるような
> GUIを作成する。グラフ作成時には有向グラフであるから枝の終端には
> 矢印をつけて枝の向きがわかるようにする。
> 言語: C言語
気合入ってるな
俺にはむり
0304ぼるじょあ ◆yBEncckFOU
2006/10/13(金) 23:54:120305デフォルトの名無しさん
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] その他の制限: 特になし
丸投げして悪いと思うのですが、用事があって手がつけられそうにありません
宜しくお願いします
0306ぼるじょあ ◆yBEncckFOU
2006/10/14(土) 20:18:060307ぼるじょあ ◆yBEncckFOU
2006/10/14(土) 20:28:37#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;
}
0308デフォルトの名無しさん
2006/10/16(月) 10:14:40[2] 問題文
アナログ時計
1.使用する予定のライブラリ又はWindowsAPIを使用して、アナログ時計を作る。
2.文字盤・短針・長針は画像を使用する。秒針は、画像でもAPI等で直に書いてもよい。
3.システムから現在時刻を取得し、アナログ時計で表示する。
オプション)目覚まし機能
[3] 環境
[3.1] OS: XP
[3.2] Visual Studio2003
[3.3] 言語: c
[4] 期限:10月23日
よろしくお願いします!
0309デフォルトの名無しさん
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です
0310ぼるじょあ ◆yEbBEcuFOU
2006/10/16(月) 14:34:51(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
0311ぼるじょあ ◆yBEncckFOU
2006/10/16(月) 21:49:28うれしいYO
>>308
(・3・) エェー VSはもちろんVCもBCBもないんだけどYO
全部APIでもいいのかYO?
0312デフォルトの名無しさん
2006/10/17(火) 01:15:550313ぼるじょあ ◆yBEncckFOU
2006/11/04(土) 22:26:300314デフォルトの名無しさん
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;}
長かったので、↓に続きを書きます。
0315デフォルトの名無しさん
2006/11/04(土) 22:44:01{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);}
0316デフォルトの名無しさん
2006/11/04(土) 22:50:01if(r%2=0){
⇒ if(r%2==0){
w[x]=g:
⇒ w[x]=g;
0317314-315
2006/11/04(土) 23:20:27どうもありがとうございます。
これでエラーがあとひとつになりました。
エラー 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);
の場所なんですがなにが悪いのでしょうか?
よろしくお願いします。
0318ぼるじょあ ◆yBEncckFOU
2006/11/04(土) 23:39:54(・3・) エェー 全角の空白でも入ってるんじゃないNO?
0319314-315
2006/11/04(土) 23:43:51で、実行した結果・・・・・・ソフトが固まり強制終了・・・。
ん〜これは、プログラム自体がダメってことなのですかね?
どなたか、できれば「ここをこうすればもっといいよ」みたいな感じに教えてもらえないでしょうか?
よろしくお願いします。
0320ぼるじょあ ◆yBEncckFOU
2006/11/04(土) 23:45:240321ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 00:15:06そこで止まってるお
階乗は数値が大きくなると簡単にオーバーフロー起こすお
で、最後は0になっちゃうんだお
0322314-315
2006/11/05(日) 00:31:160323ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 00:33:44今の処理の流れだとダメだお
階乗計算を一気にやらないで順次割っていくとかお
0324314-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;
0325ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 01:37:220326314-315
2006/11/05(日) 01:43:11それとも自分のと全然違うんでしょうかね?参考にしたい限りです。
0327ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 01:51:30同じハズだけどお
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;
}
0328314-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;
0329314-315
2006/11/05(日) 02:10:00ans=-(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);
}
0330314-315
2006/11/05(日) 02:11:17これで動いたらうちのPC環境のせいだと思うので、諦めますね・・・orz
0331ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 02:18:46ちょ〜酔っ払いながら調査するお
0332ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 02:50:31結局のところ数値が一時的にでかくなりすぎて暴走してる感じがするお
0333314-315
2006/11/05(日) 03:08:53また明日やってみますね。一番の問題は自分が級数展開を理解していないと言う点ですなw
0334ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 03:13:18もう酔っ払ってわかわかめだから僕も寝るお ノシ
0335デフォルトの名無しさん
2006/11/05(日) 03:16:08つ 砂糖
0336314-315
2006/11/05(日) 12:09:00sinx は
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の単位(ラジアン,デグリー)に注意すること.
これでわかりますかね?
0337ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 12:54:41飯食べるからちょっこす待ってお
0338ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 13:04:350339ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 14:15:25オーバーフロー怖いYO
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2876.txt
0340ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 15:01:07なんかあったらまた後でNE
0341314-315
2006/11/05(日) 22:52:37どうもありがとうございました。
また、聞くことがあるかもしれませんがそのときもよろしくお願いします。
0342ぼるじょあ ◆yBEncckFOU
2006/11/05(日) 23:45:240343デフォルトの名無しさん
2006/11/12(日) 14:05:22[2] 問題文:
入力した文字列から指定した文字を検索するプログラムをポインタ変数を用いて作成せよ.
[実行例]
文字列を入力してください:Exercise
検索文字を入力してください:e
文字列"Exercise"に"e"は
3番目
8番目
にあります.
文字列を入力してください:Exercise
検索文字を入力してください:a
そんな文字は入っていない!
[3] 環境
[3.1] OS:Windowsxp
[3.3] 言語:C
[4] 期限:11月15日
よろしくお願いします。
0344デフォルトの名無しさん
2006/11/12(日) 14:22:17#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;
}
0345ぼるじょあ ◆yBEncckFOU
2006/11/12(日) 14:24:040346デフォルトの名無しさん
2006/11/13(月) 05:07:02[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):以下のそれぞれの数値を配列方変数に入力し、
数値の合計、平均を求め、さらに入力した数値を大きい順に並び替えて出力せよ
[3] 環境
[3.1] OS: レッドハットリナックス
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2006/11/13
[5] その他の制限: 標準ライブラリは使ってはいけないっぽいです。
授業始まったばっかなんですが早くもさっぱりです><
よろしくおねがいします。
0347デフォルトの名無しさん
2006/11/13(月) 14:06:52無理
0348デフォルトの名無しさん
2006/11/13(月) 18:04:44入出力をread, writeにすればいいだけだろ
0349ぼるじょあ ◆yBEncckFOU
2006/11/13(月) 21:05:330350ぼるじょあ ◆yBEncckFOU
2006/11/13(月) 21:09:51>その他の制限: 標準ライブラリは使ってはいけないっぽいです。
すまん、もう一度よく聞いて来てくれ。「っぽい」では信用しにくい。
さすがにprintf()とかfrptinf()を使うなとはいきなり言わないと思うが。
0352ぼるじょあ ◆yBEncckFOU
2006/11/13(月) 21:21:04#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;
}
0353デフォルトの名無しさん
2006/11/15(水) 02:06:40宜しければ一度で良いので拝見して頂きたいです
当企画の成立には貴方の力が必要です
次世代コミュニティ製作 C++,mod_perl,P2Pが使えるコーダ、グラフィッカ募集中
http://pc8.2ch.net/test/read.cgi/tech/1163349367/
0354デフォルトの名無しさん
2006/11/15(水) 13:43:11[2] 問題文(含コード&リンク):2つの自然数 a, b に対し,
その公約数をすべて表示する関数を作成せよ 。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 2006年11月15日14:30まで
[5] その他の制限: なし
0355デフォルトの名無しさん
2006/11/15(水) 14:00:29ここにある
C/C++の宿題を片付けます 76代目
http://pc8.2ch.net/test/read.cgi/tech/1162771475/605
0356デフォルトの名無しさん
2006/11/15(水) 14:22:52ありました!ありがとうございます。
0357デフォルトの名無しさん
2006/11/15(水) 23:00:57[2] 問題文(含コード&リンク):
最大8桁の整数を2つ入力し、int型配列に格納。
入力後2つの数の和を求める。負の数、整数以外、スペースのみが入力された場合
エラーメッセージを表示
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 11/18まで
[5] その他の制限:scanfは使えない
0358デフォルトの名無しさん
2006/11/16(木) 09:10:41http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/2942.txt
(・3・) エェー エラーは纏めて一緒くただけど良いよNE
0359ぼるじょあ ◆yEbBEcuFOU
2006/11/16(木) 09:12:020360 ◆bUnakS8vvE
2006/11/16(木) 23:11:44[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] その他の制限: 特にありません
0361デフォルトの名無しさん
2006/11/16(木) 23:45:41const 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;
}
0362 ◆bUnakS8vvE
2006/11/16(木) 23:57:53すいません。windowsでも同じですか?自宅ではwindowsで
やっています。
コンパイルしたら、
エラー E2206 ファイル名:不正な文字` `(0x0)
というのが、たくさん出てきたのですが。
0363デフォルトの名無しさん
2006/11/17(金) 00:01:05同じ。
>エラー E2206 ファイル名:不正な文字` `(0x0)
2chブラウザの問題かもしれない。
webブラウザでこのスレを開いてコピペしてみてくれ。
0364 ◆bUnakS8vvE
2006/11/17(金) 00:13:13できました。ありがとうございます。
後、繰り返すには、どうすればよいですか?
別に構造体を使うこともできますか?
0365デフォルトの名無しさん
2006/11/17(金) 00:20:15使いたければ使え。使う必要はないが。
0366デフォルトの名無しさん
2006/11/17(金) 00:26:24かるくこのプログラムについて教えていただいていいですか?
うまく理解できないんで・・・
すいません、勉強が足りなくて。
0367デフォルトの名無しさん
2006/11/17(金) 01:10:57parse_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倍しながら足し合わせて、結果を得る。
最終的に文字列が全て消費されていないときは、どこかで失敗しているのでエラーメッセージを表示。
そうでなければ成功しているはずなので結果を表示して終了。
0368デフォルトの名無しさん
2006/11/17(金) 01:18:40ありがとうございます。理解できるよう考えながら読んでみます。
0369 ◆DG40hZpqdg
2006/11/17(金) 01:37:01[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言語を理解する上で大切な事とか教えてもらえたら幸いです。
大変お忙しいとは思いますが、よろしくお願いいたします。
0370ぼるじょあ ◆yEbBEcuFOU
2006/11/17(金) 02:12:19(・3・) エェー とりあえずヒント書いてみるYO
int n;
printf("〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓\n");
printf(" N\t10*N\t100*N\t1000*N\n");
for ( n = 1 ; n <= 5 ; n++ ) { /* 反復処理は(・3・)ここ */ }
0372デフォルトの名無しさん
2006/11/19(日) 09:29:31[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] その他の制限: 論理演算子・配列
0373デフォルトの名無しさん
2006/11/19(日) 15:02:580375デフォルトの名無しさん
2006/11/19(日) 20:48:44[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
よろしくお願いします。
0376デフォルトの名無しさん
2006/11/19(日) 21:21:27この一言に集約されます。
0377ぼるじょあ ◆H6wikgcXIU
2006/11/19(日) 21:27:200378デフォルトの名無しさん
2006/11/19(日) 21:41:43#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;
}
0379デフォルトの名無しさん
2006/11/19(日) 21:55:59[2] 問題文:
三次元self-aboidingウォークのプログラム
self-aboidingウォークとはランダムウォークしてるときに
一度通った道を通らないもの。
格子状でお願いします(上下左右の運動)
[3] 環境
[3.1] OS: WindowsXP
[3.3] 言語: C言語
[4] 期限: なるべく早めでお願いします
[5] その他の制限: cygwinを使います。gnuplotで表示させます
どなたかお願いします。。
0380デフォルトの名無しさん
2006/11/19(日) 22:12:55言語: C言語
0381デフォルトの名無しさん
2006/11/20(月) 00:16:54研究する気あるのかよ
0382デフォルトの名無しさん
2006/11/20(月) 00:21:57全然理解できないのです
どうかよろしくお願いします。
0383デフォルトの名無しさん
2006/11/20(月) 00:23:41留年ってかっこいいよ!!
0384デフォルトの名無しさん
2006/11/20(月) 00:31:210385デフォルトの名無しさん
2006/11/20(月) 00:31:32卒論の謝辞のところにちゃんと「ぼるじょあスレの皆さん」と書いてくれるかな?
0386デフォルトの名無しさん
2006/11/20(月) 00:44:12うう・・・
言われると思ったwwww
さすがに厳しいっすよ(;;)
0387デフォルトの名無しさん
2006/11/20(月) 07:02:210388デフォルトの名無しさん
2006/11/20(月) 15:27:13マルチすんなはげ
0390ぼるじょあ ◆yBEncckFOU
2006/11/20(月) 19:52:21(・3・) エェー ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/3005.txt
0392デフォルトの名無しさん
2006/11/20(月) 20:39:01ランダムウォークの移動方向の確率は?
空間の広さは?
袋小路にはまったときは?
空間は端っこが行き止まり?それともどこかに繋がってる?
終了条件は?
格子のすべての辺および点は通行可能?
aboid?avoid?
0393デフォルトの名無しさん
2006/11/20(月) 20:41:010394デフォルトの名無しさん
2006/11/20(月) 20:43:16[1] 授業単元: 卒研の授業の課題
[2] 問題文:
三次元self-aboidingウォークのプログラム
self-aboidingウォークとはランダムウォークしてるときに
一度通った道を通らないもの。
格子状でお願いします(上下左右の運動)
[3] 環境
[3.1] OS: WindowsXP
[3.3] 言語: C言語
[4] 期限: なるべく早めでお願いします
[5] その他の制限: cygwinを使います。gnuplotで表示させます
どなたかお願いします。。
0395デフォルトの名無しさん
2006/11/20(月) 22:15:24典型的な自分が何をしたら良いのかすらわからない
若しくは伝えられない逝っちゃってる人乙。
研究室の人から見放されたか?w
ちっとくらい整理してから説明しろ。
0396デフォルトの名無しさん
2006/11/20(月) 22:16:42どういうこと?
0397デフォルトの名無しさん
2006/11/20(月) 22:59:21ランダムウォークの移動方向の確率は?
>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です。
卒研の授業の課題
どういうこと?
>単位上は卒業研究として扱われます。
とりあえず二次元上でもよいので誰かよろしくお願いします。
できれば原点からの距離を求めれたら尚更良です。
私はプログラミングが全然理解できません
すみません。。
0398デフォルトの名無しさん
2006/11/20(月) 23:07:300399デフォルトの名無しさん
2006/11/20(月) 23:13:50(x,y,z)=(0.0.0)とかそれとも・・・適当?w
0400デフォルトの名無しさん
2006/11/20(月) 23:18:270401デフォルトの名無しさん
2006/11/20(月) 23:24:160402デフォルトの名無しさん
2006/11/20(月) 23:31:590403デフォルトの名無しさん
2006/11/21(火) 00:33:39でけた!卒業研究の論文の内容が面白ければうpする。
どんな論文なのかうpしる!まあ、オレはぼるじょわではないけどな
>私はプログラミングが全然理解できません
心理学系の学科だとすると三次元というのは考えにくいので、情報系の学科だろう。
そうだとすると、こんな奴が卒業してもいいのか疑問。後輩が苦労するからな。
0404デフォルトの名無しさん
2006/11/21(火) 01:08:35ほんとですか?
一応内容は3次元self-avoidingウォークの臨界指数を求めること。
ランダムウォークは原点からNステップ回移動した距離は回数Nの1/2乗に
比例します。(臨界指数とはこの場合1/2のことを指す)
self-avoidingウォークの場合は2次元上ではNの3/4乗
4次元の場合は1/2乗に比例するが3次元の場合は数値計算に
よるしか方法がないためそのシミュレーションを行いたいのです。
ここのみなさんではこんなの簡単だろうと思うと思いますが
私にはそんなことすらできないのです。
自分が情けないです。
ちなみに情報系の学科です。
なぜみなさんはプログラミングができるのでしょうか?
0405デフォルトの名無しさん
2006/11/21(火) 01:22:10プログラミング以外にも問題があるようだな
0406デフォルトの名無しさん
2006/11/21(火) 01:28:17>なぜみなさんはプログラミングができるのでしょうか?
逆にお前に聞きたい。
情報系の学科にいて、なぜこの程度のプログラムも書けない?
大学に入ってからプログラミングを始めた奴でも、今の時期なら書けるぞ。
0407406
2006/11/21(火) 01:31:21○ 大学に入ってからプログラミングを始めた一回生
でお願いします。
0408デフォルトの名無しさん
2006/11/21(火) 01:37:460409デフォルトの名無しさん
2006/11/21(火) 01:40:11可能ならば大学名さらしてくれ。興味がある。
0410デフォルトの名無しさん
2006/11/21(火) 01:47:22それらのペアを配列を使って読んで、
それぞれの四則演算を別のファイルに書き出しなさい。
5.0 3.0
2.5 1.0
4.0 1.5
って課題が授業で出てサッパリわかんなくて困ってるんですが、
どなたか助けていただけないでしょうか?
0411デフォルトの名無しさん
2006/11/21(火) 01:49:38大学名は勘弁してください
0412デフォルトの名無しさん
2006/11/21(火) 02:01:43まあ、プログラミングってもFORTRANで数値計算やっただけだがな。
0413デフォルトの名無しさん
2006/11/21(火) 02:26:54一歩だけ動くプログラムを作った。
・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;
}
0414デフォルトの名無しさん
2006/11/21(火) 02:27:41{
int param = rand()%6 + 1;
switch(param) {
case 1:
++(*x);
break;
case 2:
--(*x);
break;
0415デフォルトの名無しさん
2006/11/21(火) 02:28:19case 3:
++(*y);
break;
case 4:
--(*y);
break;
case 5:
++(*z);
break;
case 6:
--(*z);
break;
default:
break;
}
space[*z][*y][*x] = true;
return true;
}
0416デフォルトの名無しさん
2006/11/21(火) 02:29:01{
bool space[SIZE][SIZE][SIZE];
int x, y, z;
srand(time(NULL));
init(space, &x, &y, &z);
move(space, &x, &y, &z);
return 0;
}
0417デフォルトの名無しさん
2006/11/21(火) 02:44:28しかし失礼ですがエラーのほとんど理解できません。
1、2行目は
stdio,h
stdlib.h
のことですよね?
0418デフォルトの名無しさん
2006/11/21(火) 02:47:10おお、すまん。
これはC++のコードだ。
g++とかc++あたりでコンパイルしてくれ。
0419デフォルトの名無しさん
2006/11/21(火) 02:53:32C++でコンパイルと言われましても‥
0420デフォルトの名無しさん
2006/11/21(火) 02:54:410421デフォルトの名無しさん
2006/11/21(火) 02:56:30cygwin入れてるんだろ?
g++ xxx.cpp -o xxx.exe
0422デフォルトの名無しさん
2006/11/21(火) 03:00:14gccしか使えません。
0423デフォルトの名無しさん
2006/11/21(火) 03:04:56じゃあg++を入れる。
もしくはソースを書き換える。
cstdlib -> stdlib.h
ctime -> time.h
あとはCにはboolがないので、
bool -> int
false -> 0
true -> 1
にでも書き換える。
0424デフォルトの名無しさん
2006/11/21(火) 03:06:37for (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) {
0425デフォルトの名無しさん
2006/11/21(火) 03:17:00理解ができるようにソースを書き換えたとこれエラーがでなくなりました。
しかしお恥ずかしいのですがこの先どうすればよいのですか?
0426デフォルトの名無しさん
2006/11/21(火) 03:19:36・一度通ったところに行くと終了
・範囲外に出たら終了
とりあえず、この3つの条件を自分で追加すべし。
0427デフォルトの名無しさん
2006/11/21(火) 03:22:18すいません。
0428デフォルトの名無しさん
2006/11/21(火) 03:27:16じゃあ、ヒント(なにもかも人任せなのはいただけないので)
for
while
if
return
あたりの使い方を調べるべし。
あと、move関数は
・移動ができれば1を返す
・移動ができなければ0を返す
という関数として書きました。
0429デフォルトの名無しさん
2006/11/21(火) 03:28:25#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;
}
この程度のランダムウォークのプログラムが私の限界です
0430デフォルトの名無しさん
2006/11/21(火) 03:33:160431デフォルトの名無しさん
2006/11/21(火) 03:34:22とりあえず、whileをつかって1から20までの整数を出力するプログラムを書いてみましょう。
それができれば、>>426で書いた一つ目の条件がクリアできるようになるはず。
0432デフォルトの名無しさん
2006/11/21(火) 04:04:49main()
{
int i;
for(i = 1; i <=20; i++){
printf("%3d", i);
}
return 0;
}
おきてますか?
forを使いました
時間かかってすいません
0433デフォルトの名無しさん
2006/11/21(火) 04:06:280434デフォルトの名無しさん
2006/11/21(火) 04:09:50で、俺が書いたプログラムに戻る。
>>432の要領で、move関数を20回呼び出せば、20歩動くことになるってのはわかるかい?
0435デフォルトの名無しさん
2006/11/21(火) 04:10:290436デフォルトの名無しさん
2006/11/21(火) 04:16:160437デフォルトの名無しさん
2006/11/21(火) 04:17:37俺が書いたプログラムで、1回だけmove関数を呼び出してるってのはわかるかい?
0438デフォルトの名無しさん
2006/11/21(火) 04:21:05それがよくわかりません。
0439デフォルトの名無しさん
2006/11/21(火) 04:24:500440デフォルトの名無しさん
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
0441デフォルトの名無しさん
2006/11/21(火) 04:35:110442デフォルトの名無しさん
2006/11/21(火) 04:38:220443デフォルトの名無しさん
2006/11/21(火) 04:43:03まず10×10×10の配列をつくっているとこ
そこの値が0であること
その道を通ると1になることくらいです
まちがってたらすいません
0444デフォルトの名無しさん
2006/11/21(火) 04:48:13それであってますよ。(「そこ」とか「その」って表現は微妙ですが)
じゃあ、
init(space, &x, &y, &z);
move(space, &x, &y, &z);
で何をしているかはわかるかい?
0445 ◆i5dB9vhrMo
2006/11/21(火) 04:50:270446デフォルトの名無しさん
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;
}
0447デフォルトの名無しさん
2006/11/21(火) 04:55:24int 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;
0448デフォルトの名無しさん
2006/11/21(火) 04:56:20case 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;
}
0449 ◆i5dB9vhrMo
2006/11/21(火) 05:10:44エラーが出ました
最後の
||
はなんでしょうか?
またよろしくお願いします
0450446
2006/11/21(火) 06:17:35int 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;
}
0451デフォルトの名無しさん
2006/11/21(火) 08:14:14指導教官と相談してなんか対策とらないと不幸になるぞ。
0452403
2006/11/21(火) 08:25:08int 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;
}
0453デフォルトの名無しさん
2006/11/21(火) 09:23:11以下のような3つのペアの実数をファイルに書き、
それらのペアを配列を使って読んで、
それぞれの四則演算を別のファイルに書き出しなさい。
5.0 3.0
2.5 1.0
4.0 1.5
0454453
2006/11/21(火) 09:31:26[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: emacs
[3.3] 言語: C
[4] 期限: 2006年11月21日14時まで
0455デフォルトの名無しさん
2006/11/21(火) 09:32:24マルチしすぎ
0456453
2006/11/21(火) 09:42:48ごめんなさい。それだけ焦っちゃってるんで・・・・
0457デフォルトの名無しさん
2006/11/21(火) 09:44:49最近はCコンパイラまで実装してたのか。
0458デフォルトの名無しさん
2006/11/21(火) 10:05:19半年振りに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;
}
0459デフォルトの名無しさん
2006/11/21(火) 11:22:230460デフォルトの名無しさん
2006/11/21(火) 11:29:47つまりお前は今後も焦ったらマルチポストを繰り返すわけか
もうね、死んで
0461458
2006/11/21(火) 12:22:12それ以外にも、valueやfpの宣言でもエラーがでるよ。
でも、95%答えは出ているのだから、
コンパイル通すくらいはマルチ君でもできるだろう。。
0462デフォルトの名無しさん
2006/11/21(火) 12:24:04あ、本当だw
あと、ifでも出るね。
0463デフォルトの名無しさん
2006/11/21(火) 16:10:00エラー出ませんでした
この先どーすればいいでしょうか?
0464デフォルトの名無しさん
2006/11/21(火) 16:46:05それだけ困ってるって人を助けてあげるってのが我々の仕事だとオモワレ
0465デフォルトの名無しさん
2006/11/21(火) 16:50:050466デフォルトの名無しさん
2006/11/21(火) 17:05:11助けてください
446のあとどーすればgnuplotに20歩歩かせたのを出力できますか?
意味が分からん。課題ができなくて困ってる奴の代わりに課題をやってやっても
別に困ってる奴は助からないぞ。必要な能力が身に付かないんだから。
0468464
2006/11/21(火) 17:08:58今回は時間に終われてたみたいだし、
これ以降はきっと自分で理解するように頑張るんじゃない?
つーか「これ以降」って何よw そんなもんあるの?w
0470デフォルトの名無しさん
2006/11/21(火) 18:26:200471デフォルトの名無しさん
2006/11/21(火) 18:30:45#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ウォークできませんか?
0472デフォルトの名無しさん
2006/11/21(火) 18:43:450473デフォルトの名無しさん
2006/11/21(火) 18:53:5910*10の5回移動する二次元上のプログラムでよいので
模範解答作っていただけませんか?
明日発表しなければいけないのですがなんも進みません。。
0474デフォルトの名無しさん
2006/11/21(火) 19:03:41手遅れと気付こうよ。
0475デフォルトの名無しさん
2006/11/21(火) 19:11:460477デフォルトの名無しさん
2006/11/21(火) 19:16:27その程度のものなんだよ。
だから、例えできないまま発表を迎えても
>>473には特に影響はないのだろう。
0478デフォルトの名無しさん
2006/11/21(火) 19:39:010480デフォルトの名無しさん
2006/11/21(火) 19:45:280482デフォルトの名無しさん
2006/11/21(火) 19:48:50あのプログラムは、ランダムウォークを実装してるだけだ。
出力はしていない。
出力部分は自分で作れ(spaceの値を出力するだけでいいだろう?)。
そして>>478のように言っておけ。
0483デフォルトの名無しさん
2006/11/21(火) 19:56:22をどこに入れればいいのでしょうか?
0484デフォルトの名無しさん
2006/11/21(火) 19:57:59人に聞いてばかりじゃなくて、それくらい自分でやれ。
0485デフォルトの名無しさん
2006/11/21(火) 20:00:570486デフォルトの名無しさん
2006/11/21(火) 20:01:24それすら分からないならもうあきらめろ。
どう見ても卒業に値する能力がない。
0488デフォルトの名無しさん
2006/11/21(火) 20:05:20そのうち別のところで答えもらえるんじゃね?
0489デフォルトの名無しさん
2006/11/21(火) 20:06:54byte[79999]をdouble[9999]に変換したいのですがCだといとも簡単に
変換できたりするものでしょうか?
0490デフォルトの名無しさん
2006/11/21(火) 20:26:38{
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;
}
0491sage
2006/11/21(火) 20:45:23同じ道通ってんジャンww
0492デフォルトの名無しさん
2006/11/21(火) 20:49:070493デフォルトの名無しさん
2006/11/21(火) 20:52:14>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
>同じ道通ってんジャンww
0494デフォルトの名無しさん
2006/11/21(火) 20:55:43space[*x][*y][*z] = 1;
を追加すべし。
0495デフォルトの名無しさん
2006/11/21(火) 21:00:03ちなみに邪魔なもの省いて1から20だけを
出力させることできますか?
0496デフォルトの名無しさん
2006/11/21(火) 21:04:29自分でやれ。
0497デフォルトの名無しさん
2006/11/21(火) 21:16:590498デフォルトの名無しさん
2006/11/21(火) 21:27:52#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;}
0499デフォルトの名無しさん
2006/11/21(火) 21:39:05なんでこんなに親切なの?
0500デフォルトの名無しさん
2006/11/21(火) 21:53:01決して親切でやってるわけじゃないお。
0501デフォルトの名無しさん
2006/11/21(火) 22:18:20[1] 授業単元: 仕事
とか出てきそうで怖い
0502デフォルトの名無しさん
2006/11/21(火) 22:19:53も出てくるとみたねw
0503デフォルトの名無しさん
2006/11/21(火) 22:33:500504デフォルトの名無しさん
2006/11/21(火) 22:48:36明日の「教えてクン」を目指す、若き戦士達に以下の文章を捧げる。
日々精進し、パソコンヲタクどもの親切を蹂躙してやれ。
1. 努力を放棄すること
いやしくも「教えてクン」たるもの、努力をしてはならない。
過去ログを読んだり、検索してはいけない。
「英語は苦手なので、分かりません。」は、高く評価できる。
辞書片手にマニュアルやReadMeを読むなど、決してしてはならない。
他力本願と言われようと、自分で調べたり試行錯誤したりせず、他人の努力の結果を搾取するのが、正しい「教えてクン」である。
また、「もう何が悪いのかサッパリ分かりません。」と言ってふてくされるのも有効である。
「サッパリ」という単語が「やる気の無さ」を効果的に表現している。
「原因を特定するには、何をすべきでしょうか?」と訊いてしまうと自己の積極性が現れてしまうので、「教えてクン」失格である。
2. 情報を開示しないこと
使用OSや、機器構成などの必須の情報を知らせてはならない。
マザーボード名やBIOSのバージョンも同様だ。
具体的なアプリ名やバージョンも隠蔽すべきだ。
「DVD再生ソフト」のように曖昧に表記しておけばよい。
反対に「前から欲しいと思っていた○○」とか「安売りされていた ○○」等の「どうでもいい情報」は、どんどん書いてやれ。
トラブルの場合は、状況を正確に記述してはならない。
「なんだかうまく動きません。」とか「エラーが出ます。」等と具体的なことは何も書かないことが重要である。
また、自分の試してみた事も具体的に書いてはいけない。
考えられる組合せのマトリックスを作成し、状況を整理するなどもってのほかである。
最悪の場合、それだけで問題が解決してしまうこともあるのだ。
「いろいろやってみたけど、動きません。」が理想的だ。
0505デフォルトの名無しさん
2006/11/21(火) 22:48:39安心しろ 卒論まるまるやらせるつもりだろうから
しばらくしたら「あの時はありがとうございました」って出てくる
0506デフォルトの名無しさん
2006/11/21(火) 22:49:22「教えてクン」は、孤高の戦士である。
相手のことを考えるようでは教えてクン失格というものだ。
以下のような行動が、望ましい。
初心者であることを高らかに宣言し、初心者向けの丁寧で分かりやすい説明を強要する。
専門用語の使用を禁じておくとさらに効果的である。
簡潔な説明を禁じられたヲタクどもは、同じ内容を説明するのに、何倍もの労力を強いられる。
自分は努力せず、相手には多大な努力をさせることこそが「教えてクン」の真骨頂である。マルチポストも有効である。
そのBBSを信用していないことを明確に示せる。
「どうせ、お前らじゃ分からんだろう。」という意志表示として高く評価できる。
もちろんマルチポストの非礼をあらかじめ詫びてはならない。
それでは、単なる「急いでいる人」になってしまう。
それは、教えてクンではない。質問のタイトルは、「教えてください。」で良い。
タイトルを読んだだけでは「何に関する質問」か全く分からない。
そういう努力は、答える人間にさせれば良いのだ。
とにかく、答える人間が答えやすいように気を使って質問してはならない。
傲慢で不遜な態度が必須である。「聞きたいことがあります。」など、プロの仕事であろう。
最後に、言うまでも無いことだとは思うが、答えてくれた人達に礼の言葉を返すなど言語道断である。
せっかく「教えてクン」を貫いてきたのに、最後にお礼を言っているようでは、画竜点睛を欠いていると言わざるを得ない。
質問だけしておいて、後はシカトが基本である。
上級テクニックとして、「そんなことはもう試しました。」とか、「そこまで初心者じゃありません。」などと言って、回答者の神経を逆なでしておけば完璧である。
以上のことを踏まえて質問すれば、君も立派な「教えてクン」である。
ビバ!教えてクン! 教えてクンに栄光あれ!!
0507ぼるじょあ ◆yBEncckFOU
2006/11/21(火) 22:59:550508デフォルトの名無しさん
2006/11/21(火) 23:30:58ワロタ
0509ぼるじょあ ◆yBEncckFOU
2006/11/22(水) 00:36:300510 ◆i5dB9vhrMo
2006/11/22(水) 04:12:05今帰宅しました!
ほんとみな様には感謝しています。
私みたいなものに丁寧に教えてくださって世の中まだ捨てたもんじゃないですね。
プログラム出来る人は尊敬しています
ひとつ思うんですがみなさんはプログラムは好きなのですか?
0511デフォルトの名無しさん
2006/11/22(水) 06:32:27スレ違い。
消えろ
0512デフォルトの名無しさん
2006/11/22(水) 15:45:21とかが普通に出てきそうだな。
その場合は会社名晒し必須で。料金は会社に請求。
0514デフォルトの名無しさん
2006/11/22(水) 18:26:32面倒くさいです
0515デフォルトの名無しさん
2006/11/23(木) 00:33:36このプログラムに新しいプログラムを付け加えて距離を求めること
ができるようになりました
また質問です。。
このプログラムから空間を広くして
ランダムウォークの歩かせる回数のNを100とか1000にしたいんですけど
どうすればよいですか?
よろしくお願いします。
0516デフォルトの名無しさん
2006/11/23(木) 00:36:470517デフォルトの名無しさん
2006/11/23(木) 00:40:40できました〜〜〜。
本当にありがとうございます!!
0518デフォルトの名無しさん
2006/11/23(木) 00:44:04>>516
また、質問です。すみません。
SIZEとMAX_STEP の( )は意味があるのでしょうか?
意図がよくわかりませんでした。
>>517
??
0519デフォルトの名無しさん
2006/11/23(木) 00:47:27一つの数字だけの時は意味はない。
ただ、例えば
#define X 2+3
と
#define X (2+3)
とでは、
X*3の値が違ってくる。
0520 ◆i5dB9vhrMo
2006/11/23(木) 00:49:50うまく実行できませんでした。
MAX_STEPは40以上だとうまくいきませんでした。
おそらくSIZEだけ増やすだけではspeceSIZEが広げられないと思います
0521デフォルトの名無しさん
2006/11/23(木) 00:54:28SIZEはどれくらいにした?
0522 ◆i5dB9vhrMo
2006/11/23(木) 00:59:58SIZEは100とかにしたのですがおそらく10*10*10のままなのだと
おもいます。。
0523デフォルトの名無しさん
2006/11/23(木) 01:00:29(*x < 0) || (*x >= SIZE) ||
(*y < 0) || (*y >= SIZE) ||
(*z < 0) || (*z >= SIZE)) {
return 0;
}
0524 ◆i5dB9vhrMo
2006/11/23(木) 01:03:37$ ./a
Segmentation fault(core dumed)
と表示されます
0525デフォルトの名無しさん
2006/11/23(木) 01:05:270526 ◆i5dB9vhrMo
2006/11/23(木) 01:06:40是非教えてください
0527デフォルトの名無しさん
2006/11/23(木) 01:07:050528デフォルトの名無しさん
2006/11/23(木) 01:08:570529デフォルトの名無しさん
2006/11/23(木) 01:09:490530ぼるじょあ ◆yBEncckFOU
2006/11/23(木) 01:14:240531デフォルトの名無しさん
2006/11/23(木) 01:15:07もちろん知ってますよ
0533デフォルトの名無しさん
2006/11/23(木) 01:37:51納得!
0534デフォルトの名無しさん
2006/11/23(木) 02:40:12そういや、ぼるじょあは宿題片づけてないじゃないか!w
0535ぼるじょあ ◆yEbBEcuFOU
2006/11/23(木) 08:12:160536デフォルトの名無しさん
2006/11/23(木) 09:31:460537デフォルトの名無しさん
2006/11/23(木) 10:16:47俺はそういうのすきだぞw
0539デフォルトの名無しさん
2006/11/23(木) 20:14:58にもかかわらず、こんなスレを立てるぼるじょあが大好きだぁ〜!
0540ぼるじょあ ◆yBEncckFOU
2006/11/23(木) 20:47:510541デフォルトの名無しさん
2006/11/23(木) 20:52:55じゃあ、お前のこと好きじゃないw
0542デフォルトの名無しさん
2006/11/23(木) 20:52:56ぇ?
0543デフォルトの名無しさん
2006/11/23(木) 21:07:52他のぼるじょあを確認しあうことでオリジナルの存在を確信しているが、
未だオリジナルに到達したものはいない…
0544デフォルトの名無しさん
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] 期限: (なるべく早めに)
0545ぼるじょあ ◆yBEncckFOU
2006/11/23(木) 21:30:560547 ◆i5dB9vhrMo
2006/11/24(金) 16:33:39勉強しましたがわかりませんでした。
0548デフォルトの名無しさん
2006/11/24(金) 17:14:40そんなわけない。
ググれば一発で出てくる。
いいかげんこのスレから出て行け。
0549デフォルトの名無しさん
2006/11/24(金) 17:20:39ローカルじゃない変数を宣言すればいいと思うよ!
>勉強しましたがわかりませんでした。
じゃああきらめろ。お前の能力じゃ誰が教えても無理だ。
0551デフォルトの名無しさん
2006/11/24(金) 18:46:410552 ◆i5dB9vhrMo
2006/11/24(金) 19:09:590553デフォルトの名無しさん
2006/11/24(金) 19:17:290554デフォルトの名無しさん
2006/11/24(金) 19:35:46お前、よくそれで4回生になれたなw
0555 ◆i5dB9vhrMo
2006/11/24(金) 19:36:330556デフォルトの名無しさん
2006/11/24(金) 22:18:460558デフォルトの名無しさん
2006/11/24(金) 22:21:550559ぼるじょあ ◆yBEncckFOU
2006/11/24(金) 22:26:59(・3・) エェー どうしたんだお?
C++やjavaみたいな厨な言語はよくわからんけど
C、C#、pascal、basic(N88-basicとX-basicに限る)に関してはもいらが
ばりばり答えてやるお
アナ○についてもおすすめビデオなど聞かれたら答えられるお
0560デフォルトの名無しさん
2006/11/25(土) 00:29:16あなたのおかげでこのスレも滅びそうです
本家がそうであるように
0561ぼるじょあ ◆yBEncckFOU
2006/11/25(土) 12:28:16(・3・) エェー このやろうはこっちまで滅ぼす気なのかYO
0563デフォルトの名無しさん
2006/11/25(土) 12:46:140564デフォルトの名無しさん
2006/11/25(土) 12:51:43つまり学校にいようが社会に出ようがどこでも
バカあつかいされるということですね^^
main関数の中だろうが自作関数の中だろうが
通用するバカなんですね^^
これでわからなかったらもうキングオブバカ
0566デフォルトの名無しさん
2006/11/25(土) 13:31:560567デフォルトの名無しさん
2006/11/25(土) 14:01:53namespaceの外からも見える変数:パブリック変数
なの。
0568デフォルトの名無しさん
2006/11/25(土) 14:24:12とかいきなり説明する講師はいない。
ていうかリアルで>>567はキチガイじゃないの?
0569デフォルトの名無しさん
2006/11/25(土) 14:26:22('A`) そういうことは先ずは自分で説明してから言えよホゲ
0570デフォルトの名無しさん
2006/11/25(土) 14:31:57C++を使わない、Cだけの人にもわかるように説明してください><
0571ぼるじょあ ◆yBEncckFOU
2006/11/25(土) 14:33:56(・3・) エェー こうやってすぐスレのムードを険悪にするしったかぶりの名無しは嫌だYO
0572デフォルトの名無しさん
2006/11/25(土) 14:41:18ナナシの問題じゃなく、言葉だけ投げるのが問題
('A`)
0573デフォルトの名無しさん
2006/11/25(土) 14:41:250574デフォルトの名無しさん
2006/11/25(土) 14:47:17Cだけの人はググレカス
0575ぼるじょあ ◆yBEncckFOU
2006/11/25(土) 17:16:400576デフォルトの名無しさん
2006/11/25(土) 18:03:160577ぼるじょあ ◆yBEncckFOU
2006/11/25(土) 18:51:42死んで詫びRO
0578デフォルトの名無しさん
2006/11/25(土) 18:54:130579デフォルトの名無しさん
2006/11/25(土) 19:07:050580ぼるじょあ ◆yBEncckFOU
2006/11/25(土) 19:25:380581ぼるじょあ ◆yEbBEcuFOU
2006/11/25(土) 19:32:050583デフォルトの名無しさん
2006/11/25(土) 19:43:09>>575
0584ぼるじょあ ◆yBEncckFOU
2006/11/25(土) 23:34:46ルール守れない煽りの名無しは出て行けYO
0585デフォルトの名無しさん
2006/11/25(土) 23:40:47>>575
0586デフォルトの名無しさん
2006/11/26(日) 00:55:42警報age
0587ぼるじょあ ◆yBEncckFOU
2006/11/26(日) 01:11:170588デフォルトの名無しさん
2006/11/26(日) 05:49:360589ぼるじょあ ◆yBEncckFOU
2006/11/26(日) 08:53:49これを守ればみんなぼるじょあだYO!
0590ぴろこ ◆lHG3Yzo0a6
2006/11/26(日) 16:38:150591ぼるじょあ ◆H6wikgcXIU
2006/11/26(日) 16:40:350592ぴろこ ◆lHG3Yzo0a6
2006/11/26(日) 16:42:36巣に戻るにょろ
0593 ◆i5dB9vhrMo
2006/11/27(月) 00:27:230594デフォルトの名無しさん
2006/11/27(月) 00:28:280595ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 01:18:17(・3・) エェー やって欲しかったらインデント付けてわかりやすく整形しろYO
見づらくてかなわんY
0596ぐあ
2006/11/27(月) 01:18:19OnDraw()関数にいくらコードを書き込んでも実行するファイルに反映されません。
誰かわかる方いませんか?
0598ぐあ
2006/11/27(月) 01:20:090599デフォルトの名無しさん
2006/11/27(月) 01:22:26んにゃ
0600ぐあ
2006/11/27(月) 01:23:400601デフォルトの名無しさん
2006/11/27(月) 01:32:01いい加減死ね。
お前に大学の卒業するだけの能力も資格もない。
あと2年くらい留年して勉強しろ。
0603デフォルトの名無しさん
2006/11/27(月) 10:40:10ちょっと書いてみたら面白いな。
size を200くらいまで100回ずつ試行したところ1400〜2000ステップで安定する。
空間が広くなっても歩ける距離は収束するって事を論じたいんだろうな。
0604603
2006/11/27(月) 10:49:40酔っ払いが帰れなくなるのが実感できるわ。
0605デフォルトの名無しさん
2006/11/27(月) 11:54:37そのソース下さい!
と奴が言ってくると見たねw
0606ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 13:06:05(・3・) エェー ソースupしろYO
0607デフォルトの名無しさん
2006/11/27(月) 13:13:330608603
2006/11/27(月) 13:50:20#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
0609603
2006/11/27(月) 13:50:58{
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
0610603
2006/11/27(月) 13:51:59{
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
0611603
2006/11/27(月) 13:52:59{
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
0612603
2006/11/27(月) 13:54:09{
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;
}
0613デフォルトの名無しさん
2006/11/27(月) 18:31:45めちゃエラーでますよ
0614ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 18:38:45(・3・) エェー もまいもぬけさくだなあ
拡張子を cpp にしてるかお?
もしくは c++ モードでちゃんとコンパイルしてるかお?
0615デフォルトの名無しさん
2006/11/27(月) 18:39:330616ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 18:41:03まあC専用スレと言うことでアナ○の話は控えめにするつもりだお
一応もいらのプロフィールは>>559となってるお、
指名してくれたら喜んで回答してやるお
0617ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 18:42:24(・3・) エェー bool を独自で定義してコンパイルしてみろお
typedef enum {
int false,
int false
} bool;
0618ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 18:43:37typedef enum {
false,
false
} bool;
0619ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 18:45:02typedef enum {
false,
true
} bool;
あとstruct を次のように変更
typedef struct _pos3d { int x; int y; int z; } Pos3D;
0620ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 18:53:42cとc++のスタイルを混同して使うやつは頭が悪い
コードも汚いしなあ
もう少し美しいスタイルでコーディングするように心がけるべし
0621ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 18:54:57↓>>620の訂正
(・3・) エェー まあ>>614と書いたけど一番悪いのは>>603だよな
cとc++のスタイルを混同して使うやつは頭が悪い
コードも汚いしなあ
もう少し美しいスタイルでコーディングするように心がけるべし
0622デフォルトの名無しさん
2006/11/27(月) 18:57:040623ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 19:02:15もまいは超能力者かw
理論的に考えられない奴は鳶でもやってろw
0625デフォルトの名無しさん
2006/11/27(月) 19:19:070626デフォルトの名無しさん
2006/11/27(月) 19:35:37if(borujoa.joutai==kenka){
borujowa.joutai=dead
}
0627homoじょあ ◆5OLf4yFnuM
2006/11/27(月) 19:41:470628ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 19:44:470629ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 19:45:33(・3・) エェー 別にぼるじょあ同士じゃないお
童貞の名無しが煽ってきたから煽り返してやっただけだし
0631homoじょあ ◆5OLf4yFnuM
2006/11/27(月) 19:48:310634ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 19:52:48もいらの専門はCとC#、basic(N88-basicとx-basicに限る)だお
0636ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 19:54:56これまずいお
全部捨てて晩飯はカップラーメンだ
0638603
2006/11/27(月) 20:22:45なんか部分的に直してくれてたみたいだけど >>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;
}
0639603
2006/11/27(月) 20:35:44c のスタイルと混同だぁ?俺は c++ で書いたんじゃ。
c 独自のスタイルと言えば old-fushion の関数定義くらいだろが。(もう忘れて書けないけど)
インデントが汚い理由は知らん。(行頭スペースが削られてる)
0640デフォルトの名無しさん
2006/11/27(月) 20:41:14引数のvoidは省略してクラス化ないとC++らしくないですよ
0641デフォルトの名無しさん
2006/11/27(月) 20:42:440642ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 20:44:31>>640 #include <iostream>一行で済むお
0643ぼるじょあ ◆yBEncckFOU
2006/11/27(月) 21:01:55ただこの人はちょっとcとc++を混同して使ってる印象は受けるね
0644デフォルトの名無しさん
2006/11/27(月) 21:07:16.h は普段でも省略しないな。
自前のヘッダーをインクルードするからそっちだけ .h 付いてるの何か嫌。
VC++ 使う事が多いしね。
『void は省略してクラス化ないと』の意味が解らん。
0645デフォルトの名無しさん
2006/11/27(月) 21:09:240646デフォルトの名無しさん
2006/11/27(月) 22:47:54http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm
で「非ぼるじょあ」の書きこみをみるヨロシ
0647デフォルトの名無しさん
2006/11/27(月) 23:12:43例えばウィンドウズOSでウィンドウをたくさん出して
1つのウィンドウを閉じたときその閉じたウィンドウに消されていた矩形領域を
計算するようなプログラムです
言語はCがいいです
期日は12月3日まででお願いします
0649デフォルトの名無しさん
2006/11/27(月) 23:20:24自分で実装したいってこと?
もしそうじゃないなら、それはウインドウマネージャーの仕事なので、
関数を使って調べることができるよ
C言語の授業でDirectXを使ったグラフィックの実験があるんですけど
大小様々な矩形を画面にたくさん出して(最大32枚まで)
適当な矩形を消したときに重なっていたウィンドウがちゃんと表示されるように
しなければならないんです。むつかしいです。。。
塗りつぶさなきゃならない領域を計算する方法とか分かればいいです
熱が出てきたので今日はお休みさせていただきますね
また明日来ます
.oO(誰かすごい人がソースコードうpしてくれるとうれしいなー。なんて)
0653デフォルトの名無しさん
2006/11/28(火) 00:02:130654デフォルトの名無しさん
2006/11/28(火) 10:16:00要するに二つの矩形を引数で受け取って、重なっている領域を返す関数を作れって事?
0655ぼるじょあ ◆yEbBEcuFOU
2006/11/28(火) 10:17:59多少効率が落ちても良いなら、
削除矩形とウィンドウの重なった部分を再描画領域にして
奥から手前に向かって描画するのが楽だYO
Win32のリージョン無しで真面目にやると面倒そうだNE……(-3-)
0656 ◆i5dB9vhrMo
2006/11/28(火) 15:03:510657デフォルトの名無しさん
2006/11/28(火) 15:06:450658ぼるじょあ ◆yBEncckFOU
2006/11/28(火) 15:07:49卒論なんて3日前からBlogコピペすれば完成するYO!
0659デフォルトの名無しさん
2006/11/28(火) 15:56:52直近の30レス程度読み直してみなよ
0660デフォルトの名無しさん
2006/11/28(火) 16:26:29>>638
0662デフォルトの名無しさん
2006/11/28(火) 18:17:15ここまで池沼だとどの業界でもだめだろ
0664デフォルトの名無しさん
2006/11/28(火) 18:47:33KDEあたりのウインドウマネージャーのソースコードならすごい人が書いてると思うぞ。
該当部分を探すと吉。
一般人のオレがうpしてもうれしくなさそうなので悲しいけどな。
ちょっと違うけどそんな感じです!実際には
2つとは限らないです。
struct Rect { int x; int y; int width; int height };みたいな
構造体で再描画しなきゃならない領域を計算したいんです
>>655>>664
すばらしい(・∀・)b!!
>>664さんの方法でソースコードを見たいと思います
師匠と呼ばせてください!
0666デフォルトの名無しさん
2006/11/28(火) 20:35:511 :x/y
2 :x/y
:
200:x/y
と出ますがこのx/yは何をあらわしているんでしょうか?
0667デフォルトの名無しさん
2006/11/28(火) 20:43:120668デフォルトの名無しさん
2006/11/28(火) 20:47:13i, iTotal / 100, i * i * i
なんで回数かけてるんだ?
iTotalってなに?
0669デフォルトの名無しさん
2006/11/28(火) 20:52:350670デフォルトの名無しさん
2006/11/28(火) 21:09:540671デフォルトの名無しさん
2006/11/28(火) 21:16:40してもらいたいのですがどなたかできませんか?
0672608
2006/11/28(火) 21:22:07たくサルだな。
N: x / y
N: 領域のサイズ(1辺の長さ)
x: 動けなくなった時の位置での x + y + z 値を100回の試行で平均したもの
y: 領域の点数 = N^3
ちなみに >>611 walk() の戻り値を iStep (コメントアウトしてある行)とすれば、
x:動けなくなるまでに動いたステップ数を100回の試行で平均したもの
となる。
>>612 の i は領域のサイズを表し、j は試行回数なので適宜ループ条件を修正すべし。
ただし、サイズ = 1000 とかにすると 1GByte のヒープを必要とするので普通の環境では動かないと思う。
0674デフォルトの名無しさん
2006/11/28(火) 21:51:21ハッシュテーブルを使って一度通過した点を記録するようにすれば、
ランダムウォークの長さを 100000 でも 1000000 にでもできる。
(遅くてもよければ一方向リストでもいいが)
いいたいのは条件の後付けをすると全面的に作り直しになることが多いってこと。
空間の広さを聞かれたときに、広くなる予定なので無限扱いにできるようにとでも書いておけば
そのように実装したのにって事なんだ。
規模が代わるとアルゴリズム変える必要があるとか何も分かってないみたいだから
情報系学科を卒業しないでほしいな。
0675ぼるじょあ ◆yBEncckFOU
2006/11/28(火) 21:59:23もいらの出番が全然無いし
0676ぼるじょあ ◆yBEncckFOU
2006/11/28(火) 22:03:23ここだったら彼女もくることないしどうどうと言えるお
0677デフォルトの名無しさん
2006/11/28(火) 22:09:291.金銭
2.物
3.時間
4.人員
5.場所
6.情報(自分の風評)
成功率を上げる&リスクを減らす方法についてもお願いします。
0678デフォルトの名無しさん
2006/11/28(火) 22:13:09ぜひ書いてくれませんか?
0679デフォルトの名無しさん
2006/11/28(火) 22:14:40いくらで?
0680デフォルトの名無しさん
2006/11/28(火) 22:15:42ま、とりあえずビフィズス菌からで
0681デフォルトの名無しさん
2006/11/28(火) 22:24:470682デフォルトの名無しさん
2006/11/28(火) 22:29:16その卒論の内容は「インターネットを通じてアカの他人に卒論レベルの問題を解かせる研究」
なんじゃないかという気がしてきた
0683デフォルトの名無しさん
2006/11/28(火) 22:34:30書きました。
0684デフォルトの名無しさん
2006/11/28(火) 22:42:03どうせそこで留年が決定しただろうし、もうやる必要なくね?
0685デフォルトの名無しさん
2006/11/28(火) 22:49:30留年確定かどうかは知らんが、やる必要はないってところは同意。
元々ぼるじょあじゃないし、単にデータの精度が悪くなるだけで
今のソースコードのままでも卒論は書けるだろうからな。
>>405 にもあるけど前提条件間違ってるし、精度なんて必要無いっしょ
0686 ◆i5dB9vhrMo
2006/11/28(火) 23:13:10どなたかお願いします
0687デフォルトの名無しさん
2006/11/28(火) 23:15:120688608
2006/11/29(水) 06:22:001000ステップくらい動いてるだろ。
N=50くらいから平均値で1000~2000くらいに収束してるんだから。
それとも x + y + z を1000にしたいって事か?
お前すでに何をしたいか自分でも解ってないんじゃねぇ?
>>682 が正しいかも知れない。
0689 ◆i5dB9vhrMo
2006/11/29(水) 10:08:070690デフォルトの名無しさん
2006/11/29(水) 10:24:37それも心理学の実験でつか?
0691 ◆i5dB9vhrMo
2006/11/29(水) 10:32:51X+Y+Zを1000というより3次元上で1000歩動かしたいんですよ
心理学ではありません
0692608
2006/11/29(水) 10:42:34最後のサービスだ。
N=500で1000回試行した結果、x + y + z の最大値は472だった。
もっとも walk() が返す x + y + z は最終停止位置なので最大到達位置ならもう少し大きいだろうし、
空間の端にぶち当たったケースも存在すると思われる。
>>674 が書いた様に通った点のリストを持つ処理系につくり直せばN=INT_MAXで処理できる
だろうが、x + y + z > 1000 を満たすには天文的試行回数が必要とされると思われる。
...今後のサポートは有償となります。
0693デフォルトの名無しさん
2006/11/29(水) 11:08:18>X+Y+Zを1000というより3次元上で1000歩動かしたいんですよ
ならば、そういうプログラムを書けばいい。
お前がな!
0694 ◆i5dB9vhrMo
2006/11/29(水) 11:11:270695デフォルトの名無しさん
2006/11/29(水) 11:16:06お前に一つ言っておこう。
このスレで何人かプログラムを書いてくれてる人がいるが、
その人たちも最初からプログラムを書ける人間だったわけじゃない。
「できません」「作ってください」なんて言っていないで、自分で勉強してプログラムを組め。
0696608
2006/11/29(水) 11:22:34お前馬鹿?
>>688 で1000ステップくらい動いてると書いただろ。
1000ステップちょうどで止めたいなら walk() にループの停止条件を追加するだけだろ。
while( move( &stNow, pSp, iSize ) ) {
↓
while( iStep < 1000 && move( &stNow, pSp, iSize ) ) {
そもそもどんな結果を得ようとしてるんだ。釣りか?
0697 ◆i5dB9vhrMo
2006/11/29(水) 11:33:28私が出したいのは歩かせる回数Nを10回〜1000回にし原点からの距離の平均を求め歩いた回数Nと移動した距離が比例するか検証したいのです。
0698デフォルトの名無しさん
2006/11/29(水) 11:37:20>説明不足でしたね。
ボケか?
お前に不足しているのはそれ以前のモノだ。
0699デフォルトの名無しさん
2006/11/29(水) 11:39:42さすが心理学専攻。煽るのもお手の物ですね
0700デフォルトの名無しさん
2006/11/29(水) 11:40:11もう一度よく考えてから、プログラムの条件を整理しろ。
いくつか根本的に勘違いしてるだろ。
勘違いしてる部分を改めて、かつ誤解の無いように実装ができるような表現で書きなおせ。
ちなみに >>608 とオレでは問題に対する認識が全然違う。
両方もしくはどちらかが誤解したのは、おまえの書き方に問題があるからだぞ。
0701 ◆i5dB9vhrMo
2006/11/29(水) 11:59:05ただ>>498のプログラムの空間を広くして歩く歩数MAXSTEPNを20から1000にしたいだけですが後付け条件ではプログラムの書き直しが必要らしいのですが私にはでき兼ねるのでみなさんにお願いしたいんです
0702デフォルトの名無しさん
2006/11/29(水) 12:01:400703デフォルトの名無しさん
2006/11/29(水) 12:02:44もう十分に後付けしまくってるくせに!
正しい条件を整理して書きなおせ。
箇条書きがどんなものかくらいは分かるだろうな。
0704デフォルトの名無しさん
2006/11/29(水) 12:13:43有償ならやるぞ。
金でも情報でもいいから出せるものを出せ。
情報は分野問わずだが、オレが面白いと思うものに限り有効だ。
雑文でも、論文でも、新製品の情報でも、新技術でもおk。あとエロ画像もw
あと、条件が間違ってると思われる部分も報酬によっては指摘するぞ。
(心理学専攻ならこの釣りは大成功だなぁ)
[2] 問題文(含コード&リンク):リストを用いて多項式の演算ができるようにせよ。
[3] 環境
[3.1] OS: (Windows/bcc32)
[3.2] Borland
[3.3]
[4] 期限: 金曜日
[5] その他の制限: 線形リストまでならってます…
問題文からして自由度が高すぎて何をすればよいか… orz
考えでは線形リストを2つ用意して足し算引き算を行えるプログラムを
作成してからがんばろうと思ったのですがそれさえ組むことができませんでした。
ですので次のプログラムを教えていただければ幸いです…
線形リストを2つ用意してそれぞれ順番ごとに数値を足していくプログラム。
0706デフォルトの名無しさん
2006/11/29(水) 12:44:03あほ?
0707ぼるじょあ ◆yEbBEcuFOU
2006/11/29(水) 13:17:590709デフォルトの名無しさん
2006/11/29(水) 16:09:47#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");
}
0710デフォルトの名無しさん
2006/11/29(水) 16:11:01int 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;
}
0711デフォルトの名無しさん
2006/11/29(水) 19:19:55ぼるカナシスw
0712 ◆i5dB9vhrMo
2006/11/30(木) 01:05:41http://up2.viploader.net/pic/src/viploader360372.jpg
こんなんでどう?
0713デフォルトの名無しさん
2006/11/30(木) 01:12:05妙にエロいな・・・さすが心理学
0714デフォルトの名無しさん
2006/11/30(木) 01:17:170715704
2006/11/30(木) 01:18:40努力する方向が違うと思うんだが…
・間違っていると思われる条件
空間は端っこが行き止まり
↓
空間の広さは制限無し(座標は負数も取り得る)
オレが協力できるのはここまでだ
0716デフォルトの名無しさん
2006/11/30(木) 01:26:52もっとエロが必要らしいw
0717704
2006/11/30(木) 01:36:10あと、前提条件を見なおせって書いたのに
1000歩動かしたいとかあまりに不憫で…
早めに間違ってるのを教えてあげないと
卒論発表の時に突っ込まれるからな。
0718608
2006/11/30(木) 03:37:261)ランダム移動によりNステップ移動した時の移動距離(x^2 + y^2 + z^2)^0.5を複数回試行した平均で求めたい。
2)Nを1〜1000として演算した結果をプロットしたい。
3)ただしランダム移動において移動空間による制約があってはいけない。
曖昧な点は以下。
A)1)における移動距離とは最大値なのか?それともNステップ移動した位置での距離か?
B)Nステップ移動できなかった(自ら作った袋小路に入った)場合の結果は破棄して良いか?
A)B)に回答が有れば書いてやっても良いぞ。
ただし有償な。
岡田りなの裏動画をアップしろ。
0719デフォルトの名無しさん
2006/11/30(木) 03:43:250720デフォルトの名無しさん
2006/11/30(木) 13:34:070721ぼるじょあ ◆yBEncckFOU
2006/11/30(木) 21:44:22とりあえず鶏肉の香草焼き作って晩ご飯を食べ終わった後に
お相手するお
0722 ◆i5dB9vhrMo
2006/12/01(金) 16:15:21A)Nステップ移動した位置での距離です
B)袋小路になったときは破棄してよいです
岡田りなの裏画像探したのですがまだ見付かりません。
0723デフォルトの名無しさん
2006/12/01(金) 16:37:140724デフォルトの名無しさん
2006/12/01(金) 19:01:27どうすればいいかな?
教えてエロイ人!!
0725デフォルトの名無しさん
2006/12/01(金) 19:51:42スレタイも読めないバカですか?
0726デフォルトの名無しさん
2006/12/01(金) 20:14:59ヒント: != 10
0727デフォルトの名無しさん
2006/12/01(金) 20:30:49値の場所を先頭とみなしてdoubleの配列を
作りたいんですがどうしたらいいでしょう?
double *test[] = ポインタの値の入ったint;
とかするとコンパイルしてくれません。
0728デフォルトの名無しさん
2006/12/01(金) 21:21:12double** test = (double**)ポインタの値のは行ったint
0729デフォルトの名無しさん
2006/12/01(金) 21:52:00何故にダブルポインタ?
double* test = (double*)iPtr;
でいいんじゃまいか。
int にポインタ値を入れるのは良くないよ。
64Bit コンパイラとかだと int = 4Byte, pointer = 8Byte なんて環境もある。
0730デフォルトの名無しさん
2006/12/01(金) 23:27:23.netクラスライブラリで作ったC++DLLに値を値を渡す場合
ByRefが使えないんで困っていたんです。
参照渡しする方法があるとスマートなんですが見つからないので
仕方なくintで受けようかと・・・
0731デフォルトの名無しさん
2006/12/02(土) 00:26:40> ByRefが使えないんで困っていたんです。
> ByRefが使えないんで困っていたんです。
> ByRefが使えないんで困っていたんです。
ううーん・・・VB?
0732 ◆i5dB9vhrMo
2006/12/02(土) 03:24:040734デフォルトの名無しさん
2006/12/02(土) 09:16:240735デフォルトの名無しさん
2006/12/02(土) 09:19:01っていって、どうせ俺にいやらしいことしたいんだろ?
ウホッ
0736◇EWRYh38uoo
2006/12/02(土) 09:24:14おっす!
0738デフォルトの名無しさん
2006/12/02(土) 10:19:29> ByRefが使えないんで困っていたんです。
んなあほな。できるに決まっている。
0739デフォルトの名無しさん
2006/12/02(土) 14:49:33で、結局どんな条件になったの? >>715の指摘している部分は妥当?
全部の条件書き出しなよ
これじゃ入力、出力もさっぱり分からん
0740デフォルトの名無しさん
2006/12/02(土) 15:48:04しかし、仕様もまとめられない >>722 が論文を書くのか?
論文の前提として使用したプログラムの外部仕様を書く必要があるんだから、一度まとめたら?
0741デフォルトの名無しさん
2006/12/03(日) 00:02:55変数dを求める(実数となる場合は小数点以下4桁まで記述する)問題なのですが、
d= a += b /= 2;
の答えが3.000
となるようです、 まずb=b/2を計算して a=a+b/2 となって d=a で答えを3.500
となってしまうのですが、どういう順番ですればいいのでしょうか。
教えてください。
0743デフォルトの名無しさん
2006/12/03(日) 00:27:03-----+-+-+------
開始 |.2| 3| ??
b /= 2|.2| 1| ??
a += b|.3| 1| ??
d = a .|.3| 1| 3.0000
で、何の問題も無し。 a, bは int だから 1.5 とか出てこない。
0744デフォルトの名無しさん
2006/12/03(日) 07:59:350745 ◆i5dB9vhrMo
2006/12/03(日) 19:35:520746608
2006/12/03(日) 20:10:56....ちゅことで論文は自力で頑張ってね。
0747 ◆i5dB9vhrMo
2006/12/03(日) 23:02:500748デフォルトの名無しさん
2006/12/03(日) 23:05:190749 ◆i5dB9vhrMo
2006/12/03(日) 23:07:10この状態でも平気なんですけどなんか納得いかないんですよ
0750デフォルトの名無しさん
2006/12/03(日) 23:11:00自分で何もしていない奴にその言葉を言う資格はない
0751 ◆i5dB9vhrMo
2006/12/03(日) 23:12:16でもできないんですよ↓
0752デフォルトの名無しさん
2006/12/03(日) 23:16:06このスレの住人も例外ではない。
俺が何が言いたいかわかるか?
0753デフォルトの名無しさん
2006/12/03(日) 23:48:43セリフだけ抜き出すとすごく立派に見えてワロタ
0754デフォルトの名無しさん
2006/12/03(日) 23:49:17落ち着けw
0755デフォルトの名無しさん
2006/12/04(月) 00:28:460756デフォルトの名無しさん
2006/12/04(月) 00:30:20自分への妥協はするくせに
他人への妥協は許さないあたり
上司にしたくない人間ナンバーワンだな
0757デフォルトの名無しさん
2006/12/04(月) 01:07:310758デフォルトの名無しさん
2006/12/04(月) 01:25:190759 ◆i5dB9vhrMo
2006/12/04(月) 03:11:560760デフォルトの名無しさん
2006/12/04(月) 03:18:130761デフォルトの名無しさん
2006/12/04(月) 03:19:36>お先真っ暗
よくわかってるじゃないか
0762デフォルトの名無しさん
2006/12/04(月) 03:20:19今北産業
0763デフォルトの名無しさん
2006/12/04(月) 03:48:42かわいくてついいぢめたくなる子だこと
0764デフォルトの名無しさん
2006/12/04(月) 04:49:400765デフォルトの名無しさん
2006/12/04(月) 04:57:39先輩もいぢめててw
0766デフォルトの名無しさん
2006/12/04(月) 05:03:58留年するか退学するのが一番楽だと何度も言われてるだろ。
0768デフォルトの名無しさん
2006/12/04(月) 14:02:390769デフォルトの名無しさん
2006/12/04(月) 14:02:50「研究室の先輩も同レベルなんじゃないのか?」と思ってきた
0770デフォルトの名無しさん
2006/12/04(月) 14:03:44阪南大学のことかーーー!
0771デフォルトの名無しさん
2006/12/04(月) 15:10:36この状態でも平気なんですけどなんか納得いかないんですよ
^^^^^
0772デフォルトの名無しさん
2006/12/04(月) 16:17:28[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次配列 関数
いまならってる範囲でグラフの描き方がわかりません。すいませんが力を貸してください
0773デフォルトの名無しさん
2006/12/04(月) 16:51:52この状態ってどんな状態?
>>772
その出題ではグラフの描き方が解りません。
1) x, y の座標列を出力する?
2) '*'等で標準出力にグラフもどきを描画する?だとすればサイズ/縮尺は?
3) なんらかのGUIが指定されている?
0774デフォルトの名無しさん
2006/12/04(月) 17:26:462)は適当でいいと思います
3)はなにも指定されていません
0775デフォルトの名無しさん
2006/12/04(月) 17:29:51>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
>2)は適当でいいと思います
0776デフォルトの名無しさん
2006/12/04(月) 17:38:010777デフォルトの名無しさん
2006/12/04(月) 18:02:51[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でコンパイルできること。システムコール可
0778デフォルトの名無しさん
2006/12/04(月) 18:55:04#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;
}
0779デフォルトの名無しさん
2006/12/04(月) 18:58:200780◇i5dB9vhrMo
2006/12/04(月) 19:01:160781デフォルトの名無しさん
2006/12/04(月) 19:23:59#include <stdio.elf>
#include <manko.H>
0782デフォルトの名無しさん
2006/12/04(月) 19:35:11※一回書いた物の仕様変更は詰まらないから。
※ >>740 に返事が無いから。
※りなタンを見つけてくれないから。
0783デフォルトの名無しさん
2006/12/04(月) 19:48:33ttp://up2.viploader.net/pic/src/viploader364150.jpg
再帰の穴掘り法で書いてみたらすぐできたぞww
0784 ◆i5dB9vhrMo
2006/12/05(火) 01:26:360785デフォルトの名無しさん
2006/12/05(火) 01:48:17お前は勘違いをしている。
お前以外の人間にはお前のプログラムを組む義務はない。
お願いするのは勝手だが、断られたらあきらめろ。
0786 ◆i5dB9vhrMo
2006/12/05(火) 01:52:270787デフォルトの名無しさん
2006/12/05(火) 01:56:42その「情」を当たり前のように求めるな。
0788 ◆i5dB9vhrMo
2006/12/05(火) 01:58:28それが民主主義だと思いませんか?
0789デフォルトの名無しさん
2006/12/05(火) 01:59:46ん?
弱者に厳しいのが民主主義だよ?
0790デフォルトの名無しさん
2006/12/05(火) 02:05:30ヒント: 弱者≠怠け者
0791デフォルトの名無しさん
2006/12/05(火) 02:20:47一番不思議
0792デフォルトの名無しさん
2006/12/05(火) 02:21:36あと、一年ちょいの猶予があるからじゃない?
0793 ◆i5dB9vhrMo
2006/12/05(火) 02:30:13このままじゃまとまりません。。
0794デフォルトの名無しさん
2006/12/05(火) 02:32:01今のままでも平気だと言ってただろうが。
いい加減、お前に力を貸す人間はここにはいないということに気づけ。
0795デフォルトの名無しさん
2006/12/05(火) 02:35:20自分の無能を棚に上げて、人のせいにするなボケ。
0796デフォルトの名無しさん
2006/12/05(火) 02:45:25何のために高い税金(or授業料)払って奴らを養ってるんだよ
0797 ◆i5dB9vhrMo
2006/12/05(火) 03:03:300798ぼるじょあ ◆yBEncckFOU
2006/12/05(火) 03:15:490799 ◆i5dB9vhrMo
2006/12/05(火) 05:11:14お願いですので作って下さい
0800デフォルトの名無しさん
2006/12/05(火) 06:42:410801デフォルトの名無しさん
2006/12/05(火) 06:57:060802デフォルトの名無しさん
2006/12/05(火) 07:00:360803デフォルトの名無しさん
2006/12/05(火) 07:02:460804デフォルトの名無しさん
2006/12/05(火) 07:04:170805デフォルトの名無しさん
2006/12/05(火) 07:17:520806デフォルトの名無しさん
2006/12/05(火) 07:19:330807デフォルトの名無しさん
2006/12/05(火) 07:25:08誰かいますかなんて聞いてるうちにプログラムの一つでも書けるじゃないか
0808デフォルトの名無しさん
2006/12/05(火) 07:48:29[2]問題文:文字列str[ ]に整数表記(負の場合もある)が入っているとする。
それを整数に変換して返す関数を記述せよ。
ただし、atoi関数は使用することはできない。
[3]環境
[3-1]OS:Windows XP
[3-2]gcc
[3-3]言語:C
[4]期限:12月5日
0809デフォルトの名無しさん
2006/12/05(火) 07:55:50つ atol(str)
0810デフォルトの名無しさん
2006/12/05(火) 08:12:10sscanf
atof
strtod
0811ぼんじょるの ◆yBEncckFOU
2006/12/05(火) 08:17:22#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;
}
0812デフォルトの名無しさん
2006/12/05(火) 10:57:46回答はこんなもんだろ
0813デフォルトの名無しさん
2006/12/05(火) 14:58:43標準ライブラリで回答お願いします。
0814デフォルトの名無しさん
2006/12/05(火) 15:20:01<ctype.h>も標準に含まれているわけだが。
0815デフォルトの名無しさん
2006/12/05(火) 15:30:520817ぼるじょあ ◆yBEncckFOU
2006/12/05(火) 22:32:20(・3・) エェー もいらがとっておきのとんちをきかせてあげよう
#include <stdlib.h>
i = atol( str );
0818ぼるじょあ ◆yBEncckFOU
2006/12/05(火) 22:34:16ところで大沢あかねたんとぷータンとアナ○3Pのハードプレイをしたいお
0819ぼるじょあ ◆yBEncckFOU
2006/12/05(火) 22:36:27つんでれぷータンの口に思いっきりねじ込んでそのまま放尿してやりたいお
そしてぷータンに女としての本当の悦びを教えたあげたいね
0820ぼるじょあ ◆yBEncckFOU
2006/12/05(火) 22:38:42括約筋が潰れるほどがんがん犯しまくってもいらに依存させたいお
0821ぼるじょあ ◆yBEncckFOU
2006/12/05(火) 22:39:190822ぼるじょあ ◆yBEncckFOU
2006/12/05(火) 22:41:28アホな先生もいたもんだね、
せめて標準ライブラリは使用しないこと、くらいは書けばいいのに
これでもまだまだもいらのとんちにかかっちゃ抜け道はいくらでもあるけどねw
0823デフォルトの名無しさん
2006/12/05(火) 22:46:40賢い
0824デフォルトの名無しさん
2006/12/05(火) 23:10:110825デフォルトの名無しさん
2006/12/05(火) 23:36:02[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は分かります。ポインタ無しでお願いします。
0826揚げ物2号
2006/12/05(火) 23:54:19[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])を使って
作る。
0827 ◆GJenck4cmw
2006/12/06(水) 00:43:36[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次元配列を
使用した形でよろしくお願いします。
0829デフォルトの名無しさん
2006/12/06(水) 00:59:12なんで解答もらっとるのにマルチポストすんねん
0830デフォルトの名無しさん
2006/12/06(水) 02:24:46概ね同意。>>828 とは若干問題が違うみたいだけど。
書こうかと思ったけどマルチしてるからやーめた。
0831デフォルトの名無しさん
2006/12/06(水) 03:55:39int 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');
}
0832デフォルトの名無しさん
2006/12/06(水) 04:07:09>int res=0;
>res = *money % res;
>*money -= res * par;
>return res;
正気か?
0833デフォルトの名無しさん
2006/12/06(水) 04:15:16#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;
}
0834デフォルトの名無しさん
2006/12/06(水) 09:39:29[2] 問題文(含コード&リンク):キーボードから数値を5個入力して、それらの合計、平均値、最大値、最小値と標準偏差で求める
プログラムを配列とforループを用いて作りなさい
[3] 環境
[3.1] OS: WindowsXP
[3.2] Microsoft Visual C++ 6.0
[3.3] C++
[4] 期限: 2006年12月10日午後2時まで]
[5] まだかじってる程度です
0835デフォルトの名無しさん
2006/12/06(水) 20:42:01ありがとうございます。
0836デフォルトの名無しさん
2006/12/06(水) 20:51:452個目のfor文はfor(i=0; i<10; i++)
あとmaxがゼロ(dataの中身が全部ゼロ)だったらゼロ除算
0837デフォルトの名無しさん
2006/12/06(水) 20:56:001個目のforも10までだな。
0除算は
>0以上の整数が格納されている
だから考える必要はない
0838デフォルトの名無しさん
2006/12/06(水) 20:57:370839デフォルトの名無しさん
2006/12/06(水) 20:58:040840デフォルトの名無しさん
2006/12/06(水) 21:01:540なのに*50個って相当おかしいな。
0841デフォルトの名無しさん
2006/12/06(水) 21:56:01活躍してるのは名無しだけじゃん
0842デフォルトの名無しさん
2006/12/06(水) 22:26:44#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];
}
}
0843デフォルトの名無しさん
2006/12/06(水) 22:29:31variance = ( 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;
}
こんな感じ?わかんね
0844842
2006/12/06(水) 22:33:31variance = うんぬんの後の行に
if( variance < 0.0 ) variance = 0.0;
入れないとまずいな
0845デフォルトの名無しさん
2006/12/06(水) 22:57:27本スレとこっち両方見るのめんどいんだ
(マルチポストするバカを判別しやすいというメリットはあるが)
0846ぼるじょあ ◆yBEncckFOU
2006/12/06(水) 23:31:570847デフォルトの名無しさん
2006/12/07(木) 00:17:18>>841はぼるじょあを奮い立たせるための方便だよ。
ほんとはみんな応援してるんだから。
0848デフォルトの名無しさん
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] << " ";}}
すいません、お願いします。
0849デフォルトの名無しさん
2006/12/07(木) 13:11:24よっぽどな事が無い限りは、適当な変数に値を入れ
それで比較してくれると可読性が良いので助かる。
0851デフォルトの名無しさん
2006/12/07(木) 13:33:52>insert = hairetsu[insertPos];}// (1-5) 挿入要素を挿入位置に格納する。
ここを
hairetsu[insertPos]=insert;
にしてくれ
しかし、無駄なコメントが多くて読みにくかった・・・
0852デフォルトの名無しさん
2006/12/07(木) 13:35:32よっぽどな事が無い限りは、適当な変数に値を入れ
それで比較してくれると可読性が良いので助かる。
0853デフォルトの名無しさん
2006/12/07(木) 13:37:59最高にド低脳な発言してください in ム板(XV)
http://pc8.2ch.net/test/read.cgi/tech/1164376614/185
あの、晒されてるよ・・・
俺も、変数はかえって邪魔だと思うけどね・・・
0854ぼるじょあ ◆yBEncckFOU
2006/12/07(木) 14:08:450855デフォルトの名無しさん
2006/12/07(木) 15:01:24マルチ乙
0856揚げ物2号
2006/12/07(木) 19:27:25>>830
すいません、見落としていました。
スルーされていたと思ってこちらにも立てていました。
本当に申し訳ありませんでした。
0857デフォルトの名無しさん
2006/12/07(木) 20:09:43[2] 問題文(含コード&リンク):
ライブラリ関数strcmpと同じ処理をする関数を記述せよ。
ポインタは使ってはならない。
[3] 環境
[3.1] OS: WindowsXP
[3.2] gcc
[3.3] C
[4] 期限: 2006年12月8日]
[5] 関数、if,for文でお願いします。ポインタはなし。です。
0858デフォルトの名無しさん
2006/12/07(木) 20:12:41> ポインタはなし。
> ポインタはなし。
> ポインタはなし。
全てを否定された気がする
0859デフォルトの名無しさん
2006/12/07(木) 20:16:17ポインタなしでどうやって比較する文字列を受け取るんだ?
0860デフォルトの名無しさん
2006/12/07(木) 20:17:260861デフォルトの名無しさん
2006/12/07(木) 20:18:060862デフォルトの名無しさん
2006/12/07(木) 20:19:27配列で受けとるの?
0863デフォルトの名無しさん
2006/12/07(木) 20:51:32”同じ処理”ってのが凄いなw
0864デフォルトの名無しさん
2006/12/07(木) 23:23:18strcmpの型はわかってるか?
int strcmp(const char *s1, const char *s2);
0865デフォルトの名無しさん
2006/12/07(木) 23:55:40”同じインタフェースの関数”とは書いてない
お前大丈V?
0866デフォルトの名無しさん
2006/12/08(金) 00:03:08C言語において1次配列とポインタが等価って事は知ってるよね。
ポインタも配列も使わないIFで strcmp を実装できたらすげぇと思う。
単に出題者が池沼。
0867デフォルトの名無しさん
2006/12/08(金) 00:07:32得意気になってないで
それくらい(呼び方の違いくらい)認知してやれw
だから配列で記述してやればよいだけだ
0868デフォルトの名無しさん
2006/12/08(金) 00:32:36int 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;
}
0869デフォルトの名無しさん
2006/12/08(金) 01:10:36http://www.kouno.jp/home/c_faq/c6.html
配列はポインターと違う。配列の宣言「char a[6]」 は6文字分の領域を確保して、
それを「a」という名前で識別すること を要求する。
すなわち「a」という名前の場所があって、そこには6文 字を収めることができる。
一方、ポインターの宣言「char *p」はポ インターを収める場所を要求する。
ポインターはpという名前で識別 され、ほとんどどんなものでも指すことができる。
どんなchar、ある いは連続したcharの列を指すこともできるし、どこも指さなくても
構わない。
0870デフォルトの名無しさん
2006/12/08(金) 01:27:340871デフォルトの名無しさん
2006/12/08(金) 01:44:24ここまでgdgd言ってたのかw
0872デフォルトの名無しさん
2006/12/08(金) 03:13:38配列とポインタを明確に区別して話すなら
関数に配列を渡すことは出来ない
配列を渡そうとしたとたんポインタに成り下がる
関数の仮引数に
char *a
と書こうが
char a[]
と書こうがどちらも同じポインタ変数だ
ちなみに
char a[10];
は、確かに配列の宣言だが
a[0]='s';
とかの a は既にポインタに成り下がっている
0873デフォルトの名無しさん
2006/12/08(金) 03:47:550874866
2006/12/08(金) 04:28:53『ポインタを使わずに』と言った出題者は >>872 より解ってないと思う。
『ポインタと配列は等価』っていうのはK&Rに書いていたと記憶するんだけど...
『ポインタ変数と配列変数は等価』だったっけ?
0875デフォルトの名無しさん
2006/12/08(金) 13:38:13/*
Cだとただの識別子名の評価される値が
識別子の型で違うことが混乱の元なんだよね
便利だけど。
int a[1], b, *c;
a 自体はintの配列だが、aが評価されると先頭のintへのポインタになる
だから、c=a; ができる。
ある意味c=&a[0]; の手抜きの表現なんだよね。
ここのみんなは違うと思うけど
これをcとごっちゃになりやすい人もいる。
でも、Cを作った人たちは自分たちが使いやすいように作ったんだね
*/
0876デフォルトの名無しさん
2006/12/08(金) 14:19:1214dd
0877デフォルトの名無しさん
2006/12/08(金) 20:00:440878デフォルトの名無しさん
2006/12/08(金) 20:04:110879デフォルトの名無しさん
2006/12/08(金) 21:27:310880デフォルトの名無しさん
2006/12/08(金) 21:31:550881デフォルトの名無しさん
2006/12/08(金) 21:36:130882デフォルトの名無しさん
2006/12/08(金) 21:38:09[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] その他の制限:ポインタを使用しろと指示されていますが、よくわかりません
配列それぞれに割り振るということなのでしょうか・・・
0883デフォルトの名無しさん
2006/12/08(金) 21:39:01突然すみません
すでに登録していたら大変失礼致しましたm(__)m
こちらの前略プロフィール同様、このサイトも無料です
すでに100万人が登録し日々楽しんでいます
サイトの内容としてゎいろいろな方との交流
無料で遊べるゲーム等が魅力です
是非登録してみて下さい
パケット定額制の方にお勧めです
http://mbga.jp/AFmbb.hs5w132b18
0884デフォルトの名無しさん
2006/12/08(金) 21:40:160885デフォルトの名無しさん
2006/12/08(金) 21:41:550886デフォルトの名無しさん
2006/12/08(金) 22:02:590887デフォルトの名無しさん
2006/12/08(金) 22:05:000888デフォルトの名無しさん
2006/12/08(金) 22:05:550889デフォルトの名無しさん
2006/12/08(金) 22:23:020890デフォルトの名無しさん
2006/12/08(金) 22:32:370891デフォルトの名無しさん
2006/12/08(金) 22:33:100892デフォルトの名無しさん
2006/12/08(金) 22:35:030893デフォルトの名無しさん
2006/12/08(金) 22:49:080894デフォルトの名無しさん
2006/12/08(金) 22:50:520895デフォルトの名無しさん
2006/12/08(金) 22:52:150896デフォルトの名無しさん
2006/12/08(金) 22:54:370897デフォルトの名無しさん
2006/12/08(金) 22:58:260898デフォルトの名無しさん
2006/12/08(金) 22:59:460899デフォルトの名無しさん
2006/12/08(金) 23:00:130900デフォルトの名無しさん
2006/12/08(金) 23:04:050901デフォルトの名無しさん
2006/12/08(金) 23:27:060902デフォルトの名無しさん
2006/12/08(金) 23:29:110903デフォルトの名無しさん
2006/12/08(金) 23:32:320904デフォルトの名無しさん
2006/12/08(金) 23:35:04int 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。
0905デフォルトの名無しさん
2006/12/08(金) 23:37:440906デフォルトの名無しさん
2006/12/08(金) 23:47:47自分で考えて見ました。プロンプトで引数を加えたら実行できました。
ところで、VisualC++では実行できないんでしょうか?
0907デフォルトの名無しさん
2006/12/08(金) 23:48:300908デフォルトの名無しさん
2006/12/08(金) 23:49:490909デフォルトの名無しさん
2006/12/08(金) 23:58:260910ぼるじょあ ◆yBEncckFOU
2006/12/09(土) 00:00:16というかぷータン消えたんだけど・・・もいらってばれて警戒してるのかなw
0911デフォルトの名無しさん
2006/12/09(土) 00:11:530912デフォルトの名無しさん
2006/12/09(土) 00:12:380913ぼるじょあ ◆yBEncckFOU
2006/12/09(土) 00:15:08>>911 よぐわからんけど ノシ
0914デフォルトの名無しさん
2006/12/09(土) 00:16:230915デフォルトの名無しさん
2006/12/09(土) 00:18:34俺がやってやるから言えよ
0916デフォルトの名無しさん
2006/12/09(土) 00:19:280917デフォルトの名無しさん
2006/12/09(土) 00:24:440918デフォルトの名無しさん
2006/12/09(土) 00:25:51ググれボケ
0919ぼるじょあ ◆yBEncckFOU
2006/12/09(土) 00:27:21「ぼるじょあ#もっきんぐ」でキミも今日からぼるじょあだお!
0920デフォルトの名無しさん
2006/12/09(土) 00:27:350921デフォルトの名無しさん
2006/12/09(土) 00:28:180922ぼるじょあ ◆yBEncckFOU
2006/12/09(土) 00:28:23じゃーなおまいら
0923デフォルトの名無しさん
2006/12/09(土) 00:29:190924ぼるじょあ ◆yBEncckFOU
2006/12/09(土) 00:30:17今日の目標: 先々週はアナ○の周囲は舐めたので今日はア○ルの中心を舐めるお
願わくばアナ○に小指の第1関節の半分は入れるお
じゃーおやしみだお
0925デフォルトの名無しさん
2006/12/09(土) 00:30:230926デフォルトの名無しさん
2006/12/09(土) 00:34:340927デフォルトの名無しさん
2006/12/09(土) 00:36:370928デフォルトの名無しさん
2006/12/09(土) 00:37:530929デフォルトの名無しさん
2006/12/09(土) 00:44:300930デフォルトの名無しさん
2006/12/09(土) 00:54:590931デフォルトの名無しさん
2006/12/09(土) 00:56:250932デフォルトの名無しさん
2006/12/09(土) 01:30:060933デフォルトの名無しさん
2006/12/09(土) 01:32:370934デフォルトの名無しさん
2006/12/09(土) 01:33:480935デフォルトの名無しさん
2006/12/09(土) 01:36:170936デフォルトの名無しさん
2006/12/09(土) 01:37:020937デフォルトの名無しさん
2006/12/09(土) 01:40:280938デフォルトの名無しさん
2006/12/09(土) 02:05:080939デフォルトの名無しさん
2006/12/09(土) 02:17:560940デフォルトの名無しさん
2006/12/09(土) 08:57:33アナルとか運国際話しをするやつらばかりで
このスレの存在意義がない
0941ぼるじょあ ◆yBEncckFOU
2006/12/09(土) 09:44:120942 ◆i5dB9vhrMo
2006/12/09(土) 18:11:500943デフォルトの名無しさん
2006/12/09(土) 18:31:06エェー アナルの話を頑張ってしてくれYo
C言語よりはるかに詳しいいんだろ(・3・)
0944デフォルトの名無しさん
2006/12/09(土) 18:47:380945デフォルトの名無しさん
2006/12/09(土) 18:48:210946デフォルトの名無しさん
2006/12/09(土) 19:01:340947デフォルトの名無しさん
2006/12/09(土) 19:05:400948デフォルトの名無しさん
2006/12/09(土) 19:09:490949デフォルトの名無しさん
2006/12/09(土) 19:10:270950デフォルトの名無しさん
2006/12/09(土) 19:11:440951デフォルトの名無しさん
2006/12/09(土) 19:12:400952デフォルトの名無しさん
2006/12/09(土) 19:13:500953デフォルトの名無しさん
2006/12/09(土) 19:25:050954デフォルトの名無しさん
2006/12/09(土) 19:28:420955デフォルトの名無しさん
2006/12/09(土) 21:21:070956デフォルトの名無しさん
2006/12/09(土) 21:22:190957デフォルトの名無しさん
2006/12/09(土) 21:23:260958デフォルトの名無しさん
2006/12/09(土) 21:25:180959デフォルトの名無しさん
2006/12/09(土) 21:26:270960デフォルトの名無しさん
2006/12/09(土) 21:50:360961デフォルトの名無しさん
2006/12/09(土) 21:54:020962デフォルトの名無しさん
2006/12/09(土) 21:55:140963 ◆fNzDaWbaps
2006/12/09(土) 21:57:150964デフォルトの名無しさん
2006/12/09(土) 21:59:460965デフォルトの名無しさん
2006/12/09(土) 22:00:47俺のチン子なめてよ
962 名前:デフォルトの名無しさん :2006/12/09(土) 21:55:14
チンシュばっかやんなよ
963 名前: ◆fNzDaWbaps :2006/12/09(土) 21:57:15
d
0966デフォルトの名無しさん
2006/12/09(土) 22:07:110967デフォルトの名無しさん
2006/12/09(土) 22:27:000968デフォルトの名無しさん
2006/12/09(土) 23:08:090969デフォルトの名無しさん
2006/12/09(土) 23:19:390970デフォルトの名無しさん
2006/12/09(土) 23:31:180971デフォルトの名無しさん
2006/12/09(土) 23:32:100972デフォルトの名無しさん
2006/12/09(土) 23:33:026 :デフォルトの名無しさん :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%
0973デフォルトの名無しさん
2006/12/09(土) 23:36:350974デフォルトの名無しさん
2006/12/09(土) 23:37:310975デフォルトの名無しさん
2006/12/09(土) 23:51:430976デフォルトの名無しさん
2006/12/10(日) 00:04:56ttp://pc8.2ch.net/test/read.cgi/tech/1165190320/
に統合すればいいじゃん。元々ココは完全に派生し損なった残骸なんだし。
0977デフォルトの名無しさん
2006/12/10(日) 00:08:320978デフォルトの名無しさん
2006/12/10(日) 00:10:480979デフォルトの名無しさん
2006/12/10(日) 00:12:310980デフォルトの名無しさん
2006/12/10(日) 00:13:050981デフォルトの名無しさん
2006/12/10(日) 00:13:540982デフォルトの名無しさん
2006/12/10(日) 00:14:260983デフォルトの名無しさん
2006/12/10(日) 00:20:230984デフォルトの名無しさん
2006/12/10(日) 00:49:200985デフォルトの名無しさん
2006/12/10(日) 00:51:040986デフォルトの名無しさん
2006/12/10(日) 00:54:260987デフォルトの名無しさん
2006/12/10(日) 00:56:190988デフォルトの名無しさん
2006/12/10(日) 00:59:000989デフォルトの名無しさん
2006/12/10(日) 00:59:44おいしいよ
0990デフォルトの名無しさん
2006/12/10(日) 01:02:210991デフォルトの名無しさん
2006/12/10(日) 01:03:13お前らには絶対渡さん
覚悟しておけ
ちんちんちん
0992デフォルトの名無しさん
2006/12/10(日) 01:05:300993デフォルトの名無しさん
2006/12/10(日) 01:06:40using 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
どうもこれをみる限り完全数は友愛数から除くっぽいけど
その処理は?
0994デフォルトの名無しさん
2006/12/10(日) 01:08:590995デフォルトの名無しさん
2006/12/10(日) 01:09:500996デフォルトの名無しさん
2006/12/10(日) 01:11:360997ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 01:19:080998ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 01:21:010999デフォルトの名無しさん
2006/12/10(日) 01:21:071000ぼるじょあ ◆yBEncckFOU
2006/12/10(日) 01:21:3110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。