[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 07/15 20:46 / Filesize : 150 KB / Number-of Response : 397
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C/C++の宿題片付けます 126代目



1 名前:デフォルトの名無しさん [2009/05/18(月) 23:06:51 ]
あなたが解けない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++の宿題片付けます 125代目
pc12.2ch.net/test/read.cgi/tech/1240226599/

29 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 13:08:35 ]
>>24
メモリ確保の仕方だけで構いませんので、教えていただけないでしょうか?

30 名前:デフォルトの名無しさん [2009/05/21(木) 13:12:50 ]
[1]C++言語初心者コース
[2]問題文:
C++コードではiostream、iomanipを必ず使わなければならないことを
示す例を作れ。無い場合はその旨50字以内に日本語仮名交じり文で
記述せよ
[3]OS:Windows/コンパイラ:GCC on CygWin/言語C++
[4]本日中

困ってます。よろしくです。

31 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 13:25:23 ]
>>29
確保の仕方だけ教えたところで
ポインタ理解してなきゃ結局全部聞く羽目になるぞ
つか今ソース見たが、確保というより格納の仕方と言ったほうが正しいのかもしれん

>>30
アバウトすぎ
前後に問題あればそれも出した方が
問題の意図がわかるかもしれんが

32 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 13:58:20 ]
>>29
 Create *Data;
 Data = (Create *)malloc(sizeof(Create));
 for(i=0;;i++){
  Data[i].id = ID;
  ID++;
  glob_DB[i] = Data[i];
  free(Data);
 }

これが変だという事が理解できないと、どこから説明したらいいのかなと思う。
動的に確保するのではなく、固定で大きな配列を用意し、
動くプログラムを書く位の力はあるかい?


33 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 14:12:36 ]
>>32
mallocをループの中に入れた後、stdlib.hをインクルードしたところ警告は消えたのですが、
やはりそんなレベルの問題ではないのでしょうか?

34 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 14:19:31 ]
>>28
ありがとうございます。
以後気をつけます

35 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 14:29:48 ]
>>33
実行してみ?
PCが壊れる、ってことはないとは思うが自己責任でw

36 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 15:38:36 ]
押し売りせずに信頼を得て、油外収益は地域トップクラスです。
油外おいしいです^^

37 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 16:08:41 ]
>>33
>mallocをループの中に入れた後、stdlib.hをインクルードしたところ警告は消えたのですが、
警告が出ているうちは、間違いを指摘してくれているので良いが、
警告が消えたからって、正しく動く訳じゃない。正しいロジックで書いてないと動きません。
createData()を例にとれば、
Data[i].id = ID;←これはまずい。確保した領域は一つしかない。ワープします。
glob_DB[i] = Data[i];←これもまずい(左右とも)
free(Data); ←せっかく格納したデータは何処へ行くだろうか?

「添え字を使ってアクセス」が何を意味し、何処を指すのかを理解する必要があるよ。

入力したデータは何処に格納するのか。関数内の一時的格納か、それとも処理終了まで保持するのか。
格納領域はどのタイミングで確保するのか。確保した格納データはどうやって管理するのか。
確保した領域は、どのタイミングで解放するのか。この辺をちゃんと考えてみる必要がある。

動的に領域確保するのが難しいなら、glob_DBで1000件程度配列で確保し、
正常に動くプログラムをまず作ってみると良い。



38 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 16:13:07 ]
CRUD操作の意味がわからん^^

39 名前:デフォルトの名無しさん [2009/05/21(木) 16:18:31 ]
【質問テンプレ】
[1] 授業単元:Cの基礎
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9215.txt
[3] 環境
 [3.1] OS:XP 
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 一週間
[5] その他の制限: while文かdo-while文を使い、なるべく簡単にお願いします。

40 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 16:35:59 ]
>>39
#include<stdio.h>
#include<math.h>

int main(void)
{
double si_1, si, x;

printf("実数 x : ");
scanf("%lf", &x);

si_1=1;
do
{
si=si_1;
si_1=(si+x/si)/2;
}
while(fabs(si_1-si)>=0.00001);
printf("sqrt(%f)=%f\n", x, si);

return 0;
}

