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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:18:31 ]
あなたが解けない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++の宿題を片付けます 106代目
pc11.2ch.net/test/read.cgi/tech/1209810861/

730 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:10:02 ]
>>725
逆も上げとくわ
sum += ++a;は
a = a + 1;
sum = sum + a;

731 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:11:29 ]
>>729
sum += a++ が一番簡単で単純だろ?

732 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:12:13 ]
直感的ではないよ

733 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:15:09 ]
>>731
そうだな。

こっちのPart28終わりからPart29の頭にかけてa++関連の未定義問題で論争があったくらいだ。

C言語なら俺に聞け(入門篇) Part 29
pc11.2ch.net/test/read.cgi/tech/1212329099/



734 名前:733 mailto:sage [2008/06/06(金) 00:15:52 ]
>>733>>731への同意ではなく>>732への同意だ。


735 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:17:36 ]
インクリメントを禁止してるプロジェクトに関わった事があったな。。。。。
ちょっと新鮮だった。

736 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:21:07 ]
実際のところたとえば
a = a + 1;
sum = sum + a;



sum += ++a;

としたところでコンパイル後のバイナリレベルでどのくらいクロックやメモリ
を稼げるものなんだ?

それと引き換えに新人が保守するかも知れないリスクとの天秤にかけた場合の
コストも。

737 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:23:16 ]
まだ学生だからわからんのだけど仕事でやってて、それに引っかかる人いるの?

738 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:24:10 ]
万人にわかるようにするんだよ。



739 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:25:54 ]
そんなのもわからないやつにソース触らせんなよw

740 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:27:30 ]
しるかよw

そういう規約をつくってるんだからw

あ、デクリメントも禁止されてたよ。

741 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:28:09 ]
>>737
ソースって案外長生きなんだよ。
COBOLとかあれだけクラサバ登場で無くなるといわれたのに
今だに残ってる。

webの発達でc出来る人口が減ってるのに、新人にわざわざ
今の程度の説明で時間取られたくないだろ?

742 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:29:04 ]
>>736
最適化がかかればクロックやメモリは同等になるはず
好きな方を選べばいいだけ

743 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:29:54 ]
インクリメントすら理解できないなら他の部分が大丈夫なわきゃないと思うんだが。

744 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:31:37 ]
前に、++aとa++って、何が違うんですかって、聞かれたことがあった。


745 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:35:52 ]
それだけが1行にあれば機能は同じだけど、

条件判定の中にあったりすると面倒だし
この間論争になったのは

if (xxxxxx) printf("%d",(a++)*(a++));

こんな感じの結果の違いでもめてたし。



746 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:36:21 ]
それ論争以前の未定義だから

747 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:37:33 ]
>>746
新人がインクリメント覚えて使い出してこんなの書かれると
また教える羽目になるでしょ。

だったら素直にインクリメントなどは使うなとしたほうがいい。

748 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:39:46 ]
なんていうか、C言語の省略した記述って
メモリやCPUなんかのハード資源が極端に
少なかったころのゲーム開発と似てて
みみっちいという気がする。




749 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:40:29 ]
それを論争とか言っちゃう人間が何を教えんの?

750 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 00:49:14 ]
なんでいまさら宿題スレでインクリメントが問題視されるのかわからん

751 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:32:20 ]
とても難しい問題が来ました
しかし馬鹿な私と違って非常に優秀な諸兄にはわけないでしょう

[1] 授業単元:C言語研修
[2] 問題文(含コード&リンク):
1から45の数(合計値)は1から9の数(要素)の和で作ることができる。(要素に同じ数を使わない)
例えば合計値6は最大3つ(要素数)の要素の和でつくることができ、要素数1であれば6、要素数2で
あれば1+5と2+4の2通り、要素数3であれば1+2+3でつくる。この組み合わせで全てである。
合計値と要素数から要素の和の組み合わせ全てを計算する再帰関数を作れ。
[3] 環境
 [3.1] OS: Windows
 [3.2] コンパイラ名とバージョン: Microsoft Visual C++ 6.0
 [3.3] 言語: C言語
