C/C++の宿題を片付け ..
[2ch|▼Menu]
81: ◆S2Crp49aOM
07/11/23 23:23:32
>>75
[4] 期限: 2007年11月24日11:30まで

打ち間違えました。
申し訳ないです。

82:デフォルトの名無しさん
07/11/23 23:24:25
80=73
図星なので○け犬の遠吠え

83:デフォルトの名無しさん
07/11/23 23:28:06
うざい上に粘着質

84:デフォルトの名無しさん
07/11/23 23:28:09
その本に答えないの?

85:77
07/11/23 23:32:00
>>84
ありません。

86:デフォルトの名無しさん
07/11/23 23:34:46
>>85
問題書く気はないの?

87:デフォルトの名無しさん
07/11/23 23:35:50
問題を書くのは著作権的にどうよ?

88:デフォルトの名無しさん
07/11/23 23:37:58
学校で先生が出題する問題にも著作権は発生するんだが……。

89:デフォルトの名無しさん
07/11/23 23:38:19
つーか、宿題じゃないでしょ、それ。

90:デフォルトの名無しさん
07/11/23 23:40:27
教科書に市販品使うなんて珍しくもない

91:デフォルトの名無しさん
07/11/23 23:40:55
>>88
著者人格権はあるけど学校の課題なんだkら複製権くらいあるだろ

92:デフォルトの名無しさん
07/11/23 23:42:16
>>79
クラスDate第2版に抽出子を追加せよ。

問題の意味もいまいちわからなくて考えられることは
1.抽出子の定義(演算子>>の多重定義)を使用してDateオブジェクトを作成する。
2.抽出子の定義(演算子>>の多重定義)を使用してDateオブジェクトの内容を変更する。
だと思います。

しかし、わたしにはどちらであっても解答がわかりません。

クラスDate第2版ソース
URLリンク(kansai2channeler.hp.infoseek.co.jp)


93:デフォルトの名無しさん
07/11/23 23:42:50
著作権=COPY RIGHT=複製権

94:デフォルトの名無しさん
07/11/23 23:44:05
イコールじゃないよ

95:77
07/11/23 23:44:13
>>86

>>92に問題を書きました。
よろしくお願いします。

96:デフォルトの名無しさん
07/11/24 00:48:36
>>91
学校の課題なら特別扱いされるという根拠は?


97:デフォルトの名無しさん
07/11/24 00:52:40
>>96
先生=著者

98:デフォルトの名無しさん
07/11/24 00:58:29
2

99:デフォルトの名無しさん
07/11/24 00:59:03
1

100:デフォルトの名無しさん
07/11/24 00:59:42
お前ら著作権法くらい読めよ
プログラミングに関係の深い法律だぞ

101:デフォルトの名無しさん
07/11/24 00:59:43
       ▃▅▆▇██▇▅▃
       █ ████████▆
       █ ████████
    ▃▂  ▓▓▓▓▓▓▓▓▓
   ▀██▇███████████▇▅
    ▼▀█▀██▀▀▀▀■█■▀
      ▍ ▋  ▲▃ ▀▅▃▌ ▌▌
    ▐◣ ▐▂▅▀  ▀▅▃▀█  ▍▍
    ▐▃▀▂▃◢◤   ◥◣▃▂▌ ▎▌
    ◥▋ ▐◥▃▆◤  ◥▃▆◤▍ ▋
     ▊ ▐◣        ◢▌ ▼
     ◢▀▌▀◣  ▆▅  ▃▲ ▋
       ▼ ▀▇◣▃◢▇▀  ▼
     ▂▃◢◤▀ ▃▅▃▅▃▅
    ▐▲▃  ▅▀  ▌▌ ▀█
    ◢████▅▀▅▀▋▐▅▀▼
   ▅█████   ▊ ▊  ▌

102:デフォルトの名無しさん
07/11/24 01:00:30
>>97
先生が著作者だから実質的な問題は発生しないと言いたいわけか
複製権関係ねぇ

