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


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

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



1 名前:デフォルトの名無しさん [2008/10/01(水) 07:28:51 BE:151474728-PLT(18888)]
あなたが解けない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++の宿題を片付けます 115代目
pc11.2ch.net/test/read.cgi/tech/1217741118/

757 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 19:09:50 ]
>>734
ありがとうございました!

758 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 19:17:16 ]
[1] 授業単元:プログラミング
[2] 問題文:
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7863.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:10/27
[5] その他の制限:式の部分が上手くいきません。
         よろしくお願いします。

759 名前:デフォルトの名無しさん [2008/10/26(日) 19:38:23 ]
こうやって見ると数式のプログラムばかりだね
理学部やならいいけど、工学部情報学科ならば実務とはかけ離れてるのも大概にしろと

760 名前:デフォルトの名無しさん [2008/10/26(日) 19:38:56 ]
プログラム演習は数式遊びの場じゃない

761 名前:デフォルトの名無しさん [2008/10/26(日) 19:40:09 ]
東大のプログラムの授業なんかは
ユニックスのパイプコマンドを作成しろとか
サーバー通信なんちゃらの実務的なのが多い


762 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 20:03:15 ]
>>761
東大じゃありませんが、1990年ごろの情報系学部演習ですでに、
ごく簡単なシェル/パイプを実装, (fork() +exec*()+pipe())
をやっていました。シグナルとかセマフォとかも。無論、当時の私には極悪・試行錯誤の連続で泊り込む勢いでした。
バークレーソケットは3年次後半でしました。

それはそうと、ロジスティック方程式を解いて(がんばれば高校数学でできます。)解析解に代入する、とかはどうでしょう。やっぱりだめですか。
ja.wikipedia.org/wiki/%E3%83%AD%E3%82%B8%E3%82%B9%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E6%96%B9%E7%A8%8B%E5%BC%8F
数値解析部門は、それはそれで習得しなければならないと思います。

763 名前:デフォルトの名無しさん [2008/10/26(日) 20:17:24 ]
MATLBAでやったら全部一発

764 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 20:34:52 ]
>>755
私の環境は WindowsXP/cygwin なんですが、エラーはでませんでした。(警告によるとキャストが必要なものはありましたが、まあ問題ない)
さて、S_* などは、私の環境では sys/stat.h にあるのですが、(実体は /usr/include/sys/stat.h) >>755さんの環境でも、
インクルードファイルをみつけているようですね。(インクルードパスがちがっておれば、みつけられない、ってでてくると思います。)
すると、暗黙の #define が unix(posix) 用になっていないのかもしれません。

gcc -v ソース.c 2> mes.txt

として、mes.txt の内容をください。
2>
がうまくいかないのであれば、その旨書き込んでください。

765 名前:デフォルトの名無しさん [2008/10/26(日) 20:56:37 ]
>>764
レス有り難うございます。mes.txtをアップ致しました。
thread modelというのはposixになっているようですが。。
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7864.txt



766 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 21:27:10 ]
>>765
では、
gcc -Dunix -v ソース.c 2> mes2.txt
の結果をください。
/usr/include/sys/stat.h の内容もください。

そ れ と、

このソースファイルをコンパイルしたいな、と思った動機を教えてください。というか白状してください。(笑)
もし演習の課題ならば、コンパイルできない、という事態に陥らないよう、教官がいろいろ陰で配慮してくださるはず。
うまくいかないのは、課題を出した教官が怠慢だったのか、ということもあるかもしれませんが、
私の見るところ、自主的に今ある環境で自分のやりたいことをやってみた、という気がします。
その意気やよし!
最後まで付き合います。ただし今日は徹夜を覚悟してください。

767 名前:デフォルトの名無しさん [2008/10/26(日) 21:40:07 ]
[1] 授業単元:データ構造とアルゴリズム演習
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7865.txt
[3] 環境
 [3.1] OS:UNIX
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限: 10月28日まで
[5] その他の制限: 特になし

よろしくお願いします

768 名前:デフォルトの名無しさん [2008/10/26(日) 21:50:29 ]
>>766
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7866.txt
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7867.txt
アップ致しました。本当に課題です。文系なのに間違って海外の理系の学校に
来てしまい毎日半端ない宿題に追われているところです。なので、自主的に、
といいたいところですが今はとにかくコンパイルすることしか頭にありません。。
助けばかり乞うのは自分のためによくないのですが最近はあまりに半端ない分量の
ため依存率が高くなってきました。

769 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 22:06:22 ]
>>768
なんだか、教官が手抜きなんですねぇ。それは大変。