[4] 期限: 起源はありませんが優秀な貴方方の手に掛かれば瞬殺でしょう
[5] 制限はありません。貴方方の持っている全ての知識を注ぎ込んじゃって構いません

752 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:36:25 ]
>しかし馬鹿な私と違って非常に優秀な諸兄にはわけないでしょう
こういっておけば馬鹿が調子こいてやってくれるよwプゲラ
という主の顔が浮かぶ

753 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 01:54:21 ]
>>751
#include<stdio.h>
int resolve_sub(int total, int num, int min) {
static int ans[9], anslen = 0;
int i, j;
if(!num)
return !total;
for(i = min; i <= 9 && i <= total; i ++) {
ans[anslen ++] = i;
if(resolve_sub(total - i, num - 1, i + 1)) {
for(j = 0; j < anslen ; j ++)
printf("%d ", ans[j]);
printf("\n");
}
anslen --;
}
return 0;
}
void resolve(int total, int num) {
resolve_sub(total, num, 1);
}
int main() {
resolve(30, 6); /* (例)30を6個の和に分ける */
return 0;
}

754 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:25:34 ]
#include <stdio.h>
void f(int size, int n, int *p)
{
static int pos = 0, start = 1;
int i;
if(pos==size-1) {
p[pos] = n;
for(i=0; i<size; i++) printf("%d ", p[i]);
putchar('\n');
return;
}
for(i=start; i*2<n; i++) {
start = i + 1;
p[pos++] = i;
f(size, n-i, p);
pos--;
}
}
int main(void)
{
int num, amount, *p;
printf("要素数を入力して下さい:");
scanf("%d", &num);
printf("合計数を入力して下さい:");
scanf("%d", &amount);
p = malloc(sizeof(int) * num);
f(num, amount, p);
return 0;
}

755 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:34:17 ]
問題読み違えた。
1から45まで限定で1から9しか使っちゃダメなのか。

756 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 02:50:08 ]
>>751
#include<stdio.h>
int O00O(int OOO0){
if(OOO0%2) return OOO0/2*(OOO0+1);
return (OOO0+1)/2*OOO0;
}
void OOOO(int O0OO[], int OOO0, int OO0O, int OO00, int O0000){
int O, O000;
if(OO00<=1){
O0OO[OO00]=OOO0;
for(O=1;O<OO0O;O++) printf("%d+", O0OO[O]);
printf("%d\n", O0OO[OO0O]);
return;
}
O000=(OOO0-O00O(OO00-1)-1)/OO00;
for(O=O0000;O<=O000;O++){
O0OO[OO00]=O;
OOOO(O0OO, OOO0-O, OO0O, OO00-1, O+1);
}
}
void O0O0(int OOO0, int OO0O){
int O0OO[1000];
if(OO0O>=sizeof(O0OO)/sizeof(O0OO[0])) return;
OOOO(O0OO, OOO0, OO0O, OO0O, 1);
}
int main(void){
O0O0(100, 10);
return 0;
}

757 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 03:11:13 ]
>>756
難読化乙

