[表示 : 全て 最新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/


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] その他の制限: ありません。

657 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 21:33:10 ]
[1] 授業単元:
C言語
[2] 問題文(含コード&リンク):()
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6917.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6918.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
明後日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
二つあります。両方お願いします。


658 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:05:10 ]
>>656
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6919.txt

659 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:11:29 ]
>>658
ありがとうございます。

660 名前:デフォルトの名無しさん [2008/06/15(日) 22:12:38 ]
[1] 授業単元:
[2] 問題文(含コード&リンク):
CSVファイル内のレコードをスペース区切りで入力した文字列でアンド検索せよ
(「あいう けこ」と入力すると「あいうえお,かきくけこ,さしすせそ」というレコードがヒットする)
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC 6.0
 [3.3] 言語: C
[4] 期限: 明日まで
[5] その他の制限: ライブラリはなしで

一つの文字列での検索は出来るのですが、複数のときにどうしたらいいのかわかりません…。
今書いているソース↓

FILE *fp= fopen(IN_FILE, "r");
char buff[256]; //CSVファイルのデータ用
char srch[256]; //検索ワード用
gets(srch); //検索するワードの取得
int i = 0; //行数。その後の編集や削除処理でデータを特定するために使用
int line = 0; //ヒットした行数
while(fgets(buff, 256, fp) != NULL)
{
++i;
if(strstr(buff, srch) != NULL)
{
printf("%d%s", i,buff);
++line;
}
}
fclose(fp);



661 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:31:12 ]
>>657
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6920.c
問題017 単純選択法 発展

662 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:38:26 ]
>>660
入力された文字列をスペース区切りで複数の文字列に分割する
分割した文字列ごとに検索する

663 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:44:22 ]
>>657
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6921.c
問題018 単純交換法 配列は乱数で決定しているんで、適当に
自分で入力する形式に変更してたもう

664 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:45:15 ]
>>657
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6922.c

665 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:47:57 ]
>>663 は間違えた・・・

666 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:52:34 ]
>>657
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6923.c
問題018 単純交換法

667 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:57:49 ]
ソートネタ大人気だな

668 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 22:59:12 ]
そーっと しておいてくれ・・・

669 名前:デフォルトの名無しさん mailto:sage [2008/06/15(日) 23:09:04 ]
ありがとうございます。

670 名前:657 mailto:sage [2008/06/15(日) 23:14:34 ]
>>669
名前忘れました>>657です。



671 名前: [2008/06/16(月) 00:14:46 ]


672 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:02:14 ]
>>623 がいるからIT(笑)って言われるんだよ

673 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:09:29 ]
>>462
掘り返してすいません
何故さきに余りを求めて足して最後に1000以上なら1000を引くのかがわかりません
どうしてその考えにいたるのかが分かりません
できれば詳しく説明して欲しいのですがよろしいでしょうか?

674 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:11:56 ]
[1] 授業単元:C言語入門
[2] 問題文:二次方程式 ax2+bx+c=0に適当なa,b,cを与えて
      もし実数解をもつならば 解を計算して表示し、
      虚数解であれば「実数解をもちません」と表示
      するような、プログラム if-else文を使って作成せよ
[3] 環境
 [3.1] OS: (WindowsXPです
 [3.3] 言語: (Cになります。
[4] 期限: ([2008年6月16日10:00まで] になります(´;ω;`)

よろしくお願いいたします。。

675 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:21:01 ]
#include <stdio.h>
#include <math.h>

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

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

d = b * b - 4 * a * c;

if(d < 0) printf("実数解をもちません\n");
else if(d > 0) printf("%f, %f\n", (-b + sqrt(d))/ (2*a), (-b-sqrt(d)) / (2*a));
else printf("%lf\n", -b / (2 * a));

return 0;
}

676 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:22:01 ]
>>675
っ a==0

677 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:22:07 ]
>>673
> 何故さきに余りを求めて足して
まともに計算したら巨大な数になって、intもlongも超えちゃう。
最終的に下3桁を求めればいいのだから、
乗算と加算だけなら下3桁の範囲だけで計算していれば十分。
合同式とかいうんだっけ?あまり詳しくないけど。

> 1000以上なら1000を引くのか
rtは2000未満なので、余りを求めているのと同じ。

678 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:27:33 ]
>>673
1 + 4 + 27 + 256 において、10で割った余りを求めることにしよう。

1^1 と 2^2 は10を越えていないんでそのままでおk。この時点で余りの合計は5。

3^3は27で10を越え、10で割った余りの7のみを残しておk。5+7=12、
ここで合計も10を越えたから10で割った余りの部分を残して2。

4*4 = 16 は10で割った余りの6のみ残して、次は
本来は16*4 = 64 だが、前の6に4を掛けて24で4のみ残しておk、さらにもう一度
本来は64*4 = 256 だが、前の4に4を掛けて16で6のみでおk
2+6 = 8で、答えはあっているじゃろう。
そうやって、10で割った余りの部分だけを残してべき乗を継続しても成り立つのが分かる。

679 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:33:32 ]
#include <stdio.h>
#define MAX 4
#define MOD 10
int main(void) {
int i, j, rt = 0;
for(i=1; i<=MAX; i++) { int r = 1;
for(j=0; j<i; j++) r = (r * i) % MOD;
rt += r;
if(rt >= MOD) rt%=MOD; } printf("%d\n", rt);
return 0; }

ちょいと拝借して、このソースの MAX 、 MOD を適当に変えてみ。
理屈が成り立つことが分かるから。

680 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:33:50 ]
>>676
>二次方程式



681 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/16(月) 01:35:35 ]
>>651
error C2440: '=' : 'void *' から 'char' に変換できません。
1> この変換が可能なコンテキストはありません。
って出るんですけどどうしたらいいでしょうか

682 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 01:53:09 ]
>>655
単に strdup() を無神経に使っていることに噛み付いただけなんですけれど‥‥‥。

683 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:17:03 ]
>>681
明示的にキャスト汁
pstr=malloc(256); →pstr=(char *)malloc(256);
pstr=realloc(pstr,512); →pstr=(char *)realloc(pstr,512);


684 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:19:57 ]
>>681
エラーメッセージのコピペかソースコードのコピペで失敗してるんじゃない?

685 名前:デフォルトの名無しさん [2008/06/16(月) 02:20:47 ]
C++だとvoid*を他のポインタ型に代入するときに明示的なキャスト必要なんだっけ?

686 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:20:58 ]
>>681
C++ 扱いでコンパイルしてませんか?

687 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:47:08 ]
[1] 授業単元:C言語入門
[2] 問題文:ある2つの実数aとbを入力し、aの数が3で割り切れる、
      または、bの数が2で割り切れる場合のみに、それらの
      四則演算を行い、その結果を表示するプログラムを作成せよ
[3] 環境
 [3.1] OS: WindowsXP
 [3.3] 言語: C
[4] 期限: 今日中にお願いしたいです。。

よろしくお願いします。

688 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 02:50:03 ]
>>687
整数ではなくて実数?
実数なら必ず2で割り切れるという扱いでおk?

689 名前: ◆nOwZY.WgD2 mailto:sage [2008/06/16(月) 02:53:04 ]
>>683
それでできました、ありがとうございます><b

690 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 03:14:05 ]
>>688
はい、実数で、
2で割り切れる扱いでお願いいたします(*´д`*)



691 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 03:27:09 ]
>>687
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main(void){
char buf[256];
int i, chk, bufindex;
double a, b;

printf("Input a : ");
scanf("%255s", buf);
if(sscanf(buf, "%lf%n", &a, &bufindex)<1) return 1;
for(i=0,chk=0;i<bufindex;i++) if(isdigit(buf[i])) chk+=buf[i]-'0';
if(chk%3!=0) return 2;

printf("Input b : ");
if(scanf("%lf", &b)<1) return 3;

printf("a+b=%f+%f=%f\n", a, b, a+b);
printf("a-b=%f-%f=%f\n", a, b, a-b);
printf("a*b=%f*%f=%f\n", a, b, a*b);
if(b) printf("a/b=%f/%f=%f\n", a, b, a/b);

return 0;
}

692 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:24:04 ]
>>691
それでは「aの数」、「bの数」をどう解釈しても題意を満たさないのでは?

693 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:25:29 ]
>>572
ありがとうございます!
助かりました
今日提出しにいこうと思います

694 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 05:58:25 ]
[1] 授業単元: 入門
[2] 問題文(含コード&リンク):
1.
{C1}=(a11 a12){b1}
{C2}=(a21 a22){b2}
↑は行列の積です。
C=A・bの形でA,bはfloat型
これを求めるプログラムの計算です。
2.
{d1}=(a11 a12)n乗{b1}
{d2}=(a21 a22){b2}
↑は1と同じ行列の積ですが、Aのところがn乗となっています。
わかりにくくて申し訳ないですが、お願いします。
[3] 環境
 [3.1] OS: vista 
 [3.3] 言語:C
[4] 期限: できるだけはやくほしいです
[5] その他の制限: まだ、3ヶ月ほど習っただけでやったことがあるのは
演算と型、if、switch、do、while、for、配列、関数ぐらいです。

695 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:01:23 ]
[1] 授業単元:
C言語
[2] 問題文(含コード&リンク):()
ポゴソートについて調査し、それを実演するプログラムを書け。
データ数N=10000の場合について、整数の一様乱数の整数配列を作成してから
それをポゴソートし、結果がソートされているかをプログラムでチェックする。
配列を作成した時点からソートが完了した時点までにかかった時間をミリ秒単位で測定し、
処理にかかった時間を出力せよ。10回実行し、かかった時間を表にし、平均時間も計算し、
プログラムコードと共に提出せよ。
[3] 環境
 [3.1] OS: linux
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
GCC
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
本日中
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
乱数は起動の度に異なるようにすること。乱数配列の出力、整列済み乱数配列の出力は不要とのことです。


696 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:16:46 ]
ボゴソートなら知ってるがポゴソートは知らないな

697 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:22:04 ]
意味は通じているのにいちいち誤字を指摘するか。
格の低い男だな。

698 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:22:24 ]
データ数10000のボゴソートなんて正気じゃねえなw

699 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:25:37 ]
ttp://ja.wikipedia.org/wiki/%E3%83%9C%E3%82%B4%E3%82%BD%E3%83%BC%E3%83%88
これは酷い。こんなのは授業の一部で、効率の悪い例としてさらっと話して
生徒は聞き流す程度で終わらせてしまえば良いものを、敢えて課題にするとは・・・
嫌がらせか?

700 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:27:47 ]
ボゴソート

