C/C++の宿題片付けま ..
32:デフォルトの名無しさん
09/07/14 00:42:12
#include<iostream>
using namespace std;
int main(){
int a;
cout << "数値を入力してください\n";
cin >> a;
if( a > 30)
cout <<"31以上ですね\n";
}
else if(a<10){
cout <<"10未満ですね\n";
}
else {
cout <<"30以下で10以上ですね\n";
}
return 0;
}
これが例文なんですが、
ある整数変数をキーボードから入力し、その数値が9以下なら『入力した値は1桁です』と表示させて、10以上、99以下の場合は、『入力した値は2桁です』と表示させ、
100以上なら『入力した値は3桁以上です』と表示するプログラムを作成せよ
誰かこれ教えてくれませんか?
33:デフォルトの名無しさん
09/07/14 00:47:47
>>32
いいよ
34:デフォルトの名無しさん
09/07/14 00:48:36
>>32
#include<iostream>
using namespace std;
int main(){
int a;
cout << "数値を入力してください\n";
cin >> a;
if( a <= 9)
cout <<"入力した値は1桁です\n";
}
else if(a <= 99){
cout <<"入力した値は2桁です\n";
}
else {
cout <<"入力した値は3桁以上です\n";
}
return 0;
}
35:デフォルトの名無しさん
09/07/14 00:52:31
>>32
その例があって、その問題が答えられないって小学生未満?
36:デフォルトの名無しさん
09/07/14 01:00:31
>>32
>>1嫁といいたいところだがやさしい俺様は説いてあげるよ
#include <iostream>
#define DEBUG
using namespace std;
void hoge(int num){
if(num <= 9) cout << "入力した値は1桁です" << endl;
else if(num <= 99) cout << "入力した値は2桁です" << endl;
else cout << "入力した値は3桁以上です" << endl;
}
int main()
{
int num;
cin >> num;
hoge(num);
#ifdef DEBUG
cout << "num に負の数を入れてみる" << endl;
num = -100;
hoge(num);
cout << "規定外の動作だけど見なかったことにしよう!" << endl;
#endif
return 0;
}
>>35
質問の仕方からしてガキでしょ
37:デフォルトの名無しさん
09/07/14 01:02:24
"入力した値は1桁です"と出力せよであって、入力した値が1桁の場合に
そのように出力する問題ではないのだよ
-100は9以下なので、"入力した値は1桁です"と出力することは完全に仕様通り。
38:デフォルトの名無しさん
09/07/14 01:07:48
おっと失礼。規定外という表現が誤りだった。確かに完全に仕様通りだよ。
ただその仕様どうなのよってことが言いたかったの。
39:デフォルトの名無しさん
09/07/14 01:09:06
ありがとうございました
変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる
文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。
変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する
先ほどの例を踏まえて誰かこれ教えてくれませんか?
40:デフォルトの名無しさん
09/07/14 01:10:25
9以下だった場合は「今日も暑いですね」と出力するのと同じように考えればいいよ
出力する文字列なんて下っ端には関係ないんです
…もちろんネタだよ
41:デフォルトの名無しさん
09/07/14 01:11:08
おまwww
先ほどの例を参考に自分で考えるという選択肢はなしかよwww
42:デフォルトの名無しさん
09/07/14 01:14:52
でもお礼を言えるっていうのは良い事だよ、うん。
43:デフォルトの名無しさん
09/07/14 01:32:52
なんか前スレで見たような気がするな
44:デフォルトの名無しさん
09/07/14 01:44:15
>>39
>変数aの値がbより小さい場合には、『aはbより小さいです』と表示させ、大きい場合には"a=a+b"を計算させる
main(a,b){a+b<b*2&&puts("aはbより小さいです");}
>文字変数mの中身が'a'ならば、『aが格納されています』と表示させて、'a'でないならば『'a'でない文字が格納されています』と表示させたあと、変数bとcを使った『b=b+c』を計算する。
main(m){printf("%sが格納されています",m==97?"a":"'a'でない文字");}
>変数aが、変数bより小さい場合には、『aはbより小さいです』と表示し、変数bより大きい場合には、『aはbより大きいです』と表示し、変数bと等しい場合には、『aとbは等しいです』と表示する
main(a,b){a<b&&puts("aはbより小さいです")||a>b&&puts("aはbより大きいです")||puts("aとbは等しいです");}
久しぶりにショートコーディングしてみるぜ!
C++指定無いからこれでいいよね?
あ、もちろん先ほどの礼を踏まえた回答だよ?
これでキミはヒーローだっ!!
45:デフォルトの名無しさん
09/07/14 02:15:38
>>44 コンパイル忘れてるよ。
46:デフォルトの名無しさん
09/07/14 02:32:37
1] 授業単元:
ゼミナール
[2] 問題文(含コード&リンク):
「音声をマイクを使って入力し、リアルタイムでスピーカーから出力する」
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語:C言語
[4] 期限: 2009年7月20日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
制限は特にありません。
URLリンク(homepage3.nifty.com)
このページを参考にしつつプログラムを書いていたのですが、
録音と再生を同時に行うところで行き詰まってしまいました。
このページにのってるプログラムに追加する形でどなたか教えていただけないでしょうか。
47:デフォルトの名無しさん
09/07/14 12:06:02
前スレ>>970です。
エラーが起こってしまうので、どなたか修正していただけないでしょうか。
48:デフォルトの名無しさん
09/07/14 12:16:24
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
主語、目的語、述部が入ったデータファイルを読み込み、それらをランダムに組み合わせて生成した短文を20個ファイルに出力するプログラムの作成。
短文の構文は必ず、「(主語)は、(目的語)(述部)。」となるようにする。
出力例:俺は、カレーが大好きだ。
データファイルは以下を使用すること。
主語: 俺 私 あなた 彼 彼女 先生 犬のポチ 猫のタマ ライオン その人 政治家 ネズミ
目的語: カレー ご飯 肉 授業 男 女 すごいもの アレ アンパン お金
述部: が大好きだ が大嫌いだ を作った をなくした が欲しい に全力を尽くす を新しいものに交換した ?なにそれ美味いの? について深く考えた を捨てた に塩をふりかけた
[3] 環境
[3.1] OS: Windows
[3.3] 言語: C
[4] 期限: 2009年7月20日
49:デフォルトの名無しさん
09/07/14 12:18:00
[1] 授業単元:プログラミング
[2] 問題文 2人の人の名前と年齢をキー入力し、同じ年なら「○○さんと××さんは同じ年です」、
そうでなければ「○○さんは××さんよりyy 歳年上です」と表示するプログラムを作成せよ。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: borlandc++
[3.3] 言語: C
[4] 期限: 今日の2時30分
[5] その他の制限: なし
よろしくお願いします
50:>8
09/07/14 12:24:18
それ間違ってないか?
51:デフォルトの名無しさん
09/07/14 12:24:27
>>47
エラーが出るというなら、コードとそのエラーを貼るべきだな。
でないとどこで何が起きているのかわからん。
52:デフォルトの名無しさん
09/07/14 12:24:43
>>47
前スレ>>971の回答なら俺も試したがエラー出なかったぞ
自分の書いたソースをロダにうpすれ
53:デフォルトの名無しさん
09/07/14 12:27:37
>>48
前スレ>>939に回答
54:47
09/07/14 12:55:24
すみません。
入力が誤っていたみたいです。ありがとうございました。
55:デフォルトの名無しさん
09/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
09/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
09/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
09/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:デフォルトの名無しさん
09/07/14 13:05:38
うpろだが使えなかった人だっけ
はやくうpろだ使えるようになってくれよ
60:デフォルトの名無しさん
09/07/14 13:08:27
すみません。学習意欲がないんで、うpろだの使い方とか覚えるの面倒くさいんです。
だからはやく宿題手伝ってください。
61:デフォルトの名無しさん
09/07/14 13:37:26
>>50 いえいえ、合ってますよ。
>>60 ファイル名のところに直接ファイル名書いてる?、「参照..」ボタン押せ。
62:デフォルトの名無しさん
09/07/14 13:39:18
>>61
60は本人じゃないだろw
このスレのみんなの心の声だ
63: ◆/91kCCQXBo
09/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:デフォルトの名無しさん
09/07/14 13:56:51
>>2
URLリンク(kansai2channeler.hp.infoseek.co.jp)
キャストって、(int),(double)で良いんだよねぇ?
65: ◆/91kCCQXBo
09/07/14 15:00:08
>>049 2人の人の名前と年齢をキー入力
URLリンク(jbbs.livedoor.jp)
66:デフォルトの名無しさん
09/07/14 15:27:58
>>55です。大変ご迷惑をおかけしました。ろだにソースを貼りましたのでよろしくお願いします。
67:デフォルトの名無しさん
09/07/14 15:41:56
>>53 回答に誤りがあったみたいでプログラムが作動しません。
>>48 どなたかお願いします。
68:デフォルトの名無しさん
09/07/14 15:59:17
>>67
前スレ>>939の回答だが試してみた。
で、コンパイルエラーが起こったけど修正すれば動いた。
>>srand((unsigned) time(NULL));/* 乱数系列の変更 */
上記の一文を変数宣言後の位置にいどうするか、コメントアウトすれば動く。
C99なら問題ないのだけど。
69:デフォルトの名無しさん
09/07/14 16:30:14
>>67
前回回答した者だけど、規格とかまで理解できてなかったゴメン・・・
>>68さんが言ってるように修正してみてほしい
コメントアウトすると乱数が一定になるからなるべく移動で解決する方が良さそう
あと、それでもエラーが出るようなら、エラーメッセージを貼り付けて欲しい
70:デフォルトの名無しさん
09/07/14 17:26:39
>>48
データファイルが本当にそういう仕様だと信じて書いてみた。
入力ファイル名、出力ファイル名はそれぞれ input.txt output.txt ね。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
71:デフォルトの名無しさん
09/07/14 17:37:44
ノールなら130資源地しらみつぶしに攻撃したら100匹くらいやとってるとこあるからそれで完了
72:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/14 18:37:48
>>72
>配列を用いた計算機のプログラムを作成してください。
の具体例をくれ
74: ◆/91kCCQXBo
09/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:デフォルトの名無しさん
09/07/14 19:39:08
>>72
問題文の意味が全く分からない
76:デフォルトの名無しさん
09/07/14 19:42:05
>>72
・問題文は、出題されたまま全文を書いてください。
77:デフォルトの名無しさん
09/07/14 20:25:48
>>64
はい!ほんとにありがとうございました。
助かりました
78:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/14 20:34:06
前スレ962をお願いします
80:デフォルトの名無しさん
09/07/14 20:35:20
>>79
問題張りなおして
81:79
09/07/14 20:44:12
URLリンク(www.dotup.org)
お願いします
82:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/14 20:51:56
ゆとり増えすぎだろこのスレマジで・・
85:デフォルトの名無しさん
09/07/14 20:55:45
>星形の結果を出すにはどうしたらいいのだろうか
ビルから飛び降りればいいんじゃないかな?
86:デフォルトの名無しさん
09/07/14 21:07:07
[1] 授業単元:C++
[2] 問題文(含コード&リンク):
URLリンク(down11.ddo.jp)
[3] 環境
[3.1] OS: (WindowsVista)
[3.2] textpad
[3.3] 言語: (C++)
[4] 期限: ([2009年07月15日23:59まで)
独自のプログラムの書き方なので、とても困っています。
色々と試してみたのですが、自分の力だけでは出来そうにないため相談しました。
取り扱い説明書やプログラムは001.rarに入れておきました。
緊急を要しますので、何方かどうかよろしくお願いします。
ファイルサイズが大きいため違うアップローダーをお借りしました。
パスワードは以下になります。
pass:C/C++
87:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/14 21:47:25
ごめん>>89は忘れて
91:デフォルトの名無しさん
09/07/14 21:50:54
>>81
Q2
URLリンク(kansai2channeler.hp.infoseek.co.jp)
92:デフォルトの名無しさん
09/07/14 21:51:50
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: ?
[3.3] 言語: C
[4] 期限: 7/17
[5] その他の制限: 特にありません。よろしくお願いします。
93:デフォルトの名無しさん
09/07/14 21:57:24
>>88
zipになります。どうかよろしくお願いします。
URLリンク(down11.ddo.jp)
94:デフォルトの名無しさん
09/07/14 21:58:07
>>88
passは先ほどと同じですので
95:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/14 22:26:39
>>55
課題1
URLリンク(kansai2channeler.hp.infoseek.co.jp)
あと問題をアップロードしたら>>66だけじゃなくリンクも書いて
元のソースこれでいいんだね?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
97:デフォルトの名無しさん
09/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
09/07/14 23:01:46
>>90
ありがとうございます
99:デフォルトの名無しさん
09/07/15 01:17:23
[1] 授業単元: C言語
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.3] 言語: C
[4] 期限: 7/17
[5] その他:特になし
どうかよろしくお願いします。
100:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/15 01:50:31
>>100
ありがとうございます
102:デフォルトの名無しさん
09/07/15 02:32:03
[1] 授業単元:OS演習
[2] 問題文(含コード&リンク):
(1)pipe3.cを完成させて、親子プロセス間で交互にメッセ
ージを交換するプログラムを作成せよ。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
(2)共有バッファを用いて、子プロセスでメッセージを書き込
み、親プロセスで読み出すプログラムを作成せよ。ただし、
共有バッファは128バイトとし、その先頭には‘書き込み
マーク’を付し、そのリセットは親プロセスが、セットは子
プロセスが行うとせよ。
[3] 環境
[3.1] OS:Linux
[3.2] gcc
[3.3] 言語:C言語
[4] 期限: 7/16
[5] その他の制限:特にないです、どうかよろしくお願いします
103:デフォルトの名無しさん
09/07/15 03:05:57
【質問テンプレ】
[1] 授業単元: C言語演習
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2009年 7月20日
[5] その他の制限: 特になし
よろしくお願いします
104:デフォルトの名無しさん
09/07/15 03:06:34
ここすごく面白そうなスレだ
プログラミングの題材探しにすんげぇ助かるかもしれない
105:デフォルトの名無しさん
09/07/15 03:08:39
>>104
利用料を徴収します
106:デフォルトの名無しさん
09/07/15 03:23:11
最初はそう思うもんだ
がんばって技術向上のついでに単位取得を手伝ってあげるといい
107:デフォルトの名無しさん
09/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
09/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)) アスタリスクがダイヤ形になるプログラム
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
109:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/15 10:36:10
>>110
方程式と、方程式の微分結果は、ソースに直接書くの?
それとも、入力された方程式を解くの?
それによって、難易度がかなり違うんだけども。
113:72
09/07/15 11:26:38
問題文はこれで全部です
作成例の実行ファイルを昨日貰ったので家に帰ったらアップします
114:tac
09/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:デフォルトの名無しさん
09/07/15 16:49:04
FreeBSD(オープンソース)にtalk/talkdというのがあります。
116:デフォルトの名無しさん
09/07/15 17:19:47
>>114
mixiであんたが消したトピに答えがあったんだが見てないのか?
117:>>55
09/07/15 17:36:32
>>96 すみませんでした。ありがとうございます。
118:デフォルトの名無しさん
09/07/15 18:32:28
>>114
IPMessanger
URLリンク(www.ipmsg.org)
ソフト自体のソースも公開されてるし、
通信部分のみのDLLなんかもあるから、充分なんじゃない?
119:デフォルトの名無しさん
09/07/15 18:36:46
[1] 授業単元:基礎プログラミング
[2] 問題文:
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: vista
[3.2] コンパイラ名とバージョン: Visual Studio 2008
[3.3] 言語:C++
[4] 期限:2009年7月17日
[5] その他:特になし
よろしくおねがいします
120:デフォルトの名無しさん
09/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
09/07/15 19:13:28
【質問テンプレ】
[1] 授業単元:
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
上のプログラムがなぜ図のような座標列を生成したのかを説明せよ
図;URLリンク(g.pic.to)
ヒント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
09/07/15 19:14:55
>>121
お願いします
123:デフォルトの名無しさん
09/07/15 19:29:56
どなたか>>107お願いします
124:デフォルトの名無しさん
09/07/15 19:35:45
>>103
URLリンク(kansai2channeler.hp.infoseek.co.jp)
125:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/15 20:28:13
>>126
だめだ、10回読み直したけどわからん。
だれか分かりやすく読み下してくれ・・・
128:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/15 20:47:13
>>128
先に書かれたー。せっかくなので俺がいま書いた解釈も…
N次正方行列をあらわすには普通N*N個の要素を必要とするが
それが対称行列ならN*(N-1)/2個の要素ですむ
それでは、N次の対称行列をN*(N-1)/2個の要素を持つ一次元配列に
格納し、取り出すプログラムを作成せよ
130:デフォルトの名無しさん
09/07/15 20:48:43
>>128,129
ありがとうございます。
じっくり考えたいと思います。
131:72
09/07/15 21:05:30
URLリンク(www.rupan.net)
URLリンク(www.rupan.net)
参考例と作成例をうpしました
参考例のほうはソースと実行ファイル共にありです
作成例のほうは実行ファイルだけになります
132:デフォルトの名無しさん
09/07/15 21:26:34
>>128-129
なるほど
「添字番号、行成分」なるなにものかを何とか数値化して配列に入れる方向で考えてた。頭堅いのは駄目だな
その方向で行くとして、出力は1次元配列の構造そのままがいいんだろうか、行列っぽくするべきだろうか
なんとなく後者かなと思ったが
133:obamaさんへ
09/07/15 21:29:22
>>121
図を右上から左下、左上から右下の二本の線でバツに区切ります。
すると4つの同じような図形の菱形になります。
その一つを見るとさらに同じように4つの菱形に区切れます。
部分が全体を含んでいます。
そのように繰り返し的に同じ図形が現れるのをフラクタル図形といいます。
プログラムは4つの点を描き、中心位置をずらして
大きさを小さくしながら再帰的に同じ形を描いていっています。
134:デフォルトの名無しさん
09/07/15 22:07:23
>>131
>>78
135:デフォルトの名無しさん
09/07/15 22:22:25
[1] 授業単元:プログラミングC
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)のデータを取り込み、そこから最大値、最小値、データ個数、平均値を求めるプログラムを作成せよ
ただし最大値、最小値、データ個数、平均値は引数にポインタを用いて値を返すようにプログラムを作れ
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限: 7月16日17時
[5]URLリンク(kansai2channeler.hp.infoseek.co.jp)のファイル名はtensu.txtでお願いします
なるべく簡単なものでおねがいします
136:72
09/07/15 22:40:50
うお、安価なかったので気づきませんでした
>>131さんとそれを教えてくれた>>134さんありがとうございました
137:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/15 23:10:28
>>137
ありがとうございました
140:デフォルトの名無しさん
09/07/15 23:45:12
a.out | more
↓
a.out
にする
あと、パスに.を入れるのはよくない
141: ◆/91kCCQXBo
09/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:デフォルトの名無しさん
09/07/16 00:23:11
>>112
与えられた方程式をソースに直接書くタイプなのです。
方程式や収束条件が先生の方からまだ発表されていなかったので、
大変申し訳ないですが、後日あらためて書き込みさせていただきます。
143:デフォルトの名無しさん
09/07/16 00:29:44
>>124
ありがとうございます
144:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/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:デフォルトの名無しさん
09/07/16 04:51:12
どなたか>>125をお願いします。
147:デフォルトの名無しさん
09/07/16 06:45:23
どなたか>>102の(2)だけでよいのでよろしくお願いします
148:デフォルトの名無しさん
09/07/16 09:19:20
>>146
マインスイーパってやっぱりマウスでクリックするの?
149:デフォルトの名無しさん
09/07/16 09:48:29
>>148
どちらもCUIです。
説明が足りず申し訳ありません。
150:デフォルトの名無しさん
09/07/16 09:49:58
CUIでマインスイーパーって開ける箇所を座標指定とかでやるのか?
151:デフォルトの名無しさん
09/07/16 10:05:58
>>150
だと思います。特に方法は指定されていませんでした。
152:138
09/07/16 11:17:32
>>140
レスありがとうございます。
その場合、スクロール、ページャ運用ができません。
是非プログラム内で解決したいと思っています。
宜しくお願い致します。
153:デフォルトの名無しさん
09/07/16 12:12:15
>>147
URLリンク(kansai2channeler.hp.infoseek.co.jp)
154:デフォルトの名無しさん
09/07/16 12:57:01
>>146
7並べは、コンピュータ対戦?
両方人間で、同じ画面見てたらゲームになんないよねぇ・・・
155:デフォルトの名無しさん
09/07/16 13:52:28
>>154
7並べサーバを作って、人間用クライアントが複数接続できるようにして、
足りないぶんはAIクライアントに担当させる・・・
AIはインタフェースだけ決めといて実装は自由、各自が自作の思考ルーチンの強さを競う
なんて妄想してると夢だけはひろがりんぐw
156:デフォルトの名無しさん
09/07/16 21:46:37
いまからマインスイーパをCで作ってみようと思う
157:デフォルトの名無しさん
09/07/16 23:13:11
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:WindowsXP
[3.2] コンパイラ名とバージョン:Textpad
[3.3] 言語:C/C++/どちらでも可
[4] 期限:2009年7月17日AM7:00まで
[5] その他の制限:特になし
朝までになりますので、どなたかよろしくお願いします。
158:デフォルトの名無しさん
09/07/16 23:18:58
>>157
下図に示すa,bに数値を設定したときに
--------------
この図はどこ
159:デフォルトの名無しさん
09/07/16 23:48:36
>>158
URLリンク(kansai2channeler.hp.infoseek.co.jp)
すいません、こちらが図になります
160:デフォルトの名無しさん
09/07/17 00:11:31
[1]プログラミング
[2] 課題
言語: C もしくは C++ 言語
(1)以下のプログラムを作成しなさい(数当てゲーム)
*画面上に「好きな数字を入力してください」と表示して、キーボードからの入力を待つ。
変数aを定義して、10までの乱数を発生させて変数aに代入する。
キーボードからの入力があれば、先に発生させた乱数と一致しているならば
「あたり!!」と表示する。
一致していなければ「残念乱数はxxです」と表示する(xxには変数aの中身を表示する)
宜しくお願い致します。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5314日前に更新/103 KB
担当:undef