758 名前:デフォルトの名無しさん [2008/06/06(金) 11:37:44 ]
#include <stdio.h>
#include <float.h>
int main(void)
{ float f;
double x;
long double ld;
printf("\nTesting the precision of float, double, and long double : \n");
f = 1.0f + 1.0e-7;
printf(" 1.0 + 1.0e-7 = %.10f\n", f);
f = 1.0f + 1.0e-8;
printf(" 1.0 + 1.0e-8 = %.10f\n", f);
x = 1.0l + 1.0e-15;
printf(" 1.0 + 1.0e-15 = %.20lf\n", x);
x = 1.0l + 1.0e-16;
printf(" 1.0 + 1.0e-16 = %.20lf\n", x);
ld = 1.0L + 1.0e-19;
printf(" 1.0 + 1.0e-19 = %.30Lf\n", ld);
ld = 1.0L + 1.0e-20;
printf(" 1.0 + 1.0e-20 = %.30Lf\n", ld);
printf("\nThe experiment above is explained by constants from float.h :\n");
printf(" precision of float : %e\n", FLT_EPSILON);
printf(" precision of double : %.15le\n", DBL_EPSILON);
printf(" precision of long double : %.30Le\n", LDBL_EPSILON);
return 0; }
表示された結果のうち、
1.0 + 1.0e-7 が 1.0000001 にならず、同様に
1.0 + 1.0e-15 が 1.000000000000001 にならず、
1.0 + 1.0e-19 が 1.0000000000000000001 という、きれいな数にならない理由を、FLT_EPSILON, DBL_EPSILON, LDBL_EPSILON との関係から説明してもらえないでしょうか。
よろしくお願いします。





759 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 11:43:55 ]
>>758
単純な話管理できる桁があるので小数点側の切捨てが行われてるだけかと。
たとえば
1.0 + 1.0e-7 を 0.1 + 1.0e-7 や 0.01 + 1.0e-7 とした場合
おそらく.0000001は保持されると思われ。

760 名前:デフォルトの名無しさん [2008/06/06(金) 12:01:07 ]
>>759
それをFLT_EPSILON, DBL_EPSILON, LDBL_EPSILON との関係から考察しなきゃならないんですけどいまいちわからなくて・・・

761 名前:759 mailto:sage [2008/06/06(金) 12:05:21 ]
>>760
www.asahi-net.or.jp/~UC3K-YMD/Lesson/Section03/section03_13.html
ここがいいかも

イプシロン(誤差幅)だそうです。

762 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:06:34 ]
ググったら直ぐ出てきたんだが…怒

763 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:32:01 ]
>>758
質問と関係ないが
printfの %l は整数にしか使えないと思うんだ


764 名前:デフォルトの名無しさん [2008/06/06(金) 12:41:53 ]
複素数を求めるプログラムなのですけど、
#include <stdio.h>
#include <math.h>
typedef struct {
double rel;
double imp;
} complex;
double mulcompl(complex x, complex y); /* 関数の戻り値の型を定義 */

int main(void){
complex c1, c2, c3;
c1.rel = 3.2; c1.imp = 2.7;
c2.rel = 2.5; c2.imp = 1.8;
c3 = mulcompl( c1 , c2 ); /* complex変数c1,c2を仮引数としてmulcompl関数を呼び出す */

printf("複素数の積 \n");
printf("( %.2f + i %.2f ) * ", c1.rel, c1.imp);
printf("( %.2f + i %.2f ) = ", c2.rel, c2.imp);
printf("( %.2f + i %.2f )\n", c3.rel, c3.imp);
return 0;
}
double mulcompl(complex x, complex y) /* 関数の戻り値の型を定義 */
{
complex z;
/* 仮引数x,yを使って複素数の掛け算を計算する */
z.rel = x.rel * y.rel - x.imp * y.imp;
z.imp = x.rel * y.imp + x.imp * y.rel;
return z;
}
それでどうしてエラーが取れないのですがどこが間違っているのか分かりません。
どなたかお願いします。


765 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:42:42 ]
[1] 授業単元:オペレーティングシステム
[2] 問題文(含コード&リンク):forkによる子プロセスの生成

子プロセスを2つ生成して、それぞれに、fork1, fork2 のプログ
ラムを実行させるようなプログラムを作成しなさい。

///fork1.c///
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6800.txt

///fork2.c///
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6801.txt

[3] 環境
 [3.1] OS:Linux
 [3.2] コンパイラ名とバージョン:gcc
 [3.3] 言語:C
[4] 期限:6月11日

前回は本当にありがとうございました。よろしくお願いします。

766 名前:ロベ mailto:sage [2008/06/06(金) 12:43:46 ]
>>646
お願いします!!!!