103:デフォルトの名無しさん
07/11/24 01:08:01
>>72 同志がいたのか・・。 
  参考にさせていただきます。
  ありがとうございました。

104:デフォルトの名無しさん
07/11/24 01:39:30
つうか教育目的の場合、著作権は無視されるんじゃなかったか?

105:デフォルトの名無しさん
07/11/24 01:47:47
三十五条のことか?

106:デフォルトの名無しさん
07/11/24 01:56:19
>>75
URLリンク(kansai2channeler.hp.infoseek.co.jp)

107:デフォルトの名無しさん
07/11/24 01:59:13
>>104
小学校の教科書だか教材に使われてた詩が、著作権者がクレームつけて使えなくなったって話は聞いたことがあるけど。

108:デフォルトの名無しさん
07/11/24 02:12:50
>>104
それは三十三条のことか?

109:デフォルトの名無しさん
07/11/24 03:00:43
ここって教育の場なん?

110:デフォルトの名無しさん
07/11/24 03:03:26
うん

111:デフォルトの名無しさん
07/11/24 03:26:56
丸投げスレも出世したもんだな

112:デフォルトの名無しさん
07/11/24 04:05:52
でしょ

113:デフォルトの名無しさん
07/11/24 11:12:58
>>77
>>95
少し、もちつけ
コードだけ貼って、問題が全然ナイジャマイカ
モマイの貼った↓
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これを、どうしろというんだ?
エスパー君だったら分かるのかな?
漏れには全然理解できん

114:デフォルトの名無しさん
07/11/24 13:43:11
>>77
エスパー
ostream& operator<<(ostream& s, const Date& x);

ostream& operator<<(ostream& s, const Date& x){s << x.Year() << x.Month() << x.Day();return s;}
こう?

115:デフォルトの名無しさん
07/11/24 14:52:56
1] 授業単元:コンピュータプログラミング1
[2] 問題文:CD−Rは1枚〜10枚で1枚が100円、11枚から100枚で1枚が90円、101枚以上で1枚が70円とする。
枚数nに対する金額を計算するプログラムを作成しなさい。終了時にはCtrl+Z(Enter)と入力する。
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン:Fujitsu Fortran & C
 [3.3] 言語: C
[4] 期限: 11/24 
[5] その他の制限: なし
どうかよろしくお願いします。


116:デフォルトの名無しさん
07/11/24 15:07:13
[1] 授業単元: システム解析

[2] 問題文(含コード&リンク):2変数非線形連立方程式の解を求めるnewton-rapson法のプログラムを作成し以下の問題を解け
@x^2+y^2-8=0 と x+y=0 で初期点(x(x0),y(y0))∈[-4,-4]×[4,4]を10000個とり、初期点に対する収束値の関係を2次元で図示する。
収束値の関係の座標を出すこと。

Ax^3-3xy^2-8=0 と x^3-3x^2y=0 で初期点(x(x0),y(y0))∈[-1/2,-1/2]×[1/2,1/2]を10000個以上(百万個程度を推奨する)とり、初期点に対する収束値の関係を2次元で図示する。
収束値の関係の座標を出すこと。


