1 名前:デフォルトの名無しさん mailto:sage [2007/11/22(木) 03:01:54 ] あなたが解けない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] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.htm 【C 関数検索 man on WWW】 www.linux.or.jp/JM/index.html 【過去ログ検索】 chomework.sakura.ne.jp/ 【wiki】 www23.atwiki.jp/homework/ 【前スレ】 C/C++の宿題を片付けます 99代目 pc11.2ch.net/test/read.cgi/tech/1194262698/
129 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 05:38:26 ] >>122 ありがとうございます ですが、ええええ!?
130 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 05:52:16 ] >>128 3,4個でいいから、入力データの性質を簡単に全て現したサンプルくらい書けるだろ かけなきゃまずは問題を理解してここに投下しろ
131 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 07:54:28 ] >>128 まずファイルをてきとーに作る #include <stdio.h> #include <stdlib.h> #include <math.h> #define SIZE 20*10000 #define WAVLEN_MAX 10000 int main() { int p,t,i,m,n,s=SIZE; char *buf,fname[]="test.dat"; FILE *fp; srand(time(NULL)); t = (double)rand()/(RAND_MAX+1)*WAVLEN_MAX+1; p = (double)rand()/(RAND_MAX+1)*t; buf = (char*)malloc(t); m=0;for(i=0;i<t;i++){buf[i] = rand()&1;m+=buf[i];} if((fp=fopen(fname,"wt"))==NULL)exit(1); n=0;for(i=0;i<s;i++){fprintf(fp,"%d",buf[(p+i)%t]);n+=buf[(p+i)%t];} fprintf(fp,"\n"); fclose(fp); free(buf); printf("Total = %d (0:%d 1:%d) / T = %d (0:%d 1:%d)\n",s,s-n,n,t,t-m,m,p); return 0; }
132 名前:131 mailto:sage [2007/11/25(日) 08:01:02 ] >>128 次に作ったファイルを読み込んで処理する #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> int main() { long s,t,i,m,n,*tbl; char *buf,fname[]="test.dat"; FILE *fp; if((fp=fopen(fname,"rt"))==NULL)exit(1); fseek(fp,0,SEEK_END);s=ftell(fp);fseek(fp,0,SEEK_SET); if((buf=(char*)malloc(s))==NULL)exit(1); for(s=0;(m=fgetc(fp))>='0';s++) buf[s]=m-'0'; fclose(fp); tbl=(long*)malloc(s/2*sizeof(long)); tbl[0]=tbl[1]=0; for(t=2;t<s/2;t++){ tbl[t]=0; for(i=t;i<s-t;i++) tbl[t]+=buf[i] & buf[i+t]; } n=0;for(i=0;i<s;i++)n+=buf[i]; m=0;for(i=0;i<s/2;i++)if(tbl[i]>m){m=tbl[i];t=i;} m=0;for(i=t;i<t*2;i++)m+=buf[i]; free(tbl);free(buf); printf("Total = %d (0:%d 1:%d) / T = %d (0:%d 1:%d)\n",s,s-n,n,t,t-m,m); return 0; }
133 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 09:50:24 ] >>5 #include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef struct grade { char name[40]; int score; struct grade *next; } glist; glist *cons(glist car, glist *cdr) { glist *l; if( (l = malloc(sizeof(glist))) == NULL ) exit( EXIT_FAILURE ); sprintf(l->name, car.name); l->score = car.score; l->next = cdr; return l; } void printList(glist *ptr) { if(ptr == NULL) return; printf("p->name \t%s\n", ptr->name); printf("p->score\t%d\n", ptr->score); printf("p->next \t%p\n", ptr->next); printList(ptr->next); return; }
134 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 09:51:38 ] つづき int main(void) { glist a,b; glist *ptr; sprintf(a.name, "dummy"); a.score = -1; sprintf(b.name, "tsubasa"); b.score = 60; ptr = cons(b, NULL); ptr = cons(a, ptr); printList(ptr); return 0; }
135 名前:128 mailto:sage [2007/11/25(日) 11:00:53 ] >>130 >>131 よく読みなおしたら日本語おかしかった。ごめんなさい。 ファイルはもう.datファイルであるんですが、そこから0と1の数を数えて、 周期探し出すのがわからんのです。 お手数おかけしてすいません。
136 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 11:26:28 ] そのファイルがなければ探しようがないよ
137 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 11:30:02 ] >>135 圧縮したら対してサイズおおきくならないからうp
138 名前:デフォルトの名無しさん [2007/11/25(日) 11:51:20 ] [1] 授業単元プログラミングU [2] 問題文:kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5327.txt [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: visual studio 2005 [3.3] 言語: C言語 [4] 期限: 11/26 [5] その他の制限: 特になし
139 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:29:50 ] >>138 なんであだちゆみ?
140 名前:デフォルトの名無しさん [2007/11/25(日) 12:31:40 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): 直交座標系の2点A, B のx 座標とy 座標をキーボードから入力し, 三角形OAB の面積を求めるプログラムを作成せよ.ただし点O は 原点(0, 0) とする. 点の名前,x 座標,y 座標を構造体のメンバとせよ. ポインタによる表現を使うこと. 面積を求めるには以下の公式を使うこと. 2点A (x1, y1),B (x2, y2) に対して,三角形の面積S は S =1/2|x1*y2 - x2*y1| [3] 環境 [3.1] OS:Unix [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: Cのみ [4] 期限: 2007/11/26 18:00 よろしくお願いします。
141 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:33:55 ] >>138 #include <stdio.h> #include <string.h> #define USER 5 #define NAME 100 int main() { int c,i,found=0; char m[NAME],n[NAME]; char a_name[USER][NAME]={"Takeuchi Yuko", "Yada Akiko", "Ogura Yuko", "Adachi Yumi", "Yumi Adachi"}; /* 登録済みのユーザのリスト */ /* ここにプログラムを書く */ while(1){ do{ printf("検索?(Y or N):"); fflush(stdin); }while((c=getchar())!='y'&&c!='Y'&&c!='n'&&c!='N'); if(c=='n'||c=='N') break; printf("名字:"); scanf("%s",m); printf("名前:"); scanf("%s",n);
142 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:34:27 ] >>140 の続き for(i=0;i<USER;i++){ if(strstr(a_name[i],m)!=NULL&&strstr(a_name[i],n)!=NULL){ printf("Hit! User#%d:[%s]\n",i,a_name[i]); found++; } } if(found==0) printf("入力されたユーザは登録されていません。\n"); else printf("%d件ユーザが見つかりました。\n",found); found=0; } printf("検索を終わります。\n"); return 0; }
143 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:35:02 ] >>142 は>>141 の続きの間違い。
144 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 12:53:33 ] >>138 >プログラミングU 進化したプログラミングか
145 名前:デフォルトの名無しさん [2007/11/25(日) 14:28:59 ] [1] 授業単元:暗号理論 [2] 問題文(含コード&リンク): 素数p.qに対してn=p*qが与えられている。 中国人剰余定理を応用して 任意のCとdに対して、modnでのC^dを求めるプログラムを作成せよ。 ヒント C^d mod n ≡ (C^d mod p,C^d mod q) [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 明後日 [5] その他の制限:ポインタは習ってない お願いします。
146 名前:128 mailto:sage [2007/11/25(日) 15:00:08 ] >>136 >>137 圧縮してupすれば大丈夫でしたね・・・。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5328.zip この中の0と1の個数と、数列の周期を求めるプログラムをお願いします。
147 名前:コーンポタージュ [2007/11/25(日) 16:21:51 ] 【質問テンプレ】 [1] 授業単元:グラフ彩色問題 [2] 問題文 [2.1]グラフ彩色問題に対する近似解法SEQを作成せよ [2.2].頂点を次数の降順にソートした後にSEQを適用するプログラムを作成せよ [2.3]グラフ彩色問題に対する近似解法RLFを作成せよ ※検索エンジンで“グラフ彩色問題 SEQ”と入力して頂ければ、更に理解が深まるページが見つかるかと思います。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C言語 [4] 期限:2007年12月7日 [5] その他の制限:特にありません。 よろしくお願いします。
148 名前:もりもっこり [2007/11/25(日) 16:32:38 ] 基本的なプログラムだと思うのですが、自分でやってみてもうまくいきません。また他にも課題が多く、非常に困っています。詳しい方よろしくお願いします。 1.数値を順番に読み込んで二次元の配列に格納する。 2.その配列を画面に出力する。 3.次に、2つの整数を読み込む。 4.二次元配列のうち、読み込んだ整数に対応する二つの行(あるいは列)の内容を交換する。 配列の内容を画面に出力する。 5.配列の読み込み、交換、出力はそれぞれ関数にすること。
149 名前:KSCN [2007/11/25(日) 16:41:11 ] Mathematica でグラフを描き、EPS 形式で保存する。LaTeX を使ってレポートを作成してその中にグラフを挿入し、PDF ファイルに変換したものを提出すること。 っていう課題がでたのですが質問の意味からわかりません。どなたか質問の意味だけでも教えてください。
150 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:43:43 ] どうでもいいけど、名前を出す人の方が少ないんだから別人に見せようとしても逆効果だぞ
151 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:49:49 ] >>149 つwww.google.co.jp/
152 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 16:50:15 ] >>149 何がわからないのかがわからない。 1.クラスで使っているMathematicaというソフトを使って数式を処理してグラフ表示、グラフの画像をEPS形式のファイルに保存。 2.いつもやっているようにLatexでレポート作成。EPS形式ファイルの埋め込みに関しては、配布したテキストを参照の事。 3.pdflatexをつかってPDF形式のファイルを出力。 一通り説明されてるはずなのに、なんで分からないとか言ってんの? ずっとサボってたのか?
153 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:01:02 ] >>145 マルチ?( science6.2ch.net/test/read.cgi/math/1195081289/156 )
154 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 18:24:20 ] >>128 >>146 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5329.c 結果があってるかはわからんよ。 あと、文字列を数列に直すのは無駄だったから省略しちゃった。 どうしても直したければ、適当にやってくんろ。
155 名前:131 mailto:sage [2007/11/25(日) 19:42:04 ] >>154 自分の環境ではfscanfで32767文字までしか取得できなかったわけだが・・・ ファイルサイズは228793バイトあるわけで >>128 >>132 で答えたつもりだったんだけど間違ってたかな?
156 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:30:38 ] >>155 こっちの環境では問題なく scanf で取れたよ。 それ以上に、>>132 は O(n^2) だから、とても終わらないと思うけれど。
157 名前:156=154 mailto:sage [2007/11/25(日) 20:33:55 ] あ、こちらの環境は質問者にあわせて WindowsXP (cygwin) の gcc 。 質問者の環境で、これでうまくいかないようなら対処する。
158 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:48:56 ] >>153 プログラムがかけないのでお願いします
159 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:56:38 ] >>158 C, d, n, p, q として想定している桁数は? 任意桁なら、GMP の使用の可否は?
160 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 20:59:51 ] >>158 マルチ?って聞かれてそう答えるのって日本語不自由な人だよね。
161 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 21:04:14 ] >>160 留学生です
162 名前:デフォルトの名無しさん [2007/11/25(日) 21:14:03 ] [1] 授業単元: C言語基礎 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5330.txt [3] 環境 [3.1] OS: Windows [3.3] 言語: C言語 [4] 期限: 11月26日0時まで よろしくおねがいします
163 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 21:14:37 ] 帰れ
164 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 21:24:45 ] >>162 int dom[] = {-1,31,28,31,30,31,30,31,31,30,31,30,31}; void yesterday(int *y, int *m, int *d) { --*d; if (*d <= 0) *d = dom[--*m]; if (*m <= 0) --*y, *m = 12; } void tomorrow(int *y, int *m, int *d) { ++*d; if (*d > dom[*m]) *d = 1, ++*m; if (*m > 12) ++*y, *m = 1; } void sort3(int *n1, int *n2, int *n3) { int tmp; if (*n1 > *n2) tmp = *n1, *n1 = *n2, *n2 = tmp; if (*n2 > *n3) tmp = *n2, *n2 = *n3, *n3 = tmp; if (*n1 > *n2) tmp = *n1, *n1 = *n2, *n2 = tmp; }
165 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 21:47:29 ] >>116 当方で確認した環境は WindowsXP, 処理系は gcc 3.4.4 です。 (1) だけでもやってみました。とにかく初期値と収束解を出すだけのプログラムです。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5331.txt この結果をつらつら眺めると、次の関係があると推測できます。 初期値を x0, y0 とするとき、 1) y0 > x0 ならば、収束値は (x, y) = (-2, 2) 2) y0 < x0 ならば、収束値は (x, y) = (2, -2) 3) x0 = y0 ならば、ヤコビ行列の行列式が 0 となるので、収束しない。 初期値から近い方の解に収束するようです。 なお、問題の(2) は、どうもフラクタル図形を描くかと思われます。
166 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:04:40 ] >>116 M教授の課題だろ
167 名前:デフォルトの名無しさん [2007/11/25(日) 22:08:05 ] [1] 授業単元: C言語入門 [2] 問題文(含コード&リンク):(kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5332.txt ) [3] 環境 [3.1] OS: WindowsXP [3.3] 言語: C言語 [4] 期限: 明後日 [5] その他の制限: 今は配列のところを習っています。制限は特にないです。 お願いします
168 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:13:59 ] >>167 404
169 名前:デフォルトの名無しさん [2007/11/25(日) 22:24:46 ] 1から50までの数のうち、素数を表示するプログラムを教えてください。 #difineで50を定義するってのが条件です お願いします
170 名前:デフォルトの名無しさん [2007/11/25(日) 22:33:04 ] >>148 M教授の課題だろ。俺もわかんねえんだおしえてくれ
171 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:34:48 ] >>169 #include <stdio.h> #define 50 int main(void) { printf("2 3 5 7 11 13 17 19 23 29 31 37 41 43 47"); return 0; }
172 名前:>>169 [2007/11/25(日) 22:35:19 ] すみません。>>1 読んでませんでした 書き直します [1] C言語: [2] 1から50までの数のうち、素数を表示するプログラムを作成せよ。 #difineで50を定義せよ [3] 環境 [3.1] WindowsXP [3.2] Visual C++2005 [3.3] C [4] 期限:無期限 [5] 関数は使ってはいけない
173 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:37:23 ] >>172 >関数は使ってはいけない 本当にこう言われたのか?
174 名前:173 mailto:sage [2007/11/25(日) 22:39:11 ] >>173 すみません。違います 関数は使わなかったらできませんね(汗
175 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:40:05 ] ところで >>171 はスルーかね
176 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:40:57 ] あっ!#difineを使うのか!
177 名前:173 mailto:sage [2007/11/25(日) 22:41:37 ] あ、すまんです;; ありがとうございます。こんなやりかたもあるんですね
178 名前:173 mailto:sage [2007/11/25(日) 22:43:44 ] あとdefineですね。間違いだらけですみません
179 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:44:59 ] >>172 #define N 50 main() { int i, j; int primes[N]; for (i = 0; i < N; ++i) { primes[i] = i; } primes[1] = 0; for (i = 2; i*i < N; ++i) if (primes[i]) { for (j = i*i; j < N; j+=i) { primes[j] = 0; } } } for (i = 0; i < N; ++i) { if (primes[i]) { printf("%d ", primes[i]); } } }
180 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:47:39 ] >>179 最悪な方法に比べればましだけどまだしょっぱい。
181 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:47:48 ] >>172 #include <stdio.h> int main() { printf("2 3 5 7 11 13 17 19 23 29 31 37 41 43 47\n"); return 0; }
182 名前:173 mailto:sage [2007/11/25(日) 22:48:17 ] (汗
183 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:51:09 ] >>180 改善点があったら教えてください
184 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:52:10 ] >>172 #include <stdio.h> #include <stdlib.h> #define N 50 int main(void){ int border, i, k; char *num; border = N/2; if((num = malloc( N+1 )) == NULL)return -1; for(i=0; i<N; i++)num[i] = 1; i = 2; while(i <= border){ for(k=i*2; k<=N; k+=i)num[k] = 0; while(1){ i++; if(num[i])break; } } for(i=2; i<=N; i++)if(num[i])printf("%d ", i); free(num); return 0; }
185 名前:122 mailto:sage [2007/11/25(日) 22:53:42 ] >>119 >>129 ごめんなさい。訂正いたします。 なお、厳密には「有効桁数 4 桁で表示」っていうのは、このやり方ではうまくないです。 SEED に与える定数で、具合のいいものしか表示しないようにしています。すみません。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5333.txt
186 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 22:59:55 ] >>172 #include <stdio.h> int main() { int i,j,num[51]={0}; for (i=2 ; i<51 ; i++) { if (num[i]==0) { printf("%d\n", i); for (j=i ; j<51 ; j+=i) { num[j]=1; } } } return 0; }
187 名前:122 mailto:sage [2007/11/25(日) 23:00:07 ] >>119 >>129 訂正:具合のいいものを表示するように SEED の値を変えてください。 重ね重ねすみません。
188 名前:デフォルトの名無しさん mailto:sage [2007/11/25(日) 23:04:03 ] >>186 //ちょっとだけ高速化 #include <stdio.h> int main() { int i,j,num[51]={0}; for (i=2 ; i*i<51 ; i++) { if (num[i]==0) { printf("%d\n", i); for (j=i ; j<51 ; j+=i) { num[j]=1; } } } for (i=2 ; i<51 ; i++) { if (num[i]==0) { printf("%d\n", i); } } return 0; }
189 名前:コーンポタージュ [2007/11/26(月) 00:15:01 ] >>147 ちなみにサンプルプログラムは以下の通りです。 /* グラフ彩色問題に対する近似解法(サンプルプログラム) */ #include <stdlib.h> #include <stdio.h> #include <time.h> #define MAX_N 2000 /* 最大の頂点数 */ int n; /* 頂点数 */ int m; /* 辺数 */ double x[MAX_N], y[MAX_N]; /* 各頂点の座標 */ int a[MAX_N][MAX_N]; /* 隣接行列 */ int color[MAX_N]; /* 色 */ int max_color; /* 最大の色番号 */ /* アルゴリズム本体 */ void sample(){ int i; for(i = 0; i < n; i++){ color[i] = i % 6; } }
190 名前:コーンポタージュ [2007/11/26(月) 00:15:42 ] /* メインプログラム */ int main(int argc, char *argv[]){ FILE *input_file, *output_file; double start_time, search_time; int i,j,k1,k2; /* 引数のチェック */ if(argc <= 1){ fprintf(stderr,"Please input the name of data file!\n"); exit(1); } /* 入力データの読み込み */ input_file = fopen(argv[1],"r"); fscanf(input_file, "%d %d\n",&n, &m); for(i = 0; i < n; i++){ fscanf(input_file,"%lf %lf\n",&(x[i]),&(y[i])); } for(i = 0; i < n; i++){ /* 隣接行列の初期化 */ for(j = 0; j < n; j++){ a[i][j] = 0; } } for(i = 0; i < m; i++){ fscanf(input_file,"%d %d\n",&k1,&k2); a[k1][k2] = a[k2][k1] = 1; }
191 名前:コーンポタージュ [2007/11/26(月) 00:16:16 ] /* 解の初期化 */ for(i = 0; i < n; i++){ color[i] = -1; } /* 入力データの表示 */ printf("n= %d\n",n); printf("m= %d\n",m); /* for(i = 0; i < n; i++){ printf("%f\t%f\n",x[i],y[i]); } for(i = 0; i < n; i++){ for(j = i+1; j < n; j++){ if(a[i][j] == TRUE){ printf("%d\t%d\n",i,j); } } } */ /* 開始時刻の設定 */ start_time = (double)clock()/CLOCKS_PER_SEC; /* アルゴリズム本体 */ sample();
192 名前:コーンポタージュ [2007/11/26(月) 00:16:50 ] /* 実行時間の測定 */ search_time = (double)clock()/CLOCKS_PER_SEC - start_time; /* 制約条件のチェック */ for(i = 0; i < n; i++){ if(color[i] == -1){ printf("No color is assigned!: %d\n",i); } } for(i = 0; i < n; i++){ for(j = i+1; j < n; j++){ if(a[i][j] == 1 && color[i] == color[j]){ printf("%d and %d have the same color %d!\n",i,j,color[i]); } } }
193 名前:コーンポタージュ [2007/11/26(月) 00:17:23 ] /* 入力データおよび解をファイルに出力 */ output_file = fopen("result.txt","w"); fprintf(output_file,"%d\t%d\n",n,m); for(i = 0; i < n; i++){ fprintf(output_file,"%f\t%f\n",x[i],y[i]); } for(i = 0; i < n; i++){ for(j = i+1; j < n; j++){ if(a[i][j] == 1){ fprintf(output_file,"%d\t%d\n",i,j); } } } for(i = 0; i < n; i++){ fprintf(output_file, "%d\n",color[i]); }
194 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:18:48 ] レスを跨るようならアップローダを使ってくれないかな。
195 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:26:22 ] アップローダなら半角スペースが残るので、カットアンドペーストできれいなソースが手元にわたりますし。
196 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:30:38 ] どこの誰が管理してるかわからないようなものを使えるか!
197 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:36:13 ] ん、それもそうですね。でもアップローダ経由じゃないソースは 私は基本的にはみません。だってめんどくさいから。
198 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:41:44 ] 1レス内に自然に入るなら入れて欲しいけどね。空白を 置換して。
199 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:51:45 ] 新しい宿題のネタになりますでしょうーか。< 変換
200 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 00:56:28 ] sed -e 's/&/\&/g' -e 's/^ /\ /g' -e 's/ / \ /g' -e 's/</\</g' -e 's/>/\>/g'
201 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 02:15:24 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):() ===memo.txt=== DATA52/a DATA52/u DATA52/chi ============= とかかれたmemo.txtのファイルがあるとして そのファイルを読み込み"DATA52/"という 文字列を取り除く. 次にa,u,chiをくっつけてauchiとして表示せよ。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 11/26 12:00 [5] その他の制限: ちなみに構造体配列を使い、struct tfield tdata[1]を宣言し tdata[0].filenameに"memo.txt"を格納しているとする。 そのmemo.txtをよみこみ処理してtdata[0].wordとして"auchi"を表示してほしいです。 メンバのfilename,wordはchar型です
202 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 02:17:18 ] >>184 これは不思議。 アルゴリズムの名前とかある?
203 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 02:20:40 ] >>202 エラトステネスのふるい
204 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 02:26:06 ] >>203 まじか……。 調べる数をリストとして扱うと、こういう処理になるのか。
205 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 07:30:51 ] ちょ、ふるいってプログラムで素数求めるときに必ずやるもんだろw
206 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 08:16:47 ] 確かに出てくる確率は多いけど、 ただ単に素数を求めるプログラムを作れって言われたら、 エラトステネスを思いつかなければ、別の手段を使うだろ。
207 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 08:20:35 ] 可能性ではなく、教養として知っておくべきだろうな。 教養なんて高尚なもんでもない。常識だ。
208 名前:デフォルトの名無しさん [2007/11/26(月) 08:21:07 ] [1] 授業単元: プログラム数学 [2] 問題文(含コード&リンク):sinx は x - x**3/3! + x**5/5! -x**7/7! + ---- (1) と級数展開される. 式(1)で7項まで取った場合と組み込み関数で求めたsinxの値の差を, 0度から360度まで,プログラムを作成して求めろ 注意1:式(1)をプログラム化する際に,定義関数を利用し,項数と角度を渡すと値を返すような関数 を作成のこと. [3] 環境 [3.1] OS:windowsXP [3.2] コンパイラ名とバージョン: bcpad [3.3] 言語: C++ [4] 期限: 11月26日12:00 [5] その他の制限: 特にありませんが定義関数を使うようです お願いします
209 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 08:37:54 ] >>205 ごめん俺、確率的判定アルゴリズムしか知らない・・・ こういう演習で確率的アルゴリズム書いて提出するとどうなるんだろうな
210 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 08:56:55 ] #Define Pi 3.14 double series_sin(double degree,int num){ double radian=degree * Pi/180; double tmp=0; for(int i=1;i<=num;i++ ){ tmp+=Pow(-1,i+1)*Pow(radian,i*2-1)/Factorial(i*2-1); } return tmp; } テストも糞も無いけどこれを修正してmath.hのSinと比べればOK factorialの演算子がC++にあるかどうかは分からんので。
211 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 09:15:06 ] >>145 何を求める問題なのかがさっぱり分からないから 問題を書き直したほうがいい
212 名前:デフォルトの名無しさん [2007/11/26(月) 10:28:06 ] 期限過ぎちゃいましたけど、 >47お願いします。
213 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 11:51:43 ] >>209 なんで謝るの?
214 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 14:12:00 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/5335.txt [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: なし [5] その他の制限:なし
215 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:42:30 ] >>214 #include <stdio.h> #include <time.h> void gput(const char *s, int speed) { clock_t c; while(*s) { putchar(*s++); c = clock(); while(clock() - c < speed); } }
216 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 15:53:26 ] [1] 授業単元: プログラミング [2] 問題文 数字の点数を読んで、クラスの平均点、最低点と最高点を求めるプログラムを書け [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン: 不明 [3.3] 言語: C#なんだけど、ほかのスレタイ調べても頼めないからみんなたのむ。 [4] 期限: 今週の金曜 [5] その他の制限:結構レベルが低いので複雑なプログラムはご遠慮願います。
217 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:20:24 ] #include<stdio.h> int main(){ int n; printf("数字の点数を入力してください ",n); scanf("%d",&n); printf("平均点 %d\n",n); printf("最低点 %d\n",n); printf("最高点 %d\n",n); return 0; }
218 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:28:01 ] int ClassMenberNum = 1;
219 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:48:02 ] >>214 while(clock() - c < speed); → while(1000*(clock() - c) / CLOCK_PER_SEC < speed);
220 名前:学生 [2007/11/26(月) 16:50:23 ] 大学の授業で課題が出ました。初めてプログラミングやるので分かりません。 お願いします。自分は全くの初心者ですお願いします。 【C言語・質問】 以下、課題です。 @課題内容 駐車場のシュミュレーション・課題先リンク www.trpt.cst.nihon-u.ac.jp/processing/2006/parking.html ※貴方自身がコンビニやパチンコ店の管理者となり、 イメージして以下の条件は各自自由な値としてよい。 ・駐車場の台数 ・平均駐車時間(s) ・駐車時間の標準偏差(s)・駐車車両発生条件(開始時間 s ) ・その時間における発生確率(台/s)・駐車車両発生条件(中間時間 s ) ・その時間における発生確率(台/s) 例:パチンコ店 駐車場の台数=200台 来店頻度=400秒に1台 平均駐車時間=120分 等 上記の設定で、グラフも出る様にすること。 A課題の参考場所 www.trpt.cst.nihon-u.ac.jp/processing/parkingsim.c 上記の言語がベースになる様です。
221 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:53:28 ] >>220 ログインできないのでユーザー名とパスワードを教えてください。
222 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:54:27 ] >>220 >>1 のテンプレに則ってください
223 名前:学生 [2007/11/26(月) 16:57:21 ] >>221 すみません ユーザー:1424 PASS:1424 両方同じです。 >>222 すみませんでした。以後注意します
224 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 16:57:39 ] >>215 >>219 ありがとう!助かります!
225 名前:学生 [2007/11/26(月) 17:08:27 ] テンプレに沿って書き直しました。 [1] 授業単元:情報処理 [2] 問題文:上記に掲載しました。 [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: bcPad [3.3] 言語: C言語 [4] 期限:本日中 [5] その他の制限: 自分はプログラミング素人です。各文字の意味は知っています
226 名前:デフォルトの名無しさん [2007/11/26(月) 17:08:48 ] [1] 授業単元:C言語(システムコール) [2] 問題文(含コード&リンク): 10から0までの整数を1秒ごとに表示する親プロセスと子プロセスを生成しなさい。 備考 ・fork() を用いること ・getpid() を用いて、親プロセスと子プロセスのプロセスIDを表示すること ・wait() を親プロセスで用いない場合と用いた場合を作成すること [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: なし [5] その他の制限: なし
227 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 17:10:30 ] >>223 大学の鯖に入れって事だろ? なんか、ギリギリアウトな気がするんだが・・・w
228 名前:学生 [2007/11/26(月) 17:12:26 ] >>227 大丈夫です。過去にも依頼した事がありあす。 このページ作っているのは大学院生です。見ていません
229 名前:デフォルトの名無しさん mailto:sage [2007/11/26(月) 17:18:01 ] すげぇなぁ、おいw