767 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 12:58:20 ]
いまどきこれはないだろ。VC++が無料で使えるってのに。
> [3.2] コンパイラ名とバージョン:Borland C++ 5.5.1 for Win32


768 名前:ロベ mailto:sage [2008/06/06(金) 13:00:53 ]
VC++は家でつかってますb



769 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:07:42 ]
>>764
double mulcompl(complex x, complex y) → complex mulcompl(complex x, complex y)


770 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:11:37 ]
>>766
wikipediaみたらOS/2 2.xのヘッダ構造書いてなかったんでやる気無くした。

771 名前:ロベ mailto:sage [2008/06/06(金) 13:14:11 ]
>>770
いちようBMPのヘッダについて書いてあるページは見つけたけど
プログラムの技術がないからできなくて;;
 www.kk.iij4u.or.jp/~kondo/bmp/

772 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:31:33 ]
とあるゲーム機のSS取るのに使った構造体
typedef struct
{
//      char bfType[2];
 unsigned long bfSize;
 unsigned short bfReserved1;
 unsigned short bfReserved2;
 unsigned long bfOffBits;
} BmpFileHed;
typedef struct
{
  unsigned long bcSize;
  short     bcWidth;
  short     bcHeight;
  unsigned short bcPlanes;
  unsigned short bcBitCount;
} BmpFileInfoOS2;
typedef struct
{
  unsigned long biSize;
  long      biWidth;
  long      biHeight;
  unsigned short biPlanes;
  unsigned short biBitCount;
  unsigned long biCompression;
  unsigned long biSizeImage;
  long      biXPixPerMeter;
  long      biYPixPerMeter;
  unsigned long biClrUsed;
  unsigned long biClrImporant;
} BmpFileInfoWindows;

773 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:31:53 ]
残り

typedef struct
{
BmpFileHed     hed;
BmpFileInfoWindows Info;
char        data[480*272*4];
} BmpWindows;

774 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:32:48 ]
でも欠点があってgccでコンパイルすると共通のヘッダ部分に
アライメントが入る。

誰だよBMの後に調整用の領域作らないヘボいフォーマット決めたの

775 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:35:11 ]
typedef struct
{
BmpFileHed     hed;
BmpFileInfoWindows Info;
char        data[2];
} BmpWindows;

typedef struct
{
BmpFileHed     hed;
BmpFileInfoOS2 Info;
char        data[2];
} BmpOS2;

776 名前:ロベ mailto:sage [2008/06/06(金) 13:50:42 ]
>>772 >>773 >>775
この構造体をどう使えば・・・

777 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 13:54:30 ]
>>766
期限に間に合わなかったので作るのやめたよ


778 名前:ロベ mailto:sage [2008/06/06(金) 13:59:04 ]
>>777
6月10日まで期限延ばしてもらえたので
お願いできませんか?




779 名前:777 mailto:sage [2008/06/06(金) 14:00:06 ]
>>778
作りかけのやつ
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6802.c


780 名前:772 mailto:sage [2008/06/06(金) 14:03:19 ]
>>779
unsigned long bcSize;(unsigned long biSize;)に該当する
部分を
unsigned long bfOffBits;
の後に持ってくると楽

781 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:05:06 ]
BMとかどうせ使わないし読み捨てて構造体から排除しちゃえ。

782 名前:ロベ mailto:sage [2008/06/06(金) 14:05:22 ]
>>777
どこまでできてるんですか?

783 名前:ロベ mailto:sage [2008/06/06(金) 14:06:25 ]

>>779 の間違え

784 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:06:46 ]
>>781
以前別スレでやってたけど
#pragma pack(push, 1)
この間に調整されたくない構造体を記述
#pragma pack(pop)

するといいらしい

785 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:17:44 ]
>>782
こいついったいなんなの?
ソースがあるのにどこまでできているか聞くなんて。
自分で確認もできないのなら何でも適当なものをでっちあげてやれば、
ありがたがってそのまま提出しちゃうんじゃないかw

