[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/22 09:08 / Filesize : 317 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/06/08(日) 12:30:56 ]
あなたが解けない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++の宿題を片付けます 108代目
pc11.2ch.net/test/read.cgi/tech/1211980711/


556 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 07:21:35 ]
5時間も前のレスに反応するなよw

557 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 07:27:00 ]
バカの癖にプライドだけは高いから困りもんだな。
いやバカだからこそか?

558 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 07:29:13 ]
>>554
煽られるのは自分が原因だってわかってないの?

559 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 07:36:26 ]
>>555
そういう書き方が荒れるもとだろ。

560 名前:553 mailto:sage [2008/06/14(土) 07:46:02 ]
ごめんなさい。


561 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 07:53:07 ]
何か言われると相手を威圧しようと、言い返さないと気が済まない一言居士。
もはや人格どころか人生が狂ってるな、こいつら。だからこんな場所にいても
まともなソースが書けねーんだよw

562 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 08:24:18 ]
>>231
#include<stdio.h>
#include<stdlib.h>
#include<unistd.h>
#include<sys/types.h>
#include<sys/wait.h>
#define MAXLINE 1024
int main(int argc, char *argv[]){
int fd[2];
char line[MAXLINE];
pid_t pid;
if (pipe(fd)<0) exit(1);
if ((pid=fork())>0) { /*parent process */
close(fd[0]);
dup2(fd[1],fileno(stdout));
close(fd[1]);
fgets(line, MAXLINE, stdin);
fputs(line, stdout);
fflush(stdout);
wait(NULL);
exit(0);
} else{ /*child process */
close(fd[1]);
dup2(fd[0],fileno(stdin));
close(fd[0]);
fgets(line, MAXLINE, stdin);
fputs(line, stdout);
exit(0);
}
}

563 名前:465 mailto:sage [2008/06/14(土) 09:19:16 ]
>>553
>>560

そういう方向性ですね。取り敢えずありがとうございます。
問題は2つのファイル情報リストファイル(新旧)の
突き合わせ処理ですね。何かめんどくさそうというか、
やり方を間違えると、激重になってしまう悪寒です

564 名前:デフォルトの名無しさん [2008/06/14(土) 10:05:12 ]

[1] 授業単元:プログラミング演習
[2] classを使って行列式を計算する物を作る
  足し算、行列同士の掛け算、スカラー倍できるもの

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:VisualC++6.0
 [3.3] 言語: C++
[4] 期限:6月16日、13時まで




565 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 13:49:08 ]
行列式 -> 行列の式?

566 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:03:31 ]
>>565
あほかw

567 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:06:02 ]
2次なら簡単そうだけど、行列式としか書いてないからなぁ

568 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 14:09:43 ]
>>567
この際、効率性は考えないとして、
小行列式展開すれば簡単だろ。

569 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 15:39:36 ]
[1] 授業単元:アルゴリズムとデータ構造
[2] 問題文:動的配列を使ってヒープを実現せよ。ただし、各記憶要素xは整数値をとるものとする。
関数として、空のヒープを生成するcreate(),要素xを挿入するinsert(int x),
最小値を削除してその値を返すdeletmain(),ヒープが空かどうかを判定するempty(),
現在のヒープ内容全体を表示するshow()を用意する。
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc 3.4
 [3.3] 言語: C
[4] 期限: 2008年6月28日まで
[5] その他の制限: ポインタはできるだけ使用しないでください
よろしくお願いします。

570 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:39:57 ]
>>278
期限過ぎてますが提出は出来るのでお願いします

571 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 16:46:49 ]
>>570
そのソースを修正するの?一からでもいいの?

572 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 17:36:33 ]
>>570
insert_sortのj--を分離、それからquickの最後の再帰を
quick(first,first_p);
quick(first_p+1,last);
にすりゃ動くだろ。
ついでにtyuuouとか余分な細かいとことかも直しとけよ。

573 名前:デフォルトの名無しさん [2008/06/14(土) 18:10:22 ]
>>567
説明不足ですいません
二次の行列式を計算するやつです

574 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:41:57 ]
2x2限定でよかったってことか?
しねよ



575 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:46:12 ]
>>551
ttp://ja.wikipedia.org/wiki/%E5%A4%A7%E5%88%86%E5%BC%81
現代語だよ?秘密のケンミンSHOWで紹介されてたが

576 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:51:29 ]
>>574
またお前か、今度はタイピングミスはしなかったかw

577 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 18:54:49 ]
>>576
とっとといね

578 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:09:27 ]
>>576
お前さんはコードかかないのか?

579 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:12:34 ]
>>564
ホントに「行列式(ttp://ja.wikipedia.org/wiki/%E8%A1%8C%E5%88%97%E5%BC%8F)」を計算するのでいいのね?

580 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:17:57 ]
>>472 = >>476
> 自治厨いね

581 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:40:31 ]
>>357をお願いします!!

582 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:42:48 ]
482 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 01:50:32
複数レスにわたる長いプログラムであればうpろだ使えってのはわかるが、
1レスで収まる範囲くらい許して欲しいところ
正直うpろだ使うのが面倒なときもある


583 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 19:53:12 ]
なんでそこまでアップローダーにこだわるんだろうな?
質問者でもないんだから他人のコードなんて見る必要ないじゃん。

584 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:42:11 ]
×アップローダにこだわる
○このスレの流れを懸念している



585 名前:デフォルトの名無しさん mailto:sage [2008/06/14(土) 20:48:16 ]
一々罵倒する方が流れ悪くなる。

586 名前:デフォルトの名無しさん [2008/06/14(土) 21:53:06 ]
>>564
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6907.txt

587 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 00:41:11 ]
>>539
> あとVolumeNumber関数間違ってる。
1行目の指摘はともかく、2行目の指摘は
言うからにはどこが間違っているか、具体的に。できるなら訂正も。
指摘無しに間違っているとだけ言うのは論外。
ちなみに、母音の数をカウントした結果はあっているようだが?

>>546
> 長い時だけ
だけ なんて限定はしていないよ。便利って記述はあるが?

にしても、なんで使えって言われているのかわかってないだろ。
質問者がではなく、回答する側だってスレをスクロールさせてみているし
やたらとソースをはりつけられてもスレが長くなってしまうことで、
答えたとしても質問者も回答レスを見つけるのに手間が掛かっているようだが?
答えたのに、まだ答えてもらってませんって催促するわ、回答者に
確認したレスはしないわで、かなり荒れてんだろ?だから質問、回答のレスが
増えたことも考えて、ここに直接書き込むのを自重してうpロダ使ったらどうだ?
って催促もあるんだよ。命令だの指図だの、自己中な考えじゃ
世の中うまく渡っていけないよ。例えルールが無くてもマナーってものは存在する。
引きこもってないで、外に出てみろ。特に人が集まる都心なんて、ちょっとしたことでも
自分勝手や周りに迷惑が掛かることは、監視員に注意されるよ。それで切れて
監視員に罵声を浴びせている映像が放送されてたけどなw

588 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:09:04 ]
>>502
クソースを活用して必要な情報をファイルに吐いて、次回起動時は
そのファイルと、現在の情報を比較して結果を出力、また情報を
吐いとく、でいいんじゃなくて?

> 直近の同種ファイルリストとの差分で、出力しようかと思いましたが
> ls -laに相当するものを作らなければならないことは確実でしたが
この辺見る限りだとクソースの部分があれば解決っぽく思えたのにな。

あと、クソクソ言ってごめんな>おじゃるまる

589 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 01:13:53 ]
母音の数をカウントした結果が合ってるとか言ってるが
最後にaiueo以外の文字で終わる文字列含めばおかしい事がすぐ分かる
strをインクリメントした結果がNULLの時、strchrは文字列最後のNULLも含んで探索するからカウントが1足されてる

while( *str++ ) {
if( strchr(boin,(int)*str) ) cnt++;
}

while( *str ) {
if( strchr(boin,(int)*str) ) cnt++;
str++;
}

590 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 03:33:48 ]
>>357
>>581

平均40回以下のトライには、ちょっとなってないけど…
後は自分でAIルーチンを詰めてくれ

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6909.txt

591 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 04:21:38 ]
>>587
質問者が聞いてきたならともかく、他人の宿題を答えてやろうっていうやつが自分で
間違いをみつけられないのは論外。

592 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 05:21:58 ]
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):

要素数 nScores=13 の配列 scores[]={65,0,95,0,0,79,82,0,84,94,86,90,0} から0を除去して、
要素数 nScores=8 の配列 scores[]={65,95,79,82,84,94,86,90} を
求める関数 RemoveZeroElements(array,n) を書きなさい。

main() では次の実行文により、0を除去した配列の要素数を求めて、
ファイルに nScoresscores[] を書き出すこと。

nScores = RemoveZeroElements(scores,nScores);

[3] 環境
 [3.1] OS:WindowsXP
 [3.2] コンパイラ名とバージョン:VisualC++6.0
 [3.3] 言語:C++
[4] 期限: 6月16日まで
[5] その他の制限:配列、関数などは習いました。

よろしくお願いします。


593 名前:320 mailto:sage [2008/06/15(日) 05:35:24 ]
>>320
どなたかお願いします。