では、
gcc -v -D__USE_BSD -v ソース.c 2> mes3.txt
として mes3.txt の内容をください。
あと、コンパイルできたかどうか、コンパイルできたのなら実行結果
(おそらくは ./a.out . > mes4.txt
として mes4.txt に結果が入ると思います。)
を教えて下さい。

あるいは教官に「コンパイルできないよ!」と主張してください。(そちらは昼ですか?)
30分後にのぞきます。

770 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 22:11:05 ]
>>767
1-1:
struct cell *cell2 = cell1->next;
struct cell *cell3 = cell2->next;
printf("%d\n%d\n%d\n", cell1->element, cell2->element, cell3->element);

1-2:
struct cell *c;
for (c = cell1; c != NULL; c = c->next) {
printf("%d\n", c->element);
}

771 名前:デフォルトの名無しさん [2008/10/26(日) 22:18:55 ]
>>769
原因が判明しました。怒らないで下さい。いつもメイクファイルを使用しているのですが、
常にgccのオプションは-Wall -std=c99としています。先程たまたま-std=c99を取ったらコンパイル
出来てしまいました!(なんでMacの環境だと同じメイクファイルでエラーにならないんだろう。。)
なぜかの原因究明はもう辞めて寝ます。徹夜したところなので。。ちなみに教官にMac OSXの環境で
つくったからこれで勘弁して!って言ったら駄目だと言われました。厳しい世の中ですね。
色々とサポート有り難うございました。
以上

772 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 22:19:20 ]
2-1:
void append(struct cell **cell1, int e)
{
struct cell *cell2 = (*cell1)->next;
(*cell1)->next = malloc(sizeof(struct cell));
(*cell1)->next->element = e;
(*cell1)->next->next = cell2;
}

2-2:
void prepend(struct cell **cell1, int e)
{
struct cell *cell0 = malloc(sizeof(struct cell));
cell0->element = e;
cell0->next = *cell1;
*cell1 = cell0;
}

使い方:
append(&cell1, /* 新しい element */)
prepend(&cell1, /* 新しい element */)

773 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 22:45:12 ]
>>771
んー、それはそれで謎なんですが‥‥‥。
-std=c99
は、直近のCの規格でコンパイルする、ということでしかないので、今回は特に影響がないはず。
c99とすると、でインクルードするヘッダがかわるのでしょうか?c++ 風に <iostream> と.h がない書き方にしないといけないのでしょうか?よくわかりません。
このあたりは識者からのコメントをお待ちいたします。

実行結果を教えてくださるとありがたいです。ともあれ、おやすみなさい。

774 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 23:03:46 ]
gccの場合、-std使うとたしかそれに合わせて標準のヘッダの中身も
変化する(#ifdefなどを使って)から、その影響はあると思う。

775 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 23:06:18 ]
[1] 授業単元:Cプロギラミング
[2] 問題文(含コード&リンク):
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7868.zip
のmatrix2.datファイルを参照して、
その係数行列Aの逆行行列X=A^-1を求めるプログラムを作成してください。

AX=I(Iは単位行列)となることをしめしてください、

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7868.zip
に含まれるmat_auxに含まれる補助関数を使ってください。

[3] 環境
 [3.1] OS:inux
 [3.2] コンパイラ名とバージョン:gc
 [3.3] 言語:C
[4] 期限: ([2008年11月6日まで]



776 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 23:10:01 ]
>>666
遅れましたが、ありがとうございました。

777 名前: ◆ojvIN3PEqY [2008/10/26(日) 23:31:37 ]
[1] 授業単元:プログラミング
[2] 問題文:ビットマップディスプレイの原理を用いて、入力した整数(0〜1000000)を、ビットマップ式に表示するプログラムをつくれ。

357111
*** *** *** * * *
* * * * * *
*** *** * * * *
* * * * * *
*** *** * * * *