41 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 16:38:20 ]
>23
#include <stdio.h>
int main()
{
double sum = 0.0;
double e = 0.00001;
int x = 1;
double a;
while (1) {
a = 1.0 / x; sum += a;
if (a < e) break;
x *= 3;
}
printf("%.15lf\n", sum);
return 0;
}


42 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 17:35:01 ]
>>38
Create Read Update Delete

43 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 19:41:13 ]
よろしくお願いします。
授業単元アルゴリズム実習
osソラリス
言語 c
コンパイラ gcc
高さhが2で上底aと下底bが次のような値の台形4つの合計を求めるプログラムをfor文を使って作成せよ。
表示形式
台形(1)a=0、b=2^2、h=2、面積=
台形(2)a=2^2、b=4^2、h=2 面積=
台形(3)a=4^2、b=6^2、h=2 ,面積=
台形(4)a=6^2、b=8^2 h=2 面積=
4つの台形の面積の合計=


44 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 19:47:27 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9217.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:cc
 [3.3] 言語:C
[4] 期限:[2009年5月22日19:00まで]
[5] その他の制限:問題文と共に記述してあります.

45 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 19:53:23 ]
>>43
>>10 >>12 >>13

46 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:06:44 ]
>>43
#include <stdio.h>

int main(void)
{
int i, temp, s = 0;

for(i=0; i<4; i++) {
temp = 4 * i * i + 4 * (i+1) * (i+1);
printf("台形(%d)a=%d%s,b=%d^2,h=2,面積=%d\n", i+1, i*2, i?"^2":"", 2*(i+1), temp);
s += temp;
}

printf("4つの台形の面積の合計=%d", s);

return 0;
}

47 名前:デフォルトの名無しさん [2009/05/21(木) 20:29:37 ]
>>45
わかってます。今度のは二乗の計算をしなくてはいけないので。。。




48 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:44:01 ]
表示が違うだけで計算内容は同じだけどな。

49 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:49:13 ]
マルチになってしまいますが、後になってこちらのスレの存在に気付いたので
再び質問させていただきます。

以下のコードの流れについて知りたのですがよく分かりません。
行ごとに簡単に解説してくれると助かります。よろしくお願いします。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
Animations:nil context:nil];
[UIView setAnimationDuration:0.7];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:selfcache:YES];
if ( enabled )
[[UIApplication sharedApplication] sendAction:@selector(buttonPushed:)
to:target from:self forEvent:event];
[UIView commitAnimations];

50 名前:デフォルトの名無しさん [2009/05/21(木) 20:53:59 ]
>>46さんありがとうございます。


51 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 20:58:39 ]
>>49
Objective-Cはスレ違い

52 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:09:19 ]
>>51
確かにそうなのですが、マイナーなので他に聞く場所がありません。
ここなら分かる方もいるのではないかと思い質問させていただきました。

53 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:17:21 ]
>>52
お引き取り下さい

54 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:24:27 ]
>>52
Objective-C [ObjC part:4];
pc12.2ch.net/test/read.cgi/tech/1239721860/l50

スレ立てるまでもない質問はここで 97刷
pc12.2ch.net/test/read.cgi/tech/1240877154/l50


55 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:27:07 ]
せめて適当なうpローダーにきちんとインデントを付けたコードをうp
してくれればObjective-C/C++でもある程度は答えてくれる奴が
居そうな感じだが読みにくいコードベタ張りは論外。基本的には
専用スレがありそこが過疎ってなければそちらのほうで聞くのが無難

56 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:58:11 ]
>>23をお願いします。

57 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 21:59:17 ]
BCDライブラリ書かないと誤差がすごくて・・・



58 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 22:04:49 ]
>>56
>>41

59 名前:デフォルトの名無しさん [2009/05/21(木) 22:13:31 ]
[1] 授業単元:情報処理
[2] 問題文(含コード&リンク):
(1)キーボードから2整数を読み込んで読み込んだ順に標準出力にそれらの
値の10進数表現をスペース文字で区切って、1行に書き出し改行する。
読み込んだ1番目の整数の値が1000でなければ、次の2整数を読み込み
同様に書き出す。1番目の値が1000のときプログラムの実行を終了する。
このような仕様を満たすプログラムを作成せよ。(do-whileループで作成)

