1 名前:デフォルトの名無しさん [2009/07/13(月) 07:46:32 BE:142007235-DIA(287979)] あなたが解けない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++の宿題片付けます 128代目 pc12.2ch.net/test/read.cgi/tech/1245853701/
55 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 12:58:23 ] 前スレの>>772 です。スレが変わったのでもう一度貼っておきます。 [1] 授業単元: 4次のルンゲ−クッタ法を用いて連立微分方程式を解く [2] 問題文:システムの状態x = (x, y, z) が、以下の連立微分方程式に従う場合の挙動をシミュレーション する. dx/dt= −y − z dy/dt= x + ay dz/dt= b + (x − c)z 【課題1】4 次のルンゲ-クッタ法を用いて上記方程式を数値的に解くプログラムreport.c を完 成させよ.report.c には3 つの関数が定義されている.ルンゲ-クッタ法を1 ステップ行う関数 rungekutta() は完成しているが、導関数を求める関数deriv() とプログラム全体を制御する関 数main() は不完全である.各関数に適切な実行文等を記述し、プログラムを実行できるよう完 成させよ. 【課題2】課題1で完成させたプログラムreport.c を用い、シミュレーションを実行する.シス テムパラメータが 1. (a, b, c) = (1.0, 0.2, 1.0) 2. (a, b, c) = (1.0, 0.2, 8.0) の2つの場合に、時刻t = 200.0 からt = 400.0 の間にx が位相空間に描く軌跡を図に表せ.シ ミュレーションの時間刻みはdt = 0.02 とし、初期値x(0) = (x(0), y(0), z(0)) は適当な値を選ぶ こと.またそれぞれの場合について、初期値をわずかに変化させた場合に軌跡がどのように変化 するかを、同様に図に表して比較せよ. [3] 環境 Vine Linux [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン: gcc [3.3] 言語:C [4] 期限:2009年7月28日 [5] その他の制限:ソースは長いので3レスに分けて投稿します。ソースを以前ろだに貼ろうと思ったのですができませんでした。見づらくてすいません。 どうか宜しくお願いします。
56 名前:772 mailto:sage [2009/07/14(火) 13:00:29 ] #include <stdio.h> #include <math.h> #define N 3 //システムの次元 double a = 0.20; double b = 0.20; double c = 10.0; /* 導関数 */ /* x における dx/dt を求める */ void derivs(double t, double x[], double dxdt[]) { /* dx/dt = f(x) */ dxdt[0] = ; dxdt[1] = ; dxdt[2] = ; }
57 名前:772 mailto:sage [2009/07/14(火) 13:01:33 ] >>56 の続きです。 /* ルンゲクッタ法を1ステップ行う関数 */ /* x(t)=xin から x(t+h)=xout を求める */ void rungekutta(double xin[], double xout[], double t, double h) { int i; double th2,h2,h6; double dxdt0[N], dxdt1[N], dxdt2[N], dxdt3[N], xt[N]; double deriv(double, double [], double []); h2=h*0.5; h6=h/6.0; th2=t+h2; derivs(t,xin,dxdt0); for(i=0;i<N;i++) xt[i] = xin[i] + h2*dxdt0[i]; derivs(th2,xt,dxdt1); for(i=0;i<N;i++) xt[i] = xin[i] + h2*dxdt1[i]; derivs(th2,xt,dxdt2); for(i=0;i<N;i++) xt[i] = xin[i] + h*dxdt2[i]; derivs(t+h,xt,dxdt3); for(i=0;i<N;i++) xout[i] = xin[i] + h6*(dxdt0[i]+2.0*(dxdt1[i]+dxdt2[i])+dxdt3[i]); }
58 名前:772 mailto:sage [2009/07/14(火) 13:02:34 ] >>57 の続きです。 int main() { int i; double t, tmax, dt; double x[N], x_next[N]; FILE *fp; void rungekutta(double [], double [], double, double); /* 諸変数を初期化 */ tmax = ; dt = ; /* システムの状態を表すベクトルx(N次元)の初期化 */ /* 計算結果を書き出す為のファイルを開く */ fp = fopen("result.dat","w"); /* 時間tを刻み幅dtずつ増加させながら時間発展 */ for(t=0.0;t<tmax;t+=dt){ /* 時刻tとxの各要素をファイルに書き出す */ fprintf(fp,"%lf %lf %lf %lf\n ", t, x[0], x[1], x[2]); /* xを更新 */ x += } /* ファイルを閉じる */ fclose(fp); return 0; }
59 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:05:38 ] うpろだが使えなかった人だっけ はやくうpろだ使えるようになってくれよ
60 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:08:27 ] すみません。学習意欲がないんで、うpろだの使い方とか覚えるの面倒くさいんです。 だからはやく宿題手伝ってください。
61 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:37:26 ] >>50 いえいえ、合ってますよ。 >>60 ファイル名のところに直接ファイル名書いてる?、「参照..」ボタン押せ。
62 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 13:39:18 ] >>61 60は本人じゃないだろw このスレのみんなの心の声だ
63 名前: ◆/91kCCQXBo mailto:sage [2009/07/14(火) 13:52:23 ] >>039 これは多分1、2、3を順次処理する問題なのだろう。 #include <iostream> using namespace std; int main(void) { int a, b, c; char m; cout<<"a:"; cin>>a; cout<<"b:"; cin>>b; cout<<"c:"; cin>>c; cout<<"m:"; cin>>m; if(a < b) /* - 1 - */ cout<<"aはbより小さいです\n"; else if(a > b) a = a + b; if( m == 'a' ) /* - 2 - */ cout<<"'a'が格納されています\n"; else cout<<"'a'でない文字が格納されています\n"; b = b + c; cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; if(a < b) /* - 3 - */ cout<<"aはbより小さいです\n"; else if(a > b) cout<<"aはbより大きいです\n"; else cout<<"aとbは等しいです\n"; }
64 名前:デフォルトの名無しさん [2009/07/14(火) 13:56:51 ] >>2 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9745.zip キャストって、(int),(double)で良いんだよねぇ?
65 名前: ◆/91kCCQXBo mailto:sage [2009/07/14(火) 15:00:08 ] >>049 2人の人の名前と年齢をキー入力 jbbs.livedoor.jp/bbs/read.cgi/computer/32221/1246384344/19
66 名前:デフォルトの名無しさん [2009/07/14(火) 15:27:58 ] >>55 です。大変ご迷惑をおかけしました。ろだにソースを貼りましたのでよろしくお願いします。
67 名前:デフォルトの名無しさん [2009/07/14(火) 15:41:56 ] >>53 回答に誤りがあったみたいでプログラムが作動しません。 >>48 どなたかお願いします。
68 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 15:59:17 ] >>67 前スレ>>939 の回答だが試してみた。 で、コンパイルエラーが起こったけど修正すれば動いた。 >>srand((unsigned) time(NULL));/* 乱数系列の変更 */ 上記の一文を変数宣言後の位置にいどうするか、コメントアウトすれば動く。 C99なら問題ないのだけど。
69 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 16:30:14 ] >>67 前回回答した者だけど、規格とかまで理解できてなかったゴメン・・・ >>68 さんが言ってるように修正してみてほしい コメントアウトすると乱数が一定になるからなるべく移動で解決する方が良さそう あと、それでもエラーが出るようなら、エラーメッセージを貼り付けて欲しい
70 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 17:26:39 ] >>48 データファイルが本当にそういう仕様だと信じて書いてみた。 入力ファイル名、出力ファイル名はそれぞれ input.txt output.txt ね。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9747.txt
71 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 17:37:44 ] ノールなら130資源地しらみつぶしに攻撃したら100匹くらいやとってるとこあるからそれで完了
72 名前:デフォルトの名無しさん [2009/07/14(火) 18:37:04 ] [1] 授業単元:C言語 [2] 問題文:配列を用いた計算機のプログラムを作成してください。 計算は前から順に行われていく。 入力される数値の個数は最大でも20個としてください。 [3] 環境 [3.1] OS: XP [3.2] コンパイラ名とバージョン: Visual Studio 2008 [3.3] 言語:C言語 [4] 期限:2009年7月19日 [5] その他:特になし 自分も新スレになったので再貼りです 改めてよろしくおねがいします
73 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 18:37:48 ] >>72 >配列を用いた計算機のプログラムを作成してください。 の具体例をくれ
74 名前: ◆/91kCCQXBo mailto:sage [2009/07/14(火) 18:41:02 ] >>070 コンパイルして、テストはしていないみたい。 #define DELIMITER " \n" /* 半角文字 */ /* 主語の読み込み */ fgets(sbuff, BUFFSIZE, ifp); s[0] = strtok(sbuff, DELIMITER); for (i = 1; i < S; ++i) s[i] = strtok(NULL, DELIMITER); /* 目的語の読み込み */ fgets(mbuff, BUFFSIZE, ifp); m[0] = strtok(mbuff, DELIMITER); for (i = 1; i < M; ++i) m[i] = strtok(NULL, DELIMITER); /* 述部の読み込み */ fgets(jbuff, BUFFSIZE, ifp); j[0] = strtok(jbuff, DELIMITER); for (i = 1; i < J; ++i) j[i] = strtok(NULL, DELIMITER);
75 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 19:39:08 ] >>72 問題文の意味が全く分からない
76 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 19:42:05 ] >>72 ・問題文は、出題されたまま全文を書いてください。
77 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:25:48 ] >>64 はい!ほんとにありがとうございました。 助かりました
78 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:28:38 ] 適当にエスパーしたものを貼っておく #include <stdio.h> #define MAX 20 int main(void) { int i; double result; double num[MAX]; char op[MAX]; printf("1 個目の数字 = "); scanf("%lf", &num[0]); getchar(); for (i = 1; i < MAX; i++) { printf("%d 個目の演算子 = ", i); if ((op[i] = getchar()) == EOF) break; printf("%d 個目の数字 = ", i + 1); scanf("%lf", &num[i]); getchar(); } result = num[0]; for (i = 1; i < MAX && op[i] != EOF; i++) { switch (op[i]) { case '+': result += num[i]; break; case '-': result -= num[i]; break; case '*': result *= num[i]; break; case '/': result /= num[i]; break; default: printf("error\n"); return 1; } } printf("ans = %f\n", result); return 0; }
79 名前:デフォルトの名無しさん [2009/07/14(火) 20:34:06 ] 前スレ962をお願いします
80 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:35:20 ] >>79 問題張りなおして
81 名前:79 [2009/07/14(火) 20:44:12 ] www.dotup.org/uploda/www.dotup.org237261.txt.html お願いします
82 名前:デフォルトの名無しさん [2009/07/14(火) 20:47:21 ] 課題なんだが。。。。 #include<stdio.h> void kakugyou(void); int hen,x,y; void main(void) { printf("数字(2〜9)を入力してください:"); scanf("%d",&hen); while(x<=hen) { kakugyou(); x++; }
83 名前:デフォルトの名無しさん [2009/07/14(火) 20:48:42 ] ↑の続き x=hen-1; while(1<=x) { kakugyou(); x=x-1; } } void kakugyou(void) { y=1; while(y<=x) { printf("*"); y=y+1; } printf("\n"); } これだと、アスタリスクが旗みたいな形になるけど、これを基本にしてダイヤ型と六角形、星形の結果を出すにはどうしたらいいのだろうか。 誰か教えてください。
84 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:51:56 ] ゆとり増えすぎだろこのスレマジで・・
85 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 20:55:45 ] >星形の結果を出すにはどうしたらいいのだろうか ビルから飛び降りればいいんじゃないかな?
86 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:07:07 ] [1] 授業単元:C++ [2] 問題文(含コード&リンク): down11.ddo.jp/uploader/download/1247572884.rar/attatch [3] 環境 [3.1] OS: (WindowsVista) [3.2] textpad [3.3] 言語: (C++) [4] 期限: ([2009年07月15日23:59まで) 独自のプログラムの書き方なので、とても困っています。 色々と試してみたのですが、自分の力だけでは出来そうにないため相談しました。 取り扱い説明書やプログラムは001.rarに入れておきました。 緊急を要しますので、何方かどうかよろしくお願いします。 ファイルサイズが大きいため違うアップローダーをお借りしました。 パスワードは以下になります。 pass:C/C++
87 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:21:18 ] >>81 課題1 #include <stdio.h> int main(int argc, char **argv) { FILE *fp1, *fp2, *tfp; int c; if (argc != 3) return 1; fp1 = fopen(argv[1], "r"); tfp = fopen("temp.txt", "w"); while ((c = fgetc(fp1)) != EOF) fputc(c, tfp); fclose(fp1); fclose(tfp); fp1 = fopen(argv[1], "w"); fp2 = fopen(argv[2], "r"); while ((c = fgetc(fp2)) != EOF) fputc(c, fp1); fclose(fp1); fclose(fp2); fp2 = fopen(argv[2], "w"); tfp = fopen("temp.txt", "r"); while ((c = fgetc(tfp)) != EOF) fputc(c, fp2); fclose(fp2); fclose(tfp); return 0; }
88 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:32:10 ] >>86 RAR駄目やっ。 Extracting from D:\My Documents\Cplus\Part129_086\001.rar Extracting D:\My Documents\Cplus\Part129_086\tex.bmp CRCエラー: D:\My Documents\Cplus\Part129_086\tex.bmp
89 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:40:24 ] >>81 課題2 #include <stdio.h> #include <stdlib.h> #define N 10 int comp_i(const void *m, const void *n) { return *(int *)m - *(int *)n; } int comp_d(const void *x, const void *y) { return *(double *)x - *(double *)y; } int main(void) { int a[N]; double x[N]; int i; srand(time(NULL)); for (i = 0; i < N; i++) { a[i] = rand() % 100; x[i] = (double)rand() / RAND_MAX; } printf("整数1〜100の乱数を%d個発生しました\n", N); for (i = 0; i < N; i++) printf("%7d", a[i]); puts("\nソートすると"); qsort(a, N, sizeof(int), comp_i); for (i = 0; i < N; i++) printf("%7d", a[i]); puts(""); printf("実数[0, 1]の乱数を%d個発生しました\n"); for (i = 0; i < N; i++) printf("%7.3f", x[i]); puts("\nソートすると"); qsort(x, N, sizeof(double), comp_d); for (i = 0; i < N; i++) printf("%7.3f", x[i]); puts(""); return 0; }
90 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:47:25 ] ごめん>>89 は忘れて
91 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:50:54 ] >>81 Q2 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9748.txt
92 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:51:50 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9749.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: ? [3.3] 言語: C [4] 期限: 7/17 [5] その他の制限: 特にありません。よろしくお願いします。
93 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:57:24 ] >>88 zipになります。どうかよろしくお願いします。 down11.ddo.jp/uploader/download/1247576184.zip/attatch
94 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:58:07 ] >>88 passは先ほどと同じですので
95 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 21:59:38 ] >>92 (2) #include <stdio.h> int main(void) { int i, j; i = 1; while (i < 10) { j = 1; while (j < 10) printf("%3d", i * j++); printf("\n"); i++; } return 0; }
96 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 22:26:39 ] >>55 課題1 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9750.c あと問題をアップロードしたら>>66 だけじゃなくリンクも書いて 元のソースこれでいいんだね? kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9746.c
97 名前:デフォルトの名無しさん mailto:sage [2009/07/14(火) 22:37:54 ] >>92 (1) #include <stdio.h> int main(void) { int f1, f2, f3, n; printf("n = "); scanf("%d", &n); if (n == 0) { printf("F(0) = 0\n"); return 0; } if (n == 1) { printf("F(1) = 1\n"); return 0; } f1 = 0; f2 = 1; while (n >= 2) { f3 = f2 + f1; f1 = f2; f2 = f3; n--; } printf("F(%d) = %d\n", n, f3); return 0; }
98 名前:79 [2009/07/14(火) 23:01:46 ] >>90 ありがとうございます
99 名前:デフォルトの名無しさん [2009/07/15(水) 01:17:23 ] [1] 授業単元: C言語 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9751.txt [3] 環境 [3.1] OS: Windows [3.3] 言語: C [4] 期限: 7/17 [5] その他:特になし どうかよろしくお願いします。
100 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 01:37:56 ] >>99 解答01: string.h 解答02: cc minitest0926A.c -o minitest0926A 解答03: 3.464102 解答04: s=r*r*3.142; 解答05: 25 解答06: ( (x)<5 ? 'c' : 'd' ) 解答07: .9 解答08: p=3.141592654 環境依存あるかも。
101 名前:デフォルトの名無しさん [2009/07/15(水) 01:50:31 ] >>100 ありがとうございます
102 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 02:32:03 ] [1] 授業単元:OS演習 [2] 問題文(含コード&リンク): (1)pipe3.cを完成させて、親子プロセス間で交互にメッセ ージを交換するプログラムを作成せよ。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9752.txt (2)共有バッファを用いて、子プロセスでメッセージを書き込 み、親プロセスで読み出すプログラムを作成せよ。ただし、 共有バッファは128バイトとし、その先頭には‘書き込み マーク’を付し、そのリセットは親プロセスが、セットは子 プロセスが行うとせよ。 [3] 環境 [3.1] OS:Linux [3.2] gcc [3.3] 言語:C言語 [4] 期限: 7/16 [5] その他の制限:特にないです、どうかよろしくお願いします
103 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:05:57 ] 【質問テンプレ】 [1] 授業単元: C言語演習 [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9753.txt [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2009年 7月20日 [5] その他の制限: 特になし よろしくお願いします
104 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:06:34 ] ここすごく面白そうなスレだ プログラミングの題材探しにすんげぇ助かるかもしれない
105 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:08:39 ] >>104 利用料を徴収します
106 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 03:23:11 ] 最初はそう思うもんだ がんばって技術向上のついでに単位取得を手伝ってあげるといい
107 名前:デフォルトの名無しさん [2009/07/15(水) 03:28:46 ] [1] 授業単元: デジタル信号処理 [2] 問題文(含コード&リンク): 2つのテキストファイル(double型)を読み込み、畳み込み和を計算し、別のファイルに出力せよ。 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 2009年 7月16日 [5] その他の制限: よろしくお願いします。
108 名前: ◆/91kCCQXBo mailto:sage [2009/07/15(水) 04:21:59 ] >>082 ダイヤ型と六角形、星形 Part127>>953 (9534) 問題 >>998 (CODE)>>999 (CODE)>>次014(9548) 「ピラミッドアート」ダイヤ、八角形、星型 Part128>>333 (9630)>>342 (9635)>>495 問題 >>440 (9652) '*'を一辺とする六角形と星形を描画する Part128>>898 問題 >>915 (>>014 (9548)) アスタリスクがダイヤ形になるプログラム kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9534.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9548.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9652.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9630.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9635.txt
109 名前:デフォルトの名無しさん [2009/07/15(水) 09:13:24 ] [1] 授業単元: OS [2] 問題文(含コード&リンク): 共有バッファを用いて、子プロセスでメッセージを書き込み、親プロセスで読み出すプログラムを作成せよ。 ただし、共有バッファは128バイトとし 先頭には‘書き込みマーク’を付し、そのリセットは親プロセスが、セットは子プロセスが行うとせよ。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C [4] 期限:7月17日 [5] その他の制限:なし よろしくお願いします。
110 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:37:44 ] 1] 授業単元:数値情報解析 [2] 問題文:ニュートン法により代数方程式を解くプログラムを作りなさい。 [3] 環境 [3.1] OS:Windows [3.2] コンパイラ名とバージョン:Visual Studio [3.3] 言語:C [4] 期限:2009年7月22日 [5]少しでも易しい表現にしていただくようよろしくお願い致します。 あと、ソースファイルに処理過程がわかり易いようにコメント文を加えて いただけるとありがたいです。
111 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 09:58:44 ] maximaだとこれだけなんだけどね t(f):=block([fd,h],fd:diff(f(x),x),h:x-f(x)/fd,return(rat(h)))$t(f); 代数方程式に制限はないの?普通の多項式に限るとか それか、代数方程式とその微分が与えられている前提なら 話は簡単だけども 多項式の微分を自分で作れって問題ならめんどいね
112 名前:デフォルトの名無しさん [2009/07/15(水) 10:36:10 ] >>110 方程式と、方程式の微分結果は、ソースに直接書くの? それとも、入力された方程式を解くの? それによって、難易度がかなり違うんだけども。
113 名前:72 [2009/07/15(水) 11:26:38 ] 問題文はこれで全部です 作成例の実行ファイルを昨日貰ったので家に帰ったらアップします
114 名前:tac [2009/07/15(水) 16:06:17 ] 先日、このスレッドで質問を書かせていただいたんですが、 多くの方から、意見をいただき、とても参考になりました。 今日、ゼミがあったので教授にその話を言うと、 自分で1から開発せずに、オープンソースを探し、 もし足りなければ、そこから、改良を加えるという形でOKがでました。 なので、今回はCもしくはC++言語で、 ソケット間通信を可能にするオープンソースを自分自身でも探してみますが、 お勧めのソケット間通信のオープンソースのサイトやURLを教えていただけないでしょうか? 【質問テンプレ】 [1] 授業単元: ゼミナール [2] 問題文(含コード&リンク): 「PC間でソケットの接続確立とデータを送信を行うプログラム」の オープンソースを探す。 [3] 環境 [3.1] OS: Windows XP [3.2] Micro Soft Visual C++ 2008 [3.3] 言語: C もしくは C++ 言語 [4] 期限: 2009年7月22日 [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 制限は特にありません。 みなさんのお勧めのインスタントメッセンジャーもしくはチャットを CもしくはC++言語で書かれたオープンソースを教えて下さい。 また、お勧めの C または C++ 言語のオープンソースが置いてあるサイトを紹介してください。 宜しくお願いします。
115 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 16:49:04 ] FreeBSD(オープンソース)にtalk/talkdというのがあります。
116 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 17:19:47 ] >>114 mixiであんたが消したトピに答えがあったんだが見てないのか?
117 名前:>>55 mailto:sage [2009/07/15(水) 17:36:32 ] >>96 すみませんでした。ありがとうございます。
118 名前:デフォルトの名無しさん [2009/07/15(水) 18:32:28 ] >>114 IPMessanger www.ipmsg.org/ ソフト自体のソースも公開されてるし、 通信部分のみのDLLなんかもあるから、充分なんじゃない?
119 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:36:46 ] [1] 授業単元:基礎プログラミング [2] 問題文: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9754.zip [3] 環境 [3.1] OS: vista [3.2] コンパイラ名とバージョン: Visual Studio 2008 [3.3] 言語:C++ [4] 期限:2009年7月17日 [5] その他:特になし よろしくおねがいします
120 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 18:56:31 ] >>119 #include<stdio.h> #include<string.h> #include<ctype.h> int check(const char *mailaddress) { const char *p; int at_count=0; if(!isalpha(mailaddress[0])) return 0; if(!isalpha(mailaddress[strlen(mailaddress)-1])) return 0; for(p=mailaddress;*p;p++) { if(!isalnum(*p) && !strchr("@-_.", *p)) return 0; if(*p=='@') at_count++; } return (at_count==1); } int main(void) { char str[21]; printf("メールアドレス =>"); scanf("%20s", str); if(check(str)) printf("OK\n"); else printf("ERROR\n"); return 0; }
121 名前:obama ◆dXPOZaWDCk [2009/07/15(水) 19:13:28 ] 【質問テンプレ】 [1] 授業単元: [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9755.txt 上のプログラムがなぜ図のような座標列を生成したのかを説明せよ 図;g.pic.to/17jcdy ヒント1;関数draw_polygon()中のif(r>xxx)において、数値xxxをいろいろと変えること 数値xxxを大きくしていくと図が徐々に単純になっていく、単純な図から考えを進めること ヒント2;自分がパソコンになったつもりでプログラムを順に追っていくこと。 その際呼び出した側のdraw_polygon()と呼び出された側のdraw_polygon()を区別して考えること (前者と後者のローカル変数の区別をわすれないこと) [3] 環境 [3.1] OS: (Windows [3.2] コンパイラ名とバージョン: [3.3] 言語: (C [4] 期限: ([09年07月17日13:00まで] [5] その他の制限:
122 名前:obama ◆dXPOZaWDCk [2009/07/15(水) 19:14:55 ] >>121 お願いします
123 名前:デフォルトの名無しさん [2009/07/15(水) 19:29:56 ] どなたか>>107 お願いします
124 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:35:45 ] >>103 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9756.txt
125 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 19:44:51 ] [1] 授業単元:ゲームプログラミング入門 [2] 問題文(含コード&リンク): 以下のゲームの中からどれか二つを選んで作成せよ。 ・マインスイーパー ・七並べ ・ブラックジャック ・ポーカー カードゲームを作成する場合、同じカードが2枚存在してはならない。 ジョーカーは無いものとする。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: [2009年7月17日12:00まで] 出来れば7並べかマインスイーパーをお願いします。
126 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:18:28 ] [1] 授業単元:基礎c++ [2] 問題文(含コード&リンク): 一次元配列を用いて、Aをn次(nは100以下)の正方行列としたときの 対称行列の成分の添字番号、行成分を格納し表示せよ。 [3] 環境 [3.1] OS: linux [3.2] コンパイラ名とバージョン: visual c++ [3.3] 言語: c++ [4] 期限: 2009年07/17まで [5] その他の制限: 一次元配列で考える。 よろしくお願いします。
127 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:28:13 ] >>126 だめだ、10回読み直したけどわからん。 だれか分かりやすく読み下してくれ・・・
128 名前:デフォルトの名無しさん [2009/07/15(水) 20:43:06 ] n次対称行列の格納に必要な配列の長さはn(n+1)/2 配列名をMとする時 i行j列成分は(i>=j)の時 M[ i*(i-1)/2+j-1 ] (i<j)の時 j,i成分と同じ 乱数で適当に格納した後表示する。 これでどーだ?
129 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:47:13 ] >>128 先に書かれたー。せっかくなので俺がいま書いた解釈も… N次正方行列をあらわすには普通N*N個の要素を必要とするが それが対称行列ならN*(N-1)/2個の要素ですむ それでは、N次の対称行列をN*(N-1)/2個の要素を持つ一次元配列に 格納し、取り出すプログラムを作成せよ
130 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 20:48:43 ] >>128 ,129 ありがとうございます。 じっくり考えたいと思います。
131 名前:72 [2009/07/15(水) 21:05:30 ] www.rupan.net/uploader/download/1247659238.zip www.rupan.net/uploader/download/1247658809.zip 参考例と作成例をうpしました 参考例のほうはソースと実行ファイル共にありです 作成例のほうは実行ファイルだけになります
132 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 21:26:34 ] >>128-129 なるほど 「添字番号、行成分」なるなにものかを何とか数値化して配列に入れる方向で考えてた。頭堅いのは駄目だな その方向で行くとして、出力は1次元配列の構造そのままがいいんだろうか、行列っぽくするべきだろうか なんとなく後者かなと思ったが
133 名前:obamaさんへ mailto:sage [2009/07/15(水) 21:29:22 ] >>121 図を右上から左下、左上から右下の二本の線でバツに区切ります。 すると4つの同じような図形の菱形になります。 その一つを見るとさらに同じように4つの菱形に区切れます。 部分が全体を含んでいます。 そのように繰り返し的に同じ図形が現れるのをフラクタル図形といいます。 プログラムは4つの点を描き、中心位置をずらして 大きさを小さくしながら再帰的に同じ形を描いていっています。
134 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:07:23 ] >>131 >>78
135 名前:デフォルトの名無しさん [2009/07/15(水) 22:22:25 ] [1] 授業単元:プログラミングC [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9757.txt のデータを取り込み、そこから最大値、最小値、データ個数、平均値を求めるプログラムを作成せよ ただし最大値、最小値、データ個数、平均値は引数にポインタを用いて値を返すようにプログラムを作れ [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C [4] 期限: 7月16日17時 [5]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9757.txt のファイル名はtensu.txtでお願いします なるべく簡単なものでおねがいします
136 名前:72 [2009/07/15(水) 22:40:50 ] うお、安価なかったので気づきませんでした >>131 さんとそれを教えてくれた>>134 さんありがとうございました
137 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 22:57:39 ] >>135 #include <stdio.h> void func(int *max, int *min, int *num, double *ave) { int a, n; FILE *fp = fopen("tensu.txt", "r"); if (fp == NULL) { fprintf(stderr, "file open error."); exit(1); } if (fscanf(fp, "%d", &a) == EOF) { *num = 0; return; } *max = *min = *ave = a; *num = 1; while (fscanf(fp, "%d", &a) != EOF) { if (*max < a) *max = a; if (*min > a) *min = a; *ave += a; (*num)++; } *ave /= *num; fclose(fp); } int main(void) { int max, min, num; double ave; func(&max, &min, &num, &ave); printf("最大値 = %d, 最小値 = %d, データ個数 = %d, 平均値 = %f\n", max, min, num, ave); return 0; }
138 名前:デフォルトの名無しさん [2009/07/15(水) 22:59:39 ] [1] 授業単元: Linux/C [2] 問題文(含コード&リンク): 標準入力からの入力を元に演算、結果を標準出力に出力するプログラムがあります。 --- #include <stdio.h> #include <stdlib.h> main(){ char c[BUFSIZ]; fputs("input:",stderr); fgets(c,BUFSIZ,stdin); for(int i=0;i<atoi(c);i++) fprintf(stdout, "%03d\n",i); } --- これを以下のように実行し、例えば100を入力しても、エコーバックが画面表示されません。 $ a.out | more input:000 ←入力内容はエコーバックされず、最初の出力結果が表示される 001 … 022 --More-- 入力内容をエコーバックするようにプログラムを修正、または作り直して下さい。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C/C++ [4] 期限: 無期限 [5] その他の制限:なし
139 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:10:28 ] >>137 ありがとうございました
140 名前:デフォルトの名無しさん mailto:sage [2009/07/15(水) 23:45:12 ] a.out | more ↓ a.out にする あと、パスに.を入れるのはよくない
141 名前: ◆/91kCCQXBo mailto:sage [2009/07/16(木) 00:20:28 ] >>126 n次の対称行列 めんどうなのでC/C++ #include <stdio.h> int A[100*101/2]; int main() { int n, i, j, k, i1, j1; printf("n?"); scanf("%d%*c", &n); if(n>100) return 1; for(k=0, i=0; i<n; i++) { /* 成分の添字番号を表示 */ for(j=i; j<n; j++, k++) { A[k] = k+1; printf("N(%2d,%2d) = A(%2d)\n", i, j, k); } } for(i=0; i<n; i++) { /* 行成分を表示 */ for(j=0; j<n; j++) { if(i < j) i1=i, j1=j; else i1=j, j1=i; k = j1+i1*n-(i1*(i1+1)/2); // i printf("A(%2d)=%2d", k, A[k]); if(j < n-1) printf(", "); } puts(""); } return 0; } /* 1 2 3 4 2 5 6 7 3 6 8 9 4 7 9 10 */
142 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:23:11 ] >>112 与えられた方程式をソースに直接書くタイプなのです。 方程式や収束条件が先生の方からまだ発表されていなかったので、 大変申し訳ないですが、後日あらためて書き込みさせていただきます。
143 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 00:29:44 ] >>124 ありがとうございます
144 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 01:52:56 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):@四則演算は用いずに, 0xabcdの下位8ビットを0にして表示するプログラムを作成せよ. A変数xのyビット目を1にする関数 int bit_set(int x,int y) を作成せよ. B変数xのyビット目を0にする関数 int bit_clear(int x,int y) を作成せよ. C変数xのyビット目の値を返す関数 int bit_test(int x,int y) を作成せよ. [3] 環境 [3.1] OS:Windows Vista SP1 [3.2] Visual studio 2008 [3.3] 言語:C [4] 期限:2009年7月16日8:30まで [5] その他の制限:基本的なもので
145 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 02:05:38 ] >>144 @ #include <stdio.h> int main(){ printf("%d",0xabcd & 0xff00); return 0; } A int bit_set(int x, int y){ return x | (1<<(y-1)); } B int bit_clear(int x, int y){ return x & ~(1<<(y-1)); } C int bit_test(int x,int y){ return (x>>(y-1)) & 1; }
146 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 04:51:12 ] どなたか>>125 をお願いします。
147 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 06:45:23 ] どなたか>>102 の(2)だけでよいのでよろしくお願いします
148 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:19:20 ] >>146 マインスイーパってやっぱりマウスでクリックするの?
149 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:48:29 ] >>148 どちらもCUIです。 説明が足りず申し訳ありません。
150 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 09:49:58 ] CUIでマインスイーパーって開ける箇所を座標指定とかでやるのか?
151 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 10:05:58 ] >>150 だと思います。特に方法は指定されていませんでした。
152 名前:138 [2009/07/16(木) 11:17:32 ] >>140 レスありがとうございます。 その場合、スクロール、ページャ運用ができません。 是非プログラム内で解決したいと思っています。 宜しくお願い致します。
153 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 12:12:15 ] >>147 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9759.c
154 名前:デフォルトの名無しさん [2009/07/16(木) 12:57:01 ] >>146 7並べは、コンピュータ対戦? 両方人間で、同じ画面見てたらゲームになんないよねぇ・・・
155 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 13:52:28 ] >>154 7並べサーバを作って、人間用クライアントが複数接続できるようにして、 足りないぶんはAIクライアントに担当させる・・・ AIはインタフェースだけ決めといて実装は自由、各自が自作の思考ルーチンの強さを競う なんて妄想してると夢だけはひろがりんぐw
156 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 21:46:37 ] いまからマインスイーパをCで作ってみようと思う
157 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:13:11 ] [1] 授業単元: C++ [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9762.txt [3] 環境 [3.1] OS:WindowsXP [3.2] コンパイラ名とバージョン:Textpad [3.3] 言語:C/C++/どちらでも可 [4] 期限:2009年7月17日AM7:00まで [5] その他の制限:特になし 朝までになりますので、どなたかよろしくお願いします。
158 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:18:58 ] >>157 下図に示すa,bに数値を設定したときに -------------- この図はどこ
159 名前:デフォルトの名無しさん mailto:sage [2009/07/16(木) 23:48:36 ] >>158 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9763.txt すいません、こちらが図になります
160 名前:デフォルトの名無しさん [2009/07/17(金) 00:11:31 ] [1]プログラミング [2] 課題 言語: C もしくは C++ 言語 (1)以下のプログラムを作成しなさい(数当てゲーム) *画面上に「好きな数字を入力してください」と表示して、キーボードからの入力を待つ。 変数aを定義して、10までの乱数を発生させて変数aに代入する。 キーボードからの入力があれば、先に発生させた乱数と一致しているならば 「あたり!!」と表示する。 一致していなければ「残念乱数はxxです」と表示する(xxには変数aの中身を表示する) 宜しくお願い致します。
161 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 00:50:40 ] >>157 C++で kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9764.txt
162 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 01:24:03 ] 156だけど徹夜で用事入ったから17日昼までにマインスイーパ作れないと言っておく 一応windows.hを使ったインタフェースで作ってた。
163 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 03:26:21 ] >>160 #include <stdio.h> #include <stdlib.h> int main(void){ int a,input; srand( (unsigned)time(NULL) ); printf("input : "); scanf("%d",&input); a = rand() % 10 + 1; if( a == input ) printf("あたり!!\n"); else printf("残念乱数は%dです。\n",a); return 0; }
164 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 04:07:54 ] >>153 これから見てみます ありがとうございました
165 名前:デフォルトの名無しさん [2009/07/17(金) 09:44:19 ] [1] 授業単元: プログラミング言語 [2] 問題文(含コード&リンク):コメントアウト(//)を用いて下のプログラムを説明せよ。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9765.txt kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9766.txt [3] 環境 [3.1] OS: (Windows/Linux/等々) [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等) [3.3] 言語: (C/C++/どちらでも可 のいずれか) [4] 期限: ([09年7月17日12:30まで] または [無期限] のいずれか) [5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) お願いします
166 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 10:46:21 ] コメントアウト? コメントじゃなくて?
167 名前:新たな課題です [2009/07/17(金) 10:59:16 ] [1] 授業単元: プログラミング言語 [2] 問題文(含コード&リンク): 授業時に作成したプログラム(ヒント) kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip 作成する図形kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip 実行例s.pic.to/zrnq2 [3] 環境 [3.1] OS: (Windows [3.2] コンパイラ名とバージョン: (VC++ [3.3] 言語: (C [4] 期限: ([09年7月20日15:30まで] または [無期限] のいずれか) [5] その他の制限:成功すれば図は立体的に見える。 1.星形の座標列を生成する関数void draw_star(引数1,2,/…)を作成すること どの星型もこの関数ひとつで描けるようにすること 2.星型中心座標から各凸角までの距離は0.5、各凹角までの距離は0.25 3.星型中心y座標値は-10から10までの整数とすること y=0の場合は凸角数4というように、y座標値で凸角数が決まってくいる(実行例参照) ifやswitchなどの条件分岐(場合分け)を用いずに規則を見つけてプログラミングすること 5.各行(各y座標値)の最初(左端)の星型中心x座標値はゼロとし、最後(右端)のそれは 40以下とすること。隣り合う星型中心のx座標値の間隔dxはdx=2+0.3×|y|とすること。 6.実行結果は.csvファイルとして保存すること
168 名前:デフォルトの名無しさん [2009/07/17(金) 11:00:02 ] >>166 コメントです!!
169 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:23:08 ] 167 ほんとにこれでいいのか?(C 括弧閉じない性格 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9767.zip
170 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 11:51:14 ] >>167 ショートカットファイルしかありませんでした
171 名前:デフォルトの名無しさん [2009/07/17(金) 13:40:01 ] [1] 授業単元:システムコール [2] 問題文(含コード&リンク): 問題文 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9769.txt リスト1〜4 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9770.txt [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc [3.3] 言語: C [4] 期限: 7月21日(火)12時10分まで [5] その他の制限: 特になし よろしくお願いします。
172 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:47:16 ] >>125 キャラクタ画面でマインスイーパ作ったけど、〆切りすぎてたね・・・ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9773.c
173 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 18:57:32 ] ゲームってグラフィック使わないとなるとかなり難しいけどなw
174 名前:デフォルトの名無しさん [2009/07/17(金) 21:12:10 ] >>163 ありがとうございます!!
175 名前:デフォルトの名無しさん [2009/07/17(金) 21:47:15 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 下に示すように,キーボードから二つの文字列を読み込み,どちらの文字列が何文字長いか を表示するプログラムを作成せよ.なお,二つの文字列が同じ長さならば,「二つの文字列は同 じ長さです.」と表示させること. 文字列A : Good 文字列B : Morning 文字列B の方が3 文字長いです. [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年07月21日 [5] その他の制限:なし。
176 名前:デフォルトの名無しさん mailto:sage [2009/07/17(金) 23:06:06 ] >>175 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ char a[256], b[256]; int diff; printf("文字列A : "); scanf("%s", a); printf("文字列B : "); scanf("%s", b); if(diff = strlen(a) - strlen(b)) printf("文字列%c の方が%d 文字長いです.\n", diff>0 ? 'A' : 'B', abs(diff)); else puts("二つの文字列は同じ長さです."); return 0; }
177 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:14:07 ] >>171 WriteLine関数とReadLine関数の定義はどこ?
178 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:26:57 ] [1] 授業単元: プログラミング [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9774.txt [3] 環境 [3.1] OS: linux [3.3] 言語: C [4] 期限: 7/20 [5] その他:特になし よろしくお願いします。
179 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:39:26 ] >>178 【1】 stdio.h 【2】 n=0 【3】 Tn2 = Tn3 修正 n<20 を n<28 にする 【4】 2555757 【4】の解の保証 www.research.att.com/~njas/sequences/table?a=73&fmt=4
180 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:46:43 ] >>179 助かりました。ありがとうございます。
181 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 00:58:23 ] >>177 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9775.c これになります。失礼しました
182 名前: ◆/91kCCQXBo mailto:sage [2009/07/18(土) 02:27:15 ] >>167 星形の座標列 画像は読む事が出来た だれかプログラムしてくれ kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9777.txt
183 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 02:52:07 ] >>182 >>167 やろうと思ったけど何すればいいんだこれ 問題が意味不なんだが
184 名前: ◆/91kCCQXBo mailto:sage [2009/07/18(土) 08:27:43 ] >>183 要するに線画の3D画像。@にあるように星の大きさ自体は全て同じ。 数値をエクセルでグラフにしたので、朝、目が覚めたら読んでくれ。こっちは解析しただけでやる気が終わった。 www51.tok2.com/home/rg550/cgi-bin/hosoku/img0046.zip
185 名前:デフォルトの名無しさん [2009/07/18(土) 14:25:51 ] 1] 授業単元:プログラミング論 [2] 問題文:データベースに対して線形探索を行うプログラムを作成するこのとき探し出す値の項目(キー)は、生徒の名前とする。なお、番兵法を用いて繰り返しの終了判定を少なくする。また、文字列を比較する場合、関数strcmp()を用いる [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名:CPad for Borland C++Compiler [3.3] 言語:C [4] 期限: 2009年7月20日
186 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:34:07 ] >>185 そのデータベースというのはSQLのことかい?
187 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 14:35:01 ] あ、番兵って言ってるからちがうか。
188 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 15:39:08 ] >>185 こんな感じで。配列を使うとは書いて無いから線形リストにした。 あと、動作は保障しない。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9782.txt
189 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 16:13:30 ] >>188 それ番兵の意味ないでしょ。ノード数Nのときに検索回数が1少なくなるだけで比較回数はN増えるし。 検索文字を番兵にしないと。 <擬似コード> //リストの最後に番兵を置く sentinel = new Node("search word"); nodes.addLast(sentinel); //検索文字を探す(番兵がいるので絶対見つかる) int i=0; for(p = nodes.head;p.name != "search word";p=p.next,i++){} //リストの長さよりも小さければ番兵以外のノードが見つかった if(i < p.count-1) return p; else return NULL;
190 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 16:43:40 ] >>189 それ、C++ですねぇ。 検索文字列を番兵にするのは予想外でした。確かに比較回数はへりますね。 でも、その擬似コードは末尾にpushとpopしないといけないので、サーチにやっぱり時間かかりませんか? 文字列比較よりも低コストという感じですか?
191 名前:デフォルトの名無しさん [2009/07/18(土) 16:47:19 ] >>188 データベース(人の名前,tomなど9人,txtファイル)から キーボードから入力したKEY(生徒の名前)を 検索するプログラムを作ってほしいんです><
192 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:02:22 ] >>190 リストの末尾へのポインタをあらかじめ保持しておけば番兵の追加と削除に検索はいらない。 もちろん構造体を作るコストはかかるけどね。どっちが早いかは環境やリストの長さによる。 Node* head; Node* tail; //番兵追加 Node sentinel = new Node("hoge"); tail.next = sentinel; // //検索処理 // //番兵削除 delete(tail.next); tail.next = NULL; >>191 初めに書けよ 他に抜けてる条件は無いのか?
193 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:03:35 ] >>191 ちょ!おま。 情報の後出しは禁止だ!このやろー。 findfirstfileを自作しろってことか? さらに、その上で全文検索しろってことか? どの辺のことを言ってるのかよくわからん。
194 名前:デフォルトの名無しさん [2009/07/18(土) 17:13:26 ] >>193 すみません;; Tom 75 60 Jerry 85 90 Spike 45 30 Rachel 55 85 Monica 75 90 Phoebe 80 75 Chandler 70 65 Joey 85 75 Ross 90 85 こんな感じのtxtファイルを読み込んで 名前をKEYで検索して該当したデータを表示させるプログラムなんですけど データベースからデータを検索するプログラムが作れなくて困ってたんです;;
195 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 17:14:20 ] >>192 tailの管理がちょっと厄介ですなぁ。tailをpopしたら再検索ですし。まぁ、用途によりけりか。
196 名前:デフォルトの名無しさん [2009/07/18(土) 18:12:47 ] 1] 授業単元:プログラミング論 [2] 問題文:入力ストリームから読み込んだ文字列を、データベースに格納する前に スタックに一時的に格納するプログラムを作成する このときデータをまとめたデータ文字列を一つずつスタックへプッシュしたり ポップしたりする過程が分かるプログラムを作成する。 なおスタックを実現するライブラリはスタックのための別のヘッダにまとめる [プログラムの例] 入力ストリームから読み込んだデータ文字列をスタックへプッシュしたり ポップしたりするたびにデータベースに格納された全データを表示する。 [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名:CPad for Borland C++Compiler [3.3] 言語:C [4] 期限: 2009年7月20日 参考プログラムを元に完成させてほしいです [参考プログラム] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9784.txt
197 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 18:44:09 ] >>185 多分あってると思うがほとんどデバッグしてないので何とかしてくれ。動作は保障しない。 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9786.zip もう、今日は切ったり張ったりしないぞ。疲れた。
198 名前:デフォルトの名無しさん [2009/07/18(土) 18:50:20 ] >>197 めちゃめちゃ高度ですが すごい助かります ありがとうございました^^ お疲れ様です;;
199 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:17:40 ] [1] 授業単元: C言語 [2] 問題文 2進数の指定した場所の0、1を逆転せよ たとえば 00110という2進数の3番目を反転としたら 2進数が00010となる。1番目の場合10110となる [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン: VisualC++ [3.3] 言語: C [4] 期限: 7月20日 [5] その他の制限:
200 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:21:25 ] >>171 サーバ側 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9788.c クライアント側 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9787.c ターミナル3つ立ち上げてサーバ、クライアント1、クライアント2を実行 クライアントからの入力はサーバ、他のクライアントにも送れた。 けど、サーバから文字を入力するとクライアント1側に入力文字が無限ループで出てきて クライアント2には何も表示されなかった。課題どころか元のプログラムすら動かない危機的な状況なので 誰か助けてください。サーバ側に何か問題があると思うのですが全く見当がつきません
201 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 22:38:30 ] >>199 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9789.txt
202 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:34:12 ] >>200 サーバの202行目はj++だよね。
203 名前:デフォルトの名無しさん [2009/07/18(土) 23:37:58 ] #include<iostream> using namespace std; int main() { int value; cout << "整数値を入力値を入力してください\n"; cin >> value; if(10 <= value && value <= 99) { cout << "二桁の整数です\n"; } else if( value <= 9 || value >= 100){ cout << "一桁か三桁以上の整数です.\n"; } return 0; } このプログラムは負の数値に対して考慮していない。0未満の整数が入力された時、『負の整数が入力されました』と表示するプログラムを作成せよ &&と同じ処理を&&を使わず、else ifを使って表現せよ この2つ分かる方教えてくれませんか C++です
204 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:45:37 ] >>202 本当にありがとうございました。頑張ってみます
205 名前:デフォルトの名無しさん mailto:sage [2009/07/18(土) 23:47:48 ] >>203 負の数に対応したやつ #include<iostream> using namespace std; int main() { int value; cout << "整数値を入力値を入力してください\n"; cin >> value; if(value < 0) { cout << "負の整数が入力されました\n"; } else if(10 <= value && value <= 99) { cout << "二桁の整数です\n"; } else if( value <= 9 || value >= 100){ cout << "一桁か三桁以上の整数です.\n"; } return 0; }
206 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 00:04:42 ] >>203 &&を使わずにelse ifでむりやり版 あとテンプレ使え #include<iostream> using namespace std; int main() { int value; cout << "整数値を入力値を入力してください\n"; cin >> value; if(10 <= value) { if (!(value <= 99)) goto FOO; else if(1) cout << "二桁の整数です\n"; } else if(value <= 9 || value >= 100){ FOO: cout << "一桁か三桁以上の整数です.\n"; } return 0; }
207 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 01:08:17 ] #include<iostream> using namespace std; int main() { int value; cout << "整数値を入力値を入力してください\n"; cin >> value; if(value >= 0){ if(value >= 100) cout << "一桁か三桁以上の整数です.\n"; else if(value >= 10) cout << "二桁の整数です\n"; else if(1) cout << "一桁か三桁以上の整数です.\n"; }else if(1){ cout << "負の整数が入力されました\n"; } return 0; } 自分で言うのもなんだがなんだこのクソプログラムはw &&が使えなければドモルガンの法則使って||にすればいいじゃない、と思った
208 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 02:27:51 ] >>203 //このプログラムは負の数値に対して考慮していない。←仮定 //このプログラムは1000以上の数値に対して考慮していない。←仮定を追加 //&&と同じ処理を&&を使わず、else ifを使って表現せよ #include<iostream> using namespace std; int main() { int value; cout << "整数値を入力値を入力してください\n"; cin >> value; /* if(value < 0) { cout << "負の整数が入力されました.\n"; } else */ if(value < 10) { cout << "一桁か三桁以上の整数です.\n"; } else if(value < 100) { cout << "二桁の整数です\n"; } else { cout << "一桁か三桁以上の整数です.\n"; } return 0; } //これじゃ駄目かね? 質問者も、どれ提出すればいいか困るか。
209 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 02:39:52 ] //ド・モルガン版 >>207 #include<iostream> using namespace std; int main() { int value; cout << "整数値を入力値を入力してください\n"; cin >> value; if(value < 0) { cout << "負の整数が入力されました.\n"; } else if( value <= 9 || value >= 100) { cout << "一桁か三桁以上の整数です.\n"; } else { cout << "二桁の整数です\n"; } return 0; }
210 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 02:44:04 ] >>196 ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9790.zip >>185 と同じ人っぽかったので、データベースはtxtファイルで 「データベースに格納する前にスタックに一時的に格納」ってのは 「入力されたデータをスタックにためておき、スタックが一杯になったら データベースに書き込む」ということだと解釈したのだけど、合ってる?
211 名前: ◆/91kCCQXBo mailto:sage [2009/07/19(日) 03:14:40 ] >>167 C++ で提出すれば君はヒーローだ。(星形の座標列を生成する) #include <fstream> #include <iomanip> #include <math.h> #include <stdlib.h> using namespace std; #define PI 3.1415926535897932384 void draw_star(ofstream &fout, float x1, int y1) { int i, dot; dot = abs(y1) + 4; for( i = 0; i <= dot; i++ ) { fout<<setw(6)<< cos(2*PI/dot*i)/2+x1 <<','<<setw(7)<< sin(2*PI/dot*i)/2+y1 <<endl; if( i < dot ) fout<<setw(6)<< cos(2*PI/dot*(i+0.5))/4+x1 <<','<<setw(7)<< sin(2*PI/dot*(i+0.5))/4+y1 <<endl; } fout<<endl; } int main() { float x, xstep; int y; ofstream fout("polygon_29.csv"); if(!fout) return 1; fout<<fixed<<setprecision(3); for( y = -10; y <= 10; y++ ) { xstep = 2.0 + 0.3 * abs(y); for( x=0.0; x<40.0; x += xstep ) { draw_star(fout, x, y); } } fout.close(); }
212 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 07:33:25 ] >>183 だけど >>184 読んでやっと理解して defineとか使ってごちゃごちゃ書いて完成したら >>211 が出来てて涙目なので少しすっきり書き直してアップしといた kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9791.c
213 名前:デフォルトの名無しさん [2009/07/19(日) 12:40:03 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク): 下に示すように,キーボードから文字列を読み込み,その文字列が回文(前から読んでも後 ろから読んでも同じ)かどうかを判定するプログラムを作成せよ.なお,入力する文字列は半 角の英数字および記号のみと仮定してよい. 文字列を入力してください: abcba 回文です. [3] 環境 [3.1] OS: Windows [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C [4] 期限: 09年07月21日 [5] その他の制限:なし。
214 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 12:55:27 ] >>213 前スレに似たようなのがあった。空白を読みとばしたり大文字小文字を区別しない上級バージョンだけど参考まで pc12.2ch.net/test/read.cgi/tech/1245853701/107-111
215 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 12:56:06 ] #include <stdio.h> #include <string.h> int is_kaibun(char* buf,int len){ int i; for(i = 0;i<len/2;i++){ if(buf[i] != buf[len-i-1]) return 0; } return 1; } int main(){ char buf[256]; printf("文字を入力してください:"); fgets(buf,sizeof(buf),stdin); if(is_kaibun(buf,strlen(buf)-1)){ printf("回文アル"); }else{ printf("回文チガウアル"); } return 0; }
216 名前:デフォルトの名無しさん [2009/07/19(日) 13:26:37 ] こんな事したいんですけどC言語のソース書いてください 100以下の整数を入力し80以上なら”優”、70以上80未満なら“良”、60以上70未満なら“可”、60未満なら“不可”と表示する。tenに格納された値が不なら終了する。 条件:scanfの前にprintf(”点数を入力してください”);を入れる。whileを使いマイナスの値が入力された場合終了し、100〜0の場合ループさせる。ifを使う
217 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:29:51 ] >>216 入門スレがあっただろ?そっちで聞け
218 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:31:46 ] >>217 入門スレから誘導した こっちで受けてやってくれw
219 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:38:00 ] #include <stdio.h> int main(){ int ten; printf("点数を入力してください"); scanf("%d", &ten); while( ten >= 0 ){ if( ten >= 80 ){ printf( "優\n" ); }else if( ten >= 70 && ten < 80 ){ printf( "良\n" ); }else if( ten >= 60 && ten < 70 ){ printf( "可\n" ); }else{ printf( "不可\n" ); } printf("点数を入力してください"); scanf("%d", &ten); } return 0; }
220 名前:デフォルトの名無しさん [2009/07/19(日) 13:41:01 ] ありがとうございます。 よろしければあと3つほどお願いしたいです。 @ユークリッドの互除法で最大公約数を求める A自然対数の底eを求める 条件:実数で行う。eは1+1/1!+1/2!+1/3!+・・・1/n!+・・・ 無限級数の打ち切りは1/n!<0.0000001とする Bxの平方根を求める 条件:xには実数値を入れる。a=0、b=cとしてc=(a+b)/2を計算する cの二乗<xならa=c、そうでなければb=cとして計算を繰り返す b-aの値が0.0000001以下になったら計算を打ち切り、cの値を表示
221 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 13:43:09 ] >>220 常連さんになるなら>>1 のテンプレに沿って書き直してくれ とくにC/C++の違いとか、よく混乱がおきてんだ
222 名前:デフォルトの名無しさん [2009/07/19(日) 13:53:47 ] [1] 授業単元: プログラミングT [2] 問題文(含コード&リンク): kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9792.txt [3] 環境 [3.1] OS: (Windows) [3.2] コンパイラ名とバージョン: (良く分らないけど学校のUNIXはlcc) [3.3] 言語: (C言語) [4] 期限: ([2009年7月--日--:--まで]緊急ではないのですが夏季長期休の課題なので速く終らせたい ) [5] その他の制限: (scanf,printf,if,for,get,put,とか超簡単なところしか習ってない)
223 名前:デフォルトの名無しさん [2009/07/19(日) 13:59:26 ] 1] 授業単元:OS演習 [2] セマフォを使った同期 −共有バッファを用いたプロセス間メッセージ通信 親/子プロセスでメッセージを書き込み、子/親プロセスで読み出す →semprog2.c kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9793.c [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン: gcc 3.4 [3.3] 言語: C言語 [4] 期限: 2009年7月22日 [5] その他の制限:特にないです。よろしくお願いします。
224 名前:デフォルトの名無しさん [2009/07/19(日) 14:15:54 ] [1] 授業単元:情報理論 [2] 問題文(含コード&リンク): 生起確率リストのファイルlist.txtの情報源に対するハフマン符号を求めなさい。 簡単なアルゴリズムも記載するように。 list.txtは手元に無いのですが、適当な小数が列挙されているモノです。 [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 09年07月20日 [5] その他の制限:特にありません。 宜しくお願いします。
225 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 15:03:43 ] 授業の課題じゃないんですがよろしくお願いします。 [2] 5=1+1+1+1+1 5=1+1+1+2 5=1+1+2+1 5=1+2+1+1 5=2+1+1+1 5=1+1+3 5=1+3+1 5=3+1+1 5=1+4 5=4+1 5=3+2 5=2+3 というように入力された整数xをこのように分解して 表示するプログラムを作ってください。 ただし、 5=3+2 5=2+3 は別々のものとして扱ってください。 表示する順番は問いません。 [3] 環境 [3.1] OS: Windows Xp [3.2] CPad for Borland C++Compiler [3.3] C言語 [4] 期限: [無期限]
226 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 15:23:18 ] >>225 #include<stdio.h> #include<stdlib.h> int disp_whole_pattern(int pattern[], int pattern_num, int n){ int i, sum=0; if(n<=0){ for(i=0;i<pattern_num;i++) sum+=pattern[i]; printf("%d=", sum); for(i=0;i<pattern_num-1;i++) printf("%d+", pattern[i]); printf("%d\n", pattern[i]); return 0; } for(i=1;i<=n;i++){ pattern[pattern_num]=i; disp_whole_pattern(pattern, pattern_num+1, n-i); } return 1; } int main(void){ int x=5, *pattern; scanf("%d", &x); pattern=malloc(sizeof(int)*x); if(pattern==NULL) return 1; disp_whole_pattern(pattern, 0, x); free(pattern); return 0; }
227 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 16:49:38 ] #include <stdio.h> #include <stdlib.h> void foo(int *a, int n) { int i, j, *b; for(i = 0; i < n; ++i) printf("%d%c", a[i], i==n-1?'\n':'+'); for(i = 0; i < n-1; ++i) { b = malloc(sizeof(int)*n-1); for(j = 0; j < i; ++j) b[j] = a[j]; b[i] = a[i] + a[i+1]; for(j = i+1; j < n-1; ++j) b[j] = a[j+1]; foo(b, n-1); free(b); } } int main(void) { int a[5] = {1, 1, 1, 1, 1}; foo(a, 5); return 0; } 重複が消せない(;ω;)
228 名前:デフォルトの名無しさん [2009/07/19(日) 16:56:03 ] [1] 授業単元:数理物理 [2] 問題文(含コード&リンク):www.mns.kyutech.ac.jp/~kamada/suuributuri/sub15.html [3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:わかりません [3.3] 言語:どちらでも可 [4] 期限:できれば2009年7月21日までにお願いします。 [5] その他の制限:問題ではプロットせよと書いていりますが問題の計算のプログラムをお願いします。
229 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 17:15:05 ] www.sangakuplaza.jp/page/156408
230 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 19:02:35 ] >>224 小数って実数のことじゃなくて、「小さな整数」の意味でいいのかな
231 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 19:59:15 ] >>230 実数と考えて頂いて問題ないです 紛らわしくてごめんなさい
232 名前:デフォルトの名無しさん [2009/07/19(日) 20:26:16 ] [1] 授業単元:C言語 [2] 問題文(含コード&リンク): fopenと fclose ライブラリ関数を使って、 C言語でファイルをコピーするプログラムを作成せよ。 ただしカレントディレクトリを表示せよ [3] 環境 [3.1] OS: Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語: C [4] 期限: 09年07月20日 [5] その他の制限:特にありません。
233 名前:デフォルトの名無しさん [2009/07/19(日) 20:37:29 ] >>210 その解釈でも大丈夫だと思いますが、プログラムの例の部分から察するに プッシュするごとに格納されたデータを表示するんじゃないでしょうか? あと、>>210 さんのプログラムは終了させた場合のみ全データをポップ&表示 していますが、多分プッシュと同様ポップもメニュー?に入れて、 ポップするごとに全データを表示して、プッシュポップの関係を 分かりやすくするというプログラムなんじゃないでしょうか? 長々とすみませんでした。
234 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 20:56:14 ] [1] 授業単元:情報工学実験(ヒューマンインタフェース) [2] 問題文(含コード&リンク): 画面中央にウィンドウを重ねて2つ表示し、 前面をウィンドウ1、後面をウィンドウ2とする。 後ろ側のウィンドウ2を、頭部移動データに合わせて移動させ、 人間の頭の動きをウィンドウ2にトラッキングさせる。 実験環境は机の上にディスプレイが人間の正面に静置されている。 座標原点はディスプレイが置かれている机の、人間から見て右上の角とする。 そこからディスプレイ側をx軸正方向、被験者手前側をy軸正方向、地軸正方向(上向き)をz軸正方向とする。 頭部初期位置x1,y2,z3,は事前に与えられるので、移動距離はセンサデータから与えられる座標との差分によって求められる。 センサデータx,y,zは以下のように与えられる。 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9795.txt 上記に基づき、頭部初期位置のセンサデータがx1=67.11,y1=88.95,z1=24.64として 与えられた時、ウィンドウ2が頭部をトラッキングするようなプログラムを完成させよ。 ウィンドウ1は動かず、常にウィンドウ2の前面にあるものとする。 注:トラッキングはユーザー頭部の上下左右方向のみなので、トラッキングにy軸のセンサデータは用いない。 センサデータの単位はcmなのでichに変換する必要があり、 使用する17インチディスプレイの解像度は72dpiであることから ウィンドウのディスプレイ上での移動ピクセル数を算出することができる。 [3] 環境 [3.1] OS: Windows XP [3.2] コンパイラ名とバージョン:Visual Studio 2008 [3.3] 言語: C,Win32API [4] 期限: 7月22日正午 [5] その他の制限:特にありません。 長文で申し訳ありません。よろしくお願い申し上げます。
235 名前:デフォルトの名無しさん [2009/07/19(日) 21:03:00 ] [1] 授業単元:プログラミング論 [2] 問題文:入力ストリームから読み込んだデータ文字列を、 データベースに格納する前にキューに一時的に格納するプログラムを 作成する。このとき、データをまとめたデータ文字列を一つずつ、キューへ エンキューしたり、デキューしたりする過程が分かるプログラムを作成する。 なお、キューを実現するライブラリは、キューのための別のヘッダにまとめる。 [3] 環境 [3.1] OS:Windows Vista [3.2] コンパイラ名:CPad for Borland C++Compiler [3.3] 言語:C [4] 期限: 2009年7月21日 [そのほか] ・入力ストリームから読み込んだデータ文字列を、キューにエンキューしたり、 デキューしたりするたびにデータベースに格納された全データを表示する。 ・構造体オブジェクトは動的な記憶域に生成する。 ・生徒の名前、試験の点数を構造体オブジェクトに格納することとする。 ・関数の処理にコメントをつけて、キューをどのように実現しているか、 そのプログラムの処理内容が分かるようにする。 [このプログラムの流れ] (1)ファイルやキーボードなどの入力ストリームから データをデータ文字列として読み込む (2)このデータ文字列をキューに一時的に蓄える (3)キューからデータ文字列を取り出す (4)このデータ文字列からそれぞれデータを取り出して 文字列や数値データに変換する (5)変換したデータをデータベース(構造体の配列など)に格納してまとめて管理する (6)このデータベースからデータを参照し、ディスプレイに出力する [生徒、点数データ] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9797.txt [参考プログラム] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9798.txt
236 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:31:01 ] >>222 kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9799.txt
237 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:47:26 ] >>171 のクライアントがハンドル名@マシン名をサーバに送って、そのメッセージを サーバ側であるバッファに格納する部分はどう書けばいいんでしょうか? クライアントのどの部分でサーバにWriteLineで送るのかと サーバ側がいつ送られてきたメッセージを受信するのかが分かりません
238 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:51:49 ] デバッグエラーが出てしまいます。原因は何でしょうか。お願いします。ちなみに問題は以下です 配列を使って10個のデータを関数に渡します. 下記の平均を返す関数 ave1() を main 関数から呼び出し平均を求めなさい. なお,main 関数では 配列に10個の値を代入し,ave1() を呼び出し,その結果を表示します. #define NUM 10 double ave1( int dd[NUM] ){ int i, sum; for(sum=0, i=0;i<NUM;i++){ sum += dd[i]; } return (sum/(double)NUM); }
239 名前:デフォルトの名無しさん [2009/07/19(日) 23:54:43 ] #include<iostream> using namespace std; int main(){ int i,j; for(i=1;i<=2;i++){ for(j=1;j<=3;j++){ cout << i << "X" << j << "は" << i * j<< "です\n"; } } } } 結果 1×1は1です 1×2は2です 1×3は3です 2×1は2です 2×2は4です 2×3は6です これを参考にして、完全な九九を表示するプログラムを作成せよ 上にあった書き方を参考にして、以下のように出力できるプログラムを作成せよ 5を書きました 6を書きました … 12を書きました 13を書きました 誰かこれ教えてくれませんか
240 名前:デフォルトの名無しさん mailto:sage [2009/07/19(日) 23:55:24 ] 配列の中身を0にしてその内容を表示する関数 void hairetsu_zero01(int x[10]) を作成しなさい. 関数の中で受け取った配列の中身をすべて 0 に書き換え,内容を表示して確認しなさい. main 関数での処理は次の通りです. まず,配列を宣言し 0〜9 を代入しなさい. 次に,内容の確認のため main 関数で配列の内容を表示しなさい. 最後に,hairetsu_zero() を呼び出し,実行後の配列の内容を表示しなさい. さらに余力があれば,別で配列 y[5] を作成し,1..5 で初期化し, hairetsu_zero(y) を実行しなさい.
241 名前:239 [2009/07/19(日) 23:56:16 ] 1問忘れてしまいました 100を書きました 99を書きました … 88を書きました 87を書きました 上にあった書き方を参考にして、以下のように出力できるプログラムを作成せよ
242 名前:デフォルトの名無しさん mailto:sage [2009/07/20(月) 00:00:26 ] 質問テンプレ使いやがれー
243 名前:デフォルトの名無しさん [2009/07/20(月) 00:21:04 ] [1] 授業単元:プログラミング [2] 問題文(含コード&リンク):入力ファイルの各行を単方向連結リストの最後に順次追加し,そのリストの内容を先頭から順に標準出力に 出力するプログラム extra6 を作成せよ.ソースファイルの名前は extra6.c とし,単方向連結リストの最後に1行分の文字列データを 追加する関数を append_data,リストの内容を先頭から順に標準出力に出力する関数を print_list として,これら2つの関数を含む こと.また,リストの各要素は,以下の構造体を用いて表現するものとする. struct line { char *data; struct line *next; }; なお,入力ファイル名はコマンドライン引数で指定するものとし,入力ファイルがオープンできなかった場合の処理も含めること. また,プログラム自身を除く引数の数が0個,もしくは2個以上の場合は,何もせず適切なメッセージを出力して終了するものとする. 入力データ: pai.no.land.to/up/src/dgz13030.txt [3] 環境 [3.1] OS: WindowsXP [3.2] コンパイラ名とバージョン: VS2008 [3.3] 言語: C [4] 期限:2009年7月21日10時まで [5] その他の制限: 特になし 長文すいません。リストの最後に順次追加する部分が特にわかりません。 よろしくお願いしますm(_ _)m