int check(int *a, int size)
{
int i;
for(i=1; i<size; i++) if(a[i] < a[i-1]) return 0;
return 1;
}

void bogo_sort(int *a, int size)
{
int i, j, temp;
do {
for(i=1; i<size; i++) {
j = rand() / (RAND_MAX + 1.0) * (i + 1);
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}while(!check(a, size));
}



701 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 06:56:02 ]
嫌らしい難問だナ まともとは思えないのでスルーがよろしいかと
(一様乱数とはほど遠い線形合同法を使ったCのライブラリ乱数で
N=10000もの順列を一様に生成すること自体至難の技なのだが)

702 名前:691 mailto:sage [2008/06/16(月) 09:25:54 ]
>>687
>>691 は無かったことにして

703 名前:デフォルトの名無しさん [2008/06/16(月) 09:47:52 ]
[1] 授業単元:プログラミング
[2] 問題文(含コード&リンク):プログラムを、共振周波数を固定しCを変化させるプログラムに変更せよ
問題
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6925.c
complex.txt
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6926.txt
complex.h
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6927.txt
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Visual C++(よくわかりません)
 [3.3] 言語: C
[4] 期限: 2008/06/12 10:30
[5] その他の制限: RLC共振回路の問題です。先生に聞いてもよくわかりませんでした。
RとLを固定してやるそうです。急ぎです。よろしくおねがいします。

704 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 10:30:56 ]
無保証。自己責任で参考にしてね
void main(void)
{
complex zin, ai;
double v=10.,l=13.92e-3,c=0.01591e-6,pi=3.14159;
double r,fr,f,q,w,x,za,aiabs;

r=5;
// fr=1./(2.*pi*sqrt(l*c));
// q=2*pi*fr*l/r;
// printf("R=%lf fr=%lf Q=%lf¥n¥n",r,fr,q);
printf("C(Farad) L(Henry) freq.(Hz) I(ampare) Zin(ohm)¥n");
// for(f=9000.;f<=11000.;f+=25.){
f=9000.0;
for(c=1.0E-8;c<1.0;c*=1.001){
w=2.*pi*f;
x=w*l-1./(w*c);
zin=cmplx(r,x);
za=cabso(&zin);
ai=cmplx(v,0.0);
ai=cdiv(&ai,&zin);
aiabs=cabso(&ai);
printf("C=%12.2lf l=%f f=%12.2lf %14.4lE %15.5lE¥n",c,l,f,aiabs,za);
}
getchar();
return ;
}

705 名前: ◆rR6EHrq.2w [2008/06/16(月) 13:38:07 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):下記のプログラムを参考にし、f(x)=2cos(x)-x/8=0の数値解を求めるプログラムを作成せよ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6928.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語: C
[4] 期限: 2008/06/16 14:30
[5] その他の制限:出来る限り簡単なものでお願いします


706 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 14:32:39 ]
>>705
問題のタイプが全然違うので、参考(マウスで選択して、キーボードからちょこちょこっと入力)にして解くことは
期待できないね。
この問題を出した奴はよほどのバカだ。まだ>>695を出したアホのほうがマシ
まともに相手せず、「氏んだほうがいいよ」と白紙のレポートなりメールなり出すのが吉かと

707 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 15:11:57 ]
>>705
微分を知っていれば10秒ほどでできるよ。
f()の中身をreturn 2 * cos(x) - x / 8.;にしてdf()の中身をreturn -2 * sin(x) - 1 / 8.;にするだけだ。

708 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 17:10:40 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):(kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6929.txt
上記のソースコードをキューを使い幅優先探索するプログラムに変更せよ。
[3] 環境
 [3.1] Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限:明後日まで

709 名前:デフォルトの名無しさん [2008/06/16(月) 17:58:40 ]
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):クイックソートでは、値が等しい要素 の位置を入力された順に
保つことができない。この問題を解

710 名前:デフォルトの名無しさん [2008/06/16(月) 18:01:55 ]
すいません、なんか切れてしまったのでもう一度・・・

[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク):クイックソートでは、値が等しい要素 の位置を入力された順に
保つことができない。この問題を解



711 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:02:21 ]
学習能力のない香具師だな。

712 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:14:25 ]
>>710
>クイックソートでは、値が等しい要素 の位置を入力された順に
>保つことができない。
そのような事実は無い

713 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:15:26 ]
は?
クイックソートが安定ソートじゃないのは常識だろ

714 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:21:44 ]
じゃ使わなきゃいいだろ

715 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:25:09 ]
>>712=714か? だとしたらとんでもない間抜けだな。

716 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:28:56 ]
>>714
そうだね
>>709,710は諦めたのかな

717 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:43:42 ]
>>715
すぐ下のレスで完全否定される間抜けさからして、>>706も同一かもよ

718 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:56:33 ]
[1] 授業単元:プログラミング実習問題
[2] 問題文:『階上の計算』
n=1〜12に対して、n!を計算して出力する。
ただし、n!=1*2*3*・・・・*(n-1)*nである。
なお、再帰法を用いてもよい。

[3] 環境
 [3.1] OS:vista
 [3.2] コンパイラ名:visual studio 2005
 [3.3] 言語:C
[4] 期限:[2008年6月18日まで]
[5] その他の制限:まだ大した勉強はしていません、すいません。
         多分C言語検定3級程度の実力くらいしかないです。

719 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:56:37 ]
マイナスの初期値与えたら暴走するようなプログラムを10秒で作って出来たと
思ってる>>707だろよ

720 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 18:58:30 ]
ja.wikipedia.org/wiki/%E5%AE%89%E5%AE%9A%E3%82%BD%E3%83%BC%E3%83%88



721 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:33:41 ]
>>718
#include <stdio.h>

int fac(int n)
{
int ret = 1;
while(n) ret *= n--;
return ret;
}

int main(void)
{
printf("%d", fac(12));
return 0;
}

722 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:37:12 ]
釣れますか?

723 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:41:39 ]
int main(void)
{
  int i;
  for(i=1; i<=12; i++) printf("%d\n", fac(i));
  return 0;
}

724 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:44:06 ]
>>718
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6930.c

725 名前:703 [2008/06/16(月) 19:47:49 ]
>>704
ありがとうございます
どなたか>>703お願いします

726 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:54:56 ]
>>724
unsigned int にしてるのに%dってw

727 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 19:58:47 ]
>>726
>>722
>>719
>>717
>>715
>>714
>>711
>>701


728 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:02:30 ]
つまりすごいバカなことをいってる>>712 = >>724でいいのかな?

729 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:05:21 ]
>>718
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6931.c

730 名前:703 [2008/06/16(月) 20:11:04 ]
すみません自己解決しました



731 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:30:22 ]
>>704は無意味だったね

732 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:30:30 ]
ホント無駄に荒れるスレだな

だがそれがいい

733 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 20:40:21 ]
Wikiは知識の宝庫
ja.wikipedia.org/wiki/%E9%A8%8E%E4%B9%97%E4%BD%8D


734 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:23:12 ]
[1] 授業単元:認識
[2] 問題文:
a-draw.com/uploader/src/up1643.zip.html
このファイルをダウンロードしてもらって解凍してもらいたいんです。
prog.cのファイルを実行してセグメンテーションエラーをとってほしいんです
けど。

[3] 環境
 [3.1] OS:linux
 [3.3] 言語:C
[4] 期限:[2008年6月17日まで]
[5] その他の制限:fread,fseekの使いかたはあっています。
for文{printf文で配列の中身を表示しています.

735 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 21:23:50 ]
宝船いいよ

736 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 22:38:53 ]
[1]データベース
[2]問題文
リストの追加機能を作る。(他にも編集やら削除やら機能をつけなきゃならないけど、追加たけでお願いします)
キーボードから1と入力されたら、画面に
name:(aaa)
age:(57)
mail:(aa@bb)カッコ内はこちら側が入力。
上記3つを入力した後、下のように表示させる。
1:aaa:57:aa@bb
[3-1]windows
[3-2]gcc
[3-3]C言語
[4]明後日まで。
よろしくお願いいたします。

737 名前:デフォルトの名無しさん mailto:sage [2008/06/16(月) 23:03:49 ]
[1] 授業単元:
C研究
[2] 問題文(含コード&リンク):()
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6935.txt
[3] 環境
 [3.1] OS: (Windows/Linux/等々)
Windows
 [3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
Microsoft Visual Studio 2008
 [3.3] 言語: (C/C++/どちらでも可 のいずれか)
C++
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか)
6月21日
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)

お願いします。


738 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:21:19 ]
>>736
やり直し

739 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:25:37 ]
>>719
三角関数をニュートン法で収束させるんだから、初期値の与え方によっては発散するのは常識。
負の値でも、-1辺りを入れれば収束するんじゃないか? 逆に正の値でも大きな値を入れたら発散しそうな希ガス。
せめてその位の確認してからけちつけたら?

740 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:27:40 ]
1] 授業単元:C++入門
[2] 問題文(含コード&リンク):ジャンケンゲームを作る。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン: borland c++ 5.5.1
 [3.3] 言語: C++
[4] 期限: 6月18日まで
[5] その他の制限:入力、出力、クラス、コンストラクタ、if文くらいまで

よろしくお願いします。



741 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 00:39:39 ]
>>740
自分でやる気ないのにVIPで聞くんだな

742 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:00:36 ]
>>740

VCで作ったから、ビルダーでコンパイル出来るか知らん

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

743 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 03:39:31 ]
>>739
発散する初期値より大きいところに収束初期値がありますね。x=0で発散します。
すべての解を求める方法としてはこういう問題は不適当です。

744 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 04:38:08 ]
[1]プログラミング
[2]scanf関数を用いて入力された秒数を
「○秒=○時間○分○秒」の形にして表示するプログラムを作成しなさい
ただし、自作関数を一つ使いなさい
[3.1]windows
[3.2]gcc
[3.3]c
[4]明日まで

スレ違いだったら申し訳ありません
とりあえず自分で作ってみたのですが↓
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6937.txt
sub関数の中をもうちょっとすっきりさせることってできますか?
printf関数を二つも使ったりwhile文使ったりしなくてもできそうな気がして・・・

745 名前:デフォルトの名無しさん [2008/06/17(火) 04:48:32 ]
[1] 授業単元: 言語と計算 C++
[2] 問題文(含コード&リンク):
SA面体のサイコロがNA個のA組と、SB面体のサイコロがNB個のB組があるとする。
(SAとSBの範囲は2〜1000、NAとNBの範囲は1〜100000)
それぞれの組でサイコロを振った時、
 1.A組がB組の出目を超える(>)確率
 2.A組がB組の出目以上になる(>=)確率