(2)キーボードから3整数を読み込み、小さい順に出力するようなプログラム
を作成せよ。(目的が達成されればどのようなプログラムでも構わない。)
[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:5月22日 13:00まで
[5] (2)はなるべく簡単なものでお願いいたします。できたら数パターン
教えてくだされば幸いです。

60 名前:デフォルトの名無しさん [2009/05/21(木) 22:23:49 ]
>>22 (・∀・)ニヤァ〜

61 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 22:39:40 ]
>>59
(2)
#include <stdio.h>

int main(void)
{
int a, b, c;

scanf("%d%d%d", &a, &b, &c);

if(a < b) {
if(c < a) printf("%d %d %d", c, a, b);
else {
if(b < c) printf("%d %d %d", a, b, c);
else printf("%d %d %d", a, c, b);
}}
else {
if(c < b) printf("%d %d %d", c, b, a);
else {
if(c < a) printf("%d %d %d", b, c, a);
else printf("%d %d %d", b, a, c);
}}

return 0;
}

62 名前:この板でいいの? [2009/05/21(木) 22:39:58 ]
プログラミングは全くの初心者(CもJavaもなにも分からない)です。
質問があります。

ある資格試験の自動学習ソフト(将来的には自動学習ホームページ)を
作りたいと思っています。
そのための資料は既にあります。
A4で300頁程度で表、図もあります。
これを、
(1)順々に質問文をユーザに見せてから、回答ボタンをクリックすると答画面を示すモード
(2)樹系図的に内容を表示するモード
(3)画面の印刷を行うモード
を有して学習するソフトを作りたいのですが、どうしたらよいでしょうか?
とりあえず、試行的にテキストを貼り付けるだけで、質問画面と回答画面を表示できるソフトを
簡単に作れるようなものはないでしょうか?
ソフトを作れる人に作成を依頼するとどのくらい費用はかかるでしょうか?
よろしくお願いします。


63 名前: ◆1xScF1fQr2 [2009/05/21(木) 22:51:13 ]
[1] 授業単元:C言語応用
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9218.txt
[3] 環境
 [3.1] OS:Windows XP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語:C
[4] 期限:2009年05月25日まで。
[5] その他の制限:階乗(n!)の計算とべき乗(xn)の計算には、再帰処理を使用する。

よろしくお願いします。

64 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:08:33 ]
>>62
HTML+JavaScriptが一番簡単そう。
そしてもしそうするならスレ違い。

65 名前:123to [2009/05/21(木) 23:10:53 ]
はじめたばかりです
[1] 授業単元: C言語
[2] 問題文(含コード&リンク):
課題
 0〜100の範囲で画面から入力された複数の数値の中で、最大値と最小値を
 表示するプログラムを作成する。
○ソフトウェア構成要求
 最大値と最小値はmain関数以外の一つの関数の中で求める(サブルーチン化する)。
○動作要求仕様
 -1が入力された場合は入力の終わりとする。
 入力された数値を記憶する配列の要素数は10とし、
 10個まで入力された場合は-1を入力されなくても最大値と最小値を出力する。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:Borland C++ Compiler 5.5
 [3.3] 言語: C
[4] 期限: 2009年5月25日12:00まで
[5] その他の制限:できるだけ簡単なもの

66 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:12:35 ]
>>63
もしかして、その課題の後に自由課題ある?


67 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:17:52 ]
>>62
有料なら考えてもいいが?
問題はどうやって連絡を取るかなんだが。



68 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:20:25 ]
>>63
>>63
#include <stdio.h>
#include <math.h>
#define PI 3.14159

double power(double x, long int n);
double sine(double x);
long int kaijou(long int n);

int main(void){
double sinx,sinf,x=0.0,dif;
printf("+-------------------------------------+\n");
printf("| x | sine(x) | sin(x) | dif |\n");
printf("+-------------------------------------+\n");
do{
sinx=sine(x);
sinf=sin(x);
dif=sinx-sinf;
printf("| %.4lf | % .4lf | % .4lf | %.4lf |\n",x,sinx,sin(x),dif);
x+=PI/8;
}while(x<2*PI);
printf("+-------------------------------------+\n");
}

69 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:21:12 ]

long int kaijyou(long int n){ //再帰処理
if(n==0){
return 1.0;
}
else{
return n*kaijyou(n-1); //再帰処理実行
}
}