[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: ([2007年11月25日23:00まで]
[5]その他:^は累乗を示します。たとえば、x*x=x^2です。
2問ありますが、一問だけでもといていただけると助かります。2変数ということで手も足もでません、、、
よろしくお願いします。



117:デフォルトの名無しさん
07/11/24 15:27:56
>>115
#include <stdio.h>

int main()
{
    int i,n,price,pricelist[]={1,10,100, 11,100,90, 101,2147483647, 70};

    while (scanf("%d", &n) != EOF)
    {
        for (i=0 ; i<3 ; i++)
        {
            if (pricelist[i*3]<=n && pricelist[i*3+1]>=n)
            {
                price=pricelist[i*3+2]*n;
                printf("%d円\n", price);
            }
        }
    }

    return 0;
}


118:デフォルトの名無しさん
07/11/24 16:07:51
>>22
ありがとうございます。
やってみます。

119:デフォルトの名無しさん
07/11/24 17:11:28
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン: visual studio 2005
 [3.3] 言語: C++
[4] 期限: 11/26 〜10:00
[5] その他の制限: 特になし

よろしくお願いします。

120:デフォルトの名無しさん
07/11/24 17:24:42
>>117
ぎりぎり間に合いました。本当にありがとうございます。

121:デフォルトの名無しさん
07/11/24 20:02:02
>>118
>>22じゃないけど
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
int i;
srand(time(NULL));
for(i =0; i<10; i++)
printf("%d\n", (int)(rand()%100));
}

122:デフォルトの名無しさん
07/11/24 23:17:48
>>119
当方で確認した環境は WindowsXP, 処理系は cygwin(gcc 3.4.4) です。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

123:デフォルトの名無しさん
07/11/25 00:28:38
>>122
ここまで問題を無視できるのもすばらしい.

124:デフォルトの名無しさん
07/11/25 00:46:51
URLリンク(www.nicovideo.jp)

これだな

125:26
07/11/25 01:02:17
>>34
ありがとうございました。

126:デフォルトの名無しさん
07/11/25 01:38:31
>>5
>>8
どなたかお願いします。

127:デフォルトの名無しさん
07/11/25 01:57:17
>>126
#include <stdio.h>
typedef struct grade{
char name[40];
int score;
struct grade *next;
}glist;
int main(void){
glist header={"", 0, NULL}, node[3], *p;
int i;
p = &header;
for(i=0; i<3; i++){
printf("name->");
scanf("%s", node[i].name);
printf("score->");
scanf("%d", &node[i].score);
node[i].next = NULL;
p->next = &node[i];
p = p->next;
}
p = header.next;
while(p != NULL){
printf("p->name \t%s\n", p->name);
printf("p->score\t%d\n", p->score);
printf("p->next \t%p\n", p->next);
p = p->next;
}
return 0;
}

128:デフォルトの名無しさん
07/11/25 02:51:10
[1] コンピュータ実験
[2]あるファイル(※)を読み込み、数列の中の0の個数と1の個数、
数列の周期を求めるプログラムを作成せよ。

※ファイルの中身は0と1の文字が約20万文字と、改行文字\nで終わるものである。
文字列を01の数列としてみたとき、2周期以上の周期系列となっているのがわかっている。
ファイルに保存されている数字は文字として保存されているので、-'0'をして文字から数字に変換すること。
ファイル名は任意(○○.dat)でよい。

[3] 環境
 [3.1]Windows XP
 [3.2]gcc
 [3.3]C
[4] 2007年11月26日(月)12:00まで
[5] 0と1が書いてあるファイルを用意できないのですが出来ますでしょうか?
よろしくお願いいたします。

129:デフォルトの名無しさん
07/11/25 05:38:26
>>122
ありがとうございます
ですが、ええええ!?

130:デフォルトの名無しさん
07/11/25 05:52:16
>>128
3,4個でいいから、入力データの性質を簡単に全て現したサンプルくらい書けるだろ
かけなきゃまずは問題を理解してここに投下しろ

131:デフォルトの名無しさん
07/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
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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
07/11/25 11:00:53
>>130>>131
よく読みなおしたら日本語おかしかった。ごめんなさい。
ファイルはもう.datファイルであるんですが、そこから0と1の数を数えて、
周期探し出すのがわからんのです。
お手数おかけしてすいません。

136:デフォルトの名無しさん
07/11/25 11:26:28
そのファイルがなければ探しようがないよ

137:デフォルトの名無しさん
07/11/25 11:30:02
>>135
圧縮したら対してサイズおおきくならないからうp

138:デフォルトの名無しさん
07/11/25 11:51:20
[1] 授業単元プログラミングU
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: XP
 [3.2] コンパイラ名とバージョン: visual studio 2005
 [3.3] 言語: C言語
[4] 期限: 11/26
[5] その他の制限: 特になし


139:デフォルトの名無しさん
07/11/25 12:29:50
>>138
なんであだちゆみ?

140:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/25 12:35:02
>>142>>141の続きの間違い。

144:デフォルトの名無しさん
07/11/25 12:53:33
>>138
>プログラミングU
進化したプログラミングか

145:デフォルトの名無しさん
07/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
07/11/25 15:00:08
>>136>>137
圧縮してupすれば大丈夫でしたね・・・。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

この中の0と1の個数と、数列の周期を求めるプログラムをお願いします。

147:コーンポタージュ
07/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:もりもっこり
07/11/25 16:32:38
基本的なプログラムだと思うのですが、自分でやってみてもうまくいきません。また他にも課題が多く、非常に困っています。詳しい方よろしくお願いします。


1.数値を順番に読み込んで二次元の配列に格納する。
2.その配列を画面に出力する。
3.次に、2つの整数を読み込む。
4.二次元配列のうち、読み込んだ整数に対応する二つの行(あるいは列)の内容を交換する。
配列の内容を画面に出力する。
5.配列の読み込み、交換、出力はそれぞれ関数にすること。

149:KSCN
07/11/25 16:41:11
Mathematica でグラフを描き、EPS 形式で保存する。LaTeX を使ってレポートを作成してその中にグラフを挿入し、PDF ファイルに変換したものを提出すること。

っていう課題がでたのですが質問の意味からわかりません。どなたか質問の意味だけでも教えてください。

150:デフォルトの名無しさん
07/11/25 16:43:43
どうでもいいけど、名前を出す人の方が少ないんだから別人に見せようとしても逆効果だぞ

151:デフォルトの名無しさん
07/11/25 16:49:49
>>149
URLリンク(www.google.co.jp)

152:デフォルトの名無しさん
07/11/25 16:50:15
>>149
何がわからないのかがわからない。
1.クラスで使っているMathematicaというソフトを使って数式を処理してグラフ表示、グラフの画像をEPS形式のファイルに保存。
2.いつもやっているようにLatexでレポート作成。EPS形式ファイルの埋め込みに関しては、配布したテキストを参照の事。
3.pdflatexをつかってPDF形式のファイルを出力。

一通り説明されてるはずなのに、なんで分からないとか言ってんの?
ずっとサボってたのか?

153:デフォルトの名無しさん
07/11/25 18:01:02
>>145
マルチ?( スレリンク(math板:156番) )

154:デフォルトの名無しさん
07/11/25 18:24:20
>>128 >>146
URLリンク(kansai2channeler.hp.infoseek.co.jp)

結果があってるかはわからんよ。

あと、文字列を数列に直すのは無駄だったから省略しちゃった。
どうしても直したければ、適当にやってくんろ。


155:131
07/11/25 19:42:04
>>154
自分の環境ではfscanfで32767文字までしか取得できなかったわけだが・・・
ファイルサイズは228793バイトあるわけで

>>128
>>132で答えたつもりだったんだけど間違ってたかな?

156:デフォルトの名無しさん
07/11/25 20:30:38
>>155
こっちの環境では問題なく scanf で取れたよ。

それ以上に、>>132 は O(n^2) だから、とても終わらないと思うけれど。

157:156=154
07/11/25 20:33:55
あ、こちらの環境は質問者にあわせて WindowsXP (cygwin) の gcc 。
質問者の環境で、これでうまくいかないようなら対処する。

158:デフォルトの名無しさん
07/11/25 20:48:56
>>153
プログラムがかけないのでお願いします

159:デフォルトの名無しさん
07/11/25 20:56:38
>>158
C, d, n, p, q として想定している桁数は?
任意桁なら、GMP の使用の可否は?

160:デフォルトの名無しさん
07/11/25 20:59:51
>>158
マルチ?って聞かれてそう答えるのって日本語不自由な人だよね。

161:デフォルトの名無しさん
07/11/25 21:04:14
>>160
留学生です

162:デフォルトの名無しさん
07/11/25 21:14:03
[1] 授業単元: C言語基礎
[2] 問題文(含コード&リンク): URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS: Windows
 [3.3] 言語: C言語
[4] 期限: 11月26日0時まで
よろしくおねがいします

163:デフォルトの名無しさん
07/11/25 21:14:37
帰れ

164:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/25 21:47:29
>>116
当方で確認した環境は WindowsXP, 処理系は gcc 3.4.4 です。
(1) だけでもやってみました。とにかく初期値と収束解を出すだけのプログラムです。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

この結果をつらつら眺めると、次の関係があると推測できます。
初期値を x0, y0 とするとき、
1) y0 > x0 ならば、収束値は (x, y) = (-2, 2)
2) y0 < x0 ならば、収束値は (x, y) = (2, -2)
3) x0 = y0 ならば、ヤコビ行列の行列式が 0 となるので、収束しない。
初期値から近い方の解に収束するようです。