[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:2008年10月27日まで
[5] その他の制限:配列の基礎まで習いました。
お願いいたします


778 名前: ◆ojvIN3PEqY [2008/10/26(日) 23:33:36 ]
例がおかしくなってしまったので無視してください(*_*)

779 名前:デフォルトの名無しさん [2008/10/26(日) 23:40:11 ]
[1] 授業単元:ハードウェア設計
[2] 問題文(含コード&リンク):kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7844.txt
[3] 環境
 [3.1] OS:Windows
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C++
[4] 期限: 10月28日まで
[5] その他の制限: 特になし
よろしくお願いします。

780 名前:775 mailto:sage [2008/10/26(日) 23:43:32 ]
問題文に間違いがあったので修正します。

[1] 授業単元:Cプロギラミング
[2] 問題文(含コード&リンク):
LU分解法を用いて、
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7868.zip
のmatrix2.datファイルを参照して、
その係数行列Aの逆行行列X=A^-1を求めるプログラムを作成してください。

AX=I(Iは単位行列)となることをしめしてください、

kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7868.zip
に含まれるmat_auxに含まれる補助関数を使ってください。

[3] 環境
 [3.1] OS:inux
 [3.2] コンパイラ名とバージョン:gc
 [3.3] 言語:C
[4] 期限: ([2008年11月6日まで]

781 名前:デフォルトの名無しさん [2008/10/26(日) 23:44:21 ]
>>777
#include <stdio.h>
#include <stdlib.h>

int
main()
{
char s[81];
int i = 357111;
sprintf(s, "banner %d", i);
return system(s);
}


782 名前:デフォルトの名無しさん mailto:sage [2008/10/26(日) 23:48:42 ]
>>774
んー、では 64bit がらみですか?それとも <sys/stat.h> の内容が変わったのか?

ちょっと調べてみましたが、最近は stat(2) 返り値の st_mode の判別方法として、
if (S_ISBLK(infobuf.st_mode))
printf("block device.\n");
というマクロが定義されているようですね。
私は、
if ((infobuf.st_mode & S_IFMT) == S_IFBLK)
printf("block device.\n");
しかしらなかったのですが。

ひきつづき識者のコメントをいただけたら、と思います。

783 名前:デフォルトの名無しさん [2008/10/27(月) 00:09:30 ]
基本情報スレからきました

784 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:17:26 ]
>>777
#include<stdio.h>
#include<string.h> // memset
#define WIDTH (4*7)
#define HEIGHT (5)
void numset(char screen[HEIGHT][WIDTH], int x, int y, int num){
static const char font[][4*10+1]={ // 0123456789 の順に 3x5 で文字+数字間と末尾に一文字空白入れる
"*** * *** *** * * *** *** *** *** *** ",
"* * * * * * * * * * * * * * ",
"* * * *** *** *** *** *** * *** *** ",
"* * * * * * * * * * * * * ",
"*** * *** *** * *** *** * *** *** ",
};
int ix, iy;
for(iy=0;iy<5;iy++)
for(ix=0;ix<4;ix++) screen[y+iy][x+ix]=font[iy][num*4+ix];
}
void display_number(long value){
char screen[HEIGHT][WIDTH];
long div, x, y=0;
if(value<0 || value>1000000) return;
memset(screen, '\0', sizeof(screen));
for(div=1;value/div>=10;div*=10);
for(x=0;div>0;div/=10,x+=4) numset(screen, x, y, (value/div)%10);
for(y=0;y<HEIGHT;y++) printf("%s\n", screen[y]);
}
int main(int argc, char *argv[]){
int num=123456;
if(argc==2) sscanf(argv[1], "%d", &num);
display_number(num);
return 0;
}

785 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:37:21 ]
>>782
ヘッダ見ればいいんじゃ、とおもうんだけど。。。



786 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:50:25 ]
円周率3より悲惨な事実w

572 名前:名無し検定1級さん 投稿日:2008/10/27(月) 00:48:29
と思ったけど、今の大学3年以下のゆとり教育課程では
方程式を高校で初めて学ぶんだったねw
ありえんwww
複素数無くなったしw

787 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:53:46 ]
二次方程式 / 複素数平面 じゃないかね

788 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:54:39 ]
>>779
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7869.txt

問題2についてはなんか違う気もするけど仕様を満たせばいいかな。

gccでコンパイルできるかなぁ

789 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 00:58:40 ]
1,
1,2,
3,2,1,
1,2,3,4,
5,4,3,2,1,
.
.
.
これらの規則的な数字を配列のvd[1〜100]に順番に入れていきたいんですけどどうしたらいいでしょう。
あとその反対の
1,
2,1,
1,2,3,
4,3,2,1,
1,2,3,4,5,
.
.
.
をvm[1〜100]に順番に入れたいのですが、
ループさせてうまく配列に入れられないでしょうか。
わかるかた教えてください。
お願いします。