double sine(double x){
long int i, n=5;
double ans=0.0;
for(i=0;i<n;++i){
ans+=power(-1,i)*power(x,2*i+1)/kaijyou(2*i+1);
}
return ans;
}


70 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:22:15 ]

dif=sinx-sinf;
printf("| %.4lf | % .4lf | % .4lf | %.4lf |\n",x,sinx,sin(x),dif);
x+=PI/8;
}while(x<2*PI);
printf("+-------------------------------------+\n");
}

long int kaijyou(long int n){ //再帰処理
if(n==0){
return 1.0;
}
else{
return n*kaijyou(n-1); //再帰処理実行
}
}


71 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:23:11 ]

double sine(double x){
long int i, n=5;
double ans=0.0;
for(i=0;i<n;++i){
ans+=power(-1,i)*power(x,2*i+1)/kaijyou(2*i+1);
}
return ans;
}

double power(double x, long int n){ //再帰処理
if(n==0){
return 1.0;
}
else{
return power(x,n-1)*x; //再帰処理実行
}
}

72 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:24:20 ]
度数表示がないからやり直し

73 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:27:13 ]
ごめん、微妙に作ったのと違った。

74 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:28:59 ]
>>63
#include <stdio.h>
#include <math.h>

int fac(int i) { return i == 1 ? 1 : i * fac(i-1); }
double mypow(double x, int n) { return n == 0 ? 1 : x * mypow(x, n-1); }
double sine(double x)
{
int i, flg = 1;
double ret = 0;
for(i=0; i<5; i++, flg *= -1) ret += mypow(x, i*2+1) / fac(i*2+1) * flg;
return ret;
}

int main(void)
{
int i;

puts("+----------+----------+----------+----------+----------+");
puts("|x(degree) |x(radian) | sine(x) | sin(x) | dif |");
puts("+----------+----------+----------+----------+----------+");
for(i=0; i<=360; i+=15) {
double r = i * M_PI / 180;
double s1 = sine(r), s2 = sin(r);
printf("|%-10d|%8.4f |%8.4f |%8.4f |%8.4f |\n", i, r, s1, s2, fabs(s1-s2));
}
puts("+----------+----------+----------+----------+----------+");
return 0;
}

75 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:31:41 ]
>>43
// gcc --input-charset=cp932 --exec-charset=cp932
#include <stdio.h>
int main() {
  int i;
  float daikei[][3] = {
    0,2,2,
    2,4,2,
    4,6,2,
    6,8,2,
    }, menseki, goukei = 0.0;

  for(i=0; i<sizeof(daikei)/sizeof(daikei[0]); i++) {
    menseki = (daikei[i][0]*daikei[i][0] + daikei[i][1]*daikei[i][1]) * daikei[i][2] / 2.0f;
    goukei += menseki;
    printf("(%d)a=%.0f^2 b=%.0f^2 h=%.0f 面積=%.0f\n",
      i, daikei[i][0], daikei[i][1], daikei[i][2], menseki);
  }
  printf("合計面積=%.0f", goukei);
  return 0;
}

76 名前:デフォルトの名無しさん [2009/05/21(木) 23:40:32 ]
>>59です。
>>61さん、ありがとうございます。

77 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:41:30 ]
>>63
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9219.c

ついでに自由課題も。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9220.c
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9221.c

中部大学工学部情報工学科の岡崎明彦教授の講義ね。ぐぐったらすぐ出てきた。



78 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:46:59 ]
>>63
>>68->>71は19年度の同じような課題で教授が殆ど作ったやつ。

79 名前:デフォルトの名無しさん mailto:sage [2009/05/21(木) 23:50:24 ]
>>77
ほんとだC言語応用 マクローリン展開でみつかった。
意外と簡単に見付かるんだね。

80 名前:79 mailto:sage [2009/05/21(木) 23:58:13 ]
でも年代が違う問題が出てくるんやね。

81 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:00:12 ]
スレチだが
マクローリン展開って2radぐらいまでならそんなに誤差無いんだな
意外だった

82 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:09:13 ]
膜ろりン展開

83 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:10:09 ]
>>79
「sinxの近似値を5項程度によるマクローリン展開で求める関数」でぐぐったら
2つめに今年のが出てきた