786 名前:777 mailto:sage [2008/06/06(金) 14:19:47 ]
>>774
gccなら
struct s0 {
char a, b, c;
} __attribute__ ((packed));
でパディングなし

787 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 14:21:14 ]
>>786
おーそうなんだ

継続して作ってないなら続きやろうか?

788 名前:ロベ mailto:sage [2008/06/06(金) 14:22:28 ]
>>787
おねがいできますか?



789 名前:777 mailto:sage [2008/06/06(金) 14:32:31 ]
>>787
どうぞ
自分はグレースケール変換だけやってみる


790 名前:787 mailto:sage [2008/06/06(金) 14:53:08 ]
うほ>>779のを見てると自分の組み方が変則的なのかわかるorz

我流でやってるので悩むorz

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

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

792 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:10:28 ]
>>646の例題で不明な点があるんだけど
ビットカウントが1,4,8のときはカラーパレットに対して処理するのか?


793 名前:777 mailto:sage [2008/06/06(金) 15:19:54 ]
>>792
もうそれで作りつつある

switch(bit_count) {
// 2値なのでスケール化はできない
case 1:
printf("2値画像のため変換しません\n");
return;
// パレットのみ変更
case 4:
case 8:
pal_count = 1 << bit_count;
for (i = 0; i < pal_count; i++) {
if (os == BMP_OS2) {
y = (unsigned char)(pal3[i].rgbRed * YR + pal3[i].rgbGreen * YG + pal3[i].rgbBlue * YB);
fwrite(&y, 1, 1, out_fp);
fwrite(&y, 1, 1, out_fp);
fwrite(&y, 1, 1, out_fp);
}
else if (os == BMP_WIN) {
y = (unsigned char)(pal4[i].rgbRed * YR + pal4[i].rgbGreen * YG + pal4[i].rgbBlue * YB);
fwrite(&y, 1, 1, out_fp);
fwrite(&y, 1, 1, out_fp);
fwrite(&y, 1, 1, out_fp);
y = 0;
fwrite(&y, 1, 1, out_fp);
}
}


794 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:21:07 ]
いつまでだらだらとスレ消費すんだよw

795 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:21:58 ]
フルフォーマット考えると結構面倒だなw

796 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:26:22 ]
>>777
どうする?すでに読み込み用プログラム公開してるサイト見つけたんだけど・・・・

797 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:27:35 ]
BMPの圧縮関係ってどう対処すれば正解?
biCompressionフィールドって任意に拡張可能だった希ガス

798 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:29:19 ]
>>797
まあそうなんだけどさ・・・
BMPで圧縮してるのなんてみたことないし。

でも出題した教師はこれを知ってかしらないでか出してるしな。
まともに対応を考えるとLibレベルになるよ。



799 名前:デフォルトの名無しさん [2008/06/06(金) 15:29:23 ]
ちなみにBMP関係でこんなの見つけたお
sunpillar2004.hp.infoseek.co.jp/data/files/bmp.html

800 名前:デフォルトの名無しさん [2008/06/06(金) 15:30:24 ]
ああ,色深度16bitの時のビットフィールドの意味とかもいろいろあるし,BEかLEかで違いがあるんだっけか・・・?
忘れた

801 名前:796 mailto:sage [2008/06/06(金) 15:30:30 ]
>>799
www.syuhitu.org/other/bmp/bmp.html
こっちはLibにしてソースまで公開してくれてる。

802 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:30:57 ]
>>800
あるね

かなり面倒だよ、これ。


803 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:34:54 ]
>>801
それでいいなら,プログラムの著者に連絡とって使ってみたら?

804 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 15:52:20 ]
[1] 授業単元:メディア情報処理
[2] 問題文(含コード&リンク):
マイク入力からの信号をリアルタイムに解析し、音名を表示するプログラムを作れ

(チューナーみたいなもんですかね?)

[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Visual Studio 2008
 [3.3] 言語: C C++
[4] 期限: 6月8日
[5] その他の制限: なし

805 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:00:53 ]
[1] C
[2]kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6803.txt
[3]
 [3.1] Linux
 [3.3] C
[4] 6月10日
[5] 記載されているプログラムを改訂して作ってください

スーパークイーンが求められません
すいませんお願いします

806 名前:kokoro [2008/06/06(金) 16:16:03 ]
はじめまして。
今、c言語をやっているのですが、分からないので
問題をのせますので、プログラムを作ってほしいです。
お願いします。

807 名前:kokoro [2008/06/06(金) 16:21:12 ]
[1]授業単元:C言語
[2]問題文:
★下記の仕様を満たすプログラムを作成しなさい。
【仕様】 ATM簡易プログラム

 ▼取引は「預け入れ」「引き出し」「残高照会」の3種類とする。始めに
  どの取引をするかを選択させる。0が入力されたらプログラムを終了する。対応していない数字が入力された場合は、
 「入力番号が正しくありません」と表示し、入力画面に戻る。
 ▼どの取引を希望したとしても、次に暗証番号入力を促し、キーボードキーボード入力させる。
 ▼あらかじめ設定しておいた番号と一致していれば、次の処理(最初に選択した取引)に入る。そうでなければ、
  「暗証番号が違います。もう一度入力してください」と表示し、入力させる。
  3回失敗したら、「防犯上の理由により、取引を中止します」と表示し、プログラムを
  終了する。
 ▼「預け入れ」を選択した場合は、預け入れ金額を入力させ、合計金額(あらかじめ適当な金額に設定しておく)
  を表示し、入力画面に戻る。
 ▼「引き出し」を選択した場合は、引き出し金額を入力させ、残り金額を表示し、入力画面に戻る。ただし、
  1回で引き出せる金額は500,000円までとし、それを超える金額を入力したら「1回で引き出せる金額は
  500,000円までです」と表示し、再度入力させる。なお不足の場合は「残高が不足しています」と表示し、
  というメッセージと残高を表示し、再度入力させる。
 ▼「残高照会」を選択した場合は、残高を表示し、入力画面に戻る。

[3]環境
 [3.1]OS:windows xp
[3.2]コンパイラ名:bcc32
[3.3]言語:c言語
[4]期限:2008年6月7日
[5]その他:キーボード入力、if文、for文を使って。

お願いします。


808 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:24:49 ]
>>805
8queenってやったことなかったな〜
で、参考になるサイト

www.pro.or.jp/~fuji/puzzlestudy/8queen.html



809 名前:ロベ mailto:sage [2008/06/06(金) 16:25:00 ]
>>646の課題はわりと単純なものでもかまいません
よろしくおねがいします

810 名前:ねね ◆ia23AXgoXg [2008/06/06(金) 16:30:29 ]
[1] 授業単元: 工学実験(画像処理)
[2] 問題文: 濃度ヒストグラムを伸長(濃度変換)する関数[extend()]を作成せよ
 [3.1] OS:WinXP
 [3.2] コンパイラ名とバージョン: VisualC++6.0
 [3.3] 言語:C++
[4] 期限: 6/9 17:00
[5] その他の制限: 概念くらいしかわかってません…orz
メインプログラムおいときます、無理に使わなくてもいいかと

#include <stdio.h>
#define X 260 /* 画像の横方向の画素数 この例では260 */
#define Y 60 /* 画像の縦方向の画素数 この例では60 */

unsigned char f[Y][X];  /* 入力画像配列 横X画素 ,縦Y画素 */
unsigned char g[Y][X];  /* 入力画像配列 横X画素 ,縦Y画素 */ 

main()

811 名前:ねね ◆ia23AXgoXg [2008/06/06(金) 16:31:12 ]
main()
/* 画像処理を行うメインプログラム */
{
char source[80]; /* 入力ファイル */
char destin[80]; /* 出力ファイル */
unsigned char t; /* 閾値 */

      printf("filename(input) ? ");
scanf("%s",source);
printf("filename(output) ? ");
scanf("%s",destin);
printf("threshold ? ");
scanf("%d",&t);
 
      image_input(f,source); /* 画像の入力処理 */

threshold(f,g,t);    /* 閾値処理の場合 */

image_output(g,destin); /* 画像の出力処理 */ 

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

812 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:36:16 ]
>>805
for(k=0; k<3&&j>=0; k++, j--) if(i-3<=board[j] && board[j] <= i+3) flag = 0;
を適当なとこに突っ込んでそれに合わせて少しいじればおk

813 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 16:55:28 ]
>791
#include <stdio.h>
void view(int attend[][7][4])
{


int main(void)
{
 int n, d, p, a, attend[15][7][4]={0};

 while(0<=fputs("number : ", stdout) && scanf("%d", &n)==1 && 0<=n && n<=14)
 {
  if(0<=fputs("day : ", stdout) && scanf("%d", &d)==1 && 0<=d && d<=6
  && 0<=fputs("period : ", stdout) && scanf("%d", &p)==1 && 0<=p && p<=3
  && 0<=fputs("attend : ", stdout) && scanf("%d", &a)==1 && 0<=a && a<=1)
  {
   attend[n][d][p]=a;
   view(attend);
  }
  else
  {
   fputs("input error.\n", stdout);
  }
 }

 return 0;
}

814 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:05:41 ]
途中で送信しちゃった

void view(int attend[][7][4])
{
 int i,j,k;

 for(i=0; i<15; i++)
 {
  printf("student no.%d : \n", i);
  fputs(" S M T W T F S\n", stdout);
  for(j=0; j<4; j++)
  {
   printf("period %d : ", j);
   for(k=0; k<7; k++)
   {
    printf("%d ", attend[i][k][j]);
   }
   putchar('\n');
  }
 }
}

815 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:09:58 ]
>>807
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6804.txt


816 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:11:23 ]
>>797
っつか、劣化さえずにファイルサイズを小さくするってなら
PNG辺りを

817 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:12:34 ]
>>804
高度すぎてワロタ

818 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:14:42 ]
まあ、最悪マイクからの信号を拾えたとしても
「リアルタイム」で解析し、音名を表示ってえぐいなまた
と言うか音「名」ってなんだ?



819 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:15:22 ]
>>818
ドとかそういうんじゃね?

820 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:16:17 ]
内部で絶対音感を持ってる人に処理させればおk

821 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:18:07 ]
内部で初音ミクが処理してるんですね、わかります

822 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:18:19 ]
MikuMikuVoiceの機能を知りたい手合いか

823 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:21:58 ]
音名ってまた曖昧な

ピアノのド=トランペットのレ=ホルンのソ

実音でいいのにな

824 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:21:58 ]
音名表示のソフトとかフリーであるでしょ
まぁ俺はつくれんがwAPIはむり

825 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:23:04 ]
>>805
スーパークイーン強すぎワロタ

826 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:24:02 ]
>>807
すまん、>>815間違ってるわ
微妙に修正
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6806.txt

827 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:24:45 ]
>>646
グレイスケール化だけ
圧縮には未対応
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6805.c


828 名前:kokoro [2008/06/06(金) 17:27:10 ]
>>826

もうチョット簡単になりませんか?
for文のところの課題なので、for文(多重ループなど)を使ってお願いします。
++count、#defineはまだ勉強してないのです。



829 名前:814 mailto:sage [2008/06/06(金) 17:28:32 ]
>791
こっちのほうがいいかな
kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/6807.txt

830 名前:デフォルトの名無しさん mailto:sage [2008/06/06(金) 17:29:16 ]
>>828
#define ANSHOU_BANGO 1234
これはソース中にANSHOU_BANGOがあればコンパイル時に1234に置き換えますよということだけです。






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

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

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