なお、問題の(2) は、どうもフラクタル図形を描くかと思われます。

166:デフォルトの名無しさん
07/11/25 22:04:40
>>116
M教授の課題だろ

167:デフォルトの名無しさん
07/11/25 22:08:05
[1] 授業単元: C言語入門
[2] 問題文(含コード&リンク):(URLリンク(kansai2channeler.hp.infoseek.co.jp))
[3] 環境
 [3.1] OS: WindowsXP
 [3.3] 言語: C言語
[4] 期限: 明後日
[5] その他の制限: 今は配列のところを習っています。制限は特にないです。
 お願いします

168:デフォルトの名無しさん
07/11/25 22:13:59
>>167
404

169:デフォルトの名無しさん
07/11/25 22:24:46
1から50までの数のうち、素数を表示するプログラムを教えてください。
#difineで50を定義するってのが条件です

お願いします

170:デフォルトの名無しさん
07/11/25 22:33:04
>>148
M教授の課題だろ。俺もわかんねえんだおしえてくれ

171:デフォルトの名無しさん
07/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
07/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:デフォルトの名無しさん
07/11/25 22:37:23
>>172
>関数は使ってはいけない

本当にこう言われたのか?

174:173
07/11/25 22:39:11
>>173
すみません。違います
関数は使わなかったらできませんね(汗

175:デフォルトの名無しさん
07/11/25 22:40:05
ところで >>171 はスルーかね

176:デフォルトの名無しさん
07/11/25 22:40:57
あっ!#difineを使うのか!

177:173
07/11/25 22:41:37
あ、すまんです;;
ありがとうございます。こんなやりかたもあるんですね

178:173
07/11/25 22:43:44
あとdefineですね。間違いだらけですみません

179:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/25 22:47:39
>>179
最悪な方法に比べればましだけどまだしょっぱい。

181:デフォルトの名無しさん
07/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
07/11/25 22:48:17
(汗

183:デフォルトの名無しさん
07/11/25 22:51:09
>>180
改善点があったら教えてください

184:デフォルトの名無しさん
07/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
07/11/25 22:53:42
>>119
>>129
ごめんなさい。訂正いたします。
なお、厳密には「有効桁数 4 桁で表示」っていうのは、このやり方ではうまくないです。
SEED に与える定数で、具合のいいものしか表示しないようにしています。すみません。
URLリンク(kansai2channeler.hp.infoseek.co.jp)

186:デフォルトの名無しさん
07/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
07/11/25 23:00:07
>>119 >>129
訂正:具合のいいものを表示するように SEED の値を変えてください。
重ね重ねすみません。


188:デフォルトの名無しさん
07/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:コーンポタージュ
07/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:コーンポタージュ
07/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:コーンポタージュ
07/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:コーンポタージュ
07/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:コーンポタージュ
07/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:デフォルトの名無しさん
07/11/26 00:18:48
レスを跨るようならアップローダを使ってくれないかな。

195:デフォルトの名無しさん
07/11/26 00:26:22
アップローダなら半角スペースが残るので、カットアンドペーストできれいなソースが手元にわたりますし。

196:デフォルトの名無しさん
07/11/26 00:30:38
どこの誰が管理してるかわからないようなものを使えるか!

197:デフォルトの名無しさん
07/11/26 00:36:13
ん、それもそうですね。でもアップローダ経由じゃないソースは
私は基本的にはみません。だってめんどくさいから。

198:デフォルトの名無しさん
07/11/26 00:41:44
1レス内に自然に入るなら入れて欲しいけどね。空白を &nbsp; 置換して。

199:デフォルトの名無しさん
07/11/26 00:51:45
新しい宿題のネタになりますでしょうーか。<  変換

200:デフォルトの名無しさん
07/11/26 00:56:28
sed -e 's/&/\&amp;/g' -e 's/^ /\&nbsp;/g' -e 's/  / \&nbsp;/g' -e 's/</\&lt;/g' -e 's/>/\&gt;/g'

201:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/26 02:17:18
>>184
これは不思議。
アルゴリズムの名前とかある?

203:デフォルトの名無しさん
07/11/26 02:20:40
>>202
エラトステネスのふるい

204:デフォルトの名無しさん
07/11/26 02:26:06
>>203
まじか……。
調べる数をリストとして扱うと、こういう処理になるのか。

205:デフォルトの名無しさん
07/11/26 07:30:51
ちょ、ふるいってプログラムで素数求めるときに必ずやるもんだろw

206:デフォルトの名無しさん
07/11/26 08:16:47
確かに出てくる確率は多いけど、
ただ単に素数を求めるプログラムを作れって言われたら、
エラトステネスを思いつかなければ、別の手段を使うだろ。

207:デフォルトの名無しさん
07/11/26 08:20:35
可能性ではなく、教養として知っておくべきだろうな。
教養なんて高尚なもんでもない。常識だ。

208:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/26 08:37:54
>>205
ごめん俺、確率的判定アルゴリズムしか知らない・・・
こういう演習で確率的アルゴリズム書いて提出するとどうなるんだろうな

210:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/26 09:15:06
>>145
何を求める問題なのかがさっぱり分からないから
問題を書き直したほうがいい

212:デフォルトの名無しさん
07/11/26 10:28:06
期限過ぎちゃいましたけど、
>47お願いします。

213:デフォルトの名無しさん
07/11/26 11:51:43
>>209
なんで謝るの?

214:デフォルトの名無しさん
07/11/26 14:12:00
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: なし
[5] その他の制限:なし

215:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/26 15:53:26
[1] 授業単元: プログラミング
[2] 問題文 数字の点数を読んで、クラスの平均点、最低点と最高点を求めるプログラムを書け
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: 不明
 [3.3] 言語: C#なんだけど、ほかのスレタイ調べても頼めないからみんなたのむ。
[4] 期限: 今週の金曜
[5] その他の制限:結構レベルが低いので複雑なプログラムはご遠慮願います。


217:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/26 16:28:01
int ClassMenberNum = 1;

219:デフォルトの名無しさん
07/11/26 16:48:02
>>214
while(clock() - c < speed); → while(1000*(clock() - c) / CLOCK_PER_SEC < speed);

220:学生
07/11/26 16:50:23
大学の授業で課題が出ました。初めてプログラミングやるので分かりません。
お願いします。自分は全くの初心者ですお願いします。

【C言語・質問】 以下、課題です。

@課題内容
駐車場のシュミュレーション・課題先リンク
URLリンク(www.trpt.cst.nihon-u.ac.jp)

※貴方自身がコンビニやパチンコ店の管理者となり、
イメージして以下の条件は各自自由な値としてよい。

・駐車場の台数 ・平均駐車時間(s)
・駐車時間の標準偏差(s)・駐車車両発生条件(開始時間 s )
・その時間における発生確率(台/s)・駐車車両発生条件(中間時間 s )
・その時間における発生確率(台/s)

例:パチンコ店
駐車場の台数=200台
来店頻度=400秒に1台
平均駐車時間=120分  等

上記の設定で、グラフも出る様にすること。


A課題の参考場所
URLリンク(www.trpt.cst.nihon-u.ac.jp)
上記の言語がベースになる様です。


221:デフォルトの名無しさん
07/11/26 16:53:28
>>220
ログインできないのでユーザー名とパスワードを教えてください。

222:デフォルトの名無しさん
07/11/26 16:54:27
>>220
>>1のテンプレに則ってください

223:学生
07/11/26 16:57:21
>>221
すみません
ユーザー:1424
PASS:1424
両方同じです。

>>222
すみませんでした。以後注意します

224:デフォルトの名無しさん
07/11/26 16:57:39
>>215
>>219
ありがとう!助かります!

225:学生
07/11/26 17:08:27
テンプレに沿って書き直しました。

[1] 授業単元:情報処理
[2] 問題文:上記に掲載しました。
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン: bcPad 
 [3.3] 言語: C言語
[4] 期限:本日中
[5] その他の制限: 自分はプログラミング素人です。各文字の意味は知っています



226:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/11/26 17:10:30
>>223
大学の鯖に入れって事だろ?
なんか、ギリギリアウトな気がするんだが・・・w

228:学生
07/11/26 17:12:26
>>227
大丈夫です。過去にも依頼した事がありあす。

このページ作っているのは大学院生です。見ていません

229:デフォルトの名無しさん
07/11/26 17:18:01
すげぇなぁ、おいw

230:デフォルトの名無しさん
07/11/26 17:19:11
基本技術者試験とかの設問で、不正アクセスになるのはどれか? という選択肢にありそうだなw

231:デフォルトの名無しさん
07/11/26 17:25:44
不正アクセスでタイーホ

232:学生
07/11/26 17:26:50
>>230
多分不二家ですねw

大学の鯖は、情報処理を履修している学生200名が利用していますよ

233:デフォルトの名無し
07/11/26 17:44:19
[1] 授業単元: プログラム演習
[2] 問題文:入力された正の2整数の最大公約数と最小公倍数を算出する。                   1(異常)
・キーボードからの入力が空の場合は処理を終了する。
・キーボードからの最大入力桁数は4バイトとする。
・キーボードからの入力が4バイトを超える場合は処理を終了する。
・キーボードからの入力が正の整数に変換できない場合は処理を終了する
エラーメッセージ
未入力 :入力されていません、桁あふれ:4文字以下で入力してください、数値以外:半角数字以外入力できません、ゼロ入力:0は入力できません
文字列を正数に変換する関数はatoiを使用。
引数 char data[] 文字列
戻り値 : 正数 エラー値 -1 未入力 -2 桁あふれ -3 数値以外-4 ゼロ入力
最大公約数を算出の関数名はgcdでユークリッドの互除法を使用。
引数 int data1 データ1 int data2 データ2
戻り値 : 最大公約数

最小公倍数を算出する関数名はlcm。最小公倍数を算出する際、最大公約数の関数を使用する。
引数 int data1 データ1 int data2 データ2
戻り値 : 最小公倍数
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 11・27まで
[5] その他の制限: なし

234:デフォルトの名無しさん
07/11/26 18:34:03
>>232
利用者は関係なくてだね
アクセス制限してる以上、君が公開したところで罪になるのは見た人なんだよ

235:デフォルトの名無しさん
07/11/26 19:27:26
好奇心から侵入してしまった俺は2chの歴史に刻まれるのか

236:デフォルトの名無し
07/11/26 19:36:51
1] 授業単元: ぷろぐらむ
[2] 問題文:入力された「対象文字列(s)」の中から、「検索文字列(t)」を検索し、
該当した「対象文字列」の添字を戻り値とする関数「search(s,t)」を作成しなさい。
ただし、「対象文字列」が「検索文字列」を含まない場合には「-1」を戻り値とする。

なお、関数「search(s,t)」は別ファイルに分け(main関数とそれ以外の関数)、
分割コンパイルできるように作成しなさい。
このとき、main関数以外の関数宣言が記述されたヘッダファイルを作成し、
main関数のソースファイルにて利用すること。

  (例) 以下の値で動作した場合は、「3」を返す。
       文字列s = “aababcbaa”
       文字列t = “abc”
入力は最大128バイトとする。128バイトを超える入力があった場合は処理を終了する

[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限:11月27日まで
[5] その他の制限: なし




次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5315日前に更新/123 KB
担当:undef