84 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:13:21 ]
>>81
浮動小数点は積み残し誤差があるから計算して出たそれぞれの
項をソートして小さい方から順に足した方が誤差が少ないぞ

やってみ

85 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:16:01 ]
そんな手間かけるならsin(x)使うわ
欲しいのは高速動作だ

86 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:19:28 ]
いやそりゃそうだが
x86FPUにもFSINあるしな

ここは宿題スレだからマクローリン展開をコンピューターに
やらせてみましょうって事なんじゃない?

87 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 00:26:38 ]
>>63>>74>>77どっちを使うんだろうね。
自分としては>>77の方が分かりやすいけど。



88 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 02:37:41 ]
>>62
お手軽にするならゲームツクール系でいいと思う

89 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 02:53:17 ]
>>87
メイン関数のループが迂遠な感じだな、77のは。

90 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 03:02:10 ]
>>65 >できるだけ簡単なもの <それなりに>
#include <stdio.h>
void max_min(int *data, int num, int *max, int *min){
  int lmax = 0, lmin = 100;
  for(num--; num >= 0; num--) {
    if(data[num] > lmax) lmax = data[num];
    if(data[num] < lmin) lmin = data[num];
  }
  *max = lmax;
  *min = lmin;
}
int main() {
  int i, max, min, data[10];
  for(i=0; i<10; i++) {
    printf("%d:",i+1);
    if(scanf("%d", &data[i]) != 1) {
      scanf("%*s"); i--; continue;
    }
    if(data[i] == -1) break;
    if(data[i] < 0 || data[i] > 100) i--;
  }
  max_min(data, i, &max, &min);
  printf("max=%d min=%d\n", max, min);
  return 0;
}

91 名前:kenco [2009/05/22(金) 03:06:33 ]
[1] 授業単元:数値計算法
[2] 問題文(含コード&リンク):非線型方程式 f(x)=x^n-a=0 を考える。nは学生番号の下一桁の数字に2を加えたもの。aは誕生日の西暦の下2桁とする。
              f(x)=0の実数解の近似値xを以下の条件を満足させる精度でニュートン法を用いて求めよ。
              |f(x)-0|<1.0*10^(-8)     

[3] 環境
 [3.1] OS: Windows vista
 [3.2] コンパイラ名とバージョン: C-Compiler
 [3.3] 言語: どちらでも可
[4] 期限: 23日まで
[5] その他の制限: なるべく簡単なもので作ってください。

92 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 03:30:54 ]
>>44
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9222.txt


93 名前:デフォルトの名無しさん [2009/05/22(金) 04:21:56 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):
 行列A={{0,1,2},{3,4,5},{6,7,8}}
 行列B={{100,200,300},{400,500,600},{700,800,900}}
  のとき、A+Bを表示するプログラムを作れ
[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:visual studio
 [3.3] 言語:C++
[4] 期限: 5月25日
[5] その他の制限: 初心者に分かりやすいようにお願いします

94 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 04:59:18 ]
>>91
#define N (8.0 + 2.0)
#define A 82.0
#define EPS 1e-08
#define LIMIT 50 /* 計算打ち切り回数 */
#include <stdio.h>
#include <math.h>
double f(double x)
{
return pow(x, N) - A;
}
double g(double x)
{
return N * pow(x, N - 1.0);
}
int main(void)
{
double x = 1.0, dx;
int i;
for (i = 0; i < LIMIT; i++) {
dx = x;
x -= f(x) / g(x);
if (fabs(x - dx) < fabs(dx) * EPS) {
printf("解 = %.8f\n", x);
break;
}
}
if (i == LIMIT)
printf("収束しませんでした\n");
return 0;
}

95 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 05:22:17 ]
>>93
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9223.txt

96 名前:44 mailto:sage [2009/05/22(金) 10:16:33 ]
>>92
ありがとうございます。

97 名前:デフォルトの名無しさん [2009/05/22(金) 14:46:03 ]
[1] 授業単元:C言語プログラミング
[2] 問題文:10以上の種類の品物(果物など)を、その数が多い順にソートするプログラムを
      「バブルソート」を用いて作成せよ。
      ソート結果の表示にはどの品物が何個かも表示させること。
      品物の種類・個数は任意とするが、なるべくばらけさせること。
      品物が同じ個数だった場合の順番は特に指定しない。
