08/08/20 15:56:08
ペイントでbmpファイルは自作です
239:234
08/08/20 16:28:31
すみません見当違いなレスしてしまいました
DIB形式です
240:デフォルトの名無しさん
08/08/20 17:17:52
すいません、リソースマネージャとかでお世話になった218ですが。
あの後、一応完成まで言ったんですが最後の最後でリンクエラーが起きて
ビルドが行きませんうpろだにはファイルをあげていますので誰かお願いします
241:デフォルトの名無しさん
08/08/20 17:23:10
>>240
リンクくらい貼れよ、バカ
242:デフォルトの名無しさん
08/08/20 17:28:57
すいません。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
これですよろしくお願いします。
243:デフォルトの名無しさん
08/08/20 17:32:50
>>240
そもそも、リンクエラーって何が出てんのよ?
244:デフォルトの名無しさん
08/08/20 17:33:50
>>242
makefileとか無いぞ
245:デフォルトの名無しさん
08/08/20 17:41:33
自分はVisual C++しか使ったことがないのでmakefileとかに詳しくないです。すいません。
エラーは長いですけど以下のように出ています
エラー 1 error LNK2019: 未解決の外部シンボル "public: class
boost::shared_ptr<class IResource<unsigned int> > __thiscall ResourceIDManager::getFreeID<class ResourceManager::IDDeletor>
(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class ResourceManager::IDDeletor)"
(??$getFreeID@VIDDeletor@ResourceManager@@@ResourceIDManager@@QAE?AV?$shared_ptr@V?$IResource@I@@@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VIDDeletor@ResourceManager@@@Z)
が関数 "private: bool __thiscall ResourceManager::loadGraphicsResource(class ResourceIDManager &,class boost::shared_ptr<class IResource<unsigned int> > &,
class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool (__cdecl*)(unsigned int,char const *),void (__cdecl*)(unsigned int))"
(?loadGraphicsResource@ResourceManager@@AAE_NAAVResourceIDManager@@AAV?$shared_ptr@V?$IResource@I@@@boost@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@P6A_NIPBD@ZP6AXI@Z@Z) で参照されました。
ResourceManager.obj
246:デフォルトの名無しさん
08/08/20 17:59:02
>>237
24bit BMPって書いてあるだろ。要するに、ヘッダの部分から下は
一番下の行の左側のRGBから順に記録されているタイプ。
247:デフォルトの名無しさん
08/08/20 18:10:00
>>246
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
248:デフォルトの名無しさん
08/08/20 18:20:22
>>234
ビットマップを読み込んで、色を文字で表したテキストファイルを出力する
◆仕様
・ビットマップは24bit限定
が読めない日本人じゃない奴が、北京五輪を機に紛れ込みましたか?
祖国のサイトにお帰り下さい。
249:基地外揚げ足取り
08/08/20 18:21:24
>>234
> <windows.h>をつかわず
247 名前:デフォルトの名無しさん 投稿日:2008/08/20(水) 18:10:00
>>246
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
BMPなんてかいてねーよ。
ビットマップとしか書かれてないだろ。
250:デフォルトの名無しさん
08/08/20 18:22:30
>>247
どうせ答える気がないんだろ、だったら無知、揚げ足取り、横槍程度のバカは
口出しするなよ。言い草がみっともない。人として恥ずかしい。
> BMPなんてかいてねーよ。
> ビットマップとしか書かれてないだろ。
何これ?日本語が読めないバカって頭も悪いんだなw
251:デフォルトの名無しさん
08/08/20 18:25:04
>>247 = >>235
鬱陶しいんだよ、クソガキ。
お前が答えられないだけだろw
教師をバカにする以前に、お前がバイナリすらまともに扱えない証拠。
>>238 にbmpと断っていますが?w
URLリンク(www.mm2d.net)
URLリンク(www.geocities.co.jp)
どちらにしろ、同じようなもの。はいはい、知ったかの答える気無しの野次馬は帰った帰った。
252:デフォルトの名無しさん
08/08/20 18:29:39
>>251
> >>238 にbmpと断っていますが?w
>>234の話だろ。それとも文書の前後が理解できない病気か?
253:デフォルトの名無しさん
08/08/20 18:30:23
>>249
そういう思い込みで手を動かすタイプが、バカコード書くんだろ。
254:デフォルトの名無しさん
08/08/20 18:30:59
>>250
ひょっとして、BMPがなんなのか知らないのか?
255:デフォルトの名無しさん
08/08/20 18:31:52
わざわざ連投しないで1レスにまとめろよ屑
256:デフォルトの名無しさん
08/08/20 18:36:19
>>255
おまえもな
257:デフォルトの名無しさん
08/08/20 18:37:34
>>241とか、分かりやすいだろ、上から目線どころか、バカとか平気で
相手を罵倒する発言をする。夏厨丸出し。ここはお前の管轄じゃないから
とっとと新学期の準備をしとけや。お前みたいな実力も知識も無い無能じゃ
このスレの宿題ですら答えられないから。
258:デフォルトの名無しさん
08/08/20 18:40:55
>>257は馬鹿
259:デフォルトの名無しさん
08/08/20 18:41:10
>>247
これは酷い。言葉が読めないのか、こいつは?w
>>238の条件でBMPファイルを生成してみれば、どうなっているかくらいわかっているはず。
あぁそうか、Windowsを使ってないどこぞの研究所の人か?
世の中はWindowsがメインだぞ。俺は大学では実験や研究では
SolarisやUNIXなどを使っていたが、ワークステーションでもWindows系は
使ってたがね。当然、そこでは標準搭載のペイントはあったけどな、
もう6年くらい前の話だが、自分が大学生だったのは。
260:デフォルトの名無しさん
08/08/20 18:43:10
ハナっから課題に答える気が無い奴が、揚げ足取りみたく
要らない横槍や罵倒、自分の無知をさらすなんてことはするなよ
スレが荒れるだろが >>247 >>241
261:デフォルトの名無しさん
08/08/20 18:43:56
なんか>>237の件で揉めてるのに>>238に書いてあるじゃないかとか、あほくさい・・・
262:デフォルトの名無しさん
08/08/20 18:45:00
>>259
> >>238の条件でBMPファイルを生成してみれば、どうなっているかくらいわかっているはず。
これも、前後感覚が無くなる病気か?
263:デフォルトの名無しさん
08/08/20 18:47:00
>>259
> 世の中はWindowsがメインだぞ。俺は大学では実験や研究では
なんで、オマエの狭い世界が基準なんだよ。
264:デフォルトの名無しさん
08/08/20 18:51:09
>>235
235 名前:デフォルトの名無しさん 投稿日:2008/08/20(水) 15:13:21
まだビットマップ読み込む課題出す駄目教師いるんだな
265:デフォルトの名無しさん
08/08/20 18:55:31
>>264
その場で作ったBMPを読み取ると言う話からすれば、
バリエーションのあるフォーマットに網羅的に対応すると言う課題でもない様だし、
ターゲットとしてバカらしくはある。
266:デフォルトの名無しさん
08/08/20 20:09:16
>>234 >>238
テキスト形式の具体的な内容は?
267:デフォルトの名無しさん
08/08/20 20:48:42
>>234
左上から順にRGBを6桁の16進数にして出力するプログラムは出来たでごわすが
現在、>>1にあるうpろだが利用できないようなので、復旧したらうpするでごわす。
268:デフォルトの名無しさん
08/08/20 21:46:50
>>245
一応、リンクできるようにしてみたけど
URLリンク(kansai2channeler.hp.infoseek.co.jp)
つながり難い
269:デフォルトの名無しさん
08/08/20 21:52:10
>>1にあるうpろだの調子が悪い?
270:デフォルトの名無しさん
08/08/20 22:43:24
>>258が馬鹿
271:デフォルトの名無しさん
08/08/20 23:09:59
BMPの話でここまで必死にバカになれるお前らが羨ましいぜ
272:デフォルトの名無しさん
08/08/20 23:57:20
っつかさ、別に個人を特定して直接自分に対して文句を言ってきた奴が
いるわけでもないのに、口出ししておいて相手を罵倒している奴って何?
後から補足でBMPって本人が言ってんじゃん。BMPなんて書いてないって
どんだけ文字が読めない学の無い奴だよ?って思われるような墓穴を掘るなよw
Windows、ペイント、ビットマップって言ったら普通に知っている人は分かるぞ?
けどさ、それを言うと、自分にとっては当たり前じゃないとか、それ以外にもあるとか
言い出すんだろ?分からないなら口出ししなきゃ良いじゃんw
己の無知を晒す場でもないから、知らないなら別に口出しせんでもよろしい。
なのに、その課題を扱う講師がどうとか、無関係なレスしてんの???
273:デフォルトの名無しさん
08/08/21 00:14:44
>>272
これが前後関係のわからなくなる病気
274:デフォルトの名無しさん
08/08/21 00:15:10
>>272
>>234読めよ、夏厨
275:デフォルトの名無しさん
08/08/21 00:48:15
BMPって書いてあるのに、口出しして墓穴を掘った本人乙w
それに反応するのはお前くらいだよ
276:デフォルトの名無しさん
08/08/21 00:54:15
>>238が読める?読めない?聖徳太(ry
277:デフォルトの名無しさん
08/08/21 00:55:50
>>276
結局、BMPがなんだか知らなかったのか・・・
278:デフォルトの名無しさん
08/08/21 00:56:14
さてと、分からず屋はとりあえず、Windowsに標準搭載の
ペイントで24ビットBMPファイルを何でも良いから作ってみましょう。
先に言っておくが、中身がまったくないってのは無しね。
279:デフォルトの名無しさん
08/08/21 00:57:01
>>276
まあ、Wikipediaをwikiって略すようなもんだから、バカっぽいけど、それほど恥ずかしくないんじゃないの?
280:デフォルトの名無しさん
08/08/21 01:04:43
テンプレに沿ってないだけでここまで荒れるものなのか
なんというか活気があるな
281:デフォルトの名無しさん
08/08/21 01:05:10
あらあら、課題に答える気もないくせに、煽るのに必死な奴が必死だなw
ねぇ、Macユーザ?それともUNIX、Linux系?Windows固有のものではないが、
>>234には
> <windows.h>をつかわず
って条件があるし、24ビットBMPっと言ってしまえば、察するに例のあれでしょ。
あぁ、そうか、windows.hすら知らない初心者か、んじゃあんたみたいなのは
ここで回答せずにROMってなさい、ね?口ばっかりでソースを提示しない卑怯者には
用がないんですけど?
URLリンク(e-words.jp)
URLリンク(ja.wikipedia.org)
URLリンク(ja.wikipedia.org)
282:デフォルトの名無しさん
08/08/21 01:08:50
wingdi.h使えばBITMAPINFOHEADER使えるよ
283:デフォルトの名無しさん
08/08/21 01:10:50
>>281
よっぽど恥ずかしいんだろうけど、もう、気にするなよ。
284:デフォルトの名無しさん
08/08/21 01:13:12
題意が分からなくて答える気がないなら、要らんレスせんでよろしいよ。
本当にお前が日本語が理解できるかも疑わしい。
>>1読め。
> 気に入らない質問やその他や発言はスルーの方向で。
何もあんたを特定して質問者は質問をしてんじゃないんだから。
知らない、分からない奴に押し付けてないだろw
そうやって、自分が知らなかったことを許してもらおうとかしているわけ?
それとも、知らなかったことを言い訳して、認めてもらおうとしてんの?
あんたがどこの誰か知らないが、自分が解けない課題を出す奴を
目の敵にしてどーすんだよ?w
答える気がないなら黙っとれ、鬱陶しい。スレが汚れるからこの変にしとくぞ。
285:デフォルトの名無しさん
08/08/21 01:15:09
>>284
とうとう、>>1を持ち出したよ。
それ、何回もやりすぎで効果ないだろ。
286:デフォルトの名無しさん
08/08/21 01:16:13
>>284
>>1を持ち出して何とか、自分が最後の発言者になりたいんだろうけど、逆効果じゃね?
287:デフォルトの名無しさん
08/08/21 01:16:57
>>284
それ、何行目からコピペなの?
288:デフォルトの名無しさん
08/08/21 01:18:30
回答できない人に向けて質問者は質問なんてしてませんよぉ~?
なんでそれが分からないで、一人で質問者に噛み付いてファビョってんの?w
>>1読め
289:デフォルトの名無しさん
08/08/21 01:21:29
>>288
オマエは質問者じゃないだろ。
当人はとうに飽きて出てったさ。
290:↑課題に答えられなくて悔しいのう悔しいのう
08/08/21 01:35:50
そろそろ寝たら?どうせ解けないんだろ?暇でやることないんだろ?
最近、丸投げのレスがなくて、たまにある課題をwktkして待っていたが
BMPの問題程度の簡単なものでも、解けなくて悔しいんだろうけどさ。
お前もあれだろ、昼夜逆転した生活で脳がおかしくなって
世の中がおかしく見え始めている妄想癖のある危険人物。
他の板でも、深夜に暴れているキチガイを見かけるけど、そいつらって
最後は暴れて逮捕されてるんじゃね?あと、スレが汚れるからこの辺で、な?
お前みたいなのは、引き際を知らないから、余計に泥沼に嵌るんだよ。
とにかくな、ごちゃごちゃ言い訳っぽいことを並べるだけの奴って、
どんな業界でも、無責任で情けなく見えるんだわ。お前が無能だから出来ないんだろって
普通に言われるぞ。ここは答えるのも任意だから、出来なくても誰にも文句いわれないから、
だから安心して寝ろ、な?お前が出来る課題が必ずしも質問されるとは限らないからさ。
出来る人に任せとけ、な?
291:デフォルトの名無しさん
08/08/21 01:41:25
>>290
BMP程度って、中身は簡単なようで複数フォーマットがあって
割と面倒なんでけどw
292:デフォルトの名無しさん
08/08/21 02:00:24
わざわざ限定されてるんだから複数フォーマットは考慮しないでいいだろ
293:268
08/08/21 03:56:42
>>245
URLリンク(kansai2channeler.hp.infoseek.co.jp)
うpろだ復活したので修正したのをあげとく
294:デフォルトの名無しさん
08/08/21 09:38:10
BMPファイル討論して盛り上がったが誰も問題は解いてやってない件www
295:デフォルトの名無しさん
08/08/21 09:44:59
いつもの人は解けない問題がくるとファビョって他人に絡みだすからな
296:234
08/08/21 11:32:45
なんだか争いが起きていたようですが
元はといえばボクの情報漏れが原因なので・・・
みなさんすみません。
>>266
FF00FF みたいな感じだと思います
>>267
よろしくおねがいします
297:デフォルトの名無しさん
08/08/21 13:07:53
>>295
さすがに解けないわけじゃなくて、面倒くさいだけだろ。
298:デフォルトの名無しさん
08/08/21 13:40:44
とりあえず、仕様はっきりさせて仕切り直ししようか?
C言語でやること、24bit色の無圧縮BMPだけを扱えば良さそうなとこまでは把握した。
>・対象ビットマップ
> 赤、青、緑、白、黒
これがいまいちわからない。どゆこと?
299:デフォルトの名無しさん
08/08/21 13:47:39
>>298
この手の問題をやりたくないのは
出題者がいい加減な出題の仕方をしてて、答えるほうが質問者に落としどころを確認しないと
いけないことだ。
300:デフォルトの名無しさん
08/08/21 13:49:35
オレは、赤、青、緑、白、黒 の5色だけ使われてて
テキストファイルにはピクセルに相当する赤、青、緑、白、黒の文字が並ぶんだと思ってたよ・・・
301:デフォルトの名無しさん
08/08/21 13:51:22
>>234
「私の為に争わないで」ってかw
URLリンク(kansai2channeler.hp.infoseek.co.jp)
302:デフォルトの名無しさん
08/08/21 13:53:27
第一24bitビットマップでどうやって赤青緑白黒とか区切るんだよw
RGBそれぞれ256段階指定できるんだぞ。
やっぱり糞問題じゃねーか
303:デフォルトの名無しさん
08/08/21 14:01:55
>>299
出題者は講義を通じて課題の範囲を示しているだろうが、
質問者はやる気の無いド素人だから、課題を理解していない。
それが、源泉だと思う。
304:デフォルトの名無しさん
08/08/21 14:30:22
>>300
0000FF00、FF000000、00FF0000、FFFFFF00、00000000の5種類のデータしか並んでないって事か。
決めうちしちゃって大丈夫かな・・・?
305:デフォルトの名無しさん
08/08/21 14:35:56
>>304
そらなw
PC9801の初期のデジタルモードじゃないだからwww
出題者はやっぱり糞
本気で赤青とかに分類するための条件設定がなくて
ソフト作れーねーよ。
24bitビットマップでざっくり「赤青・・・」に分けるなら色ごとの閾値設定だとかも
よこせよ
306:デフォルトの名無しさん
08/08/21 14:56:46
>>305
糞なのは、質問者だろ。
307:デフォルトの名無しさん
08/08/21 14:57:38
なんでこんなにもビットマップが人気なのか分からんw
308:デフォルトの名無しさん
08/08/21 15:33:57
とりあえずそれっぽいソースに見えるだけなビットマップ for VC++ 8.0
URLリンク(kansai2channeler.hp.infoseek.co.jp)
動作確認?まったくしとらんでおじゃるよ?(鼻糞ほじりながら)
309:デフォルトの名無しさん
08/08/21 17:44:52
閾値がどうとかどうでもいー
ペイントでそのようなファイル作ってくれるんでしょ?他のがあったら捨て置けばいいじゃん
310:デフォルトの名無しさん
08/08/21 17:45:52
>>306
またお前か、答えもせず回答する能力もないくせに、偉そうに
口出ししかしないお前の方が糞なんだよ!このスレでは用なし
要らない子でつよ?wwww
311:デフォルトの名無しさん
08/08/21 19:04:00
[1] 授業単元: プログラミング技術
[2] 問題文(含コード&リンク):
二次元配列「field[5][5]」に格納されている
#####
#####
#****
#****
#****
という文字列(#は壁。*がフィールド)で一番左上が(0,0)とした場合のフィールドの開始位置の座標を求めよ。
上でしたら「X:1 Y:2」
#####
#####
###**
###**
###**
でしたら「X:3 Y:2」という値を求めたいです。
[3] 環境
[3.1] OS: Linux
[3.2] gcc
[3.3] 言語: C)
[4] 期限:無期限
どうかよろしくお願いします。
312:デフォルトの名無しさん
08/08/21 19:08:39
>>311
この場合は?
#####
#####
###**
##***
##***
313:デフォルトの名無しさん
08/08/21 19:11:59
>>312
そうゆうのは無いです。。
あくまで角がある(?)パターンです。
お願いします(;´Д`)
314:デフォルトの名無しさん
08/08/21 19:13:34
>>234
URLリンク(kansai2channeler.hp.infoseek.co.jp)
>>308
偽おじゃるめ、クソースさが足りないでごじゃる
315:デフォルトの名無しさん
08/08/21 19:24:52
>>234 余計なコードを削除したでござる
URLリンク(kansai2channeler.hp.infoseek.co.jp)
316:デフォルトの名無しさん
08/08/21 19:34:27
>>311
#include<stdio.h>
int main(int argc, char *argv[]){
int i, x, y, width=5, height=5, left=-1, top=-1;
int field[5][5]={
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
};
for(i=0;i<width+height-1;i++){
for(y=0;y<i;y++){
x=i-y;
if(x<0 || x>=width) continue;
if(field[y][x]=='*'){
left=x;
top=y;
break;
}
}
if(y<i) break;
}
printf("X:%d Y:%d\n", left, top);
return 0;
}
317:デフォルトの名無しさん
08/08/21 19:51:46
>>316
本当にありがとうございます!
助かりました!
318:デフォルトの名無しさん
08/08/22 01:57:08
>>316が理解できない。
何でこういうループになるの?
319:デフォルトの名無しさん
08/08/22 02:03:22
無駄の多いループだけど、やってることは難しいことじゃないだろw
320:デフォルトの名無しさん
08/08/22 08:58:01
無限ループじゃないから安心汁!
321:デフォルトの名無しさん
08/08/22 09:36:59
さて、宿題かもーん
322:回答者修行中
08/08/22 11:50:25
質問者もういっちゃいましたね
#include <string.h>
#include <stdio.h>
int main()
{
int i, x, y, width=5, height=5, left=-1, top=-1;
char *p;
char field[5][5]={
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '#', '#'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
{'#', '#', '#', '*', '*'},
};
p=strchr((char *)field,'*');
i = ((int)p - (int)field)/sizeof(char);
y=i/5;
x=i-y*5;
printf("x=%d y=%d",x,y);
return 0;
}
これまともに動いてる?
323:デフォルトの名無しさん
08/08/22 16:03:54
クソコテww
324:デフォルトの名無しさん
08/08/22 18:47:59
>>322
*が存在することが明確なら特に問題ないのかな
y=i/widthのほうがよかったりしないかな、とおもいつつも、ともあれその発想が面白かったです
325: ◆tr.t4dJfuU
08/08/22 22:21:04
[1] プログラミング演習
[2] 問題:URLリンク(kansai2channeler.hp.infoseek.co.jp)
データ:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:WindowsXP
[3.2] VC 5.0
[3.3] 言語:C
[4] 期限:2008年08月24日16:00
[5] 特になし。
326:デフォルトの名無しさん
08/08/22 22:52:15
>>322
>((int)p - (int)field)/sizeof(char);
こう書くより
p - (char*)field
こう書いたほうがよくね?
327:デフォルトの名無しさん
08/08/22 23:46:36
>>236をお願いできないでしょうか。
328:デフォルトの名無しさん
08/08/23 00:37:29
[2] 問題文
1.
次のような式で表される数列が与えられたとする。
a0=1,a1=1,an=an-1+2an-2
int型の整数n(n≧0)を受け取り、上記の数列anの値をa0からanまで全て表示する関数printa(n)を作成せよ。
2.
要素数2個のdouble型の配列xy(xy[0]にはx座標、xy[1]にはy座標が納められている)と2行2列のdouble型の2次元配列Aを受け取り、座標(x,y)のAによる1次変換を求めて、その結果を配列xyに格納する返却値無しの関数LinearTrance(xy,A)を作成せよ。
3.
文字列の納められた文字型の配列sとstailを受け取り、sの末尾にstailの文字列が含まれているかどうかを調べ、含まれている場合には1、含まれていない場合には0を返す関数strcmptail(s,stail)を作成せよ。
4.
4個の文字列"abc.txt","xyz.jpg","foo.txt","bar.mp3"と文字列"txt"を受け取り、文字列の末尾に"txt"を含む文字列かあるかどうかを調べて、あればその文字列全てを表示するプログラムを作成せよ。ただし問3で作成した関数を用いること。
[3] 環境
[3.1] OS:Windows
[3.2] すいません、わからないです。
[3.3] 言語:C
[4] 期限:23日正午
見づらいかもですが、よろしくお願いします。
329:デフォルトの名無しさん
08/08/23 01:07:37
1.
void printa(int n) {
int a = 0, b = 1, i;
printf("%d ", a);
if(n==0) return;
printf("%d ", b);
for(i=2; i<=n; i++) {
int temp = a * 2 + b;
printf("%d ", temp);
a = b;
b = temp;
}
}
2.
void LinearTrance(double xy[2], doubleA[2][2]) {
double temp[2];
temp[0] = A[0][0] * xy[0] + A[0][1] * xy[1];
temp[1] = A[1][0] * xy[0] + A[1][1] * xy[1];
xy[0] = temp[0];
xy[1] = temp[1];
}
3.
int strcmptail(char *s, char *stail) {
char *p = s, *q = stail;
while(*p) p++;
while(*q) q++;
while(q > stail) if(*--q!=*--p) return 0;
return 1;
}
330:デフォルトの名無しさん
08/08/23 01:29:43
>>329
int main(void){
char *tail="hogehuga";
char *s="foobarhogehuga", *p;
p=s+20;
printf("%s %s %d\n", p, tail, strcmptail(p, tail));
return 0;
}
331:クソコテ
08/08/23 18:10:22
ありがとうございます
>>324
そうですねマジックナンバーはいただけませんね
>>326
それでいけますか?
あ、いけますね、やっぱりまだ少し勘違いがあるみたいです。
>>327
すみません、私の力不足の用で、途中までやってみましたが、
構造体に入れるところで、異常に長くなってしまうので諦めました。
メモリ上での構造体の配置を仮定すればループでいけますが
あまりにも処理系依存なので止めておきます、
誰かがすごい解答を出してくれるのを待ちましょう。
332:デフォルトの名無しさん
08/08/23 18:59:28
問題文
OSを作りなさい
333:デフォルトの名無しさん
08/08/23 19:05:22
>>332
#include <allornothing.h>
int main(void){
puts("The End");
}
334:デフォルトの名無しさん
08/08/23 19:30:32
>>332
Oh yes なんつって
335:デフォルトの名無しさん
08/08/23 21:20:28
>>330が何を言いたいのか理解できないんだが。
336:デフォルトの名無しさん
08/08/23 21:21:51
>>335
strlen(stail) > strlen(s)
の時に問題あるよ
337:デフォルトの名無しさん
08/08/23 21:25:16
330からそういう意味は読み取れないw
338:デフォルトの名無しさん
08/08/23 21:27:49
>>337
>>330 を実行してアレッ?と思って欲しかったが、回りくどかったようだ
339:デフォルトの名無しさん
08/08/23 21:30:50
お前本人かw
>p=s+20;
こんなこと書くアホが何言ってんだ。
340:デフォルトの名無しさん
08/08/23 21:32:05
>>339
p=&s[20]; が好みか?
341:デフォルトの名無しさん
08/08/23 21:32:39
どこ指してるか理解してんのかよw
342:デフォルトの名無しさん
08/08/23 21:34:22
あーなんてこった orz
343:デフォルトの名無しさん
08/08/24 17:45:45
アセンブラの宿題あるんだけど誰か助けて
344:デフォルトの名無しさん
08/08/24 17:57:45
スレ違い
死ね
345:デフォルトの名無しさん
08/08/24 18:46:54
暇だから宿題出して
346:デフォルトの名無しさん
08/08/24 19:37:12
>>343にきけ
347:デフォルトの名無しさん
08/08/24 20:09:39
≫345
[1]アルゴリズムとデータ構造
[2]
クラスカルの方法を用いて,最小木のアルゴリズムを作れ.
データファイル(data.txt)は
点の数 枝の数 (1行目のみ)
枝番号 始点 終点 枝の長さ
・・・・・・・・・・(これが枝の数だけ続く)
という形式.
グラフを各点に接続する枝を覚えるリスト形式で表現せよ.
↓data.txt
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[5]最小木の最短経路の問題へと発展する1stステップです。ま、解ければね・・・
348:デフォルトの名無しさん
08/08/24 21:15:23
>>347
もっと解いてうれしくなるような問題にしろよ。
349:デフォルトの名無しさん
08/08/24 21:30:21
>>344
>>348
いい加減、お前の方がうざいぞ
350:デフォルトの名無しさん
08/08/24 21:36:03
[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク)
ファイルに以下のような数字の列があるとする。
32
82
11
19
90
24
58
48
これをプログラムで読み込んで数字の小さい順に並び替えるプログラムを作れ。
[3] 環境
[3.1] OS:Linux
[3.2] コンパイラ名とバージョン:g77
[3.3] 言語:C
[4] 期限:2008年8月25日正午
[5] その他の制限:なし
よろしくおねがいします。
351:デフォルトの名無しさん
08/08/24 21:47:30
>>350
#include<stdio.h>
#include<stdlib.h>
int compare(const int *a, const int *b){
if(*a<*b) return -1;
if(*a>*b) return 1;
return 0;
}
int main(void){
char *filename="hoge.txt";
int *data=NULL, one_data, data_num=0, i;
FILE *fp;
fp=fopen(filename, "r");
if(fp==NULL){
fprintf(stderr, "\nError: %s file cannot open.\n", filename);
return 1;
}
while(fscanf(fp, "%d", &one_data)==1){
data=realloc(data, sizeof(int)*(data_num+1));
data[data_num++]=one_data;
}
fclose(fp);
qsort(data, data_num, sizeof(int), (int (*)(const void *, const void *))compare);
for(i=0;i<data_num;i++) printf("%d\n", data[i]);
free(data);
return 0;
}
352:デフォルトの名無しさん
08/08/24 21:53:20
>>351
ありがとうございます。
353:デフォルトの名無しさん
08/08/25 01:42:06
>>347
読み込んで記憶するだけでいいの?
それとも内部でグラフを作るの?
354:sage
08/08/25 02:09:56
>>353
グラフはアウトプットしなくてもよいのですが
まずリスト形式で作成すると同時に
枝情報をヒープに格納して(最大ヒープサイズは枝の数である50)
ヒープから短い枝順に順次データを取り出し
クラスカルのアルゴリズムに従って、最小全域木を求めます。
最終的には最小全域木の
ある任意の点Αから、点50までの最短経路を求める問題になります。
おそらく出題者は、グラフを先に作ったうえで
問題にしたっぽいです。
グラフはwinnyの開発画面みたいなやつです。
あぷりますね。
355:347
08/08/25 02:26:40
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
356:347
08/08/25 02:29:34
サーセン。拡張子ま違いました。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)
357: ◆luuqrOhdZk
08/08/25 03:29:06
[1] 授業単元: 授業ではありません
[2] 問題文(含コード&リンク):
「苦しんで覚えるC言語」の第1部13(全ページリンクフリー)
URLリンク(homepage3.nifty.com)
の、「プログラム書き取り」の問題です。
「入力された10個の数値を最後から表示するプログラムを作成せよ。」
(簡単のため3個の数値にしました)
[3] 環境
[3.1] OS: Windows XP Home edition
[3.2] コンパイラ名とバージョン: (Cpad for C++ comiler ver2.31)
[3.3] 言語: C
[4] 期限: ( [無期限])
[5] その他の制限:まだ初心者なので高度な設定等は分かりません
プログラムの、
for(i = 0;i < 3; i++ ){
printf("%d番目を入力:",i);
scanf("%d\n",&array[i]); }
の部分で、実行画面で、
0番目を入力:11
1番目を入力:22
2番目を入力:33
(11、22、33は実行画面で入力する値です。)
としたいのに、なぜか
0番目を入力:11
22
1番目を入力:33
2番目を入力:44
となってしまいます。
よろしくお願いします。以下、プログラム全文と実行画面です。
358: ◆luuqrOhdZk
08/08/25 03:30:17
先の質問のプログラム全文と実行画面です。
#include <stdio.h>
int main(void)
{
int array[3];
int i;
for(i = 0;i < 3; i++ ){
printf("%d番目を入力:",i);
scanf("%d\n",&array[i]);
}
for(i = 2;i >= 0;i--){
printf("%d番目は%d\n",i,array[i]);
}
fflush(stdin);
getchar();
return 0;
}
――実行画面――
0番目を入力: 11
22
1番目を入力: 33
2番目を入力: 44
2番目は33
1番目は22
0番目は11
359:デフォルトの名無しさん
08/08/25 04:02:49
>>357
> scanf("%d\n",&array[i]);
scanf("%d",&array[i]);
360: ◆luuqrOhdZk
08/08/25 05:01:27
>358
お陰様で解決しました。
ありがとうございます。
361:234
08/08/25 09:09:51
>>234です。お返事の方遅れてすみません、今みなさんの書いてくれたコードを読みながら自分でコードつくっています。
また、ご協力お願いします。
362:デフォルトの名無しさん
08/08/25 11:01:55
>>347
言語は?
363:347
08/08/25 11:17:57
>>362
C言語でもC++でもOKです。
自分はVC++使ってたんですけど
引数のエラーが出て
関数がうまく扱えないので
C使ってBorlandでやってまス。
364: ◆O5wSDVhi7.
08/08/25 11:31:16
Cの問題について、ちょいと質問したいのですが、
ファイルの読み込み処理で、入力した名前のファイルがある場合はある、ない場合はないと
表示させるプログラムを作っていますが、自分が作成したコードではダメだしをくらいました。
以下、コードです。
char filename[20];
FILE *fp;
printf( ">" );
scanf("%s",&filename);
fp = fopen( filename, "r" );
if( fp == NULL )
{
printf( "%sは存在しません\n",filename );
}
else
{
printf( "%sは存在します\n", filename );
}
fclose( fp );
一応、動くことは動くのですが、余計な部分が多いというところと、もう一つ
問題があるといわれましたが、自分ではよくわかりません。
どなたか教えてください。
環境はVisual studi2005です。
365:デフォルトの名無しさん
08/08/25 11:37:53
>>364
filename がバッファオーバーフローする危険性がある
fclose(NULL) する危険性がある
scanf に渡す引数の型が一致していない
あとこのレベルだとどうでもいいことだが
排他処理をしている場合 fopen でファイルの存在を確定することはできない
366: ◆O5wSDVhi7.
08/08/25 11:59:28
>>364
自分でも、ちょっと調べてみたのですが、
どうやら、fclose(NULL)している模様です。
この場合の対策などはないのでしょうか?
367:デフォルトの名無しさん
08/08/25 12:10:24
>>366
fpがNULLかどうかチェックしてるだろ。
そのNULLじゃない方に入れたらいいべ。
368:デフォルトの名無しさん
08/08/25 12:52:58
>>364 通りすがりの初心者の意見↓
1.scanfのところの&がいらない。
2.ファイルがない場合はfcloseする必要がない。
369: ◆O5wSDVhi7.
08/08/25 13:39:34
>>367
そのとおりに変更して提出しました。
>>368
scanfを使用した場合どのような問題が起こるか説明しろといわれました。
上で言われた、バッファオーバーフロー云々でいいのだろうか?
いろいろ、調べてみたが解釈の仕方が様々でよくわからなかった・・・。
370:368
08/08/25 14:04:57
>>369
scanfの問題は空白がくると読み込みが終了するってことかな?
オーバーフローはgetsだった気がする。
371:デフォルトの名無しさん
08/08/25 14:21:56
オーバーフローは書式でどうにか出来るしな
372:デフォルトの名無しさん
08/08/25 14:26:00
>>370
scanf("%[^\n]", a);
これでよかった気がするがうるおぼえ。
373:デフォルトの名無しさん
08/08/25 14:37:45
>>372
こういうやり方があったのか知らんかった。
'\n'をスキャン対象から除外すればいいのか。
374:デフォルトの名無しさん
08/08/25 15:07:11
>>369
リターンキーが無視できない、バッファオーバーラン、空白が読み取れない
これらの問題を解決したすばらしいscanf
scanf("%19[^\n]%*[^\n]", filename);
375:デフォルトの名無しさん
08/08/25 15:24:28
>>370
getsは回避手段がないのでだめだめな関数
scanfも>>364の使い方だとgetsと変わらない
20文字以上入力されたらバッファーがあふれる
376:デフォルトの名無しさん
08/08/25 15:31:41
>>370
scanf(%20s,filename);とか
文字数制限しないとバッファオーバーランするみたいですね。
勉強不足でした・・・(´・ω・)
377:デフォルトの名無しさん
08/08/25 15:34:09
>>375
scanf(%20s,filename);とか
文字数制限しないとバッファオーバーランすんですね。
勉強不足でした。(´・ω・)
378:デフォルトの名無しさん
08/08/25 15:34:19
そして現実にはそこまでするくらいならfgets+sscanfで良くね?となるのであった……。
379:デフォルトの名無しさん
08/08/25 16:28:42
文字列一つだけ欲しいんだからsscanfもいらない気がするw
380:デフォルトの名無しさん
08/08/26 12:56:45
>>347
データをすべて読み込むところまでしかできてない
URLリンク(kansai2channeler.hp.infoseek.co.jp)
381:234
08/08/26 14:41:03
234ですみなさんおつかれさまです
URLリンク(kansai2channeler.hp.infoseek.co.jp)
と、無事完成させることができました(関数にしたほうがいいかも)
そして次の課題もご協力おねがいしたいのですがよろしいですか?
256、16、モノクロ対応
◆仕様
・各ビット数のビットマップも読み込めるようにする。
・<windows.h>は使用しない
◆ポイント
・読み込んだデータを24ビットに展開させる。
あと以前の色を文字で表示するのは
0x000000FF=青
0x0000FF00=緑
0x00FF0000=赤
0x00FFFFFF=白
0x00000000=黒
だったようです。失礼しました。
382:デフォルトの名無しさん
08/08/26 20:14:28
>>347
>>380 は有向グラフで書いてるけど、問題は無向グラフ?
383:347
08/08/26 20:46:46
>>380
すごく参考になりました。
ありがとうございます!
>>382
あくまでも、私個人の考えなのですが;
ある点A(これは学生の出席番号でした) から50までの最短経路の長さとその途中に通った点を求めるのが、
この問題の最終的な目標です。(奥行優先探索を使うといいと教師は言ってました。)
今回はグラフを書くこと自体が目的ではないので、有向、無向、どちらでも大丈夫です。
まぁ、最短経路なので、無向、有向どちらかといえば、一番近い距離を制約なしに
進める無向の方がいいかもしれません。
あと、データの各枝の長さがすべて異なっていれば、最小木が一意に定まりますが、
今回のデータは、そうでないので、作り方によっては、最小木が何本か作れるかもしれないです。
384:デフォルトの名無しさん
08/08/27 09:47:14
夏休みの宿題で c++で
「自分で考えた最高のクラスを創ってこい」
というのが出ました。
どんなのを作っていいか全く見当がつきません。
だれか知恵を貸してください。
385:384
08/08/27 10:01:33
すいません追記です
クラスの継承は必ず使えとの事です
386:デフォルトの名無しさん
08/08/27 10:43:43
総勢30名のクラス中女子が28名いて自分以外の男子1名はとんでもないブサイクのようなクラスだ。
387:デフォルトの名無しさん
08/08/27 10:54:19
>>386
夢のようなクラス(学級)ですね!
でもそっちのクラスじゃないです;;
class xxxx{
private:
int aa:
public;
xxxx();
とかのクラスです。
388:デフォルトの名無しさん
08/08/27 11:02:06
物凄く面倒くさい手順でHello, World!を表示するクラスとか
389:デフォルトの名無しさん
08/08/27 11:04:29
class Ninja{
private:
static const int lv = 99;
public:
int Attack(void){ return lv*100; }
};
こういうことか
390:デフォルトの名無しさん
08/08/27 11:14:46
NinjaはMonsterを継承しないと
391:デフォルトの名無しさん
08/08/27 11:15:33
って敵で出てくるほうの忍者じゃないか
392:デフォルトの名無しさん
08/08/27 16:42:00
[1] 授業単元: C言語実習
[2] 問題文:
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: WindowsXP Professional
[3.2] コンパイラ名とバージョン: Borland C++ 5.6.4
[3.3] 言語: C
[4] 期限: 本日中
よろしくお願いします。
393:デフォルトの名無しさん
08/08/27 17:09:55
自分-1まで調べろと書いてあるのに
何故自分までadd配列に入った結果になってるんだ?
394:デフォルトの名無しさん
08/08/27 17:11:21
ああ、最後に自分を入れろと書いてるのか
395:デフォルトの名無しさん
08/08/27 17:24:19
>>392
#include<stdio.h>
int main(void){
int add[15], in=-1, i, j;
scanf("%d", &in);
if(in<2 || in>100) return 1;
for(i=0;i<15;i++) add[i]=0;
for(i=2,j=0;i<in;i++) if(in%i==0) add[j++]=i;
add[j++]=in;
for(i=0;add[i]!=0;i++) printf(" %d", add[i]);
return 0;
}
396:デフォルトの名無しさん
08/08/27 17:24:46
#include<stdio.h>
int main()
{
int add[15]={0};
int own=0,cownt=0;
do{
printf("2~100の値を入れてください\n");
scanf("%d",&own);
}while(own<2||100<own);
for(int i=1;i<own;i++)
if( !(own%i) )
add[cownt++]=i;
add[cownt]=own;
for(int i=0;add[i]!=0;i++)
printf("%d ",add[i]);
return 0;
}
397:396
08/08/27 17:26:44
しまった、変数名の指定呼んでなかったorz
398:デフォルトの名無しさん
08/08/27 17:34:04
>Q3.「バブル・ソート」という整列手順(アルゴリズム)があるが、ここで用いた基本ソートとの違い何か。
ソート使って無くね?
399:デフォルトの名無しさん
08/08/27 17:49:17
Q3だけ設問、浮いてるよなw
400:392
08/08/27 18:51:58
回答ありがとうございます。
>>395
returnを複数使うという事を習っていないのですが
return 1; の部分を使わないとすればどういう風になるのでしょうか?
お手数かけますがお願いします。
401:デフォルトの名無しさん
08/08/27 19:01:05
判定ひっくり返して中に入れちゃえばいいべ。
if(in>=2 && in<=100) {
//return 0の前の行まで
}
return 0;
402: ◆mM5kCiKYnA
08/08/27 21:49:48
[1] 授業単元: C言語(送信,受信)
[2]
UDPマルチキャストにて送信されたデータを受信するのですが....。
そのデータというのがアナログ64点,デジタル256点分が送られてきて、
それぞれアナログ256byte,デジタル32byteに格納して
残りの40byteはダミーで合計328byte分を用意して受け取り、
受信したデータをシュミレーターの受信バッファに書き込む作業ですが...
*注意事項としてはマルチキャストで送信されるデータはパルス信号がカウント値で送られ
てくるので受信したパルス信号時間に変換すること。
*パルス信号自体通常1が送信されるので2以上の値を受信した時点でバッファに書き込むようにする。
尚この処理自体湾ショットのみ行う。つまり通常1が送られて、2になった時点で受け取りまたしばらく
すると1になりその信号が3とか1以外になった時点で取り込むようなプログラムにする。
困っているので助けてください。よろしくお願いします。
[3] 環境
[3.1] OS:Solaris8,UNIX(viコマンド)
[3.2] コンパイラ名又はバージョン
[3.3] 言語: C言語
[4] 期限:2008年9月1日
403:デフォルトの名無しさん
08/08/27 22:11:47
>>402
あなろぐ?
404: ◆mM5kCiKYnA
08/08/27 22:59:12
>>アナログとデジタルのことです。
時計とかでもあると思うんですけど。
そこはあまり深く考えなくても大丈夫ですので。
405:デフォルトの名無しさん
08/08/28 01:07:23
[1] 演習課題: C++
[2]
配列等を使って料金算出システムを作るのですが・・・
給料を入力
等級⇒給料が~101100の場合"1"、101000~107000の場合"2"、107000~1014000の場合"3"
1014000~122000の場合"4"、122000~130000の場合"5"
健康保険⇒給料の8.2%
厚生年金⇒給料の14.642%
雇用保険⇒給料の0.02%
出力後
所得 ○○円
等級 ○
厚生年金 ○○円
健康保険 ○○円
雇用保険 ○○円
終了しますか?(y,n)
というようなプログラムにします。
本当に困っているのでどなたか助けてください。よろしくお願いしますm(__)m
[3] 環境
[3.1] OS:WindowsXp
[3.2] Visial C++
[3.3] 言語: C++
[4] 期限:2008年8月28日
406:392
08/08/28 01:15:02
>>401
遅くなりましたが解決しました。
ありがとうございました!
407:デフォルトの名無しさん
08/08/28 02:36:20
>>405
何をすればいいのかいまいちわからん。
それやるのに配列使わなく無いか?
それとも、表示するだけではなくて保存しておく必要があるのか?
408:デフォルトの名無しさん
08/08/28 02:41:40
>>405
数値を正確に書けよ。イミフだ
未満とか以下の表現も必要
409:デフォルトの名無しさん
08/08/28 06:18:35
>>405
こんなもんでいかがッスか?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
410:デフォルトの名無しさん
08/08/28 07:58:36
OpenGLで球体を作りたいのですが、サンプル例を作っていただけませんか?
411:デフォルトの名無しさん
08/08/28 08:19:35
[1] 確率論
[2]
NxNの行列の逆行列を出すプログラムをつくれ。
Nは10以上30以下である。
[3] 環境
[3.1] Linux
[3.2] gcc
[3.3] 言語:C
[4] 期限:明日にかわるくらいまでには
412:デフォルトの名無しさん
08/08/28 09:00:58
>>410
glutでいいよね?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
413:デフォルトの名無しさん
08/08/28 09:56:02
だが断る
414:デフォルトの名無しさん
08/08/28 10:13:16
>>402
シュミレーターの受信バッファに書き込む?
カウント値?
パルス信号?
問題の意味が分からない
415:デフォルトの名無しさん
08/08/28 10:15:15
>>411
Numerical Recipes in C でも読んでろ
416:デフォルトの名無しさん
08/08/28 11:16:29
5000円とかたかいよー。
417:デフォルトの名無しさん
08/08/28 19:02:35
>>411
LU分解,Gauss-Jordan法,特異値分解
好きなのでググれ
418:デフォルトの名無しさん
08/08/28 22:30:14
>>407
すいません。説明が言葉足らずでしたね。
>>408
たしかに。。。これからは気をつけよう。
>>409
おかげさまでどうにか期限までに課題を終わらせる事ができました。
本当に助かりました。ありがとうございました。
419:デフォルトの名無しさん
08/08/29 03:32:50
[1]C言語
[2]住所録の作成
名前・住所・年齢・メアドを一つのレコードとする住所録システム
レコードの登録・削除・レコード中の各項目の更新・レコード中の各項目によるレコード検索
ファイルへの書込みと読込の6機能
配列は使えない
[3]OS:Windows 言語:C
[4]08/08/31
420:デフォルトの名無しさん
08/08/29 03:57:29
> 配列は使えない
ちょっwwwwwww
421:デフォルトの名無しさん
08/08/29 03:59:37
ポインタと動的メモリ確保使ってことでは?
422:デフォルトの名無しさん
08/08/29 04:06:21
あんまり好みの設計じゃないなぁ。
固定長レコードな住所録の方が好きだ。
423:デフォルトの名無しさん
08/08/29 04:11:13
いや、まてよ?
1レコードは256Byte固定長にして、各レコードは区切り文字で区切ればいいのか。
ちょっとやってくる。
424:デフォルトの名無しさん
08/08/29 04:26:26
飽きたから放棄。
425:デフォルトの名無しさん
08/08/29 04:56:17
>>419
レコード検索は部分一致でやるの?
その場合、複数件の該当レコードがあったときどうすんの?
426:デフォルトの名無しさん
08/08/29 05:40:40
>>423
とりあえず登録と表示できるやつを作ってみた
#include "stdio.h"
#include "string.h"
typedef struct { int address,age,email, a,b,c,d, e,f,g,h, i,j,k,l, m,n,o,p ; } RECORD;
typedef struct { RECORD a,b,c,d,e, f,g,h,i,j, k,l,m,n,o, p,q,r,s,t, u,v,w,x,y,z ; } RECORDSET;
int main(void)
{
int i; char *p,*a,c; RECORDSET rs = {0}; RECORD *r = &rs.a,*t;
while( 1 ) { printf("i:touroku r:sakujo o:koushin h:kensaku a:kakikomi n:yomikomi 1:list 0:exit ?");
fflush(stdin); c = getchar();
switch(c) {
case 'i': p = (char*)&r->a;
printf("name :");scanf("%s",p);p+=r->address=strlen(p)+1;
printf("address :");scanf("%s",p);p+=r->age=strlen(p)+1;
printf("age :");scanf("%s",p);p+=r->email=strlen(p)+1;
printf("e-mail :");scanf("%s",p); r++; break;
case '1': t = &rs.a;c=0;
while(t->address>0) {
printf("\n[%c]",'a'+(t-&rs.a)/sizeof(RECORD));a=(char*)&t->a;
printf("\nname :%s\n",a);a+=t->address;printf("address :%s\n",a);a+=t->age;
printf("age :%s\n",a);a+=t->email;printf("e-mail :%s\n",a);
t++;c++;
}
printf("\ncount = %d\n", c ); break;
case '0':return 0; default :printf("not implimented.\n");
}
}
return 0;
}
427:デフォルトの名無しさん
08/08/29 08:18:44
>>420
住所録関係なら配列は使えないだろ?
勉強しなおせ
428:デフォルトの名無しさん
08/08/29 10:35:12
×使えない
○使わない
429:デフォルトの名無しさん
08/08/29 10:37:46
そうだよな、住所録関係なら配列は使えないのは常識だよな
430:デフォルトの名無しさん
08/08/29 13:00:39
>>427 (・∀・)ニヤニヤ
431:デフォルトの名無しさん
08/08/29 13:02:04
文字列は配列として扱ってはいけないんですね?
1文字づつメモリ上に領域を確保してポインタを繋げていかないといけないんですね?
432:デフォルトの名無しさん
08/08/29 13:02:57
>>431
しっ、知ったか初心者に障っちゃだめ、また屁理屈を言い出して
それでも配列じゃないって言い出すから。
433:デフォルトの名無しさん
08/08/29 13:49:00
struct string{
int size;
};
434:デフォルトの名無しさん
08/08/29 15:02:10
[1] 授業単元:C++
[2] 問題文(含コード&リンク): 多倍長整数の除算(100桁まで)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C++
[4] 期限: 出来れば明日中
[5] その他の制限: 形式としてclassは必ず使う。
よろしくお願いします。
435:デフォルトの名無しさん
08/08/29 21:51:05
>>434
その手の問題は未解決になる可能性大
ここのスレの住人は文字列を逆順にしたり、並べ替えたりする
なんの役にもたたないようなプログラムばかり書いてるからw
436:デフォルトの名無しさん
08/08/29 21:52:40
>>435
煽ればやってくれるとでもwww
記憶にある限り少なくともCの範囲では過去にやったよ
437:デフォルトの名無しさん
08/08/29 22:00:35
たばいちょうせいすうってなに?
438:デフォルトの名無しさん
08/08/29 22:03:25
>>437
ググレカス
439:デフォルトの名無しさん
08/08/29 23:16:29
URLリンク(ja.wikipedia.org)
440:419
08/08/30 02:03:26
>>421
そうですね。
>>425
部分一致でお願いいたします。
複数件あった場合は何件該当しましたという表記でお願いします。
441:デフォルトの名無しさん
08/08/30 02:09:15
やっぱりこの手の問題は無理かw
前にあったとか、wwwを探せとか・・・
やっぱり、”10個の整数の和を求めるプログラムを教えて下さい”位がちょうどいいかw
442:デフォルトの名無しさん
08/08/30 02:25:06
>>441
やり方じゃなくてタイプするのが面倒なだけのコードなんて、誰も興味ないだろ。
443:デフォルトの名無しさん
08/08/30 02:30:50
あたかも、余裕で書けるが面倒なんで書かないといいたいようですねw
444:デフォルトの名無しさん
08/08/30 02:36:57
余裕だなんて、よう言う わ
445:デフォルトの名無しさん
08/08/30 02:37:44
>>443
書けるかどうかじゃなくて、手持ちの教科書に載ってるしな・・・
446:デフォルトの名無しさん
08/08/30 02:39:38
>>445
んじゃ、それを丸々書けば良いだろwwww
447:デフォルトの名無しさん
08/08/30 02:41:55
多倍長整数ってだけで何処までやればいいのか分からないのは俺だけ?
メモリの許す限り無限長までやればいいの?
448:デフォルトの名無しさん
08/08/30 02:42:38
>>446
面白みがなくて、タイプするのが面倒。
最初から言ってるだろ?
449:デフォルトの名無しさん
08/08/30 02:43:05
>>434
何スレか前にintを10進数4桁とみなして計算するようなやつを見た気がするぞ。
加算だか除算だかは覚えてないが。
速度を度外視していいんなら、単純に減算を繰り返すやつを無理矢理クラスに押し込めれば完成。
はい、やる価値無し。次。
450:デフォルトの名無しさん
08/08/30 02:43:47
>>447
整数の除算って言ってるし、100桁とも書いてあるぞ?
451:デフォルトの名無しさん
08/08/30 02:44:12
100桁って書いてたということに今気付いた
正直すまんかった
452:デフォルトの名無しさん
08/08/30 02:44:26
>>447
適当に桁を決められるようにするとか、もちろん、それも
実行している環境が許す範囲内ということにはなるけどね。
>>448
ごちゃごちゃうるせーよ、答える気が無いなら失せろや
昼夜逆転生活の頭のイカれたひきこもり
453:デフォルトの名無しさん
08/08/30 02:44:58
なんか小学生が暴れてるようだな。
あぼーんしとこうぜ。
454:デフォルトの名無しさん
08/08/30 02:45:02
>>452
自己紹介乙
455:デフォルトの名無しさん
08/08/30 02:50:29
>>449
なんで自分の価値観を語ってるの?w
>>1読める?読めない?聖徳(ry
456:デフォルトの名無しさん
08/08/30 02:56:11
1000000000000000000/100000000000000000000とか
こういう計算をするってこと?
457:デフォルトの名無しさん
08/08/30 03:02:13
宿題スレの過去ログだと多倍長整数の四則演算は4回以上解かれてるようだ
オレもさすがに二度目は面倒だ
458:デフォルトの名無しさん
08/08/30 03:07:52
URLリンク(www5.airnet.ne.jp)
ググったら何かあったけど?
>>453
目の前の本を書き写すことも出来ない小学生は寝ろよw
459:デフォルトの名無しさん
08/08/30 03:12:04
>>452
問題文も読めないヤツが、ちゃちゃ入れてただけか・・・
460:デフォルトの名無しさん
08/08/30 03:12:59
ググのは面倒ではないんだW
461:デフォルトの名無しさん
08/08/30 03:16:12
やっぱこいつ、本を見ても理解できないからって
必死に自分がやらないことをアピールしてらw
お子ちゃま~~とっとと寝ろよ、難しい年頃の厨房w
462:デフォルトの名無しさん
08/08/30 03:38:29
> あなたが解けないC言語/C++言語の宿題を片付けもらうスレッドです。気に入らない質問やその他や発言はスルーの方向で。
463:デフォルトの名無しさん
08/08/30 04:41:54
>>440
>複数件あった場合は何件該当しましたという表記でお願いします。
件数だけでいいんですか?該当したレコードを選択して表示できたりしないでいいんですか?
もしそうなら、それって検索の意味が全く無いですね。
できるようにする必要があるなら該当レコードへのポインタを配列に入れて検索結果の保存を
したいんですが、配列は使ってはいけないんですよね?
配列を使ってはいけない、という制限は一体何のためにあるんですか?バグを増やすためですか?
464:デフォルトの名無しさん
08/08/30 08:02:11
「自分より出来ない奴」を探して馬鹿にしたいガキが迷い込んでたみたいだな。
はやく夏休み終わればいいのに。
465:デフォルトの名無しさん
08/08/30 10:19:25
>>463
多分リストとか二分木とかを使えってことじゃないかと
466:47
08/08/30 10:48:06
>>48,51
>>73
>>80
皆様方ありがとうございました。
参考にさせて頂いて取り敢えずプログラム作れました。
結果も16通りでました。解説も書けたところで、
これから提出します。
約1月振りに覗いてみたら、数時間で解答が出てたので
びっくりでした。
467:
08/08/30 11:59:13
[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows vista
[3.2] コンパイラ名とバージョン:bcc
[3.3] 言語:C言語
[4] 期限:出来れば明日まで
[5] その他の制限:学校で習う程度にライブラリを使用してくれれば有難いです。
口頭で言ったものを文章にしたので上手く伝わっていなかったらすみません。
468:デフォルトの名無しさん
08/08/30 13:31:41
>>467
こんな感じでいかがでしょう?
URLリンク(kansai2channeler.hp.infoseek.co.jp)
469:
08/08/30 14:03:27
>>468
データを追加してファイルを上書きしたあとにsyouhin_1.txtというファイルに綺麗に出力するのですが・・・
そこの部分もお願いしたいのですが。。。
470:デフォルトの名無しさん
08/08/30 14:58:44
>>469
修正したよ
URLリンク(kansai2channeler.hp.infoseek.co.jp)
471:デフォルトの名無しさん
08/08/31 12:12:47
[1] 授業単元: マルチメディア・プログラミング
[2] 問題文(含コード&リンク): Windows上で動作するアクションゲームを製作せよ
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: 指定なし
[3.3] 言語: C++
[4] 期限:2009年4月1日
[5] その他の制限: OpenGL又はDirectXを使うこと
472:
08/08/31 14:17:14
>>470
ありがとうございました。
たすかりました。
473:デフォルトの名無しさん
08/09/01 08:55:56
>>471
プログラムよりモデルデータやモーションデータのほうがキモになるから無理
474:デフォルトの名無しさん
08/09/01 09:18:19
1日までってぎりぎりすぎると思ってよく見たら来年の4月か
期限長いな
475:デフォルトの名無しさん
08/09/01 13:10:01
[1] 授業単元: プログラミング
[2] 問題文(含コード&リンク): 多倍長演算
100桁以内の整数(10進数)を2つ入力し
その二つの足し算引き算の結果を表示せよ。
表示方法は4桁ごとにスペースを入れること。
[3] 環境
[3.1] OS: Windows
[3.2] コンパイラ名とバージョン: VC++
[3.3] 言語: C
[4] 期限: 2008年9月4日まで
入力と表示だけは出来ましたが肝心の足し算引き算
の仕方がわかりません。どなたかお願いいたします。
入力と表示だけ書いたソースを一応はっときます。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
476:デフォルトの名無しさん
08/09/01 13:22:19
>>475
過去スレたどれよ
477:デフォルトの名無しさん
08/09/01 16:02:49
void _plus(char* a, char* b, int minus_flg){
char* ans = (strlen(a) > strlen(b)) ? a : b;
char* ans_p = ans + ((strlen(a) > strlen(b)) ? strlen(a) : strlen(b)) - 1;
int kuriagari = 0;
for (char *a_p = a + strlen(a) - 1, *b_p = b + strlen(b) - 1; ans_p >= ans; ans_p--){
if (a_p >= a) kuriagari += (*a_p-- - 0x30);
if (b_p >= b) kuriagari += (*b_p-- - 0x30);
*ans_p = 0x30 + kuriagari % 10;
kuriagari /= 10;
}
if (minus_flg) std::cout << '-';
if (kuriagari) std::cout << kuriagari << ans << std::endl;
else std::cout << ans << std::endl;
}
478:デフォルトの名無しさん
08/09/01 16:03:58
void _minus(char* a, char* b, int minus_flg){
char* ans = (strlen(a) > strlen(b)) ? a : b;
char* ans_p = ans + ((strlen(a) > strlen(b)) ? strlen(a) : strlen(b)) - 1;
int kuriagari = 0;
for (char *a_p = a + strlen(a) - 1, *b_p = b + strlen(b) - 1; ans_p >= ans; ans_p--){
if (a_p >= a) kuriagari += (*a_p-- - 0x30);
if (b_p >= b) kuriagari -= (*b_p-- - 0x30);
*ans_p = 0x30 + (kuriagari + 10) % 10;
if (kuriagari >= 0) kuriagari = 0;
else kuriagari = -1;
}
if (minus_flg) std::cout << '-';
if (!kuriagari) std::cout << ans << std::endl;
else std::cout << ans << std::endl;
}
479:デフォルトの名無しさん
08/09/01 16:05:02
void plus(char* a, char* b){
if (*b == '-') minus(a, b + 1);
else if (*a == '-') minus(b, a + 1);
else _plus(a, b);
}
void minus(char* a, char* b){
if (*b == '-') plus(a, b + 1);
else if (*a == '-') _plus(a + 1, b, 1);
else if (strlen(a) > strlen(b)) _minus(a, b);
else if (strlen(a) < strlen(b)) _minus(b, a, 1);
else if (strcmp(a, b) >= 0) _minus(a, b);
else _minus(b, a, 1);
}
480:デフォルトの名無しさん
08/09/01 16:46:30
[1] 授業単元: プログラミング演習
[2] 問題文(含コード&リンク):
10進数の-10を8進数・16進数に変換するプログラムを書きなさい
配列を使用する場合の要素数は16とする
[3] 環境
[3.1] OS: Windows XP
[3.2] コンパイラ名とバージョン: 指定なし
[3.3] 言語: C
[4] 期限:2008年9月3日
[5] その他の制限: ポインタなどは少し話題に上がった程度の習得状況です
よろしく御願い致します。
481:デフォルトの名無しさん
08/09/01 16:56:19
int main(void){
char buf[16];
sprintf(buf, "%x", -10);
sprintf(buf, "%o", -10);
}
482:デフォルトの名無しさん
08/09/01 17:24:29
>>481
返信、ありがとうございます。
問題の書き方が言葉足らずだったようです。
URLリンク(www.orchid.co.jp) の
上のプログラムのような計算をし、かつ負数を取り扱えるような
ソースを書きたいのです。
483:デフォルトの名無しさん
08/09/01 17:38:28
int main(void){
int a = -10;
char buf16[16];
memset(buf16, 0x00, 16);
for (int i = 0; i < 15; i++){
buf16[14 - i] = "0123456789abcdef"[a & 0xF];
a >>= 4;
}
a = -10;
char buf8[16];
memset(buf8, 0x00, 16);
for (int i = 0; i < 15; i++){
buf8[14 - i] = "01234567"[a & 0x7];
a >>= 3;
}
}
484:ぱそこん
08/09/01 18:16:42
1授業単元;C言語
2問題文;抽選プログラム(定員、募集人数をキーボードから入力し、乱数を発生させて数値の重複のないように定員分のランダムな数値を求める。
そして、その発生した数値を昇順と、発生した順にそれぞれ出力する。)
3環境
4OS:widows xp またはLinuxでもok
5期限:できれば明日中(本当に急いでます!)
6その他;flg、do while文は必ず用いる。
C言語かなりの初心者です。
485:デフォルトの名無しさん
08/09/01 20:33:27
問題文:配列bufferの文字列の中にあるカンマを水平タブに変換して、配列strafterに
格納し表示させよ。
OS:Linux Fedora8
コンパイラ:gcc(バージョン失念。Fedora8のデフォルトのものです。
コメント:エラー吐きまくりで動作しません。助けて下さいorz
以下、現状のソース
-------------------
#include<stdio.h>
#include<string.h>
int main(void){
char buffer[512]="2000/01/01,9:00:00,AAA BBB CCC";
char repchar[1];
int i;
int buflen;
char strafter[512];
strafter[0]='\0';
repchar[0]='\t';
buflen = strlen(buffer);
printf("文字数 = %d\n",buflen);
printf("Before : %s\n",buffer);
for(i = 0; i < buflen ; i++){
i = i-1;
if(*(buffer+i) == ','){
strcat(strafter,repchar);
}
else{
strcat(strafter,(buffer +i));
}
}
printf("%s\n",strafter);
}
486: ◆O/vs7BIw1Y
08/09/01 20:50:30
[1] 授業単元:プログラミング
[2] 問題文:URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2008/09/15
[5] その他の制限: 標準ライブラリのみ使用
よろしくおねがいします。
487:デフォルトの名無しさん
08/09/01 20:58:08
>>485
repcharが文字列でないからじゃないかな
strcat(strafter,repchar);
面倒なのでこれでいいだろ
#include <stdio.h>
int
main()
{
char buffer[512] = "2000/01/01,9:00:00,AAA BBB CCC";
char strafter[sizeof(buffer)] = {0};
{ int i = 0;
while ( buffer[i] != '\0' ) {
strafter[i] = ( buffer[i] == ',' ) ? '\t' : buffer[i];
++i;
}}
printf("%s\n", strafter);
return 0;
}
488:485
08/09/01 21:43:21
>>487さん
ありがとうございます。
こんなやり方でいけるんですね。
C言語本格的に初めて5日目くらいですが,頑張らねばorz
489:
08/09/01 22:37:27
467のものです。
>>468
>>470
でやってもらったのですが、構造体を使えとさらに指示が出まして…
構造体を使ってやっていただきたいです。
ファイル処理はバイナリではなく、w,r,a,(a+)などでお願いします。
490:抽選プログラム
08/09/01 22:48:16
[1]授業単元;C言語
[2]問題文;抽選プログラム(定員、募集人数をキーボードから入力し、乱数を発生させて数値の重複のないように定員分のランダムな数値を求める。
そして、その発生した数値を昇順と、発生した順にそれぞれ出力する。)
[3]環境:gcc
[4]OS:widows xp またはLinuxでもok
[5]期限:できれば明日中(本当に急いでます!)
[6]その他;flg、do while文は必ず用いる。
C言語かなりの初心者です。
491:デフォルトの名無しさん
08/09/01 23:11:11
「ビンゴ プログラム C言語」くらいでググレ
492:デフォルトの名無しさん
08/09/01 23:42:48
>>490
URLリンク(kansai2channeler.hp.infoseek.co.jp)
鬱だ死
493:抽選プログラム
08/09/02 00:14:50
492さんありがとうございます!!
よかったらプログラムに書いてあるコメントを日本語で書いていただけないでしょうか汗
英語分からないんです涙
494:デフォルトの名無しさん
08/09/02 00:22:02
辞書引けよ・・・
495:ロベ
08/09/02 09:33:09
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):
インテルHEX形式をモトローラSレコード形式に変換するプログラムを作成しなさい
~条件~
・通常の形式はS1レコードに変換する
・セグメントアドレスがあった場合はS2レコードに変換する
・拡張リニアアドレスがあった場合はS3レコードに変換する
・途中でセグメント/リニアアドレスが出てくる場合でも、最初からS2/S3レコードで出力すること(S1~S3の混合はNG)
・セグメント/リニアアドレス両方あった場合は、S3レコードとする
・スタートアドレスは考慮しなくてもよいものとする
・S0(スタートレコード)は出力しなくてもかまわない
・S4~S6は今回考慮しなくてもよい
・プログラム中でポインタを必ず使用すること
・ソース内にはコメントを表記すること
[3] 環境
[3.1] OS:Windows
[3.2] borland
[3.3] 言語:C言語
[4] 期限:9月4日0:00まで
[5] その他の制限:特になし
よろしくお願いします
496:デフォルトの名無しさん
08/09/02 10:02:19
あまりに難易度が高くてまったく分からない!
497:デフォルトの名無しさん
08/09/02 10:37:37
出てくる単語が分からないだけじゃない?
別に難易度高くないから調べてみたら?勉強になるし。
498:デフォルトの名無しさん
08/09/02 11:57:01
[1] 授業単元: 応用数学
[2] 問題文(含コード&リンク): 入力された関数を微分するプログラムを作れ
[3] 環境
[3.1] OS: Linux
[3.2] コンパイラ名とバージョン: gcc
[3.3] 言語: C
[4] 期限: 2008年9月10日まで
---実行例(<>内は入力)--
enter equation> <3x^4 + sin(x)^2>
derivative is
12x^3 + sin(2x)
------------------
高次項・三角関数・合成関数に対応させるのが条件です
499:デフォルトの名無しさん
08/09/02 21:32:48
[1] テキストからファイル出力でログインの認証システムを作る課題です。
ログイン後はユーザの新規登録・削除・変更、一覧と紹介(絞込み)が可能なもの。
①ユーザID/パスワード入力
②ユーザテーブルチェック・エラー処理・メニュー処理へ
【出力画面】
Uidを入力してください
○○
Pwdを入力してください
○○
Uid: ○○
Pwd: ○○
担当者: ○○
会社コード: ○○
アクセス区分: ○○
e-mail: ○○
1.照会(絞込み) 2.一覧 3.新規、変更、削除 4.ログアウト
終了しますか? (y,n)
【テキストの内容】
会社コード 担当者 ユーザID アクセス区分 e-mail
001 山田 太郎 u001 1 yamada@co.jp
002 山田 花子 u002 2 hanako@co.jp
003 田中 次郎 u003 3 tanaka@co.jp
というようなプログラムにします。
頑張りましたがどうしても無理でした。。
申し訳ないですが、どうかよろしくお願いしますm(__)m
[2.1] OS:WindowsXp
[2.2] Visial C++
[2.3] 言語: C++
[3] 期限:2008年9月3日
500:デフォルトの名無しさん
08/09/03 00:23:04
>499
ひまなので
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace baka1
{
class Program
{
static string[,] users = {
{"uid1", "pwd1","諡�蠖楢�蜷�","莨夂、セ繧ウ繝シ繝牙錐","繧「繧ッ繧サ繧ケ蛹コ蛻�蜷�","繧√k縺ゅ←"},
{"uid1", "pwd1","諡�蠖楢�蜷�","莨夂、セ繧ウ繝シ繝牙錐","繧「繧ッ繧サ繧ケ蛹コ蛻�蜷�","繧√k縺ゅ←"},
};
static void Main(string[] args)
{
for (int i = 0; i < users.Length; i++)
{
if (users[i, 0] == args[0] && users[i, 1] == args[1])
{
Console.WriteLine("user驟榊�励�ョi逡ェ逶ョ繧偵�励Μ繝ウ繝�");
}
}
}
}
}
501:デフォルトの名無しさん
08/09/03 00:24:20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace baka1
{
class Program
{
static string[,] users = {
{"uid1", "pwd1","担当者名","会社コード名","アクセス区分名","めるあど"},
{"uid1", "pwd1","担当者名","会社コード名","アクセス区分名","めるあど"},
};
static void Main(string[] args)
{
for (int i = 0; i < users.Length; i++)
{
if (users[i, 0] == args[0] && users[i, 1] == args[1])
{
Console.WriteLine("user配列のi番目をプリント");
}
}
}
}
}
502:デフォルトの名無しさん
08/09/03 00:37:15
>>500>>501
コラw
503:デフォルトの名無しさん
08/09/03 09:51:54
そのままコピペするとUTF-8になっちゃうことあるよなw
504:デフォルトの名無しさん
08/09/03 17:34:53
ここってプログラムに関する質問じゃなくて、プログラムを作ってもらうのってありですか?
505:デフォルトの名無しさん
08/09/03 17:38:27
>>504
高いよ
506:デフォルトの名無しさん
08/09/03 17:43:19
宿題スレで聞いてるってことは宿題か?
このスレずっとさかのぼってみてみるといい。
507:デフォルトの名無しさん
08/09/03 17:56:44
誰か>>499を答えて下さる方いませんでしょうか?
他力本願で情けないのですが今の僕のレベルではお手上げ状態です(>_<)
508:デフォルトの名無しさん
08/09/03 18:42:40
お手上げなら正直に単位落とせばいいのに…
509:デフォルトの名無しさん
08/09/03 19:37:34
>>508
それはできません(>_<)どうか本当にお願いします(>_<)
510:デフォルトの名無しさん
08/09/03 20:12:17
>>509
マジレスすると、その機能を無料で作ってくださいとかありえない。
511:デフォルトの名無しさん
08/09/03 20:28:16
>>509
そうですか…。自力で作るしか方法は無いのですね。
わかりました、ご指摘いただいてありがとうございましたm(__)m
512:デフォルトの名無しさん
08/09/03 20:33:20
.
513:デフォルトの名無しさん
08/09/03 22:46:57
[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS:Windows XP
[3.2] コンパイラ名とバージョン:Borland
[3.3] 言語:C言語
[4] 期限:日付変更辺りまで
どうか宜しくお願いします。
514:デフォルトの名無しさん
08/09/03 23:02:30
>>513
#include <stdio.h>
#include <math.h>
int main(void)
{
FILE *fp_in, *fp_out;
char *filename_in="louise.dat", *filename_out="site.dat";
int x;
if((fp_in=fopen(filename_in, "r"))==NULL) return 1;
if((fp_out=fopen(filename_out, "w"))==NULL) return 2;
while(fscanf(fp_in, "%d", &x)==1)
{
fprintf(fp_out, "%f\n", sqrt(x));
}
fclose(fp_in);
fclose(fp_out);
return 0;
}
515:デフォルトの名無しさん
08/09/03 23:27:08
>>514
回答ありがとうございます。
ですが()を2重にしたり、NULLやreturn 0;以外のreturnの使い方を習っておりません・・・。
他にどんな書き方があるか聞いても良いでしょうか?
516:デフォルトの名無しさん
08/09/03 23:32:39
>>515
if((fp_in=fopen(filename_in, "r"))==NULL) return 1;
↓
fp_in=fopen(filename_in, "r");
if(fp_in==NULL) return 0;
517:デフォルトの名無しさん
08/09/03 23:44:50
>>516
ほう・・・カッコを外すと1が0になるのか・・・
518:デフォルトの名無しさん
08/09/03 23:52:07
return 0; 以外使えないなら仕方ない
519:デフォルトの名無しさん
08/09/04 01:48:04
>>517
揚げ足とることに必死で515をちゃんと読めてないw
520:デフォルトの名無しさん
08/09/04 07:47:02
if(fp_in==NULL) return 0;
↓
if(!fp_in) return 0;
521:デフォルトの名無しさん
08/09/04 09:52:49
>>520
なぜわざわざ可読性を下げる?
522:デフォルトの名無しさん
08/09/04 10:00:03
加毒性いうほどのもんじゃない
523:デフォルトの名無しさん
08/09/04 10:01:27
522は大規模な開発したことないんだな
524:デフォルトの名無しさん
08/09/04 11:50:53
慣用句とか知ってる?
525:デフォルトの名無しさん
08/09/04 12:05:34
それで可読性下がるなんて経験値低すぎる。
うちのコーディング規約でもif (!hoge)だし。
526:デフォルトの名無しさん
08/09/04 12:17:11
仕事なんかでは統一されていれば問題無いと思うが、
このスレは経験値低すぎる人が質問するスレだから不適切だな
527:520
08/09/04 12:18:41
>>521
>>515でNULLの使い方を習ってないと書いてたのでこうしました
528:デフォルトの名無しさん
08/09/04 12:22:51
次は!を習ってないと言われるわけですね
529:デフォルトの名無しさん
08/09/04 15:53:06
もう0で良いよ0で
530:デフォルトの名無しさん
08/09/04 17:38:15
[1] 授業単元:プログラミング入門
[2] 問題文(含コード&リンク):URLの“第12回目”の中にある一番下(課題1)の
問題。 URL→URLリンク(al.cm.is.nagoya-u.ac.jp)
[3] 環境
[3.1] OS: (Windows/Linux/等々)
[3.2] コンパイラ名とバージョン: (gcc 3.4 VC 6.0等)
[3.3] 言語: (C/C++/どちらでも可 のいずれか)
[4] 期限: ([yyyy年mm月dd日hh:mmまで] または [無期限] のいずれか) 9月5日16時まで
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々) 関数とかは習っていません。
どうか宜しくお願いします(><)
531:デフォルトの名無しさん
08/09/04 17:42:39
>>530
面倒でも問題はテキストに起こそうぜ。
君の大学がばれるぞ。
で、JAVA???
532:530
08/09/04 18:00:18
>>531
分かりました。
533:530
08/09/04 18:16:59
連続スミマセン。
>>531
Javaです。
534:デフォルトの名無しさん
08/09/04 18:24:00
>>533
スレタイ読んで来ような。
ほしいのはこっちだろ?
スレリンク(tech板)
535:533
08/09/04 18:37:51
>>534
すみません。わざわざ誘導してもらって…失礼します
536:デフォルトの名無しさん
08/09/04 19:49:48
旧帝大でこれかよ…
537:デフォルトの名無しさん
08/09/04 23:32:13
七帝の中でも名古屋はおみそみたいなもんだからw
538:デフォルトの名無しさん
08/09/05 01:06:40
こんなアフォをみると日本の将来が本当に不安になるな。
教授に怒られることもできない。匿名の2CHでこそっと聞いて。ちなみにJava板で解答げっとしてたよ、こいつ
539:デフォルトの名無しさん
08/09/05 01:08:06
何騙されてんだ、そこはFランだ
540:504
08/09/05 01:16:42
>>506
亀レスすみません
宿題なんですけど、問題を解くのではなくてプログラムを作る宿題なんです…
ちょっと1から読んで来ます(;´Д`)
541:デフォルトの名無しさん
08/09/05 04:49:32
3問ありますがよろしくお願いします。
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: (Windows vista)
[3.2] コンパイラ名とバージョン: (Visual Studio 2005)
[3.3] 言語: C言語
[4] 期限: (来週まで)
[5] その他の制限: (ポインタの最初の段階まで習っています)
542:デフォルトの名無しさん
08/09/05 09:50:32
>>541 問1 こんな感じか?問2の意図がよくわからないが
#include <stdio.h>
void copy(char *from, char *to);
int main()
{
char a[8] = "America";
char b[8];
copy(a,b);
printf("a:%s\n",a);
printf("b:%s\n",b);
return 0;
}
void copy(char *from, char *to)
{
for(int i=0;*(from+i) != NULL;i++)
*(to+i) = *(from+i);
}
543:デフォルトの名無しさん
08/09/05 09:51:50
>>541
問1
#include <stdio.h>
int main(void)
{
char str1[7]="America";
char str2[7];
char *p1,*p2;
p1=str1;
p2=str2;
while(*p1)
*p2++=*p1++;
printf(str2);
return 0;
}
544:デフォルトの名無しさん
08/09/05 09:53:01
>>541
問2
#include <stdio.h>
int main(void)
{
char str[5]="abcde";
char *p;
p=str;
while(*p)
putchar(*p++);
return 0;
}
545:デフォルトの名無しさん
08/09/05 09:54:17
>>541
問3
#include <stdio.h>
#include <string.h>
int main(void)
{
char str1[6]="France";
char str2[6];
char *p1,*p2;
int i;
p1=str1;
p2=str2;
/* p1を'\0'の位置まで移動させる */
while(*p1)
p1++;
/* 今'\0'にいるため1つ前の'e'まで戻す */
p1--;
i=strlen(str1);
for(;i;i--)
*p2++ = *p1--;
printf(str2);
return 0;
}
546:543-545
08/09/05 10:02:47
'\0'のこと考えるの忘れてたぜ orz
547:デフォルトの名無しさん
08/09/05 10:14:30
>>546
よくあることだぜ。
むしろ、普通は数字直接入力なんてしないからな。
548:デフォルトの名無しさん
08/09/05 16:36:09
>>542
>>543
>>544
>>545
助かります♪
ありがとうございました。
549:デフォルトの名無しさん
08/09/08 13:10:28
[1] 授業単元:確率・統計
[2] 問題文(含コード&リンク):
AさんとBさんが順番にコインを投げる
ただし、AさんとBさんはそれぞれp, qの確率で表を出すことができるとする。
ここで、Aさんならm回、Bさんならn回先に表を出したら勝ちとする勝負をした場合
Aさんが勝つ確率を求める関数を作成しなさい。
ただし関数は以下のプロトタイプ宣言に従うこと。
double odds(double p, double q, int m, int n);
[3] 環境
[3.1] OS: Windows + Cygwin
[3.2] コンパイラ名とバージョン: gcc 3.4.4
[3.3] 言語: C
[4] 期限: 2008年09月08日11:59まで
[5] その他の制限:特にありませんが、アルゴリズムや考え方についての解説があると助かります。
よろしくお願いします。
550:デフォルトの名無しさん
08/09/08 14:52:44
>>549
数学の問題じゃねーか
数式よろ
551:デフォルトの名無しさん
08/09/08 15:27:46
#include <iostream>
#include <stdexception>
double odds(double p, double q, int m, int n) {
// Aが表を m 回出すまでの確率
double a = ( double )m / p;
// Bが表を n 回出すまでの確率
double b = ( double )n / q;
// AのBに対する勝率
// ただし、AはBよりも1回分余計に振るチャンスがある
return a / b + 1 / a; }
int main(){
using namespace std;
double p( 0 ), q( 0 );
int m( 0 ), n( 0 );
cout << "入力が必要です、例えばAとBが表を出す確率:";
cin >> p, q;
if ( p =< 0.0 || q =< 0.0 || p > 1.0 || q > 1.0 ) { throw domain_error( "ちょ、おまw" ); }
cout << "おまえが入力せよ、つまりAとBが表を出す回数:";
cin >> m, n;
if ( m =< 0 || n =< 0 ) { throw domain_error( "ちょ、おまw" ); }
cout << "AのBに対する勝率は・・・" << odds( m, n ) << endl;
return false; }
552:デフォルトの名無しさん
08/09/08 17:33:15
>>551
ちょ、おまw
553:デフォルトの名無しさん
08/09/08 18:04:00
[1] 授業単元:C言語実習
[2] 問題文(含コード&リンク):
URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] OS: WinXP SP3/Vista SP1
[3.2] コンパイラ名とバージョン: Borland
[3.3] 言語: C
[4] 期限: 明日9日 午前6時頃まで
[5] その他の制限:
課題番号の大きい順、6>5>4>3に優先して希望
出かけてる間に母親が親戚の子に勝手に俺のラップトップを貸した上、
明日の登校日に提出する課題の入ったUSBを吹っ飛ばされました…orz
復元作業とはいえ間に合うか不安なのでお願いします
554:デフォルトの名無しさん
08/09/08 18:45:22
まさに丸投げ
555:デフォルトの名無しさん
08/09/08 20:45:43
ハードディスクにないの?
556:デフォルトの名無しさん
08/09/08 20:51:10
>>553
やらせようとしている内容は察しがつくが
問題文が気持ち悪いな
表現のゆらぎが尋常じゃない。統一しろよと
557:デフォルトの名無しさん
08/09/08 20:52:58
>>551
脳が溶けた
558:デフォルトの名無しさん
08/09/08 21:35:46
>>553
親戚の子も母も許してやれよ?
その寛大な気持ちが、将来のお前の資産になる。
あぁ、母親はやらせくれるだろうし、親戚の子はお前を大切に育ててくれるのだから。
559:デフォルトの名無しさん
08/09/08 21:36:38
>>558
イミフ
560:デフォルトの名無しさん
08/09/08 21:41:33
IMF
読み:イミフ
561:553
08/09/08 22:11:40
>>554
URLリンク(kansai2channeler.hp.infoseek.co.jp)
1と2を終わらせて3に入ったものの、この有様で…。
USB吹っ飛ばされたショックで焦りすぎました、夜風にあたって頭冷やしてきます。
>>555
USB内で完結させてしまったのが敗因でした。
やり直しから大人しくHDDで作業→USBでコピー、の形を取ることにしました。
562:デフォルトの名無しさん
08/09/08 22:21:00
>>561
頑張ってコメントを書いているようだが内容が的外れ
最初は誰でもそんなもんだろうけど
563:デフォルトの名無しさん
08/09/08 22:23:57
そういえば、コメントってどういうことをどういう風に核のかっていう教則本みたいなのはみたことないな。
一応、先頭にプログラムの目的と製作日付、製作者の魔羅サイズは記入するようにしているけど・・・
564:デフォルトの名無しさん
08/09/08 22:30:24
>>563
標準時?最大時?現在時?
565:デフォルトの名無しさん
08/09/08 22:49:25
>>561
・ループから抜けるにはbreakを使うとよい
・一致文字列チェックでp[j]をみてるが、高頻度で見てはいけないところを
みるようになっている。それを防ぐために、配列pの各要素をNULLで初期化
しておいて、NULLじゃないところだけ一致チェックをするとよい
・一致した文字に対応する文字列件数を加算 の処理がcnt[n]++;
となっているが、cnt[j]++;では?
566:デフォルトの名無しさん
08/09/08 22:51:11
そんなことなかった。nで数チェックしてるのね。
みてはいけないとこはみてなさそうだった。ごめん。
567:デフォルトの名無しさん
08/09/08 22:57:21
printで状況を見る努力もしてるし、コメントもあながち的はずれではないし。
いい感じと思うけどなぁ。
丸投げして自分の考えと全く異なるコードを提出するより
可能ならばもう一回作って提出できる方がいいなと思う。
その途中で過去の自分のコードを改善できることもあるし。
別に丸投げが悪いといってるわけではなくて、時間があれば
そういうこと(作り直し)をしてみたらいいんじゃない?程度。
568:デフォルトの名無しさん
08/09/08 22:57:45
>>561
データ復旧させたほうが早いかも
がんばれ!
569:デフォルトの名無しさん
08/09/08 23:59:34
>>549
double odds(double p, double q, int m, int n)
{
if(m==0) return 1.0;
if(n==0) return 0.0;
return ( p*q*odds(p,q,m-1,n-1) + p*(1-q)*odds(p,q,m-1,n) + (1-p)*q*odds(p,q,m,n-1) ) / (p+q-p*q);
}
//
// F(m,n) = p*q*F(m-1,n-1) +p*(1-q)*F(m-1,n) +(1-p)*q*F(m-1,n) +(1-p)*(1-q)*F(m,n)
// 上の式を、F(m,n) について解く
//
570:デフォルトの名無しさん
08/09/09 01:39:52
>>553
課題6だけ。
出力と、main()のループを抜けるロジックがアレだけど、
眠いんでそっちで調整して。
URLリンク(kansai2channeler.hp.infoseek.co.jp)
571:デフォルトの名無しさん
08/09/09 02:34:31
[1] 授業単元:ファイル出入力
[2] 問題文(含コード&リンク):
複数の人の名前と体重、身長を質問してローレル指数を計算して
「名前、体重、身長、ローレル指数、やせすぎ(または丁度良いなど)」
をファイルに保存しなさい。
[3] 環境
[3.1] OS:Windows
[3.2] コンパイラ名とバージョン:
[3.3] 言語:C
[4] 期限: 2008/09/9(am.7)
[5] その他の制限:特になし
自分でやってみたのですが分かりません。急ですみませんがよろしくお願いします。
#include <stdio.h>
int main(void)
{
int p,n,w,h,r;
FILE *fp1;
fp1 = fopen("c:\\file.dat","w");
printf("人数を入力してください。:");
scanf("%d",&p);
572:デフォルトの名無しさん
08/09/09 02:36:07
for(;p>0;p--){
printf("名前を入力してください。:");
scanf("%s",&n);
fprintf(fp1,"%d\n",n);
printf("体重を入力してください。(kg):");
scanf("%d",&w);
fprintf(fp1,"%d\n",w);
printf("身長を入力してください。(cm):");
scanf("%d",&h);
fprintf(fp1,"%d\n",h);
r=w/(h*h*h)*1.0E7;
fprintf(fp1,"%d\n",r);
if (r<100){
printf("やせすぎです。\n");
fprintf(fp1,"やせすぎ\n"); }
else if(r>=100 && r<115){
printf("やせている。\n");
fprintf(fp1,"やせている\n"); }
else if(r>=115 && r<145){
printf("丁度良いです。\n");
fprintf(fp1,"丁度良い\n"); }
else if(r>=145 && r<160){
printf("太っています。\n");
fprintf(fp1,"太っている\n"); }
else {
printf("太りすぎです。\n");
fprintf(fp1,"太りすぎ\n"); }
}
fclose(fp1);
return 0;
}
573:デフォルトの名無しさん
08/09/09 06:19:46
>>572
何が分からんのか分からんのだが。
> printf("名前を入力してください。:");
> scanf("%s",&n);
> fprintf(fp1,"%d\n",n);
↑の fprintf(fp1,"%d\n",n); は fprintf(fp1, "%s\n",n); だべ。
後、名前って文字列だよな?なんで int 型の変数に入れようとしてんの?だったら例えば
char s[64];
scanf("%s", s);
fprintf(fp1, "%d\n", s);
こうだな。
後、
> r=w/(h*h*h)*1.0E7;
もおかしい。r は float や double で定義せんと小数点使えん。
後、整数型を直接割り算しても0にしかならん。
ならば
身長、体重も小数点扱える型で定義するか、キャストしてから割り算せい。
574:デフォルトの名無しさん
08/09/09 06:29:06
まとめ
> int p,n,w,h,r;
char n[64];
int p;
float n, w, h, r;
> scanf("%s",&n);
> fprintf(fp1,"%d\n",n);
scanf("%s", n);
fprintf(fp1, "%s\n", n);
> scanf("%d", &w);
> fprintf(fp1, "%d\n", w);
scanf("%f",&w);
fprintf(fp1, "%f\n", w);
> scanf("%d",&h);
> fprintf(fp1,"%d\n",h);
scanf("%f", &h);
fprintf(fp1, "%f\n", h);
> r=w/(h*h*h)*1.0E7;
> fprintf(fp1,"%d\n",r);
r = w / (h * h * h ) * 1000000;
fprintf(fp1, "%f\n", r);
とりあえずこれで。
575:デフォルトの名無しさん
08/09/09 06:47:11
訂正
> 後、整数型を直接割り算しても0にしかならん。
整数の部分しか持って来ないってことね。
int i = 3 / 2;
ってやったら、i は 1 になる。
後、fprintf で小数点以下を書き込みたくないのなら、
> fprintf(fp1, "%f\n", w);
fprintf(fp1, "%0.0f\n", w);
にすると小数点以下を無くして書き込む。
576:デフォルトの名無しさん
08/09/09 14:00:24
いいかげん>>569に誰か突っ込めよ
577:デフォルトの名無しさん
08/09/09 15:04:48
[1] 授業単元:C言語
[2] 問題文(含コード&リンク):URLリンク(kansai2channeler.hp.infoseek.co.jp)
[3] 環境
[3.1] Windows XP
[3.2] gcc
[3.3] C
[4] 期限:2008/9/12
[5] xlsファイルでシートごとに問題が分かれています。よろしくお願いします。
578:デフォルトの名無しさん
08/09/09 16:23:52
#include <stdio.h>
unsigned str_length(const char str[])
{
unsigned len = 0;
while (str[len])
len++;
return (len);
}
void str_rev(const char str[]){
unsigned i = str_length(str);
while(i>0)
printf("%c",str[--i]);
}
int main(void)
{
char str[100];
printf("文字列を入力してください:");
scanf("%s", str);
printf("入力した文字列は%sです。\n長さは%uです。\n", str, str_length(str));
printf("文字列を逆から表示→");
str_rev(str);
printf("\n");
return (0);
}
ポインタを使って文字列を逆から表示させる課題があるのですが、
上のプログラムのどこを変更すればポインタを使ったプログラムになるでしょうか?
よろしくお願いします。