790 名前:デフォルトの名無しさん [2008/10/27(月) 01:07:17 ]
[1] 授業単元:構造体
[2] 問題文:1,名簿ファイルを読み込み、生年月日の順に並べる、苗字の順に並べる、名前の順に並べる、mail addressの順に並べるプログラムを作れ。ただし、文字列の大小を比較する関数として、strcmpを用いよ。
#include <string.h>
int strcmp(char str1, char str2);
------------------------
str1>str2 → 0より小さな整数 ,str1==str2 → 0 ,str1<str2 → 0より大きい整数
関数 void SortData1(struct person *person, int *index, int n); /* 生年月日の順番に並べる */
関数 void SortData2(struct person *person, int *index, int n); /* 名の順番に並べる */
関数 void SortData3(struct person *person, int *index, int n); /* 姓の順番に並べる */
関数 void SortData4(struct person *person, int *index, int n); /* mail-addressの順番に並べる */ をそれぞれ作り、 結果を表示せよ。
2,県の郵便番号のリスト(メンバーの数約5000個)を配列の大きさだけを変えて、これを郵便番号順、読み仮名順に並べ替えるプログラムを作れ。
[3] 環境 [3.1] OS:Linux [3.2] コンパイラ名とバージョン:gcc [3.3] 言語:C
[4] 期限:2008年10月27日16:00まで
[5] その他の制限:1の関数の宣言は以下のようにする。
関数 void ReadData(struct person *person, int *index, int *n);
関数 void PrintData(struct person *person, int *index, int n);
関数ReadData、PrintDataでは、
while(scanf(“%d %s %s %s %s”,&person[i].birth, person[i].first_name,
person[i],last_name, person[i].mail_addr, person[i].thema)!=EOF){
index[i]=i;
i++; }
-------------------------------------------------------------
for(i=0;i<n;i++){
printf(“%d %s %s %s %s\n”,person[index[i]].birth, person[index[i]].first_name,
person[index[i]].last_name, person[index[i]].mail_addr,person[index[i]].thema); }
とりあえず、問題1の並び替えがうまく出来ませんorz
お願いします。


791 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 01:08:57 ]
>>787
もちろん一次のこと
さらに複素数も無限級数もやらなくなった


792 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 01:09:34 ]
IT業界だけじゃないけど、これから日本のエンジニアは大変なことになる
大量に採用するなら今年までにしとけ
再来年からはヤバイ奴らが入社してくるぞww

793 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 01:10:28 ]
>>790
名簿ファイル下さい

794 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 01:13:49 ]
>>791
んじゃ中学で何習うのorz

795 名前:デフォルトの名無しさん [2008/10/27(月) 01:24:26 ]
>>793
名簿ファイルはリアルに教授の名前載ってるから、あげるの無理なんです
すみません



796 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 01:25:49 ]
>>795
せめて構造体の中身教えてな
themaには何が入ってるんだ?
研究テーマか何かか?

797 名前:775 mailto:sage [2008/10/27(月) 01:26:48 ]
>>780をお願いします。

798 名前:デフォルトの名無しさん [2008/10/27(月) 01:37:20 ]
>>796
名簿はこんな感じ
19670712 namae a aaaaaa@xxx.aaaaaa.ac.jp Uchu
19790102 namae b bbbbbb@xxx.bbbbbb.ac.jp Kotaidenshi
19300303 namae c cccccc@xxx.cccccc.ac.jp Uchu
----------------------------------------------------
themaには研究テーマが入ってます

宜しくお願いします


799 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 02:27:33 ]
[1] 授業単元:プログラミング
[2] 問題文:
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7863.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:10/27
[5] その他の制限:何度もすいません・・・
         式がやはりネックです

800 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 02:38:23 ]
>>701
>別に1024個区切りで平均なり飛び出してる値なりが分かればいいんでしょ?
そういうことです。

>「(平均値+5*ρ)以上の値を最大値(極大値)とするように変更」という課題があるけれど、 じゃあ最初の課題では極大値の判定はどうやってやればいい?
平均値以上の値を最大値(極大値)としなきゃいけないんですOTL


801 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 03:00:37 ]
>>790
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7870.txt

とりあえず、1番だけ。
2番は問題の意味がよくわからない。
もっと詳しく書いてくれ。
必要なデータとかあればそれもよろしく。

今日はもう寝る。

802 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 03:17:59 ]
>>663 問題修正
[1] 授業単元: 信号処理
[2] 問題文(含コード&リンク):
@ 5行209921列の2次元配列のファイルを読み込みなさい。ファイルの値を1024個で区切り1024個中の値の平均値と(平均値+5*ρ)以上の値を最大値(極大値)を求めなさい。ρを標準偏差とする。
最大値をmax1、max2、max3、・・・・として最大値は1個とは限らないこととする。
また1024個の最大値を求め終わったら、次の1024個の最大値を求めなさい。この作業をファイルの最後の値までやりなさい。
ただし、ファイルのサイズは17.2MBととし十分なメモリ領域を確保すること。
ヒント:malloc関数
※ファイル↓(17MBもあるのでDLするのに時間がかかるかもしれません。お手数かけます。)
 kissho6.xii.jp/14/src/1yon14506.zip.html
 DLKey:data

A 求めた最大値をpeak.txtに出力しなさい。1行目を最初の1024個中で求めた最大値を表示させ、2行目からは次の1024個中から求めた最大値を表示させなさい。

B @で読み込んだファイルの数値は周波数1,2,3,…,1024の時の値である。1024個で区切ったのはそのためである。
  @で求めた各々の最大値の周波数を [周波数]最大値 となるようにAで出力したpeak.txtに出力できるように変更させなさい。
    例:peak.txt→ [67]3.214283 [84]2.4930390 [148]5.3485704 ・・・・
            [38]3.4255342 [72]3.214283 [98]2.434924390・・・・
             ・
             ・
             ・
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008年10月27日午後5時
[5] その他の制限: 特になし

よろしくお願いします。

803 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 03:20:10 ]
>>802 補足説明
 
まず@番目の問題は、二次元配列で出力されている値のファイルを読み込むこと。
その値を1024個を一つのくくりとする。つまり1個目[0][0],2個目[0][1],・・・,5個目[0][4],6個目[1][0],・・・,1024個目[205][3]とする。このとき個数=周波数の値でもある。
この1024個の値の平均値と最大値(極大値)を求める。
最初の1024個の最大値(極大値)を求めたら、次の1024個の最大値(極大値)を求める。
次の1024個とは1個目[206][0],2個目[206],[1],・・・,1024個目[411][3]とする。これをファイルの最後の値まで繰り返し行う。

よろしくお願いします。

804 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 03:57:31 ]
[1] 授業単元:配列
[2] 問題文:10人分の2科目の試験得点(100点満点)を2次元配列に初期化しておく。2次元配列vの宣言と初期化は以下のとおり

int v[2][10]={{55,67,45,78,89,91,73,50,80,69}
{44,59,87,92,60,51,77,89,64,53}};

この10人分の科目別得点の平均を求めなさい。ただし、2科目の科目別平均は次の1次元配列に格納する。
 double mean[2]

doubleという型名で配列の名前がmean

《実行結果》
科目1の平均=69.700000
科目2の平均=67.600000


[3] 環境
 [3.1] OS:XP
 [3.2] コンパイラ名とバージョン:bcc
 [3.3] 言語:C
[4] 期限:10/27 午後1時
[5] その他の制限:出来るだけ短く

どうかよろしくお願いします



805 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 03:57:47 ]
>>785
そう、だから >>768 で sys/stat.h を貼ってもらって、それをみたんですが、
くだんの#define は
#if defined __USE_BSD || defined __USE_MISC || defined __USE_XOPEN
の下で定義されていました。
mac osx = darwin ≒ FreeBSD+mach? であっても、
-std=c99 とすると、この上のどれも #define されず、
それでいて-std= を指定しなければ、この上のどれかが #define される
ということ、かつ >>774 より-std で#define の内容がかわる、ということですから、そんなことがあっても不思議でない、ということです。
単にそれだけですが。



806 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 04:19:58 ]
>>805
失礼。認識間違いしていました。
>>768の環境では__USE_BSD も __USE_MISC も __USE_XOPEN もどれも #define されないようですね。
でも手元のVine Linux 4.2 では __USE_BSD と __USE_MISC が #define されています。(#error で確認)
したがって >>768 の環境に問題があるのでしょうか。debian な人にお願いするしかないですね。




807 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 04:24:18 ]
>>806
手元の Vine Linux 4.2 で -std=c99 をコンパイルすると、>>768 と同じ現象が再現しました。
じゃ、いったいなにが #define されているのでしょうか‥‥‥。

808 名前:デフォルトの名無しさん [2008/10/27(月) 08:13:30 ]
【質問テンプレ】
[1] 構造体:
[2] 英文なので翻訳します。
この宿題の中で、僕はFieldとScreenという2つのクラスを持っています。
Screen というクラスはField というクラスを80個持ちます。
で、問題はここからなのですが
教授は「Screenが無制限にFieldを持つようにプログラムを作れば、ボーナス点をやる」
とか言いだしたのでどうやるか教えてください。

[3] 環境
 [3.1] うぃんどーず
 [3.2] ぼーらんど 
[3.3] C++
[4] 一週間後
[5] 制限:new とか使う感じです。

809 名前:デフォルトの名無しさん [2008/10/27(月) 08:13:42 ]
>>801

ありがとうございます
問題2は
郵便番号 区(漢字で) 町(カタカナで) 町(漢字で)
の順に並んだ名簿のファイルを読み込んで並び変えます

810 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 08:21:13 ]
>>808
[3] 環境
 [3.1] うぃんどーず
 [3.2] ぼーらんど 

Windowsもborlandも読めないだろうと馬鹿にしてるんだな


811 名前:デフォルトの名無しさん [2008/10/27(月) 08:28:46 ]
>>810
いやwwwwwそういうわけじゃないです。。。
教えてくださいお願いします!

812 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 08:56:43 ]
>>808
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7871.txt

std::vectorを使ったがnew/deleteでも同じようにいけるはず
誰かに任せた

813 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 08:57:50 ]
#include <iterator>
#include <functional>

は不要なので削除して下さい

814 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 08:59:31 ]
>>789
int i, j, k, flag, vm[100];

for(i=1,k=0,flag=1; flag; i++) {
for(j=1; j<2*i-1 && flag; j++) {
vm[k++] = j;
if(k==100) flag = 0;
}
for(; j>0 && flag; j--) {
vm[k++] = j;
if(k==100) flag = 0;
}
}

下の場合は
for(j=1; j<2*i&& flag ; j++) {

815 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 09:07:36 ]
>>812
ありがとうございます。
でもnew/delete使う感じでお願いしたいんです。
vectorが何のこっちゃ分かりません。すみません・・・



816 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 09:09:19 ]
[1] 授業単元: 配列
[2] 問題文(含コード&リンク)
身長について処理をするプログラムの作成

最大20とする整数nをキーボードから入力する。
次に、n人分の実数(身長)をキーボードから入力しその平均身長をもとめ、
さらにそのそれぞれの人の身長と、平均身長との差を一人一行ずつ出力しなさい。
小数点以下は無視していい。
例)
n=3の場合
170.0 0.0
165.0 -5.0
175.0 5.0

[3] Windows
VC 6.0
言語:C++
[4] 期限:今日中
[5] その他の制限:特になし

c言語を侮っていてさぼり気味だったつけがまわり、気がついたら全くわからなくなってました。
ヒントだけでもいいのでどうかお願いします。

817 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 09:20:11 ]
>>815
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7872.txt

わかるかな?これ以上簡単に書けんよ

818 名前:デフォルトの名無しさん [2008/10/27(月) 09:24:37 ]
>>817
ありがとうございます!

819 名前:デフォルトの名無しさん [2008/10/27(月) 09:49:54 ]
[1] 授業単元: プログラミング基礎
[2] 問題文: ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7873.txt
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Visual Studio 2005
 [3.3] 言語: C
[4] 期限: 10月27日 21:00まで

よろしくお願いします

820 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 10:20:56 ]
pc11.2ch.net/test/read.cgi/gamedev/1217601153/
Syntax Error. しかしらないキチガイが現れました

821 名前:デフォルトの名無しさん [2008/10/27(月) 10:26:09 ]
>>816
#include <stdio.h>

int main(void)
{
int i, n;
int sincho[20];
int sum, heikin;
printf("n? ");
scanf("%d", &n);
if (n >= 20) {
printf("nが大きすぎます。\n");
return 1;
}
for(i = 0; i < n; i++)
{
printf("%d人目の身長: ", i+1);
scanf("%d", &sincho[i]);
}
sum = sincho[0];
for(i = 1; i < n; i++)
{
sum += sincho[i];
}
heikin = sum / n;
for(i = 0; i < n; i++)
{
printf("%d %d\n", sincho[i], sincho[i] - heikin);
}
return 0;
}


822 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 10:31:06 ]
>>816

#include <stdio.h>
int main(int argc, char *argv[])
{
double height[20], sum, avg;
int n, i;

printf("n の値を入力してください: ");
scanf("%d%*[^\n]", &n);
if (n > 20) {
puts("大きすぎます");
return 1;
}
sum = 0.0;
for (i = 0; i < n; i++) {
printf("身長を入力してください: ");
scanf("%lf%*[^\n]", &height[i]);
sum += height[i];
}
avg = sum / n;
for (i = 0; i < n; i++) {
printf("%.1f %.1f\n", height[i], height[i] - avg);
}
return 0;
}

823 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 10:32:36 ]
>>819
#include<stdio.h>
int main(void){
char str[100],big[100];
int i,k;
printf("文字列を入力して下さい:");
scanf("%s",str);
k=0;
for(i=0; str[i]!='\0'; i++){
switch(str[i]){
case 'a':
case 'i':
case 'u':
case 'e':
case 'o':continue;
default:{big[k]=str[i]-32;
k++;
}
}
}
big[k]='\0';
printf("入力:%s\n",str);
printf("出力:%s\n",big);
}

824 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 10:34:06 ]
忘れた
return 0;

825 名前:デフォルトの名無しさん [2008/10/27(月) 10:35:03 ]
#include <stdio.h>
int main(void){
char str[100],big[100];
int i, j;
printf("文字列を入力して下さい:");
scanf("%s",str);
for(i=0, j=0; str[i]!='\0'; i++){
if (str[i]>='a' && str[i]<='z'){
big[j]=str[i]-('a'-'A');
if (big[j] == 'A' || big[j] == 'I' ||
big[j] == 'U' || big[j] == 'E' ||
big[j] == 'O')
{
;
}else j++;
}else if (str[i] == 'A' || str[i] == 'I' ||
str[i] == 'U' || str[i] == 'E' ||
str[i] == 'O')
{
;
}else {
big[j] = str[i];
j++;
}
}
big[j]='\0';
printf("入力:%s\n",str);
printf("出力:%s\n",big);
return 0;
}



826 名前:デフォルトの名無しさん [2008/10/27(月) 11:38:02 ]
>>788さん
ありがとうございます!
大変助かりました!

827 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 12:27:23 ]
>>820 = ID:FJ+86jwr ?
数字も読めないのか

828 名前:デフォルトの名無しさん [2008/10/27(月) 12:30:57 ]
[1] 授業単元:プログラミング
[2] 問題文:な簡単な単語検索を行うプログラムを作成
せよ.
1. 3 つの単語を入力し,これを検索対象のデータと
する.
2. 検索したい単語を入力すると,それが覚えた単語
の中に含まれていれば“YES!”,含まれていなけ
れば“NO!”と出力する.
3. −1 が入力されるまで,繰り返し検索できるように
する.
条件
3 つの単語は,2 次元配列str1[3][100] に格納する.
(str1 には99 文字までの単語を3 つ格納できる)
実行例
$ ./q2-4
Input 3 words:
<-- "aaa"
<-- "bbbb"
<-- "ccccc"
Search word: <-- "aaa"
YES!
Search word: <-- "dd"
NO!
Search word: <-- "-1"
$ (終了)
[3] 環境
 [3.1] OS: Linux
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限:10月30日 木曜日
[5] その他の制限: 標準関数strcmp(str *, str *) を使うということです
よろしくお願いします

829 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 12:50:45 ]
>>828
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7874.txt

830 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 13:20:59 ]
>>820
どう見てもキチガイはID:FJ+86jwrだな

831 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 13:54:18 ]
>>790
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7875.c

2番も1番と同じ要領でやってみた。

832 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 14:15:40 ]
>>802 問題文修正しました。
>>663 問題修正
[1] 授業単元: 信号処理
[2] 問題文(含コード&リンク):
@ 209921行5列の2次元配列のファイルを読み込みなさい。ファイルの値を1024個で区切り1024個中の値の平均値と(平均値+5*ρ)以上の値を最大値(極大値)を求めなさい。ρを標準偏差とする。
最大値をmax1、max2、max3、・・・・として最大値は1個とは限らないこととする。
また1024個の最大値を求め終わったら、次の1024個の最大値を求めなさい。この作業をファイルの最後の値までやりなさい。
ただし、ファイルのサイズは17.2MBととし十分なメモリ領域を確保すること。
ヒント:malloc関数
※ファイル↓(17MBもあるのでDLするのに時間がかかるかもしれません。お手数かけます。)
 kissho6.xii.jp/14/src/1yon14506.zip.html
 DLKey:data

A 求めた最大値をpeak.txtに出力しなさい。1行目を最初の1024個中で求めた最大値を表示させ、2行目からは次の1024個中から求めた最大値を表示させなさい。

B @で読み込んだファイルの数値は周波数1,2,3,…,1024の時の値である。1024個で区切ったのはそのためである。
  @で求めた各々の最大値の周波数を [周波数]最大値 となるようにAで出力したpeak.txtに出力できるように変更させなさい。
    例:peak.txt→ [67]3.214283 [84]2.4930390 [148]5.3485704 ・・・・
            [38]3.4255342 [72]3.214283 [98]2.434924390・・・・
             ・
             ・
             ・
[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: gcc
 [3.3] 言語: C
[4] 期限: 2008年10月28日午後1時
[5] その他の制限: 特になし

よろしくお願いします。


833 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:17:14 ]
>>744

ありがとうございました!