[3] 環境
 [3.1] Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限:2009/5/25まで
[5] その他の制限:特に無し



98 名前:デフォルトの名無しさん [2009/05/22(金) 16:04:42 ]
>>97
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define numberof(s) (sizeof(s) / sizeof(s[0]))
typedef struct { char *name; int number;} ITEM;
ITEM item[] = {
{"めんたい味", 0},{"コーンポタージュ味", 0},{"なっとう味", 0},{"チーズ味", 0},{"テリヤキバーガー味", 0},
{"サラミ味", 0},{"やさいサラダ味", 0},{"チキンカレー味", 0},{"とんかつソース味", 0},{"エビマヨネーズ味", 0},
{"たこ焼味", 0},{"チョコレート味", 0},{"キャラメル味", 0},{"ココア味", 0},{"ぶたキムチ味", 0},{"牛タン塩味", 0}
};
int main()
{
int i, j;
srand(time(NULL));
for (i = 0; i < numberof(item); i++) {
item[i].number = (int)((rand() / ((double)RAND_MAX+1.0f)) * 99) + 1; printf("%s, %d\n",item[i].name,item[i].number);}
printf("---------------------------------------------------\n");
for (i = 0; i < numberof(item) - 1; i++) {
for (j = numberof(item) - 1; j > i; j--) {
if (item[j].number > item[j - 1].number) {ITEM tmp = item[j]; item[j] = item[j - 1]; item[j - 1] = tmp;}
}
}
for (i = 0; i < numberof(item); i++) printf("%s, %d\n",item[i].name,item[i].number);
return 0;
}


99 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 17:57:00 ]
>>98
うまい棒?

100 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 19:30:11 ]
10種類以上の果物名、思い付かん

101 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 19:35:54 ]
>>100
リンゴの品種名だけでおk

102 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 20:12:26 ]
アルプス乙女,ぐんま名月,ゴールデンデリシャス,シナノスイート,ジョナゴールド,
ジョナゴールド,つがる,デリシャス,ふじ,旭,王林,紅玉,国光,秋映,祝,
世界一,千秋,北斗,陽光,陸奥
20種類、ごく一部を除いて、どんなリンゴかはわからないw

103 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 20:32:15 ]
ジョナゴールドが2個あるんすけど。

104 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 21:00:02 ]
>ジョナゴールドが2個あるんすけど。

見逃した。済まない。
ー1 +7
さんさ,高嶺,スターキングデリシャス,ハックナイン,新世界,藤牧,シナノレッド


105 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 21:27:11 ]
クイックソートなんですが

106 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 21:30:45 ]
>>105
は?

107 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 21:36:31 ]
>>105
依頼はバブルソートとあるが、
>>98はクイックソートなのか?



108 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 21:37:18 ]
ご参考に

ttp://www.bohyoh.com/CandCPP/C/Library/qsort.html

109 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 22:25:48 ]
>>98はバブルソートじゃないか
何を寝ぼけた事を言ってんの?

110 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 23:06:33 ]
[1] 授業単元:
ヒューマンインターフェースとプログラミング
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/9224.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Visual C++ 2008 Express Edition
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C++
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
5/25
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
なし

よろしくおねがいします。具体的にあげられてる修正ポイントだけでもかまいません。

111 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 23:15:47 ]
猫でもわかるキー入力www

112 名前:デフォルトの名無しさん mailto:sage [2009/05/22(金) 23:20:32 ]
>>110
気づいた一点だけ。
そこまでコンソールのgetsにこだわる必要は無いと思う。
たとえばトリガーキーを押すとモードメニューに入って、モードを選んで、開始。
そんな感じにならないかねぇ。
MYGETSがちょっと不細工に感じるのはまちがってるかなぁ。。。
あとプロポーショナルフォントを使うのは筋違いだと思う。

こんなとこかな。

113 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:03:44 ]
MyGetsに入る前にその前の入力メッセージは棄てなあかんね。
WM_DESTROYでfpのnullチェックしてないので、モードに入る前に終了すると例外。
WM_QUITを受け取ったGetMessageは0を返すので、MyGetsはTRUEを返し、再びメッセージ待機(Windowがないので終われない)。