for文で描画しているようなので、for文を書き換えれば出来ると思うのですが
sin波や円を描くためのmath関数を使うのが、自分には難しくて出来ません。

期限は6/19(木曜日)でお願いします。

594 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 05:53:50 ]
int RemoveZeroElements(int *array, int n)
{
int i, j;
for(i=j=0; i<n; i++) if(array[i]) array[j++] = array[i];
return j;
}



595 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 06:45:26 ]
↑と等価だか検証してみそ
int RemoveZeroElements(int *array, int n){
int i=0,j=n;
for(; i<n-1; i++) if(array[i]==0) array[i] = array[i+1] else j=i;
return j+1;
}

596 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 06:47:20 ]
for(; i<n-1; i++) if(array[i]==0) array[i] = array[i+1] ,array[i+1]=0 ;else j=i;

597 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 06:47:51 ]
+1とか-1とか微調整に使用するのは

小 細 工

598 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 07:14:29 ]
>>595,596
お前はここに書き込む資格ないよ

599 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 07:36:45 ]
>>598
処理の速度は度外視して、ローカル変数をi以外使わないで等価なものが書けるかな?
変数が自由に使える世界ばかりじゃないんだよ。勿論再帰は論外

600 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 07:43:12 ]
>>593
期限までまだ時間があるのでヒントだけ:
最初のfor文はクリアしてるだけ。
描画してるのはその直後の
data[0] [128] [128] = 255; /*最大値255, 最小値0*/
の所だよ。ここをfor文で囲う必要があるかな。

601 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 07:55:11 ]
>>599
題意を全く満たしてないクソと等価なもの書いてどうすんだよw

602 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:04:13 ]
>>594がクソというわけか

603 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:07:12 ]
クソはどう見ても595と596だろ。
見ただけじゃ理解できないほど脳みそ腐ってるんなら実行してから物言えよw

604 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:18:29 ]
じゃクソじゃない>>594と等価なローカル変数がiだけのコード書いて皆



605 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:40:34 ]
そもそもなんで変数iだけなんて条件つけてんの?
595と596もj使ってるのに

606 名前:デフォルトの名無しさん [2008/06/15(日) 08:42:03 ]
もうこれでいいじゃん
int CountZeroElements(int *array, int n){
  int c;
  for(c=0; n>=0; n--) c+=(array[n]!=0);
  return c;
}

607 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:42:59 ]
>>606
int CountZeroElements(int *array, int n){ 
  for(int c=0; n>=0; c+=(array[n--]!=0)) ; 
  return c; 


608 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:43:37 ]
問題文も読めない盲は引っ込んでろよ

609 名前:デフォルトの名無しさん [2008/06/15(日) 08:47:41 ]
>>592
C++知らないからCで

int CountZeroElements(int *array, int n){  
  for(int c=0; n>=0; c+=(array[n--]!=0)) ;  
  return c;  
}  

int * RemoveZeroElements(const int * array, int n){
    int i, c, *ret, len;
    len=CountZeroElements(array, n);
    ret=(int*)malloc(sizeof(int)*len);
    for(i=c=0; i<n; i++)
        if(array[i]!=0) ret[c++]=array[i];
    return ret;
}


610 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:48:21 ]
for (i = 0; i < n; ) {
if (array[i] == 0) {
for (--n; i < n; i++) array[i] = array[i + 1];
i = 0;
}
else i++;
}
return n;


611 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:49:55 ]
>>605
クソな595,596が使っているからこそ、ローカル変数を1つだけに
したコードを考えて欲しいんだナ

612 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:53:20 ]
変数一つにすることにどんな意味がある?
>>610は一つになってるけど>>594よりムダが多いだろ

613 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:55:57 ]
int RemoveZeroElements(int *const array, const int n){
int i;

??????????????????

}
この条件ではどーだ?

614 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:56:07 ]
// 学生向けのコード
int RemoveZeroElements(int* array, int n)
{
int len = 0; // 戻り値に使う配列の長さを格納する変数
int* work = new int[n]; // 作業用領域を確保

// 0を除去した配列を作業用領域に作り、配列の長さを求める
for(int i = 0; i != n; ++i)
{
if(array[i] != 0)
{
work[len++] = array[i];
}
}
// 作業用の配列から、引数で与えられた配列に、内容をコピーする。
for(int i = 0; i != len; ++i)
{
array[i] = work[i];
}

delete [] work; // 作業用領域の後始末
return len;
}



615 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 08:56:33 ]
くそコードかいた595=596が話をそらそうとして必死だなw

616 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:10:39 ]
[1] 授業単元:プログラミング基礎
[2] 問題文:
自然数nを入力し、nの階乗(1×2×…×n)を計算し、
10進数で表示するプログラムを作りなさい。ただし、n<10000程度までは正しく動くようにすること。
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年6月27日まで
[5] その他の制限:いまポインタについて習っている所です

617 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:15:57 ]
>>616
>>218を参考にしな。

618 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 09:40:43 ]
>>616
#include <stdio.h>
#define N 1000000
int main(void)
{
int i, j, n, fig = 0;
int a[1000] = {0}, temp[1000] ={0};

scanf("%d", &n);
a[0] = 1;

for(i=2; i<=n; i++) {
for(j=0; j<=fig; j++) temp[j] = a[j] * i;
for(j=0; j<=fig; j++) {
if(temp[j] / N) {
a[j] = temp[j] % N;
if(j==fig) fig++;
temp[j+1] += temp[j] / N;
}
else a[j] = temp[j];
}
}

printf("%d", a[fig]);
for(i=fig-1; i>=0; i--) printf("%06d", a[i]);

return 0;
}


619 名前:592 mailto:sage [2008/06/15(日) 09:59:02 ]
コードありがとうございます。

若干流れが荒れてしまって申し訳ない。。。

620 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:10:08 ]
>>617-618
ありがとうございました。

621 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:11:02 ]
594と610と614以外は参考にしちゃ駄目だから

622 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:17:28 ]
>>620
いまどきは滅多にないと思うけど、618は環境によっては正しく動かない可能性あるから。

623 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:21:18 ]
IT業界関連社会人を目指す学生向けの回答はこっち
>>614はパソコン愛好会のお遊び勉強会向けのコードで大学の宿題じゃNG
効率はやや悪いが、
1.何を書き換えるかが把握しやすい。
2.ローカル変数をstaticにしている(必要もなくautoにしない)
3.newで許可無く勝手に変数を作っていない
という点に相違がある。こういうのが非常に大事になってくる。
int RemoveZeroElements(int *array, int n){
static int i,j;
for(i=0;i<n;i++){
if(array[i]==0){
for(j=i+1;j<n;j++){//後ろに0でない項があれば、それと交換する
if(array[j]){array[i]=array[j];array[j]=0;break;}
}//for
}//if
}//for
for(i=0;i<n;i++)
if(array[i]==0)
return i+1;
}

624 名前:623 mailto:sage [2008/06/15(日) 10:24:17 ]
return n;が抜けてたから追加しといて



625 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:29:00 ]
>>623
>return i+1;
>return i+1;
>return i+1;
>return i+1;

626 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 10:30:43 ]
>>623
なんだこのクソコードw

627 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:23:48 ]
カウンタ用の変数をプログラム全体の実行終了までメモリ上に保持しとくとか・・・。
実行環境はメモリ余りまくりのWindowsXPだというのに・・・。
バカなの?

628 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:42:17 ]
再帰とか普通禁止されてる業務用コードは、リエントラントである
ことなんて要求されないから、ローカル変数をautoに統一だなんて
DOSとかの貧弱なメモリ環境のコード書いてた時の戒律だぜw

実行環境はメモリ余りまくりのWindowsXPだというのに・・・。
それをやらないのってひょっとして

バカなの?

629 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 11:57:23 ]
わざわざ似た文面で返すところを見ると、よっぽど悔しかった模様。

630 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:00:31 ]
>>623
すいません、実行すると配列の最後に0が入っちゃうんですけど。
配列の長さも9になってしまいます。

631 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:16:42 ]
628は627をわかりやすく補足しただけだろ

632 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:20:30 ]
>>320
>>593
誰もやらない理由って言うかさ、問題文と提示コードの内容が違うからじゃね
提示コードで処理してる data[3][Y_SIZE][X_SIZE]ってさ、明らかにPNMフォーマットじゃ無い
しかし問題文はPNMフォーマットを利用って書いてある
意味不明だよ、提示コードも良く分らずに君が書いたのか?

633 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:22:59 ]
スレッドセーフを意識しないのが最近の流行なんだ?
よし、俺も関数内static変数バンバン使うぜ!

634 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 12:46:15 ]
>>592
C++ならこんな感じ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6910.txt



635 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:07:10 ]
>>320
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6911.c

636 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:09:47 ]
>>632
8行目のPS3をP3にし、
21行目の%dの後ろにスペースを一個追加すれば、
ppmを吐くようになる。

637 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:16:15 ]
その上で、16行目を以下の4行で置き換えればとりあえずsinカーブを書くようになるよ。
for (x = 0; x < X_SIZE; x++) {
y = 256 / 6.28 * sin(x / 256.0 * 6.28) + 128;
data[0][y][x] = 255;
}


638 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:17:08 ]
連投すまん、
#include <math.h>
も忘れずに。

639 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:30:50 ]
円を角煮は、パラメトリック表示した円の式を使うのが楽。
(ただし、あまり美しくはかけない。)
double t;
for (t = 0; t < 6.28; t += 0.01) {
x = 128 * cos(t);
y = 128 * sin(t);
data[0][y][x] = 255;
}
ぐらいでどうかな。
渦巻きは、半径(ここでは128)をtにあわせて変化させてやれば良い。


640 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:37:50 ]
不動小数点数をループカウンタに使うなよ。
横着しないでpiから計算すれ。

641 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 13:39:04 ]
>>640
それぐらいは許容範囲にしてやれw

642 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:28:14 ]
1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6912.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C++
[4] 期限: 2008/6/17
[5] その他の制限:問題文の制限のみ

なんだかもう頭の中がごちゃごちゃになってきました
御教授お願いしますorz

643 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 14:52:12 ]
>>642
#include<stdio.h>
int main()
{
int a[10], i, *pa, *pb;
for(i = 0; i < 10; i ++)
a[i] = i;
pa = a; /* a と &a[0] のどちらでも可 */
printf("a[0]=%d\n", pa[0]); /* pa[0] と *pa のどちらでも可 */
printf("a[4]=%d\n", pa[4]); /* pa[4] と *(pa+4) のどちらでも可 */
pb = a+5; /* a+5 と &a[5] のどちらでも可 */
printf("*(pb-2)=%d\n", *(pb-2)); /* *(pb-2) と pb[-2] のどちらでも可 */
return 0;
}

644 名前: ◆bVi8L9tS1c mailto:sage [2008/06/15(日) 18:29:50 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6913.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C
[4] 期限: 本日24時まで
[5] その他の制限:出来るだけ簡素に

すいません、よろしくお願いします



645 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:37:20 ]
>>644
#include <stdio.h>
int char2int(const char *s);
int main(void){
char s[]="123";
int t;
t = char2int(s);
printf("文字列: %s \n", s);
printf("数値: %d \n", t);
return 0;
}
int char2int(const char *s){
int n = 0;
while(*s)
n = n * 10 + (*s++ - '0');
return n;
}

646 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 18:38:36 ]
>>644
#include <stdio.h>
#include <stdlib.h>
int char2int(char const *s);
int main(void){
char s[]="123";
int t = char2int(s);
printf("文字列: %s\n", s);
printf("数値: %d\n", t);
return 0;
}
int char2int(char const *s){
return atoi(s);
}

647 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/15(日) 19:45:02 ]
[1] 授業単元:基礎プログラミング
[2] 問題文:
(1) char*pstrというchar型のアドレスを宣言して、256バイトのメモリ領域を割り当てます。
割り当てたメモリ領域に以下のような文字を入れ、表示させなさい。

I'll finish this book today.

(2) (1)で割り当てたメモリ領域を512バイトに拡張しなさい。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ:VC 6.0
 [3.3] 言語:C
[4] 期限: 今日中でお願いします。
[5] その他の制限: malloc関数を使ってください。

648 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:47:08 ]
reallocは使用可能?

649 名前: ◆bVi8L9tS1c mailto:sage [2008/06/15(日) 19:47:15 ]
>>645-646
ありがとうございました

650 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/15(日) 19:48:17 ]
すみません書き忘れてました。
(2)はrealloc使用OKです。

651 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 19:53:43 ]
>>647
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void) {
char *pstr;
pstr = malloc(256);
strcpy(pstr, "I'll finish this book today.");
fputs(pstr, stdout);
pstr = realloc(pstr, 512);
return 0;
}
エラーチェックは省略。

652 名前:231 mailto:sage [2008/06/15(日) 19:56:47 ]
>>562
ありがとうございました!

653 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:18:54 ]
>>320
>>593

既に>>635で出てるが…
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6916.txt

654 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 20:59:58 ]
>>651
freeつける癖つけましょう



655 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:04:29 ]
昔、あるfjで、exitの前に
freeすべきかどうかで
大論争があったね。

656 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:12:49 ]
[1] 授業単元:プログラミング演習
[2] 問題文:
次をポーランド記法を用いて計算し、標準出力に出力せよ。
* + 3.2 1.6 - 8 / 9.1 0.2

[3] 環境
 [3.1] OS:WindowsVista64
 [3.2] コンパイラ:bcc32
 [3.3] 言語:C
[4] 期限: 今日中でお願いします。
[5] その他の制限: ありません。






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

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

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