834 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:17:14 ]
>>832
@とAまでは↓もうプログラムはあります。
kissho1.xii.jp/7/src/7jyou16183.zip.html
DLkey : foo
あとはB番目の問題をやるだけです。

プログラムよろしくお願いします。

835 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 15:54:45 ]
>>832
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7877.c
peak.txtが例の通りにならないんだが、これでいいのだろうか。

>>834を読んでなかった…。



836 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:08:27 ]
3と4はもう答え書いたのに(´・ω・`)

837 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:09:06 ]
[1] 授業単元:プログラミング
[2] 問題文:
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7863.txt
[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:10/27
[5] その他の制限:

838 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:12:59 ]
>>835
ありがとうございます。
しかし、peak.txtが出力されませんでした。どうしてなんだろう?
コンパイルはgccですよね? 

839 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:17:46 ]
>>836
コンパイルはとおったのですが、peak.txtが出力できませんでした。
かなり格闘したのですが、手に負えなくて・・・OTL


840 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:20:25 ]
>>835
fprintf(fpout, "[%d]%lf ", j + 1, a[j]);
は正しくは
fprintf(fpout, "[%d]%f ", j + 1, a[j]);



841 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:22:01 ]
>>840
そうだった^^;

842 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:28:46 ]
>>836
というか、旧Bが現@なんだよねたぶん。

843 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:41:51 ]
>>842
はい、そうです。なんか旧@と旧Bの問題が重複(分かりにくい)ということだったので
旧Bの問題文を現@の問題文に含みました。

よろしくお願いします。

844 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 16:52:32 ]
>>838
peak.txtのファイルすらできないってこと??

845 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:05:02 ]
>>844
はい、そうです。ファイルができませんOTL
gccのオプションは -o だけでいいのですか?



846 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:09:16 ]
まさかコンパイルしただけでファイルが出来るとか思ってないよな

847 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:10:11 ]
>>845
gcc hoge.c -o hoge.exe
ってな感じにコンパイルして実行すれば良いと思うけど。。。
コンパイルは通るんだよね?

848 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:20:14 ]
>>846
あ・・・できると思ってました><
どうすればファイルを作成することが出来るのでしょうか?

>>847
コンパイルは通ります。フォルダの中にpeak.txtが出来てないだけです。

849 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:23:00 ]
>>848
実行しろよ
Linuxなら
./a.out


850 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:23:06 ]
>>848
コンパイルしてできた実行ファイルを実行する。
同じフォルダにdata.txtを置いておくこと。

851 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:24:26 ]
ひどいな・・・
赤ちゃんかよ・・

852 名前:デフォルトの名無しさん [2008/10/27(月) 17:40:17 ]
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク): f(x)=1/(2+sinx+cosx) の積分を[π,-π]の範囲でSimpsonの1/3公式で求め、分割数と誤差を表示させよ。
               
[3] 環境
 [3.1] OS:Windows
 [3.2] 言語:C言語
 
[4] 期限: 2008.10.29

お願いします。

853 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:40:26 ]
目が点になるっていうのはこういう事か

854 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 17:48:32 ]
>>852
誤差って、真値は?

855 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 18:02:09 ]
>>549>>551
すみませんでした。ちと、ボケてましたwww
うまく出力できました。
ありがとうございました。



856 名前:デフォルトの名無しさん [2008/10/27(月) 18:06:50 ]
>>854
あっ、すいません
√2×πです。

857 名前:デフォルトの名無しさん mailto:sage [2008/10/27(月) 18:12:03 ]
[1] 授業単元:C
[2] 問題文(含コード&リンク):課題1:2次元平面上の点を表す構造体 Point 型を定義して,その点に関する計算を行うプログラムを作成したい.
構造体 Point型は,double型の X座標と Y座標のメンバをもつ.
構造体 Point型を使用して,原点からの距離を求める関数 length_vectorを作成する.
構造体 Point型を使用して,平面の点を表示する関数 print_vを作成する.

2:2次元平面上の点を表す構造体 Point 型と構造体配列を定義して,座標平面上の2点に関する計算を行うプログラムを作成したい.
構造体 Point型は,double型の X座標と Y座標のメンバをもつ.
構造体 Point型を使用して,要素2つの構造体配列 arrayを定義する.
構造体配列 arrayに,平面の点を代入する関数 input_pointを作成する.
構造体配列 arrayに格納されている2点の長さを求める関数 length_vector2を作成する.
二乗の計算には pow ,ルートの計算には sqrtを使用
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/7879.txt
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: 任意
 [3.3] 言語: C
[4] 期限: ([2008年10月28日17:00まで]
??????の部分を問題文に従ってうめていただけると助かります






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

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

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