それぞれを求める関数を作り、
 a.計算結果(%表記、小数点以下6桁まで)
 b.計算に要した時間
を標準出力に書き出せ。
[3] 環境:C++
[4] 期限:18日正午まで
[5] その他の制限:とくに無し

746 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 04:53:23 ]
>>745に書き漏らしがありました。
結果を表示するのは
 SA=2, SB=3, NA=6, NA=6の時
 SA=1000, SB=500, NA=50000, NB=100000の時
の2つだけでOKです。

747 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:03:07 ]
>>744
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6938.c
クソースでおじゃる

748 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:06:06 ]
>>747
ありがとうございます

749 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:09:12 ]
/* クソースその2 */
#include <stdio.h>
int total_sec;
int sec;
int min;
int hr;

void InputSec(void){
printf("秒数を整数で入力してください :");
scanf("%d", &total_sec);}

void CalcHMS(void){
hr = total_sec / 3600;
min = total_sec / 60 % 60;
sec = total_sec % 60;}

void PrintHMS(void){
printf("%d秒は%d時間%d分%d秒です\n", total_sec, hr, min, sec);}

int main(void){
InputSec();
CalcHMS();
PrintHMS();
return 0;}

750 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:14:55 ]
うわっ、くせぇくせぇ、●ンコの臭いがプンプンすんぜっ
おまけにそんなものを直接書き込むKY、こりゃ真性の(ry



751 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:16:53 ]
>>750
さっさと死ね

752 名前:デフォルトの名無しさん [2008/06/17(火) 05:17:55 ]
でっ、でたーーー、タイピングミスで「いね」と書いたあと
ファビョって必死になって、古文で使われている用法を
知らないの?って噛み付いてた粘着バカw

753 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:23:28 ]
>>749
別に糞には見えないんだが。

754 名前:昼と夜が逆転した役立たず mailto:sage [2008/06/17(火) 05:25:03 ]
476 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 01:26:29
>>473
自治厨いね

484 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 01:56:30
>>479
いね = 去ね
高校出てれば当然習ってるはずの言葉。

487 名前:デフォルトの名無しさん 投稿日:2008/06/14(土) 02:00:46
473が余計なこと書かなきゃ荒れないのにな。
いつもうpロダ使えっていっては反論されて大暴れ。

↑うpロダ使えと言われては反論して罵倒レス。
自分に対して何か言ってくる奴がいると、そいつに対しては
とことん罵倒、威圧しないと気が済まない精神異常者?

755 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:27:01 ]
> 【アップローダー==ラウンジ】(質問が長い時はココ使うと便利 回答者もコードが長ければここに)
コードが長くなけりゃアップローダー使わなくて良いのがこのスレのルールだと言う事を
理解出来てないバカが居るな。

756 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:34:20 ]
きちがいだから触っちゃだめだ

757 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:36:08 ]
でもさ、宿題お願いするのにわざわざ手伝ってもらう人にカラム調整させるのか?
その辺だけでもTABとかが削除されない方法を選ぶだろ・・・・

758 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:48:46 ]
へー、カラム調整されてないように見える環境もあるんだ。
俺の環境だと半角スペースはそのまま残って見える。

759 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 05:54:24 ]
ブラウザ次第じゃね?

760 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 08:55:24 ]
[1] 授業単元:C言語
[2] 問題文kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6888.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン:VC 6.0
 [3.3] 言語: C
[4] 期限: 6月23日月曜日(早いと助かります)
[5] その他の制限:できるだけ簡単に
お願いします



761 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:07:32 ]
>>760
検索程度しろ、前のに回答が上がってるだろ

762 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:36:28 ]
学科の出席簿作成。
15人分の学生を表示し、入力により内容を変動させる。

表示順番:
出席表
<入力>学生番号0〜14
<入力>曜日番号0〜6
<入力>時限番号0〜3
<入力>出欠番号0〜1
<入力>学生番号0〜14の時に99を入力するとプログラム終了。

/* stdio.h をインクルード */
int main(void)
{
  /* 必要な変数を宣言し、出席簿の初期値を設定 */

  /* 学生番号を入力から一時変数に取り込み、それが妥当な値である間、以下の処理を繰り返す */
  {
    /* 曜日を入力から一時変数に取り込み、もし妥当な値でなければエラーメッセージを表示して continue する */
    /* 時限を入力から一時変数に取り込み、もし以下略 */
    /* 出欠を入力から以下略 */
    /* 入力された一時変数の値を出席簿に反映する */
    /* 出席簿の現在の内容を表示する */
  }

  return 0;
}

763 名前:デフォルトの名無しさん [2008/06/17(火) 09:54:28 ]
[1]授業単元: C言語
[2] 問題文:BMP画像を読み込んで画面に出力するプログラムを作成
[3] 環境:
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン: borland c++ 5.5.1
[3.3] 言語:Cのみ
[4] 期限:18日午前8時まで
[5] その他の制限:とくに無し




764 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:54:32 ]
問04(最終問題)
テキストサウンドノベルを作成する事。
キー入力でメッセージを表示し、途中で選択しを含める。(最大3つまで)
画面をスクロールさせることは禁止。ページ切り替えは、画面全消去で対処する事。
テキスト行数は、最低50行から最大100行までとする。
画面全消去方法は、先生に聞くこと。


765 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 09:56:38 ]
>>763
問答無用でマルチワロタ

766 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 14:22:16 ]
[1] 授業単元: C言語実習
[2] 問題文:任意の文字列から任意の文字列を操作する。
 例:「kokoha dokoda」
@任意の文字列を検索し、削除する
 例:「ko」を削除する
   →「ha doda」

A任意の文字列を検索し、長い文字列と置換する
 例:「ko」を「max」に置換する
   →「maxmaxha domaxda」


[3] 環境
 [3.1] OS:Windows xp
 [3.2] vc++ 2008
 [3.3] 言語: C
[4] 期限:無期限
[5] その他の制限:<stdio.h> <string.h>を使用できます。

1文字を検索して削除なら出来るのですが、2文字になるとどう処理していいか
わかりませんorz

767 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:00:16 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
2008年は閏年(うるうどし)である。
現在の暦において閏年は,
地球が太陽の周りを公転する周期が,
約365.24日であることに由来する調整法である。
閏年でない年は平年という。

キーボードから西暦を入力し
入力された年が閏年かどうか判定する
プログラムを作成しなさい。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++
[4] 期限: 6月27日
[5] その他の制限:
3つの条件によって,うるう年か平年か決まるが,論理演算子を使って,双分岐型1つにまとめる

768 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 15:02:03 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
今年(2008年)はオリンピックイヤー
(オリンピック開催年)である。
8月8日から24日までにかけて,中国の北京で
夏季オリンピック第29回大会が開かれる。

次の説明はオリンピックの開催年についての説明である。
キーボードから変数year に入力された年号について,
開催された年に第何回大会が開催(中止)されたか
画面に表示するプログラムを作成しなさい。
またオリンピックイヤーでない場合は、
画面にその旨メッセージを出力すること。

【説明】
・1896年の第1回大会以来、4 年に1 度開催されている。
・1916年の第6回大会,1940年の第12回大会,1944年の第13回大会は
 世界大戦の影響で中止された。ただし中止の場合も回数は数える。
・1906年には,近代オリンピック制定10周年記念大会が開催された。
 ただし特別大会のため,回数には数えない。
・次回は2012年、第30回大会がロンドンで開催予定。

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++
[4] 期限: 6月27日
[5] その他の制限:
第1回大会の年は,1986年。式にしなくてもよい。中止された年にも対応してください。

769 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:22:58 ]
>>767
#include <iostream>

int isleapyear(int y){
int i = y / 100;
return !(y == i * 100 ? i & 3 : y & 3);
}

int main(){
int n;
using namespace std;
cout << "input:";
cin >> n;
cout << ((isleapyear(n))?"閏年":"平年") << endl;
return 0;
}


770 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:26:30 ]
>>768
現在までの夏季能美なら、若干のifで可能。
ただし、拡張(冬季を追加、今後の夏季など)に柔軟に対応するためには、
開催年テーブルを持った方がいい。



771 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:35:35 ]
まったく同じ問題がわずかな時期をずれて出題されるってどういうことなんだろう?

772 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 16:53:22 ]
何をいまさら、どうでも良いことを。こんなの数年前から普通にあったし。
あとな、批判されるのが嫌だとか、間違ったソースをこのスレに残したくなかったら
うpロダ使え、新入り初心者めが

773 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:07:14 ]
>>766
strstr( )使え

774 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:12:12 ]
>>772
お前の指示とか受けないよ
俺の好きなようにやらせてもらう
だってここは2ちゃんねるだもの

775 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:14:12 ]
>>677
>>678
>>679
みなさん本当にありがとうございます
分かりました!

776 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:23:16 ]
いちいち言い返さないと気が済まず、しかも指図だって、もう
この新入り馬鹿は頭がいかれてんだろ。実社会じゃ
周りの空気が読めずに、自分勝手な行動をして孤立したタイプだろw

777 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:25:02 ]
このスレはもう数年前からあったわけだが、必ず新学期を期に
KYな基地外が現れるよな。どうせそれ以前に、質問して
答えてもらったからって、恩返しのつもりなんだろうけど
汚い素人未満のソースを長々と自己満足でこのスレに
残されても、他の回答者、質問者に迷惑なんだが。

778 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:32:28 ]
お前以外にキチ外はいねーよw

779 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:34:25 ]
で、プロである貴方は一体どういうつもりで布教しているんだい?

780 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:37:38 ]
777をとり損ねた



781 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:45:16 ]
[1]授業単元: 中級プログラミング

[2] 問題文:クラスを作成して行列式を計算しろ。
行列Aの内容を自分で指定できるようにする。
実行画面で何行何列にするか、各要素の値をいくつにするかを決められるようにする。
それを使ってA+A, A*A, n(スカラー)*A, Aの逆行列, Aの転置行列を求める。

[3] 環境:
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:Visual C++6.0
[3.3] 言語:C++
[4] 期限:19日

よろしくお願いします。



782 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:52:38 ]
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6939.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語:C++
[4] 期限:
[5] その他の制限: テキストに記載

783 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 17:55:28 ]
行列式を正方行列以外に定義するなんて、完全に上級を超えたキティちゃんの領域だw
C++の練習問題としては余りにも不適当。出した教師はまともじゃないから
スルーでおK

784 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:01:41 ]
>>782
独習C++?

785 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:40:22 ]
>>783
お前みたいな基地外はこのスレには要らない

786 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 18:48:26 ]
>>783
正方行列以外に対応するのはそれほどまでに難しいことなの?

787 名前:760 mailto:sage [2008/06/17(火) 18:59:38 ]
>>590
>>761
#if AI_PLAYER
#else
#endif
enum
構造体
などを習っていないので使ってないプログラムをお願いしたいのですが
できるだけ簡単にお願いします

788 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:00:04 ]
上級を超えた領域にいらっしゃるあなたにはきっと出来る!

789 名前:デフォルトの名無しさん [2008/06/17(火) 19:01:01 ]
[1] 授業単元: c言語
[2] 問題文(含コード&リンク):ある整数(2以上)を入力し
自分自身を除く最大の約数を返す、関数を含むプログラムを作れ。
例えば12を入力すると6が返る。5を入力すると1が返る。
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:visual studio 2005
 [3.3] 言語: C
[4] 期限:今日中
[5] その他の制限: 特になし
おねがいします


790 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:01:53 ]
[1] 授業単元:Cプログラミング
[2] 問題文(含コード&リンク):while文を用いて求めよ
 一、1から100までの整数の和を表示
 二、1から100までの奇数の和を表示
 三、1≦n≦50の任意の整数を入力し、nからn+50までの整数の和を表示
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C言語
[4] 期限:2008年06月18日が終わるまで
[5] その他の制限:while文でお願いします。



791 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:02:17 ]
てか正方行列じゃなきゃ、A*Aはできないし

792 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:07:28 ]
>>789
#include <stdio.h>

int f(int n)
{
int i;
for(i=n/2; i>1; i--) if(n % i == 0) return i;
return 1;
}

int main(void)
{
int n;

do {
printf("2以上の整数を入力してください:");
scanf("%d", &n);
}while(n < 2);

printf("%dの自分自身を除く最大の約数は%d\n", n, f(n));

return 0;
}

793 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:07:44 ]
とりあえず>>783は行列式でぐぐれ
そしてもう一度>>781を読むんだ

794 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:09:18 ]
まともな教師は、あいまいな仕様の問題は出さないな

795 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:14:58 ]
>>790
#include <stdio.h>
int main(void)
{
int i, sum, n;

sum = 0;
i = 1;
while(i<=100) sum += i++;
printf("1から100までの整数の和:%d\n", sum);

sum = 0;
i = 1;
while(i<=100) {
sum += i;
i += 2;
}
printf("1から100までの奇数の和:%d\n", sum);
do{
printf("1≦n≦50の任意の整数を入力:");
scanf("%d", &n);
}while(n<1 || n >50);
i=0;
sum=0;
while(i<=50) sum += n + i++;
printf("%d から %dまでの整数の和:%d\n", n, n+50, sum);

return 0;
}


796 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:16:24 ]
行、列を個別に指定できるようにすべきかどうかはさておき、
正方行列ではない場合に、積、逆行列、転置行列は出力しない、
もしくは計算できない旨のメッセージを出力すればいいわけでしょ?
>>781が何を指してキティだといっているのかさっぱりわからん

797 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:16:51 ]
常識的に考えれば正方行列の問題にしか見えないのに、
何行何列の表記だけで正方じゃないと決めつけるなんてw

798 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:19:20 ]
プログラミングの世界での鉄則
自分たちの世界の常識は、他所では通用するとは限らない

これだけは覚えておけ

799 名前:デフォルトの名無しさん [2008/06/17(火) 19:21:52 ]
>>792
ありがとうございました!!

800 名前:デフォルトの名無しさん [2008/06/17(火) 19:24:14 ]
うpロダ使えという言動に激しく噛み付いてくる基地外の特徴

やたらと バカ 死ね いね(去ね) お前には従わないよ(誰にだよ?)
といった、とにかく何かと筋の通った販路はせず、お前が気に食わないと
罵倒レスをして反発をしないと気が済まない、集団社会に溶け込めない
孤立した自分勝手。相手に何かちょっとしたことでも指摘されるとファビョる。

前にもいたよな、蛇足とか言って、結局標準ライブラリの資料を提示されて
自分が無知だと晒した奴も。おまけに、自分が思ったことはすべて正しいということで
自分勝手な基準でキティとか言い出すし。お前くらいだぞ、基地外罵倒レスで
相手を威圧しているのは。だからKYって言われるんだよ。



801 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:24:52 ]
正方行列から話をそらしたいんですね、わかります

802 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:24:59 ]
>>797
とてもそうは見えないよ。たとえばn行n列などと書かれてるなら別だけど。

だから、正方行列以外も指定できるのだろうか?と解釈した人は、
行える処理だけ行うようなコードに仕上げればよく、
正方行列のみと解釈した人は次数を1つのみ入力させるようにすればよい。

まあ、以下が守られてなさそうな気はしてるんだけどね。
> ・問題文は、出題されたまま全文を書いてください。

803 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:25:05 ]
>>796
自乗と逆行列はともかく、転置は任意の型の行列に定義されるだろ

804 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:26:20 ]
>>802
一行目に行列式を計算しろって書いてあって正方行列の問題だと思えないの?

805 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:26:40 ]
>>803
ごめんね、行列計算よく知らなくて適当にぐぐった知識で書いたんだ。ごめんね。

806 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:27:16 ]
>>804
足し算とスカラー倍はできるんでないの?これは行列式じゃないの?

807 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:28:20 ]
>>806
バカはだまってろw

808 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:28:44 ]
なんかちょっと前にも似た流れがあった気がするんだが、
「行列式」を「行列の式」の意味で使ってる奴がいるよな。
質問者にも野次馬にも。

一様連続を一様に連続だとか思ってるみたいな。

809 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:29:53 ]
>>706
> まともに相手せず、「氏んだほうがいいよ」と白紙のレポートなりメールなり出すのが吉かと
> 「氏んだほうがいいよ」と
> 白紙のレポートなりメールなり出すのが吉かと

きっちっがっいって 分かりやすいよなぁ〜〜おいっw

810 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:32:12 ]
行列式知らなきゃバカなのか?
言葉の端で判断するのには問題があるかもしれんが、
プログラマとしては全く信頼出来ない人間であるような気がしてならないな。
行列式知っていると、プログラマとしては信頼出来ないというものでは勿論ないが。



811 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:32:28 ]
正方行列から話をそらしたいんですね、わかります

812 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:35:39 ]
>>810
行列式は高校レベルの知識だってもはおいといても、
知らないことに対して適当なことを言うのはダメだろ。
わからないとこでもいい加減なコード書きそうでプログラマとして全く信頼できない。


813 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:36:24 ]
別に行列式がどうとかどうでも良いし

やる気があるならソース中に、明記されて無かったけれど
このように解釈してやりました、とでもコメント入れてあげるか
条件をきっちりさせてくれなり言うかすれば良いし

その気がないなら放って置けば良いじゃない

814 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:40:14 ]
あーもしかして今って高校で行列式とか教えてない?
それでも大学の一年生で習うと思うけど、どうなんだ?

815 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:40:22 ]
行列式を計算する問題で行列式がどうでも良いってw

816 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:42:29 ]
>>810
>>810
>>810
>>810


817 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:42:46 ]
そうじゃなくて、知らないなら口を出さない
知ってて尚且つやってあげる気があるならそうすればいいって意味だよ
行列式一つとってどうこう言ってるんじゃない

一番性質が悪いのはただ馬鹿にすることだろ

818 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:44:20 ]
知らないのに口を出したあげく引っ込みつかなくなってるのがお前だろw

819 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:45:08 ]
とりあえず先生に謝れ。そうすれば丸く収まる。

820 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:46:02 ]
枝葉の部分はスルーしてさっさとソース献上しやがれ。



821 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:46:20 ]
証明する方法は無いけど別の人です
あと誰かを擁護する気とか一切ありません
流れを見ててあんまりいいと思わなかったので口を出しました

変なこと言ってすまんかった

822 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:52:21 ]
毎回毎回、質問者が放置するから荒れるんだよなあ。

823 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:53:11 ]
C言語は数学研究向けの言語じゃないからね。システム記述がメインストリームだよ。
数学の研究用の言語は、FORTRANとかだろ?
問題意識は別のところにおいたほうがいいよ。
行列式知らなくても、Cプログラマーとして信頼出来る人は幾らでもいるし。

824 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:55:35 ]
いい具合に荒れてきました!とりあえずここでお決まりのレスを。
ソースでなくても良いから、もうお前らの長文発言にも うpロダ使えw

825 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:57:51 ]
行列式知らない人間なんて人間として信用できん

826 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:58:40 ]
>>823
知らないことと、知らないことに適当に口を挟んでくるのとでは全く違うんだが。

827 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:58:54 ]
ああそう

828 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 19:59:58 ]
825は明らかにCプログラマ=数学至上主義だという意識を植え付けようとするプロパガンダ

829 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:02:19 ]
>>355お願いします

830 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:03:03 ]
線形代数やらないで計算機って勉強できるの?



831 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:06:18 ]
[1] 授業単元:グラフ理論
[2] 問題文(含コード&リンク):最短経路長の計算を全てのノード対でし、表にしなさい
[3] 環境
 [3.1] OS: 基本Windowsですが、Linuxでも大ジョブです
 [3.2] コンパイラ名とバージョン: Borland C++ 5.5.1
 [3.3] 言語: どちらでも可
[4] 期限: 今週中には出来て欲しいです
[5] その他の制限: 無制限です


ソースは掲示板に張るにはちょっと長いのでこちらに
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6940.c
ちなみに読み込むネットワークデータが必要なので、そちらも
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6941.txt

単純に最短経路長の計算をループさせればいいのかと思ったんですが
エラーが出てしまって、なんともできない状況になってしまいました
最短経路長の計算を最初から最後までしてくれるようにしてくれるだけでも結構です
最短経路長の出力を利用して表にするくらいなら自分で出来そうですので・・・

宜しく御願いします。Orz

832 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:10:18 ]
>>831 
ちなみに、このソースは自分でココとココ、と指定してその最短経路長を計算してくれます
それをノード0番から10番あるわけですので、
0-1、0-2、0-3、0-4・・・7-10、8-9、8-10、9-10みたいな感じにやってもらえると幸いです

833 名前:790 mailto:sage [2008/06/17(火) 20:10:20 ]
>>795
ありがとうございますた!

834 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:15:42 ]
オッス、オラおじゃる。大学は理系に進んだのに、行列なんてさっぱりでおじゃ〜
そんな麻呂でもクソースは書けるでおじゃるよ?

835 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:18:55 ]
それはプログラマーではなくコーダー。

836 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:27:28 ]
[1] 情報技術
[2] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6942.txt
[3] XP:C++
[4] 08年06月22日
お願いします

837 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:32:03 ]
だいたいさぁ、何のプログラムを作るかで必要な知識は違ってくる。
まず最低限必要なのは、当然言語の仕様。そして実装されている
コンピュータの基本的な部分、仕様、構造。メモリのアドレス、
32ビット、デジタルデータが0と1の組み合わせで、それを複雑に
オナペットしていることをまず知るべきだ。コードのみを見て
わぁ〜数値計算の結果が立った、結果が立ったって
ハイジみたいに喜んでも、なんだかなぁ〜ってなるぞw

838 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:33:58 ]
[1] 授業単元:数値解析
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6943.zip
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン:Visual Studio.NET 2003
 [3.3] 言語: C,C++どちらでも可
[4] 期限:今週の土曜まで
[5] その他の制限:問題文が意味がわからんすぎてぐぐっても全然理解できん・・
誰か助けて! これ出さないと判定Xになって単位落とす事になる\(^o^)/


839 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:47:32 ]
数表の形式は?

840 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:50:17 ]
>>838
すまん、底辺大学卒の俺でも、予備知識無しで普通に解けそうな感じだったんだが。




841 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:51:41 ]
>>840
底辺とか、自分を低く見せてるだけやろぉ〜、ほんま、ぶっちゃけて、実は、
本当のところ、ランクCどころじゃない、BかAの大卒なんでしょ〜?またまたぁ〜
謙遜せんでもよかろうに。このこのっ、憎いねぇ〜。Fランク大学中退なめんなw

842 名前:838 mailto:sage [2008/06/17(火) 20:52:52 ]
>>840
俺まったく、プログラミングやったことなぃんょ
そもそも学科が全然違ってて・・
選択であったからとってみたら意味わからんすぎたぜ
解けるなら教えてくれるとありがたい・・単位が危ないんだ。

843 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:54:29 ]
んじゃ、問題文の意味は分かるけどどういうコードにしたらいいかが分からんのでないの?
問題文が意味が分からんすぎてって書いてるからこういうレスがつく。

844 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 20:55:32 ]
プログラミングの課題としてこれが出題される事はなかろ。
この1個前の課題および回答をあげてみ?

845 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:03:43 ]
>>838
数表は横並びにxとyが並んでるものと仮定
#include <stdio.h>
#define N 100
int main(void)
{
double xn[N], yn[N], x, y;
int i, cnt;
FILE *fp;

if((fp=fopen("data.txt", "r"))==NULL) return 0;

for(i=0; fscanf(fp, "%lf%lf", xn + i, yn + i)==2; i++);
cnt = i;

scanf("%lf", &x);

if(x < xn[0] || xn[cnt-1] <= x) return 0;

for(i=0; xn[i] < x; i++);

y = (yn[i+1] - yn[i]) * (x - xn[i]) / (xn[i+1] - xn[i]) + yn[i];

printf("y = %f\n", y);

return 0;
}

846 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:05:31 ]
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/joyful.cgi?mode=thr&no=6839

847 名前:838 mailto:sage [2008/06/17(火) 21:06:15 ]
>>843
もう問題文から答えまでわかんねーょ
コードってなんだょ!

>>844
一個前のは答えがまだ教えられてないから
ちょっと前のだが、こんな感じ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6944.txt

ニュートン法の解き方とか二分法とかが課題だったな
それも答え教えられてないけどwww

848 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:06:30 ]
>>841
すまん、嘘ついた。俺もFラン中退だ。

849 名前:デフォルトの名無しさん [2008/06/17(火) 21:06:35 ]
[1] 授業単元:システムソフトウェア
[2] 問題文

連結リストを用いてキュー(queue)を以下の仕様に従って実装しなさい.

連結リストの初期化(0~99のランダムな整数を入れる),表示を行う関数を,「list_init.c」に実装しなさい.
連結リストを初期化する関数をlist_create(), 連結リストに格納されている整数を表示する関数をlist_disp()としなさい.
連結リストのノードの総数はキーボードから入力されるものとする.
キュー(連結リスト)の値の格納をenqueue(),値の取り出しをdequeue(),値の検索をsearch()として,「list_op.c」に実装しなさい.
list_init.c, list_op.cから動的ライブラリ(共有ライブラリ)libdata_s.soを作成しなさい.
main関数を含むコードを「test_list.c」として作成し,libdata_s.soを用いてコンパイルしなさい.
実行形式のファイル名は「test_list」とする.
ただし,libdata_s.soの関数は,dlfcn.hに含まれている関数と,関数ポインタを用いて呼び出しを行うこと.
作成したプログラムは以下の動作を行う.
1:キーボードからキューのノードの総数を受け取る
2:初期化したキューの内容を表示する.
3:キーボードからのコマンド待ち状態になる.コマンドは,0を入力するとenqueue, 1を入力するとdequeue, 2を入力すると値のsearchを行い,それ以外の数字を入力するとプログラムが終了する.
4:2., 3.を繰り返す

[3] 環境
 [3.1] OS:linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限:明後日
おねがいします


850 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:07:40 ]
              合計
  50 49 48 47 46 ***
  45 44 43 42 41 ***
  40 39 38 37 36 ***
  35 34 33 32 31 :
  30 29 28 27 26 :
  25 24 23 22 21 :
  20 19 18 17 16 :
  15 14 13 12 11 :
  10 9 8 7 6 :
   5 4 3 2 1
合計 *** *** *** *** ***

を表すプログラムってどの様に書けますか?一次元配列を使うということですが・・・



851 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:08:37 ]
つ int i; for(i=1; i<=3; i++) putchar('*');

852 名前:760 mailto:sage [2008/06/17(火) 21:08:56 ]
できればすぐお願いします
20から30回で宝8個みつかるようお願いします

853 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:13:25 ]
>>847
ああ、つまり、ここに頼ったはいいけど自分の身についてないから
どんどん被害が大きくなってるってわけね。
いつかしっぺ返しくらう前にちょっとずつ理解しような。
ソースコードはでき次第うpする

854 名前:838 mailto:sage [2008/06/17(火) 21:14:52 ]
>>845
FILE *fp;

if((fp=fopen("data.txt", "r"))==NULL) return 0;

がよくわからないんだが データテキストを呼び出すのか?
そのファイルを何処に置けばいいかもわからん・・

855 名前:838 mailto:sage [2008/06/17(火) 21:17:20 ]
>>853
そうだ・・まったくもって勉強してない成果がここで発揮されたぜ
ぅん・・これ以降は自分で出来る様にがんばるょ。
頼む!今のところ出来そうにない!

856 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:24:55 ]
>>831 たぶんできましたんでやらんでいいです

おさわがせしました

857 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:52:02 ]
>>760
改良してやろうと思ったけど…

問題内容、問題コードどれを取っても、お前が言ってる条件に当てはまらないだろ
だいたいポインタ使って関数渡しの値代入してるのに、構造体習ってないから使うな?
しねよ



お前が知らないだけだろ、その問題

858 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 21:53:53 ]
>>857
> しねよ
また使ってるよ、基地外

859 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:04:18 ]
>>858
> 基地外
また使ってるよ、しねよ

860 名前:766 mailto:sage [2008/06/17(火) 22:06:50 ]
>>773
ご助言ありがとうございます。

しかしうまくプログラムが組めないorz




861 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:15:31 ]
プログラムは組み物じゃないな

編み物

彼氏にマフラー編んだげてるの

862 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:26:06 ]
>>850
#include <stdio.h>
int main(){
int a,b,z,i=0,d=0;
int c=50;
//1行目から10行目
printf("\t\t\t\t\t\t合計\n");
for(a=0; a<10; a++){
for(b=0; b<5; b++){
i += c;
printf("\t%d",c);
c--;
}
printf("\t%d",i);
printf("\n");
i=0;
}
//11行目
printf("合計");
for(a=5; a>0; a--){
for(b=0; b<10; b++){
c += a+5*b;
}
printf("\t%d",c);
d += c;
c=0;

}
printf("\t%d",d);
}

863 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:26:58 ]
>>857
まあ落ち着け。
>>590の回答に対して構造体とか#ifとか使うなって条件つけたんだよ。
条件の後出しがひどく迷惑であることを痛感する展開ではあるんだが。

864 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:46:31 ]
>>862
ありがとうございます!!

ちなみに、これを関数で表せという問題も一緒に出されているのですが全く分かりません。。。

865 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 22:58:15 ]
void disp(){
//>>862
}
int main(){
disp();
return 0;
}

866 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:01:50 ]
>>865
ほんとGJ!!!

助かりました@@;

867 名前:デフォルトの名無しさん [2008/06/17(火) 23:19:30 ]
>>766,860
素人の俺ので良ければどうぞ
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6945.c

868 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:25:29 ]
宝探しのやつ、takaraとかの盤面が周り1マス分大目に取ってあるとよかったのになあ。。。
とぼやきつつ、ぼちぼち。

869 名前:デフォルトの名無しさん [2008/06/17(火) 23:34:10 ]
[1] 授業単元:C言語プログラミング
[2] 問題文(含コード&リンク):()
文字列aから文字bを取り除く。下までできたのですが。。。


#include<stdio.h>
char a,b;
void main()
{
scanf("%d\n",a);
scanf("%d\n",b);
printf("%d",a,b);
return 0;
}

/* squeeze sからcをすべて取り除く */
void squeeze(char s[], int c)
{
int i,j;
for(i=j=0; s[i] !='\0'; i++)
if(s[i] !=c)
s[j++]=s[i];
s[j]='\n';
}

[3] 環境
 [3.1] OS:XP
 [3.2] よくわかりません。ボーランド?
 [3.3] 言語: C言語
[4] 期限:明日中に。


870 名前:デフォルトの名無しさん mailto:sage [2008/06/17(火) 23:34:14 ]
>>867
おお、ありがとうございmす。
これを元に勉強させてもらいます。



871 名前:760 [2008/06/17(火) 23:53:34 ]
お願いできないでしょうか?問題変更で20から30回で
構造体使ってもいいのでおねがいします!

872 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 00:05:34 ]
>>760
>>871
ちょっと待ってろw
しかし、人間がやっても20回くらいかかるぞ?
問題のレベルの割に、お前さんのレベルが低すぎる気が…

873 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:27:57 ]
[1] 授業単元: C++
[2] 問題文(含コード&リンク):
#include <stdio.h>

main()
{
int ch;

while(( ch=getchar()) != EOF) {
printf("%02x", ch);
}
}

このプログラムだけでは非常に長くなるので、'\n'を検出したら,出力にも改行文字を埋めたい。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C++

874 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:32:38 ]
>>872
お願いします

875 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 01:54:20 ]
#include <stdio.h>  printf("%02x", ch);
なのに C++ とは、どんな授業をしてるでおじゃるか?

876 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 02:01:16 ]
>>873
if(ch='\n'){
    cout << endl;
}

877 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:09:31 ]
>>657さんの問題を
main関数のみで作っていただけないでしょうか?

878 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:25:04 ]
[1] 授業[1] 授業単元:オペレーティングシステム
[2] 問題文:mallocを用い、下記のプログラムを完成させて、次の仕様を満たすプログラムを作成せよ。
 ・キーボードから可変数の英数字の行を読み込む
 ・最初に行数を入力させる
 ・1行の長さは最大256文字
 ・全入力が終了したところで、全入力行をまとめて出力する
#include <stdio.h>
#define MAX_LINE 256
main(){
char *p;
int n, i;
scanf(“%d”, &n);
p = --------------------;
for (i = 0; i < n; i++) {
scanf(“%s”, p + MAX_LINE * i);}
------------------------;}
[3] 環境
 [3.1] OS:Linux
 [3.2] gcc
 [3.3] 言語:C
[4] 期限:明日まで
点線の部分の変更のみです。
よろしくお願いします。

879 名前:760 mailto:sage [2008/06/18(水) 03:25:40 ]
20回から30回のプログラムを
今日朝9時までにお願いできないでしょうか
できそうにないんで…

880 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 03:35:52 ]
>>878
p = malloc(MAX_LINE * n);

for(i = 0; i < n; i++) { printf("%s\n", p + MAX_LINE * i); }



881 名前:414 mailto:sage [2008/06/18(水) 06:02:08 ]
>>451
亀ですいません。
作成いただきありがとうございました。

882 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:04:25 ]
>>760
>>879

お前、ふざけてるのか?偽者の釣りか?
8/100の宝探し全てを20回から30回でって…人間がやってもなかなか出来ないぞ…

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

883 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:09:05 ]
問題のレベルと依頼者のレベルが余りにもかけ離れてる場合
よく他人に頼んで、提出できるよなっていつも思う
あんまり無いのかも知れんが、内容に関して質問が来たらどうするつもりだろ?

884 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:12:30 ]
まぁ〜〜〜た今さらなことを、独り言のようにてめぇが勝手に思っている疑問を
わざわざ書き込むか、一言居士め。どうでも良いだろ、そんなの。
このスレの趣旨がわかってない新入りだろ、しねだのほざくガキって?
もしそれで高卒以上の年齢だとしたら、かなり精神レベルが低いぞ、こいつ。

885 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 06:15:13 ]
>>883
んなこと俺らが心配することでも何でもない。>>1読め。

886 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 08:56:25 ]
>>879
何で今朝なんだ?期限とちがうじゃん。

887 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:03:42 ]
>>885
つまりレベルがかけ離れていて気に入らない質問はスルーしとけばいいのか

888 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:13:30 ]
>>866>>865なんかで本当に大丈夫なのだろうか

889 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:47:38 ]
レベルなんぞ気にしているくらいなら、とことん初心者レベルに戻るべし。
本当にコードから○ンコのに臭いがぷんぷんと漂ってきそうな
麻呂のクソースを目指すでおじゃる!

890 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 09:58:47 ]
初心者レベルの宿題しか解けないだけだろw



891 名前:デフォルトの名無しさん [2008/06/18(水) 10:25:09 ]
[1] 授業単元: 情報実験
[2] 問題文(含コード&リンク):
クイックソートでは、値が等しい要素の位置を入力された順に保つことができない。
この問題を解決するプログラムを作成せよ。
ただし、以下の解決方法を用いよ。
•配列をリストに変換
•三つのリストを作る
ー枢軸より大きい要素のリスト
ー枢軸より小さい要素のリスト
ー枢軸より等しい要素のリスト
•三つのリストを統合する

[3] 環境
 [3.1] OS: Mac OS X
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:できれば今日まで
よろしくお願いします

892 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 10:48:59 ]
難し過ぎ

893 名前:877 mailto:sage [2008/06/18(水) 11:19:28 ]
>>877出来る方いませんか?

894 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 11:51:35 ]
在庫管理のプログラムを作りなさいっていう宿題なのですけれども
よろしくお願いします。

1.クラス設計
データ定義:100件分(とりあえずの値としておく)
商品コード int(0〜999)
在庫数   int
登録商品数 int(新規商品を入庫するたびに+1される)

商品マスター:予め数件分を定数として定義しておく(-1がストッパー)
(例) int master[ ]={1,3,5,10,11,12,100,200,900,-1};

メンバー関数:
・コンストラクタ:保持している商品数をクリアする。
・データ設定関数:int  add(int 商品コード、 int 入庫数)
  商品マスターチェックNGなら戻り値にエラーを設定する。
  チェックOKならデータ部に登録し、在庫数を加算、登録商品数を+1する

・在庫数取得関数:int get(int 商品コード)
  商品コードが登録されていれば現在の在庫数を戻り値に返す。
  登録されていない(入庫されていない)場合は-1を返す。

c++でお願いします。


895 名前:デフォルトの名無しさん [2008/06/18(水) 13:11:58 ]
>>894
本当にこれが全文ですか?

896 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:50:01 ]
そうなんじゃない?
在庫管理プログラムとして十分ではないけれど、題意を満たすソースは書けるでしょ。
作成されるものはチープかもしれないけど、それが課題というものかと。

897 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 14:57:05 ]
ここのおじゃぱ様なら楽勝だよw
pc11.2ch.net/test/read.cgi/prog/1210981817/

898 名前: ◆DuoCt8/SKk mailto:sage [2008/06/18(水) 15:31:31 ]
[1] 授業単元:プログラミング演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6947.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:Visual C++ 6.0
 [3.3] 言語:C言語
[4] 期限:2008年6月20日
[5] その他の制限:構造体,ポインタまで
どなたかよろしくお願いします.

899 名前:デフォルトの名無しさん [2008/06/18(水) 15:31:59 ]
商品コード int(0〜999)とか商品マスターとかはいいとして
データ定義とか商品マスターチェックNGとか微妙に粒度と日本語がゴチャゴチャな気がする

>  商品コードが登録されていれば現在の在庫数を戻り値に返す。 
>  登録されていない(入庫されていない)場合は-1を返す。
商品コードの登録って実際はどういう動作なのかわからん.
どうも在庫数を増やすだけじゃなさそうだが.









まぁ作ったけど.

900 名前:894 mailto:sage [2008/06/18(水) 15:43:53 ]
たしかにゴチャゴチャですよね;
知識ないのに余計よくわからなくて此処で聞いてみました。

>>899さん上げてもらえますか?






901 名前:デフォルトの名無しさん [2008/06/18(水) 15:56:29 ]
const int CODE_NOT_FOUND = -1;
const int MASTER_ERROR = -1;
const int MASTER_SUCCESS = 0;
static int master[] = {1, 2, 3, 4, 5, CODE_NOT_FOUND};
static int checkCode(int code){
  for(int i = 0; master[i] != CODE_NOT_FOUND; i++) if(code == master[i]) return code;
  return CODE_NOT_FOUND;
}
class Manager{
  private:
  int *merchandise;
  public:
  Manager(){
    merchandise = new int[100];
    for(int i=0; i<100; merchandise[i++] = 0);
  }
  virtual ~Manager(){
    delete[] merchandise;
  } 
  int add(int code, int n){
    if(checkCode(code) == CODE_NOT_FOUND) return MASTER_ERROR;
    else {merchandise[code] += n; return MASTER_SUCCESS; }
  }
  int get(int code){
    if(checkCode(code) == CODE_NOT_FOUND) return MASTER_ERROR;
    if(merchandise[code] == 0) return -1;
    else return merchandise[code];
  }
};
こんな感じ

902 名前:894 mailto:sage [2008/06/18(水) 16:10:57 ]
すいません、、、
もっと分かりやすい簡単な漢字で書いてもらえないでしょうか、、?

903 名前:894 mailto:sage [2008/06/18(水) 16:12:33 ]
すいません、、、
もっと分かりやすい簡単な感じで書いてもらえないでしょうか、、?

904 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:14:55 ]
分かりやすさは他人に求めるものじゃなくて自分で感じるものじゃね?

905 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:34:43 ]
こういう分野はC/C++向きじゃないな。完全にデータベース向けと考えられてるね一般的には。
やはりこういう問題出した教師は現場を知らん◎フォだとしておこう。

906 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:42:38 ]
マスタのコードが0-999でmerchandiseのインデックスにコード使っちゃうとだめなんじゃない?

907 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:45:19 ]
原理を勉強するのに、一から書いてみるというのは悪い方法じゃないだろう

908 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:46:34 ]
>>906
なんか面倒になったから適当にしてみた

909 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:48:15 ]
>>901
なんかそれだとcodeがmerchandiseのインデックスになるから
例題の
int master[ ]={1,3,5,10,11,12,100,200,900,-1};
のときmerchandise[200]とかになっておかしくないか?

910 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 16:55:32 ]
[1] 情報プログラミング:
[2] 問題文(含コード&リンク):標準入力からのテキストデータ中に現れる単語の出現頻度数つき一覧を出力するプログラムを作成せよ。
[3] 環境
 [3.1] OS: linux
 [3.2] Vine Linux 3.2
 [3.3] 言語: C
[4] 期限:2008 6/24
[5] その他の制限:線形リストを使い、つくれとのことです。
どなたかよろしくお願いいたします

とりあえずここまで作成してあります(まだまだ未完成ですが。。。)
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6948.c
よければ見て下さい



911 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:33:02 ]
>>898
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6949.c
Otheloは登録商標なので0theloにしておいた

912 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:34:53 ]
/* 0thello Game */


913 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 17:42:57 ]
ShowAllって次の手1個につき1画面なのかな
書き直してみる

914 名前:911 mailto:sage [2008/06/18(水) 17:56:34 ]
>>898
修正
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6950.c

915 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:12:53 ]
>>908
まあ宿題だからそれぐらいアバウトなほうがいいのかもしれないね

916 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:25:35 ]
>>850なんですがこの表示結果の合計を、前列の合計を次々に足していく風にしたいのですがどう書けますか?
よろしくお願いします。
合計
50 49 48 47 46 240
45 44 43 42 41 215
40 39 38 37 36 190
35 34 33 32 31 165
30 29 28 27 26 140
25 24 23 22 21 115
20 19 18 17 16 90
15 14 13 12 11 65
10 9 8 7 6 40
5 4 3 2 1 15
合計 275 265 255 245 235 1275


917 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:26:56 ]
↑ずれて分かりにくくなってしまってすみません;;

918 名前:878 mailto:sage [2008/06/18(水) 18:27:41 ]
>>880
エラーが出てきます。
コンパイラ通してみた結果です。
10:error:プログラムとして逸脱した文字 '/226'
10:error:プログラムとして逸脱した文字 '/128'
10:error:プログラムとして逸脱した文字 '/156'
10:error:文法エラーが'%'トークンの前にあります
10:error:プログラムとして逸脱した文字 '/226'
10:error:プログラムとして逸脱した文字 '/128'
10:error:プログラムとして逸脱した文字 '/157'
15:error:プログラムとして逸脱した文字 '/226'
15:error:プログラムとして逸脱した文字 '/128'
15:error:プログラムとして逸脱した文字 '/156'
15:error:文法エラーが'%'トークンの前にあります
15:error:プログラムとして逸脱した文字 '/226'
15:error:プログラムとして逸脱した文字 '/128'
15:error:プログラムとして逸脱した文字 '/157'

919 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:27:53 ]
>>836
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6951.txt

920 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:35:07 ]
>>862を参考に、一次元配列を使うようにしたよ。

#include <stdio.h>
int main(){
int a,b,z,i=0,d=0;
int c=50;
int r[10];
//1行目から10行目
printf("\t\t\t\t\t\t合計\n");
for(a=0; a<10; a++){
for(b=0; b<5; b++){
i += c;
printf("\t%d",c);
c--;
}
printf("\t%d",i);
printf("\n");
i=0;
}
//11行目
printf("合計");
for(a=5; a>0; a--){
for(b=0; b<10; b++){
c += a+5*b;
}
printf("\t%d",c);
d += c;
c=0;

}
printf("\t%d",d);
}



921 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:39:58 ]
>>920

ありがとうございます!
理解できました!

合計値についてなんですが前列の合計値も足してって次々に足して表示させたいんですがどうすればいいのですか?

922 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:43:09 ]
>>921
理解できたか。それはよかった。次々にっていうのはこういうこと?
#include <stdio.h>
int main(){
int a,b,z,i=0,d=0;
int c=50;
int r[10];
//1行目から10行目
printf("\t\t\t\t\t\t合計\n");
for(a=0; a<10; a++){
for(b=0; b<5; b++){
i += c;
printf("\t%d",c);
c--;
}
printf("\t%d",i);
printf("\n");
// i=0;
}
//11行目
printf("合計");
for(a=5; a>0; a--){
for(b=0; b<10; b++){
c += a+5*b;
}
printf("\t%d",c);
d += c;
// c=0;

}
printf("\t%d",d);
}

923 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:45:48 ]
>>922
そうです!
でも、どこをどういう風に考えたのか分かりません@@:

924 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:48:58 ]
一行書くたびに合計をクリアしていたので、一行ごとの合計が右端に出てた。
これをクリアしないようにすることで、1行目の合計に2行目の数字が足されるようになって
1行目と2行目の合計が2行目に出るようになった。
列もおなじ。

925 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:53:20 ]
>>924
初歩的な質問でごめんなさい。クリアを示す記号って何ですか?
どこも変わっていないような気がするのですが・・・

926 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 18:53:52 ]
>>918
226=0xE2
128=0x80
156=0x9C
156=0x9D

E2 80 9C はUTF-8 で全角の “
E2 80 9D はUTF-8 で全角の ”


927 名前:918 mailto:sage [2008/06/18(水) 19:04:43 ]
自己解決しました。
スレ汚し申し訳ありません。

928 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:05:19 ]
自己解決w

929 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:05:33 ]
[1] 授業単元:C++入門
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6952.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語:C++
[4] 期限:
[5] その他の制限:

よろしくお願いします

930 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:05:50 ]
>>925
0を代入することでクリアしていた部分をコメントアウトすることでクリアしないようにした。
行、列の2箇所。



931 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:11:10 ]
>>930
なるほど、そういう事だったんですね。ありがとうございました。

932 名前:919 mailto:sage [2008/06/18(水) 19:12:07 ]
>>836
うpしてから思ったがABC#DEF#HIJをABC#FED#HIJではなくABC#FED#JIHにするっぽいな
後者ならフラグ要らんからrev_flagを含む行(5行)は削っとくれ

933 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:14:12 ]
>>898
バッファオーバーフローのバグがあった
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6953.txt


934 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:16:49 ]
暇つぶしに 910 をといてみたぜ。
910の役にはたたないだろうがな。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6954.txt

935 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:17:15 ]
>>850
#include <stdio.h>
#define ROW 10
#define COL 5
int main(void){
int row[COL]={0},tr,tc[COL]={0},r,c;
for(c=0; c<=COL; c++) printf("\t");
printf("合計\n");
// 各行
for(r=ROW; r>0; r--) {
for(c=COL-1; c>=0; c--) {
row[c]=r*COL-c;
tc[c]+=row[c];
}
for(c=0,tr=0; c<COL; c++) {
tr+=row[c];
printf("\t%d",row[c]);
}
printf("\t%d\n",tr);
}
// 各列の合計
printf("合計");
for(c=0; c<COL; c++) printf("\t%d",tc[c]);
puts("");
return 0;
}


936 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:23:30 ]
#include <stdio.h>
int count_bits(unsigned)
{
int count = 0;
while (x){
if (x & 1U) count++;
x>>1;
}
return (count);
}
int int_bits(void)
{
return (count_bits(~0U));
}
void print_bits(unsigned x)
{
int i;
for (i= int_bits() - 1; i >= 0; i++)
putchar(((x>>1) & 1U) ? '1' : '0');
}
int main(void)
{
unsigned nx;
printf("非負の整数を入力してください :");
scanf("%u", &nx);
putchar('\n');
return 0;
}

というプログラムにおいて、int count_bits(unsigned)を int count_bits(signed x)とするとどのような現象が置きますか?
理由も書けという問題なのですが。

937 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:24:07 ]
>>898
orz
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6956.txt


938 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:27:36 ]
>>935

ありがとうございます!
合計値は、前列(行)の合計値を次々に足していく風にしなければならないのですが。。。
一次元配列に於いては次の列(行)にいく際どこでクリアされているのでしょうか。

939 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 19:36:33 ]
>>938 >>850
#include <stdio.h>
#define ROW 10
#define COL 5
int main(void){
int row[COL]={0},tr,tc[COL]={0},tmp,r,c;
for(c=0; c<=COL; c++) printf("\t");
printf("合計\n");
// 各行
for(r=ROW,tr=0; r>0; r--) {
for(c=COL-1; c>=0; c--) {
row[c]=r*COL-c;
tc[c]+=row[c]; }
for(c=0; c<COL; c++) {
tr+=row[c];
printf("\t%-d",row[c]); }
printf("\t%-d\n",tr);}
// 各列の合計
printf("合計");
for(c=0,tmp=0,tr=0; c<COL; c++) {
tmp+=tc[c]; tr+=tmp;
printf("\t%-d",tmp);} printf("\t%d\n",tr);
return 0;
}


940 名前: ◆DuoCt8/SKk mailto:sage [2008/06/18(水) 19:56:34 ]
>>911-914
>>933
>>937
こんなにたくさん頑張って頂き本当にありがとうございます.
これが第一段階らしく,第二・三段階もあるみたいなので,もし良かったら
その時にも是非よろしくお願いします.



941 名前:デフォルトの名無しさん [2008/06/18(水) 20:01:32 ]
[1] 授業単元:コンピュータプログラミング
[2] 問題文(含コード&リンク):
標準入力(キーボード)から一つずつ数値(浮動小数点)を
読み込んで、データの数、平均値、標準偏差を出力するプロ
グラムを作成せよ。ただし、データ入力は、空行の入力で終
了するものとする。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6957.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年06月18日まで
[5] その他の制限:入力終了の判別方法は、このプログラムを参考にするとよいが、
今回の問題では、入力データを配列等に保存する必要がない
ことに注意。配列に保存することにすると、配列の大きさで
入力できるデータ数が制限されてるので、好ましくない。

よろしくお願いします。m(_ _)m

942 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:30:45 ]
#include <stdio.h>
#include <math.h>

int main(void)
{
double s = 0, a = 0, temp, sigma2;
int cnt = 0;
char buff[256];

while(1) {
fgets(buff, sizeof buff, stdin);
if(buff[0]=='\n') break;
sscanf(buff, "%lf", &temp);
s += temp * temp;
a += temp;
cnt++;
}
a /= cnt;
s = sqrt(s / cnt - a * a);

printf("データ数:%d\n平均:%f\n標準偏差:%f", cnt, a, s);

return 0;
}

943 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:41:42 ]
[1] 授業単元:C++実習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6958.txt
[3] 環境
 [3.1] OS: WindowsXP
 [3.2] コンパイラ名とバージョン: VC6.0
 [3.3] 言語:C++
[4] 期限:
[5] その他の制限:

お願いします。。


944 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:44:39 ]
::

945 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:48:00 ]
>>942
適当に改造してたら使ってない変数残った。
sigma2は消しといて

946 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:50:21 ]
サセクア

947 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:55:08 ]
[1] C演習
[2] 入力する3以上の整数nに対して、2以上n以下の整数の組の最大公約数を
「ユークリッドの互除法」を用いて計算するプログラムを作れ。
(例:n=6の場合、2と3、2と4、2と5、2と6、3と4、3と5、3と6
4と5、4と6、5と6の10通り)
(表示例:n=6の場合)
   3  4  5  6
2: 1  2  1  2
3:    1  1  3
4:       1  2
5:          1
[3]
 [3.1] LINUX
 [3.3] C
[4]6月23日
[5]関数は習ってないので、if,while,forなどを使ってお願いします。
よろしくお願いします。

948 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 20:56:31 ]
[1] C演習
[2] 入力する3以上の整数nに対して、2以上n以下の整数の組の最大公約数を
「ユークリッドの互除法」を用いて計算するプログラムを作れ。
(例:n=6の場合、2と3、2と4、2と5、2と6、3と4、3と5、3と6
4と5、4と6、5と6の10通り)
(表示例:n=6の場合)
   3  4  5  6
2: 1  2  1  2
3:    1  1  3
4:       1  2
5:          1
[3]
 [3.1] LINUX
 [3.3] C
[4]6月23日
[5]関数は習ってないので、if,while,forなどを使ってお願いします。
よろしくお願いします。

949 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:02:52 ]
>>943
inventory(char *item, double cost, int on_hand)
{
strcpy_s(inventory::item, item);
inventory::cost = cost;
inventory::on_hand = on_hand;
}

inventoryだけを上記のように変更。
namespaceによるローカル変数とメンバ変数の明示を問う問題っぽいけど実務では使うなよ。

950 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:03:11 ]
>>945ありがとうございます。




951 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:09:16 ]
1] 情報プログラミング演習:
[2] 問題文(含コード&リンク):標準入力からのテキストデータ中に現れる単語の出現頻度数つき一覧を出力するプログラムを作成せよ。
[3] 環境
 [3.1] OS: Windous
 [3.2] VC 6.0
 [3.3] 言語: C++
[4] 期限:2008 6月いっぱい
[5] ホントに困っていますのでどの問題でもかまいません
  教えてください

952 名前:951 mailto:sage [2008/06/18(水) 21:11:21 ]
間違えました
1] 情報プログラミング演習:
[2] 問題1
三角形の底辺の幅、あるいは段数(どちらか一つ)を入力すると、逆三角形を表示する。例えば、底辺5あるいは段数3を入力すると
*****
***
*
となる。

10個以下の任意のn個(データ数は入力)のデータを入力し、逆順に出力する。
実行結果は奇数と偶数個の例を示すこと。


[3] 環境
 [3.1] OS: Windous
 [3.2] VC 6.0
 [3.3] 言語: C++
[4] 期限:2008 6月いっぱい
[5] ホントに困っていますのでどの問題でもかまいません
  教えてください


953 名前:951 mailto:sage [2008/06/18(水) 21:12:26 ]
間違えました

1] 情報プログラミング演習:
[2] 問題1
三角形の底辺の幅、あるいは段数(どちらか一つ)を入力すると、逆三角形を表示する。例えば、底辺5あるいは段数3を入力すると
*****
***
*
となる。


[3] 環境
 [3.1] OS: Windous
 [3.2] VC 6.0
 [3.3] 言語: C++
[4] 期限:2008 6月いっぱい
[5] ホントに困っていますので教えてください


954 名前:デフォルトの名無しさん [2008/06/18(水) 21:12:33 ]
[1] 授業単元:プログラミングT

[2] 問題: kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6959.txt
 [3.1] OS: WindowsXp
 [3.2] コンパイラ名とバージョン:visualstdio 2008
 [3.3] 言語:C
[4] 期限:6月21日
[5] その他の制限:なし。

   よろしくお願いします.

955 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:14:01 ]
>>948
#include <stdio.h>
int main(void)
{
int i, j, n;
scanf("%d", &n);
printf("   ");
for(i=3; i<=n; i++) printf("%2d", i);
putchar('\n');
for(i=2; i<n; i++) {
printf("%2d:", i);
for(j=3; j<=i; j++) printf("  ");
for( ; j<=n; j++) {
int a = i, b = j;
while((a=a%b)!=0) {
b += a;
a = b - a;
b -= a;
}
printf("%2d", b);
}
putchar('\n');
}
return 0;
}

956 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:14:10 ]
そういえば期末の時期だな。

957 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:18:54 ]
>>954
#include <stdio.h>
int main(void)
{
char string[100];
char *p;

gets(string);

p=string;
while(*p!=' ') {
if(*p=='\0') return 0;
p++;
}
p++;
while(*p!='\0'){
putchar(*p);
p++;
}
putchar('\n');
return 0;
}


958 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:19:48 ]
またwindousか

959 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:20:13 ]
>>951
#include<iostream>
#include<string>
#include<map>

int main()
{
std::string tango;
std::map<std::string,int> tango_count;

while(std::cin >> tango)
{
tango_count[tango]++;
}

for(std::map<std::string,int>::iterator n=tango_count.begin();n!=tango_count.end();++n)
{
std::cout << n->first << " : " << n->second << std::endl;
}

return 0;
}

960 名前:951 mailto:sage [2008/06/18(水) 21:24:50 ]
>>959さん
ありがとうございます。




961 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:26:20 ]
>>948
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6960.c

962 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:27:18 ]
>>953
まちるだ

963 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:27:49 ]
[1] 授業単元:プログラム演習
[2]
引数を2つの実数値とし,その2つのうち大きいほうの値を返す関数max()および小さいほうの値を返す関数min()を作成せよ。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年06月20日まで
[5]

コンパイルできたのですが、正しい値が帰ってきません。
どこがおかしいのか教えてください。
よろしくお願いします。




964 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:28:15 ]


#include<stdio.h>

double max(double a,double b);
double min(double a,double b);

main(){

double x,y,MAX,MIN;
printf("実数を二つ入力してください\n");
scanf("%f",&x);
scanf("%f",&y);
MAX=max(x,y);
MIN=min(x,y);
printf("max=%f\n",MAX);
printf("min=%f\n",MIN);


}

double max(double a,double b){
double z;
if(a<b){z=b;}else{z=a;}
return(z);}

double min(double a,double b){
double z;
if(a<b){z=a;}else{z=b;}
return(z);}



965 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:28:17 ]
>>954
> ただし,文字列の入力には関数 gets を用いること.
ダウト!!!!講師にやめれと抗議すべき

966 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:28:53 ]
[1] 授業単元:暇潰し
[2] 問題文(含コード&リンク):
平面上にn個の点について、それぞれ他の全ての点に対し2点を結ぶ辺を作り、その重みをユークリッドノルムとして計算し、昇順にソートする。
nは10万以上のため、全ての重みをメモリ上で保持してソートするのは現実的でない。現実の計算機上で高速に計算しソートする方法を示せ

[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: g++
 [3.3] 言語: C++
[4] 期限: (無期限]
[5] その他の制限: なし


967 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:33:01 ]
>>966
(n-1)! 個の重みを昇順にソートするって事?

968 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:33:22 ]
#ifdef gets
#undef gets
#endif

#define gets fgets

...

969 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:33:56 ]
>>965
その後の講義でバッファオーバーフローの説明があるのかもしれない

970 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:34:30 ]
>>969
課題で使えと出している時点でダウト



971 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:37:38 ]
>>967
n(n-1)個の辺の重みです。重みは可換ですからn(n-1)/2個で済みますが

972 名前:954 [2008/06/18(水) 21:46:13 ]
>>957

ありがとうございました<m(__)m>。

973 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:48:40 ]
>>970
そんなもん後から知ればいいこと。
道具の良し悪しよりも道具の使い方を知るタイミングだ

974 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:49:05 ]
>>963
scanf("%f",...); →scanf("%lf",...);
scanf の変換指定%f はfloat型 %lfはdouble型

975 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:52:26 ]
>>973
いちいち客観的にタブーとされているものを擁護するレスがうぜーよ素人

976 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:56:41 ]
玄人ktkr

977 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:57:31 ]
オーバーランについて理解していて、使うことを容認するような意見するか・・・
明らかに考え方がおかしい。敢えて使わせることなんてせず、問題があるなら
それは授業で説明すれば良いこと。問題を起こさせる課題だとしても
万が一生徒のコンピュータにトラブルが起こったら、賠償モンだよw

978 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 21:59:07 ]
>>974
できました。
ありがとうございます。

979 名前:951 mailto:sage [2008/06/18(水) 22:02:16 ]
>>962さん
ありがとうございます

980 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:03:28 ]
getsなんて最初からなかったものとして教えなければいいのにな。
scanfのほうがいくらか安全だろう。



981 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:13:42 ]
宿題くらいにしか使えないんだからスルーしてやれ

982 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:15:27 ]
>>975
玄人か。すげえな。
一応俺もプログラムでご飯食べてるけど、まあどんな関数でも
いつobsoluteになるかわからんよね。

がんばってな。応援してるよ。

983 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:18:08 ]
obsolute の検索結果 約 33,900 件中 1 - 10 件目 (0.18 秒)
obsolete の検索結果 約 28,200,000 件中 1 - 10 件目 (0.18 秒)

984 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:18:37 ]
Oberfoot取りイクナイ

985 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:18:39 ]
[1] 授業単元:プログラム演習
[2] int型配列x,yを次のように宣言する。
int x[5]={3,-2,-4,2,3};
int y[7]={1,3,3,-2,3,0,5};
このとき,xおよびyの配列の各要素の合計を返す関数ArraySum()を作成せよ。
なお,xとyとで2つの異なる関数を作る必要はない。

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年06月20日まで
[5]

これも、コンパイルできたのですが、正しい値が帰ってきません。
どこがおかしいのか教えてください。
よろしくお願いします。



986 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:19:06 ]
#include<stdio.h>

int ArraySum(int data[]);

main(){
int x[5]={3,-2,-4,2,3};
int y[7]={1,3,3,-2,3,0,5};

int sumx=ArraySum(x);
int sumy=ArraySum(y);

printf("配列xの合計は%d",sumx);
printf("配列yの合計は%d",sumy);

}

int ArraySum(int data[]){

int i,sum=0;

for(i=0;i<sizeof(data)/sizeof(data[0]);i++){

sum=sum+data[i];
}
return(sum);
}

987 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:21:51 ]
>>986
printf("%d\n", sizeof(data));
を追加してみ

988 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:27:26 ]
>>984
Oberfootの検索結果 1 件中 1 - 1 件目 (0.02 秒)

989 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:29:44 ]
>>984
120でした。
ということは、i<30になってるんでしょうか


990 名前:989 mailto:sage [2008/06/18(水) 22:30:12 ]
>>987
でした
すいません



991 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:31:46 ]
>>986
int ArraySum(int data[], int size)
{
int i, sum = 0;
for(i=0; i<size; i++) sum += data[i];
return sum;
}

配列を関数に渡すときは、サイズも渡さないと。

992 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:32:59 ]
この予想外の展開に玄人はどう答えるのか楽しみである

993 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:34:07 ]
自分が指摘されると、相手にお前はどうすんだと意見を請うところも
性格が捻くれているのがバレバレ。いちいちそういうこと言うから嫌われるんだよw
おまけに、わけの分からない擁護。勝手な憶測でつじつま合わせにもならん
無駄な戯言を。

994 名前:989 mailto:sage [2008/06/18(水) 22:35:38 ]
配列を関数に渡してから、サイズを測ることはできますか?。

995 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:35:46 ]
ポインタ一個で120B…ねーよ

996 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:36:03 ]
>>993
謝るくらいなら最初からやんな

997 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:40:59 ]
>>994
できません

998 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:41:16 ]
次スレ
C/C++の宿題を片付けます 110代目
pc11.2ch.net/test/read.cgi/tech/1213796455/

999 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:42:29 ]
ttp://jp.youtube.com/watch?v=RIL28wqOQGA
getsの問題点知ってる?知らない?
知らないことあるかー、後で授業で説明するかもしれないだろっ!
お前これどうすんだっ?ん?

1000 名前:デフォルトの名無しさん mailto:sage [2008/06/18(水) 22:42:37 ]
>>993
俺はあんたみたいなわけ分からんヤツには何も請うてない。
玄人の意見が聞きたいだけだ。



1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前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