基本的に待機するような処理は別スレッドに作るべき。
また待機スレッドのSleepは本物のSleepではなくEventをWaitし、終了要求などではそのEventをシグナル状態にする。
じゃないとSleepが完了するまで終われなくなる。

114 名前:113 mailto:sage [2009/05/23(土) 00:08:34 ]
>MyGetsに入る前にその前の入力メッセージは棄てなあかんね。
ちょっと書き方おかしかったかも。要は反応待ちに入る以前のキー押下は棄てないかんってこと。

115 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:24:38 ]
[1] 授業単元:
[2] 問題文
今テキストファイルAが1つとBが10個あるとする。
Aには
haru
natsu
aki
fuyu
とかかれ
Bにはそれぞれのテキストに以下のような文字列がかかれている
wheiowfjhoiejwio2121oij3io12ji2oj3io2j3oijo
iouaiojoiajwioejio121j3oi1j2iojlajia
これらをまとめ
テキストCに
aki[tab]wheiowfjhoiejwio2121oij3io12ji2oj3io2j3oijo[改行]
natsu[tab]iouaiojoiajwioejio121j3oi1j2iojlajia[改行]
になるようなプログラムをかけ
ただし。Bのそれぞれのテキストは非常に長くても大丈夫にせよ。
[3] 環境 [3.1] OS:linux
 [3.2] gcc
 [3.3 C
[4] 期限: 5/23

116 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:27:50 ]
>>115
問題文が意味不明
まとめ方のルールを明確にしないと誰も解けないよ


117 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:46:41 ]
テキストCに

haru\tBのテキスト1つ目の中身\n
natsu\tBのテキスト2つ目の中身\n
aki\tBのテキスト3つ目の中身\n

のように書き込んでほしいのですが。
Bのテキストが非常に長いんです。1テキストファイル20kバイトくらいでして



118 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:55:31 ]
>>117
Bのテキストファイルが10個ある、と言うことなら、B01〜B10ってしていいかい?
Aのテキスト1行目と、B01の全体をタブで繋いで1行にし、Cに出力。
Aのテキスト2行目と、B02の全体をタブで繋いで1行にし、Cに追記。
これをB10まで繰り返す。これであってる?

119 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 00:59:32 ]
要はBの1行がバッファサイズをオーバーするくらい長いってことじゃん?

120 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:02:08 ]
テキストのサイズはそれほど重要ではないよ。
要は、何をして欲しいかを明確にする事。

121 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:05:28 ]
>>115
後、期限が今日なら、締切時間も書いておいた方が良いかな。

122 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:12:37 ]
>>117
だ〜か〜ら〜、〜のようにっていう表現は問題文にならないって。
テキストAとやらには4行しかないのにテキストBとやらは延べ10行あるんだろ?
5行目以降はどう纏めるんだい?

123 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:16:31 ]
>>110
精度を上げるには「timeBeginPeriod〜timeEndPeriod」や「QueryPerformanceCounter」を使う手がある。
ビジーループにしてGetAsyncKeyStateでキー状態を検知すればメッセージ処理のオーバーヘッドは避けられると思う。
スレッドの優先度を上げるという方法もあるといえばある。

124 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:18:33 ]
>>118
そうです。
Bのテキストは長いんですけど1行です。
一番最後に改行がはいるだけです。

125 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:25:41 ]
>>124
ファイル名は適当に決めておいていいかい?
>>122の指摘する危惧だけど、Aには10行データがある前提でいいかい?

126 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:45:56 ]
Aには4行としまして
Bは1行に10行分くらい文字列がならんでるとおもってください。
で、Bは4ファイルあるとすればちょうどいいかと。

127 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:53:11 ]
>>126
なんというか、まあ、久しぶりに絶句させてもらったよ。
課題が出されたんだよな?
それを一字一句変えずに、「全部」書けよ。

お前の頭の中ではちょうどいいかも知れんが、
お前が今までのやり取りではっきりさせたのは
ファイルAとやらが4行あるってことだけだぞ?




128 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:55:02 ]
なんか杜撰な課題だな。ちゃんと投げられないだけか?

129 名前:デフォルトの名無しさん mailto:sage [2009/05/23(土) 01:56:48 ]
Bのテキストファイルが普通にコピーできないほどの長さだから
説明しにくい。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<150KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef