C言語なら俺に聞け( ..
369:デフォルトの名無しさん
07/05/13 01:03:44
>>360
URLリンク(www.vector.co.jp)
良いから開いてみれ。ちゃんと書き込まれているからw
370:デフォルトの名無しさん
07/05/13 01:07:54
C言語初心者です。
基本情報処理技術者をとって会社に就職して、
プログラマーからSEになったらどの位の給料になるんでしょうか?
もちろん個人と会社による話ですが、相場を教えて下さい。
SEになっても月に30万位なんでしょうか??
371:デフォルトの名無しさん
07/05/13 01:07:58
365の反応が普通だろw
372:デフォルトの名無しさん
07/05/13 01:08:52
>>370
マ板池
373:デフォルトの名無しさん
07/05/13 01:09:25
>>367
ば…ばかって言うヤツが馬鹿なんだからねっ!!!
374:デフォルトの名無しさん
07/05/13 01:09:51
>>371
普通じゃねーよ、相手にひたすらプレッシャーを与えてボロを出したところを
さらに叩く基地外くらいだろ、そういうのがデフォになっている視野も心も狭い低学歴はw
普通は何を使って書き込まれた値を確認したか聞くだろ。
375:デフォルトの名無しさん
07/05/13 01:10:52
>>372さん
マ坂とはなんでしょうか…?
376:デフォルトの名無しさん
07/05/13 01:11:40
良いかてめぇ〜ら、C言語をかじったくらいのクソガキが、これから始める初心者を
ネチネチいじめてんじゃねーよ、スレタイが読めていないのか、こういうスレに集まる
初心者より自分の方が知識も経験もあるということを知って安心したいのか知らないが
答える気がないならこのスレから出ていってくれ。二度と戻ってくるな。
所詮お前は、プロになれなかったただのデヴ(グラマー)だ
377:デフォルトの名無しさん
07/05/13 01:12:03
>>375
プログラマー板
378:354
07/05/13 01:15:10
すみません.自分の勘違いのようです
今作っているものがunsigned ID, unsigned short sizeを読み、次にsize分文字列として読ませているんですが
IDが0x0Dまたは0x1Aになるとバグったもので
もう一度見直してきます
どうもありがとうございました
379:デフォルトの名無しさん
07/05/13 01:16:06
>>378
おそらくfopenの際、モードをバイナリにしてないからだろ
バイナリ指定してない場合、改行文字絡みで自動変換が行われる
380:デフォルトの名無しさん
07/05/13 01:21:23
>>374
オマエのトラウマなんかどうでもいいよ
381:デフォルトの名無しさん
07/05/13 01:21:24
>>374
火病ってんじゃねーぞ
・ >365 が元質問者を叩いているという事実認識がまず脳内
・ 自分が >365 を叩いてる事実を放置
・ 自分の主観が「普通」と勝手に定義
どっちが基地外かは火を見るより明らか
382:デフォルトの名無しさん
07/05/13 01:21:55
マジでやめてくんないかな
383:デフォルトの名無しさん
07/05/13 01:22:45
嫌な荒れ具合だな
亡羊本人でも降臨してんの?
384:354
07/05/13 01:24:02
>>379
まったくもって情けないです
バイナリ指定したつもりがしてませんでした
ちゃんと動作しました
お騒がせしました
385:デフォルトの名無しさん
07/05/13 01:25:07
>>380 >>381
おまえらうるせーよ?お前が一番うっとうしい、士ねよ馬鹿
質問に答える気がないなら来るなよ。ほかにレスしている奴の邪魔なんだよクソガキ
何歳だお前?なぁ?士ねよ馬鹿w
ふぁびょってんのはお前だろ。他人にファビョってんじゃねーよとか言っておきながらwwwww
380 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:23
>>374
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
オマエのトラウマなんかどうでもいいよ
↑それお前だろ。お前の場合はウマシカだがw
381 名前:デフォルトの名無しさん 投稿日:2007/05/13(日) 01:21:24
>>374
火病ってんじゃねーぞ
・ >365 が元質問者を叩いているという事実認識がまず脳内
・ 自分が >365 を叩いてる事実を放置
・ 自分の主観が「普通」と勝手に定義
どっちが基地外かは火を見るより明らか
・ >365 が元質問者を叩いているという事実認識がまず脳内
自分のレス読み返せ基地外。
・ 自分が >365 を叩いてる事実を放置
はぁ?なんで?叩いた覚えありましぇ〜〜ん、ちゃんとできたと答えたけど?
いつ俺が叩いたか、参照レスきぼんぬ。ってか、俺を特定できないから無理だろうけど
俺は叩いていないし
386:デフォルトの名無しさん
07/05/13 01:25:53
>>383
そうやっていないのに特定の人物をどうこう言い始めるだろ?
お前もうそれで名誉毀損だよ。亡羊さんに通報しとくねw
覚悟しとけよ
387:デフォルトの名無しさん
07/05/13 01:27:09
釣れてますねw
388:デフォルトの名無しさん
07/05/13 01:27:18
>>386
亡羊ってだれだよ。
389:デフォルトの名無しさん
07/05/13 01:27:40
>>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 に問う
なんではっちゃだめなの?理由は?お前の気まぐれとか、気分とかだったらまずお前がただの馬鹿だと言う結論しか出ないから。
参考にできるページがあったら使う、別になんら問題ないし、そのページには間違った記述はされてないよ。
まぁ、たぶん亡羊を嫌っている誰かだろ。特定できそうだから、亡羊さんに聞いてくるわ。
どうせプロになれなかったボケグラマーだろw
390:デフォルトの名無しさん
07/05/13 01:29:54
>>388
>>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 >>358 参照w
言ったのは俺じゃないから。正しくは望洋だから。ANSI、ISO準拠を重視した本の出版をしているし
そんじょそこらの知ったかプログラマーと比べたらかなりまともな人だろうね。
他人を叩くような奴って、世界基準すら知らなさそうで視野が狭そうだなw
int mainについても理解してなさそう(どこぞのスレで議論になったが、ISOの参照ページを出したら
尻尾を巻いて逃げたけどなw)
391:デフォルトの名無しさん
07/05/13 01:32:00
>>俺を特定できないから無理だろうけど
↑
これがこいつの心理だろうなw
392:デフォルトの名無しさん
07/05/13 01:32:30
>>381
> ・ 自分の主観が「普通」と勝手に定義
はい?自分の主観で言った覚えはありませんけど?
ちゃんとバイナリィエディタで 0D 00 00 00 が書き込まれているのを確認しましたが何か?
質問者が何で書き込まれた値を確認したか聞いたのに、どうして俺が 主観 となるんでしょうか?
正確にお答えをして下さい。でなければ偽証罪で通報しますよ?証人喚問は怖いですよぉ〜〜
393:デフォルトの名無しさん
07/05/13 01:33:35
>>391
ぷぷっ、そういうところにしかもう反応できない肝っ玉の小さいクズ乙w
こういう匿名(実際のところは完全に匿名ではない)ところでしか強がれないボケ
他人の粗探しを必死こいてするくせに、自分の落ち度をまったく認めない井の中の蛙乙w
394:デフォルトの名無しさん
07/05/13 01:34:33
ここまで望洋さんに肩入れできるのはある意味すごいと思った。
395:デフォルトの名無しさん
07/05/13 01:35:51
質問者の答えに答えるどころか お前何やってんだよ としか言わない奴はとっととこのスレから
出て行ってくれませんか?うっとうしいんだよ、答えもしないくせに相手のボロを探すだけの馬鹿
396:デフォルトの名無しさん
07/05/13 01:35:52
>>389
特定できたら家にきてくれよ。酒くらいは出してやる。
397:デフォルトの名無しさん
07/05/13 01:40:30
もう眠い。寝る。
398:デフォルトの名無しさん
07/05/13 01:41:01
どうぞ。
399:デフォルトの名無しさん
07/05/13 02:02:29
望洋信者って怖いな
400:デフォルトの名無しさん
07/05/13 02:04:43
いつの間にか信者になっているしw
参照できるライブラリのページを出しただけだろ。亡羊を狙った覚えはない
401:デフォルトの名無しさん
07/05/13 02:44:13
なんだ、まだやってたんだ。暇な人はこれだから……
402:デフォルトの名無しさん
07/05/13 05:37:00
他人の粗探しをしている奴がきんもぉ〜♪だよな。指摘するならするで
間違いを指摘すりゃ良いだろ。気持ち悪いよ、お前それわかってねーなって
ネチネチ煽る奴。日頃、まともな人付き合いがないからこういう捻くれた
相手を見下して自分が優位な立場だと思い込みたい引きこもりなんだろうね
403:デフォルトの名無しさん
07/05/13 05:45:51
>402
自己紹介乙
404:デフォルトの名無しさん
07/05/13 06:14:59
>>403 反応したお前ノナー
405:デフォルトの名無しさん
07/05/13 06:15:32
>>403=昨日、つまらないミスを気持ち悪く指摘して煽っただけの知ったかバカ
406:デフォルトの名無しさん
07/05/13 07:01:27
亡羊?
ボコボコにしてやんよ
∧_∧
( ・ω・)=つ≡つ
(っ ≡つ=つ
/ ) ババババ
( / ̄∪
407:質問者
07/05/13 08:52:04
きのうはお騒がせしました。
「演算子を使わない」とは、四則演算のことです。
ビット演算で何とかできないかな?と思いましたが。どうでしょうか?
408:デフォルトの名無しさん
07/05/13 10:27:06
#include <stdio.h>
#include <string.h>
int main(void) {
char *name[12] = {"Mutsuki","Kisaragi","Yayoi","Uzuki",
"Satsuki","Minazuki","Fuzuki","Hazuki",
"Nagatsuki","Kannazuki","Shimotsuki","Shiwasu"};
char **p;
int i;
p = name;
for(i = 0;i < 12;i++){
printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p); /* @ */
printf("%2d:%s\n",strlen(*p),*p); /* A */
++p;
}
return 0;
}
今、ポインタのポインタを使って文字数を数える練習問題やっているのですが
@のprintf文を実行するとDos窓が強制終了してしまいます。
デバックの時にエラーは出ないのですが・・・なにが間違っているのでしょうか。
Aの方は普通に出力できます。
Visual C++ 2005 Express Editionを使っています。
409:デフォルトの名無しさん
07/05/13 10:38:24
>>407
コンピュータサイエンスの基礎をやれ。
四則演算を論理素子でどうやって実現するか知れば
くだらない疑問を抱かずにすむ。
410:デフォルトの名無しさん
07/05/13 11:02:22
>>408
printf("%2d月:%s(%d)\n",(i + 1),strlen( *p ),*p);
%2d = i+1
%s = strlen(*p) ←
%d = *p ←
411:デフォルトの名無しさん
07/05/13 11:08:34
どうやって、論理素子で計算するんですか。
16進数に置き換えてするんだとは思いますが、すごく疑問です。
2×4=8とか、8÷2=4を論理素子で計算する。
すごく難しいと思います。
412:408
07/05/13 11:15:59
>>410
あああ!逆だった
ありがとうございます!
413:デフォルトの名無しさん
07/05/13 11:36:28
>>411
本屋に行って"CPUの仕組み"みたいな本買ってこい
あとは加算器で調べてみるとか
414:デフォルトの名無しさん
07/05/13 11:47:10
>>411
2 << 2
8 >> 1
415:デフォルトの名無しさん
07/05/13 12:40:23
剰余はどうするんすか?
スタック使って割られる数-商*割る数って演算するんですか?
416:デフォルトの名無しさん
07/05/13 13:43:31
ファイル操作のとこでreturn(-1);の意味がさっぱり。
417:デフォルトの名無しさん
07/05/13 14:57:20
>>415
掛け算と割り算は加減算で表現できるだろ
単純に何回も引いていって引けなくなればそれが余り
2進数で桁上がり下がりフラグ使って同じようにやればできる
筆算で(2進数)割り算やるときとほとんど同じ あとは本買って嫁
>>416
return(-1);はよくエラーチェックに使う
-1が返ってきたらファイル開けなかったということになってるとおも
418:デフォルトの名無しさん
07/05/13 14:58:24
変数を使わずに1+2の計算結果を出すにはどのようなプログラムを組めばいいのでしょうか
419:デフォルトの名無しさん
07/05/13 15:04:32
printf("%d",1+2);
420:デフォルトの名無しさん
07/05/13 15:04:42
>>418
こういうこと?
printf("%d\n", 1 + 2);
421:デフォルトの名無しさん
07/05/13 15:05:48
演算子、変数と来たから次は何だろう
422:デフォルトの名無しさん
07/05/13 15:06:39
関数を使わずに(ry
423:デフォルトの名無しさん
07/05/13 15:08:56
C言語を使わずに(ry
424:デフォルトの名無しさん
07/05/13 15:10:33
頭を使わずに(ry
425:デフォルトの名無しさん
07/05/13 15:20:20
>>417ありがとうございます
426:デフォルトの名無しさん
07/05/13 15:35:27
30年とか表示するとき
int a;
a = 30年;
printf("%d",a);
でやると、年が邪魔っぽくて表示されない
どうやればいいの〜?
427:デフォルトの名無しさん
07/05/13 15:37:35
printf("%d年", a);
428:デフォルトの名無しさん
07/05/13 15:39:42
表示以前にコンパイルできないのでは????
429:デフォルトの名無しさん
07/05/13 15:40:53
>>428
だから結果として年が邪魔で表示されないんだろう。初心者苛めんな。
430:デフォルトの名無しさん
07/05/13 15:41:45
せめて教科書読めよっていう質問ばっかりきてるなぁ
431:デフォルトの名無しさん
07/05/13 15:47:30
とうとう>>424の問題が出てきたか
432:デフォルトの名無しさん
07/05/13 16:04:10
一般的な入門書やりおわったけど、次はどんなステップを踏めばいいですか?
433:デフォルトの名無しさん
07/05/13 16:05:13
>>432
目標は何?
434:デフォルトの名無しさん
07/05/13 16:07:29
自分一人で基礎知識の応用が出来るようにすることかな。
処理速度とかも視野に入れた上で。
なんかテキトーに自作ツール作ってみるとか。
435:デフォルトの名無しさん
07/05/13 16:08:14
>>434は>>432へのレス
436:デフォルトの名無しさん
07/05/13 16:09:20
>>432
この世界は片っ端から全部覚えてたらキリがないから
ちゃんと自分がなにをやりたいのか見定めて進んで行かんと、
無駄に多大な労力を費やすことになるぞ。
437:デフォルトの名無しさん
07/05/13 16:09:22
作りたいもん作ればいいと思うぜ
438:デフォルトの名無しさん
07/05/13 16:12:40
>>434
自分で C のプリプロセッサでも作ってみたら?
確か以前、"未踏"でも採択されたことがあったはず。
439:デフォルトの名無しさん
07/05/13 16:33:39
Socket,データベース,文字列処理(正規表現含む)
これらができると幅がぐっと広がる…っていうか基本
後はアイデア次第
440:デフォルトの名無しさん
07/05/13 16:34:35
かなり意欲はあるのですが…やはりいろいろとオリジナルのアプリケーション・ソフトウェアを作ってみたいです。やはりそーゆー本を買っていろいろやってみるべきですか?
441:デフォルトの名無しさん
07/05/13 16:36:13
本を買う必要はないが、色々やってみるべきだろう。
442:デフォルトの名無しさん
07/05/13 16:38:52
>>439の中でまず文字列処理からやってみては?
とっつきやすいと思うよ。
ネットにも入門サイトとかいっぱいあるし。
443:デフォルトの名無しさん
07/05/13 16:41:18
入門書に文字列処理についての事が無かった様に思うのでお聞きします。文字列処理は初耳です。
444:デフォルトの名無しさん
07/05/13 16:42:23
>>440
作りたいものがあるならさっさと作ってみるのが吉
やってるうちに技術もついてくる
445:デフォルトの名無しさん
07/05/13 16:44:04
>>443
>入門書に文字列処理についての事が無かった様に思うのでお聞きします
strcpy() も文字列処理だと思うが?
446:デフォルトの名無しさん
07/05/13 16:44:16
現実問題Cで作るべきアプリなんて存在しないのが辛いな
447:デフォルトの名無しさん
07/05/13 16:45:51
みなさんご親切に…大変ありがたいです。ちなみに、みなさんはどのようなプロセスで、今のC言語のプログラミング力まで力を伸ばされたんですか?簡易的に話して頂けたらいいのですが…
448:デフォルトの名無しさん
07/05/13 16:47:17
ゲームプログラミングをやってみては?
囲碁・将棋・チェス・オセロとかね。
Cで作るのが最適。
449:デフォルトの名無しさん
07/05/13 16:50:23
>>447
宇宙からの電波
>>448
オセロなら6行で作ってた神がいたな
450:デフォルトの名無しさん
07/05/13 16:51:01
>>448 やはりそうしようかなと思います。Cで作るべきアプリケーションがそんなに存在しないようならば
451:デフォルトの名無しさん
07/05/13 16:51:53
自分は将棋が趣味で、自分より強い将棋プログラムを作ろうという目標があったから勉強した。
将棋プログラムってハッシュテーブルとかリストとかソートとかビット演算とか、
基本的なアルゴリズムが各所にちりばめられてるから勉強にはいいテーマだと思う。
452:デフォルトの名無しさん
07/05/13 16:52:40
>>450
>Cで作るべきアプリケーションがそんなに存在しないようならば
これって、どういう意味だと思っている?
453:デフォルトの名無しさん
07/05/13 16:56:43
>>452 C言語にはその点ではあまり需要がないものかと…
454:デフォルトの名無しさん
07/05/13 16:57:15
>>450
あとはOSに興味あるならLinuxのソース読んでみるとか
学ぶのは自分で作ってみたり本読むか知っている人に聞く
プログラミング力のうちの知識はそれで十分だが英語できるかどうかで
足りない知識の吸収率が変わってくる(最先端の知識・アルゴリズムなど)
あとは経験で補えるが数学力のあるなし(知識じゃなく頭良いかどうか)
でどこまで伸びるかが変わる
455:デフォルトの名無しさん
07/05/13 17:06:48
勉強のためにCの勉強してるなら
標準ライブラリのクローン(strcpy, strcat, printf, ...)と
UNIX系コマンドラインツール(cp, tail, head, sort, ...)のクローンを片っ端から作っていくと勉強になる。
サイズも小さいし、答え合わせ用のソースコードも(あまり初学者向けとは言いがたいが)あるし。
まあほとんど糞つまらん苦行に近いがコーディングは楽しいし一番無駄がないだろう。
456:デフォルトの名無しさん
07/05/13 17:08:09
うーん、自分はまだ、配列、構造体、ポインタ、ファイル操作、関数の作り方、変数、if文、switch文、for文、while文、をやってきたとゆう感じです。
457:デフォルトの名無しさん
07/05/13 17:10:47
>>456
じゃ、もう少し実践的な奴やってみたら?
URLリンク(www.kumei.ne.jp)
とか参考にしてウインドウ開いてみたりさ。
458:デフォルトの名無しさん
07/05/13 17:15:36
バブルソートを用いて
構造体に対して、データが格納された構造体配列を
学生証番号で降順にソートする関数sortIDと
点数で降順にソートする関数sortEngを作成しなさい。
データの入力は、関数input_seiseki_pを呼び出して行い、
次に「どちらで整列しますか(1:学生証番号、2:点数):」と表示し
その入力により関数sortIDと関数sortEngを選択肢、その結果を
関数seisekiを使って表示する関数meinを作りなさい
上記の問題において私なりに途中まで作ってみたのですが、
ここから先がわかりません。。
どなたかお知恵を拝借させて下さい
URLリンク(kansai2channeler.hp.infoseek.co.jp)
↑途中まで作ったソースです。
よろしくお願いします。
459:デフォルトの名無しさん
07/05/13 17:17:41
もういっかい違う入門書を買ってみろってことですか?
460:デフォルトの名無しさん
07/05/13 17:40:37
>>458
どこがどうわからないのかkwsk
学校とかのレポートなら解答出すわけにいかんし
>>459
>>457じゃないがおまえちゃんと>>457のリンク先見てみたのか?
簡単なデータペースやゲームの作り方も内容にあるだろ
それとも全部わかってるのかこの内容?
461:デフォルトの名無しさん
07/05/13 17:47:38
まぁ、猫が妥当かどうかは問題だがな。
462:デフォルトの名無しさん
07/05/13 17:48:44
ちゃんと見てませんでした。ごめんなさい。
463:デフォルトの名無しさん
07/05/13 18:10:29
URLリンク(www.geocities.jp)
のページにあるローレンツのプログラムをコンパイルしようとしたのですがエラーがでて出来ませんでした
開発環境に問題があると思うのですが、原因がよくわからないのでご教授願います
windowsXPでソフトは「C言語を始めよう!」、コンパイラはBorland C++ Compiler 5.5です
そのままコピペしてコンパイルするとエラーメッセージが(rktest.cはファイル名)
------ コンパイル開始 ------
Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
rktest.c:
エラー E2140 rktest.c 17: ここでは宣言はできない(関数 main )
警告 W8057 rktest.c 57: パラメータ 't' は一度も使用されない(関数 f1 )
警告 W8057 rktest.c 57: パラメータ 'z' は一度も使用されない(関数 f1 )
警告 W8057 rktest.c 66: パラメータ 't' は一度も使用されない(関数 f2 )
警告 W8057 rktest.c 75: パラメータ 't' は一度も使用されない(関数 f3 )
*** 1 errors in Compile ***
------ コンパイル終了 ------
と出ます
スレ違いのような気がしますが、該当スレが見つからなかったのでここで質問させていただきました
464:デフォルトの名無しさん
07/05/13 18:18:13
>>463
そのコードはANSI Cに準拠していない。
FILE *output; の行を main 関数の先頭に持ってくるといいよ。
465:デフォルトの名無しさん
07/05/13 18:39:02
4つくらいのデータを1つのノードとして
そのノードを2二次元配列の1文字分のように扱いたいんですけど、
構造体を設定して
strcut ABC{
char
char
char
};
struct ABC data[][];とできますかね?
466:デフォルトの名無しさん
07/05/13 18:40:59
struct ABC data[ ][ ];です
467:デフォルトの名無しさん
07/05/13 18:41:17
なんでやってみないの?
468:デフォルトの名無しさん
07/05/13 18:42:18
いややったんだけどセグメンテーションエラーだから
無理なのかと。
469:デフォルトの名無しさん
07/05/13 18:44:16
>>468
コンパイルできないはずだけど
470:デフォルトの名無しさん
07/05/13 18:45:21
>>469
どういう意味ですか?
471:デフォルトの名無しさん
07/05/13 18:46:05
>>468
コード貼ってみろよ。中途半端に省略しないで。
472:463
07/05/13 18:47:21
>>464
回答ありがとうございました
警告は消えませんでしたが、エラーが消えて無事コンパイルすることができました
この警告は無視しても問題ない範囲なのでしょうか?
原因を把握していらっしゃるのでしたらお伺いしたいのですが
473:デフォルトの名無しさん
07/05/13 18:48:14
>>472
使ってない仮引数を教えてくれてるだけ。無視しても問題はない。
474:デフォルトの名無しさん
07/05/13 18:49:44
>464
コンパイラがANSI Cに対応してないんでねーの?
475:463
07/05/13 18:50:31
重ね重ねのご親切ありがとうございました
476:デフォルトの名無しさん
07/05/13 18:51:37
>>474
ANSI Cでは変数はブロックの先頭のみで宣言できる。
bccはANSI準拠。
477:デフォルトの名無しさん
07/05/13 18:54:07
struct ABC
{
char name[10];
char initial[10];
char home[10];
};と構造体を設定
struct ABC data[10][10];
int i,j;
for(i=0;i<10;i++){
for(j=0;j<10;j++){
strcpy(data[i][j].name,NULL);
strcpy(data[i][j].name,NULL);
strcpy(data[i][j].name,NULL);
}
}
一部ですけども、その二次元配列の中身の全ての各部門の初期化をしたいのですけど
この時点でセグメンテーション違反がおきるわけです。
478:デフォルトの名無しさん
07/05/13 18:55:21
strcpy(data[i][j].initial,NULL);
strcpy(data[i][j].home,NULL);です
479:デフォルトの名無しさん
07/05/13 18:57:10
馬鹿だろ。
strcpy(data[i][j].name, "");
480:デフォルトの名無しさん
07/05/13 19:04:35
>>479
ありがとさん
481:デフォルトの名無しさん
07/05/13 19:07:04
まあ
data[i][j].name = '¥0';
ってやった方がいいとは思うけど初期化だから別にいいか。
482:デフォルトの名無しさん
07/05/13 19:07:45
うわ。間違い
data[i][j].name[0] = '¥0';
こう
483:デフォルトの名無しさん
07/05/13 19:54:50
大学でC言語を習っています。
ifやforといった基本的なことは理解しているつもりである程度プログラムは書けます。
今、アルゴリズムの授業を受けているのですがポインタや構造体が理解できません。
参考書に載っているソースを自分で打ち込んで実行したり、少し変えたりしているのですがどうも暗記っぽくなっています。
そのため「○○をポインタと構造体を利用して作れ」と言われても何からしたらいいかわからない状態で。
ポインタや構造体はC言語で一番重要と言われているので是非自分のものにしたいです。
皆さんはどうやってポインタや構造体を理解していきましたか?
484:デフォルトの名無しさん
07/05/13 19:57:33
サンプルコードをいくつか読めばそれで理解できた。
485:デフォルトの名無しさん
07/05/13 20:10:22
使ってりゃ理解できた
486:デフォルトの名無しさん
07/05/13 20:11:48
>>483
わからないところは図を描いて理解。
デバッガで全変数表示してつながり・変化を確認。
487:デフォルトの名無しさん
07/05/13 20:12:40
くそなげえプログラム書いてたら飯なんてどうでも
よくなって4時間経過w
488:デフォルトの名無しさん
07/05/13 20:30:41
さっき構造体での二次元配列はどのようにすればいいのかを聞いたものですけど
その二次元配列data[i][j]において
1行さすのはdata[i]でいいのはわかるのですけど
1列をさすのはどうおけばいいですかね?
489:デフォルトの名無しさん
07/05/13 20:44:39
基礎からやり直せ
490:デフォルトの名無しさん
07/05/13 20:46:59
>>488
列は無理。
491:デフォルトの名無しさん
07/05/13 20:47:08
>>488
メモリの配置を想像してみろ。
列は分断されていて連続したメモリとしてアクセスする方法はない。
492:デフォルトの名無しさん
07/05/13 20:57:08
>>483
ポインタのイメージがつかめない場合はその都度アドレスと中身を表にして書いて理解
ポインタpのpと*pと&pの違い,あるいは変数aのaと*aと&aの違いが
わかっていれば大丈夫のはず
なぜポインタが必要かっていう設計思想を知りたければアセンブラとかを
学んでみるといいいかも
>>488
他の言語なら実装されてたりするけど
C言語ではそういう便利な機能は基本的に用意されてない
493:デフォルトの名無しさん
07/05/13 23:12:11
転職してプログラマになりたいんだ。
そのためにCとC++をマスターしたいんだが…。
それで今は一応C言語の基礎を終わらせたんだけど
C言語で関数やアルゴリズムやAPIなども覚えてから
C++行ったほうがいいのかな?
それとも先にC++でオブジェクト指向とか把握してから
いろんなこと手を出した方が良いかな?
494:デフォルトの名無しさん
07/05/13 23:15:29
さっさとC++池
今時Cなんてほとんど使わないからC++からCのコードを利用する際の最低限の知識さえあれば十分。
495:デフォルトの名無しさん
07/05/13 23:16:05
ぶっちゃけ経験年数のが大事。
マの真っ当な評価なんてマ以外に出来るわけがないんだから。
496:デフォルトの名無しさん
07/05/13 23:22:16
あらためてアルゴリズムを考えてみると
その列であてはまるのは1つだから
列指定にしなくてよかった。
497:デフォルトの名無しさん
07/05/13 23:23:21
>>494
Cは使わないのか
じゃC++の勉強にいこうかな
まだCでコードとか書けないけど大丈夫かな・・・
>>495
年齢が30前後とかだと未経験じゃプログラマになるの難しいかな?
498:デフォルトの名無しさん
07/05/13 23:29:01
>>497
おまいさんはマ板にお逝き。
499:デフォルトの名無しさん
07/05/14 00:00:23
>>497
どんなプログラムの仕事がしたくてどんな会社かによる
なんか実用的(ゲームでもいい)なプログラムひとつでも組んでると
就職のときにアピールにはなる
とりあえずマ板へ池
500:デフォルトの名無しさん
07/05/14 01:50:07
プログラムの処理がどの程度完了しているのかを示すことを試みたのですが,
うまくいきませんでした.具体的には,以下のことをしました.
#include<stdio.h>
int main(){
int i, j;
for(j=0; j<10000; j++){
for(i=0; i<100000; i++){
}
if((j%1000)==0)printf("*");
}
printf("\n");
return(0);
}
j が10000ループされますが,1000ループごとに * を1つ出力し,
* が10個になったら処理完了を知らせるというものです.
上のソースコードのようにしてみたところ,j のループを出てから
* が10個同時に表示されてしまいます.
どのように書けばよいのでしょうか?お願いします.
501:デフォルトの名無しさん
07/05/14 02:02:37
>500
ちゃんとjのループの途中で*が表示されてるけど?
ただ、1000個ごとなら(i%j)==999だろう。
502:デフォルトの名無しさん
07/05/14 02:07:08
バッファフラッシュしなきゃいけないとかそーいう問題じゃないの?
環境は?
503:デフォルトの名無しさん
07/05/14 02:09:42
ANSI C準拠だったら整数の範囲って32767までじゃなかった?
504:デフォルトの名無しさん
07/05/14 02:16:56
>>500
for(i=0; i<100000; i++){
i 使って無いじゃんwwww
ワロタw
505:デフォルトの名無しさん
07/05/14 02:18:50
int に10000も入れれませんwww
基本からやり直せよwww
506:デフォルトの名無しさん
07/05/14 02:19:42
>>500
if((j%1000)==0){ printf("*"); fflush(stdout); }
という話か?
507:デフォルトの名無しさん
07/05/14 02:20:26
>>504-505
釣りにしても ひどい
508:デフォルトの名無しさん
07/05/14 02:22:24
C とC++ の違いを分かってない人がいっぱいいるので一応書いておく
Cの構造体には変数しか設定できないのですが
C++は構造体の中に関数を入れれます。それがクラスって呼ばれるものです
C++でヤリなされw
509:デフォルトの名無しさん
07/05/14 02:23:17
何かの処理の進捗状況を表示する部分について質問してるんでしょ。
単にその処理の部分は省略しただけなんじゃないか?
510:500
07/05/14 02:25:02
>>501-508
レスありがとうございます.
>>502さん及び>>507さんのもので,求めていた結果を得ることが出来ました.
これからfflushをググってみます.
>>504-505が釣りかどうかすら分からない自分が悔しいです.
勉強に励みます.ありがとうございました.
511:デフォルトの名無しさん
07/05/14 02:26:59
進捗状況ってさ
ソースに
printf("処理○○終わり");
って書いていけばいいんじゃないの?
完成したら消せばいいわけだし
512:デフォルトの名無しさん
07/05/14 02:28:26
だからfflushはだめだってw
513:デフォルトの名無しさん
07/05/14 02:30:15
ほかっとけ
初心者だぞ相手はwww
514:500
07/05/14 02:31:20
>>509
実際は処理内容が含まれますが,それとは別に処理内容を全部消したもの
(>>500そのもののソースファイル)を作成して実行しても * が一度に出力された
ので質問をしにきました.
>>511
1試行で数分かかる繰り返し計算処理なので,何%終了したのかを概数でも
良いから表示させたかったのです.
>>512
駄目なのですか??
515:デフォルトの名無しさん
07/05/14 02:32:26
マロックにサイズオブ使わずそのまま数字書いてるとか
goto使いなんだろうよ
516:デフォルトの名無しさん
07/05/14 02:33:37
>>514
目的が達成できたんならそれで問題ないよ
環境依存だから、他の環境に持っていくことがあるなら問題だけど
517:デフォルトの名無しさん
07/05/14 02:34:10
つうかさ
関数の再帰使わなかったら 処理スピードなんか大して変わらんよ
何千万行でも数行でも・・・
518:500
07/05/14 02:37:48
>>516
今の環境のみで動かすものなので
これで大丈夫です.皆さん,ありがとうございました.
519:デフォルトの名無しさん
07/05/14 02:50:38
お ま い ら 難 し く 考 え す ぎ
520:デフォルトの名無しさん
07/05/14 02:58:24
>>508
クラスの肝は派生できる事。
派生無しにクラスを語っても意味がない。
521:デフォルトの名無しさん
07/05/14 03:01:07
C++はスレ違い
522:デフォルトの名無しさん
07/05/14 03:05:30
>>516の言ってる環境依存ってfflushの事か?
確かに入力ストリームに対するfflushは未定義動作だが
出力ストリームに対しては正常に機能したと思うが違ったか?
523:デフォルトの名無しさん
07/05/14 03:08:10
お前ら
もう質問者はいなくなったぞw
524:デフォルトの名無しさん
07/05/14 03:16:47
rand()で作った変数を
for()等でループにかけることって
実際問題 どうゆう場合ですか?
525:デフォルトの名無しさん
07/05/14 03:17:47
頭の悪い質問に頭の悪い回答者
このスレほんとゴミ化したな・・・
526:デフォルトの名無しさん
07/05/14 03:23:18
>>512
中途半端な知識でゴミ回答するんじゃないよ
527:デフォルトの名無しさん
07/05/14 03:30:23
じゃあ 頭のいい質問しましょw
関数のポインタと、配列のポインタ等の置き場が勝手に割り付けられると聞いたのですが
実際はどのように割り付けてるんですか?
出来ればコンパイル自体のソースをもちいて答えていただきたいと思います
528:デフォルトの名無しさん
07/05/14 03:31:25
>>524
質問の意味がよく分からんが
10体の敵がそれぞれランダムに動く場合とか?
529:デフォルトの名無しさん
07/05/14 03:32:34
>>527
メモリの話か?
530:デフォルトの名無しさん
07/05/14 03:33:24
>>527
ポインタの置き場って何?
コンパイル自体のソースって何?
531:デフォルトの名無しさん
07/05/14 03:34:03
おーい!機械語読める奴探してるらしいぞw
532:デフォルトの名無しさん
07/05/14 03:34:55
メモリの割付だおw
533:デフォルトの名無しさん
07/05/14 03:39:15
よーわからんな
関数が置かれるアドレスの話か? なぜそこでポインタが出てくるんだ?
配列も置かれるアドレス? なぜ普通の変数じゃなくてわざわざ配列?
ローカルとグローバルによっても違うし
もうちょっと問題を整理してくれんか
534:デフォルトの名無しさん
07/05/14 03:47:40
>>527
そんなもん環境依存だろ・・・
535:デフォルトの名無しさん
07/05/14 03:49:24
【内容】浮動小数点型(float、double等)を使用せず整数型(int)のみを使用し
「√」計算を行える計算機を作る
【どこが分からないのか?】全部wごめん
【どうして欲しいのか】代わりにソースを書いて欲しい
536:デフォルトの名無しさん
07/05/14 03:51:40
宿題は帰れ。
最近の学校は開平も教えないから困る。
537:デフォルトの名無しさん
07/05/14 03:53:53
開平ってなんですか?
538:デフォルトの名無しさん
07/05/14 03:55:44
ググれ
539:デフォルトの名無しさん
07/05/14 05:58:55
>>537
波平の双子の兄さんだよ。
540:デフォルトの名無しさん
07/05/14 06:53:39
>>537
灘、駒場、麻布と並ぶ名門です。
541:デフォルトの名無しさん
07/05/14 09:26:01
C >>>>>>>>>>>>>>>>> C++
C++は究極の中途半端言語
542:デフォルトの名無しさん
07/05/14 09:40:57
C++に挫折したそうです
543:デフォルトの名無しさん
07/05/14 13:59:59
>>535
intしか「√」内に入らないということでよろしいか?
544:デフォルトの名無しさん
07/05/14 14:01:04
>>543
お前意味が分からんw
整数しか入らないか?って聞けよwww
545:デフォルトの名無しさん
07/05/14 14:07:39
一番簡単な整数「9」を計算し「3」を出すプログラムを作りソースを書け
話はそこからだw
546:デフォルトの名無しさん
07/05/14 14:48:06
そのまえにルートがなんなのか学んだほうがいいw
547:デフォルトの名無しさん
07/05/14 14:58:35
>>535
確認だが正整数の間違いじゃないか?
そうでないとしたら複素数使わんと駄目だぞ
548:デフォルトの名無しさん
07/05/14 15:00:21
0でも問題ないだろ。
549:デフォルトの名無しさん
07/05/14 15:00:56
出題者がアホなのか質問者がアホなのか。
後者だろうけど。
550:デフォルトの名無しさん
07/05/14 15:01:52
宿題野郎にヒントなんて与えなくていいよ。
551:デフォルトの名無しさん
07/05/14 15:02:58
負数を与えたら死ぬようにすりゃいいじゃん。
552:デフォルトの名無しさん
07/05/14 15:03:41
>>548
おまえひょっとして-9は整数に入らないとか思ってないよな?
553:デフォルトの名無しさん
07/05/14 15:04:17
>>552
0は正整数に入らないと思ってる。
554:デフォルトの名無しさん
07/05/14 15:04:54
>>552
おまえひょっとして0は正整数入るとか思ってないよな?
555:デフォルトの名無しさん
07/05/14 15:06:58
負数が入っても絶対値の平方根に i つけりゃいいだけじゃん。
556:デフォルトの名無しさん
07/05/14 15:11:16
おk 言い直し 非負整数でおk
557:デフォルトの名無しさん
07/05/14 15:14:10
誤爆にレス付けてるアホどもってよっぽどやることがないんだね。
558:デフォルトの名無しさん
07/05/14 15:15:51
つか整数か非負整数いずれにしてもなんで出題者はそんなのに限定してるんだ?
実数じゃなにか問題があるのか?
559:デフォルトの名無しさん
07/05/14 15:17:35
ヒント:宿題
560:デフォルトの名無しさん
07/05/14 15:20:01
>>557
どのレスが誤爆なんだ?
ちょっとよく分からん
561:デフォルトの名無しさん
07/05/14 15:22:14
宿題スレのテンプレに似てると思ったんじゃないか?
562:デフォルトの名無しさん
07/05/14 15:30:15
宿題スレってはじめて見てみたがひどいな
写し放題じゃねーかwwww
先生は宿題スレもチェックしとくべきだなw
563:デフォルトの名無しさん
07/05/14 15:34:55
してるんじゃない?
そうでなくとも、まったく同じ答えが複数きてたらばれるだろう
564:デフォルトの名無しさん
07/05/14 15:38:04
教授からここの宿題スレを使うなと警告が来た例もあるらしいよ
565:デフォルトの名無しさん
07/05/14 15:40:44
そういうことするやつってそのへんは抜かりなくて少し変えてたりする
普段の態度や小テストで理解度見てたらだいたい自分でやったかどうか想像付くんだけど
さすがに人数多いといちいちチェックするのはめんどくさいw
院生に採点まかせっきりだったりもするからな
566:デフォルトの名無しさん
07/05/14 15:41:00
うざい
567:デフォルトの名無しさん
07/05/14 15:43:56
でも先輩友人の繋がりで写すのはどこでも常態化してるだろ。
それのネット版だ。
大してかわらんだろ。
568:デフォルトの名無しさん
07/05/14 17:37:23
char a[5] = "unko"
どこにNULLが入っていますか?
6個目?
569:デフォルトの名無しさん
07/05/14 17:38:08
何でデバッガ使わないの?
570:デフォルトの名無しさん
07/05/14 17:42:01
>>568 |壁|д゚) あのさ 教科書きちんと読もうよ
NULLと¥0と0の違いをきちんと理解しろw
571:デフォルトの名無しさん
07/05/14 17:43:59
>>568
先頭を一個目と数えて五個目にNUL文字が入っている。六個目は存在しない。
572:デフォルトの名無しさん
07/05/14 17:44:58
NULL 値アドレスなし、値0、ポインタの値として使用できる
\0 値アドレスなし、値0
0 値アドレス有り、値0
573:デフォルトの名無しさん
07/05/14 17:51:17
値アドレスって何ですか?
574:デフォルトの名無しさん
07/05/14 17:52:04
イミフな空白はなんですか?
575:デフォルトの名無しさん
07/05/14 17:54:28
>>572
あなたはなにをいいたいんですか
576:デフォルトの名無しさん
07/05/14 17:55:53
>>535
問題の趣旨を考えてみたw
10/3を計算すると3.33333333333333333・・・・と続くが小数点以下が増えていけば4という端数が発生する
COBOLでやれよと言いたいwなぜにcでww
577:デフォルトの名無しさん
07/05/14 17:57:07
URLリンク(www.psl.ne.jp)
ちっちっち、なんか勘違いしていないかね?NULLポインタとNULL文字とはまた別物だよ?
578:デフォルトの名無しさん
07/05/14 18:08:59
>>577
出力形式が、紙への印刷しかなかった時代が有ることを説明しないと無理でしょw
579:デフォルトの名無しさん
07/05/14 18:12:36
>>578
いやいや、そうじゃなくて、NULLといってもポインタと文字とは別物だってことなんだが?
580:デフォルトの名無しさん
07/05/14 18:13:10
>>572
正確に言えば
NULL=値無し、アドレス有り
¥0 =値0 、アドレス無し
0 =値0 、アドレス有り
だけどねw
581:デフォルトの名無しさん
07/05/14 18:13:58
何で初心者が回答したがるんですか?
582:デフォルトの名無しさん
07/05/14 18:15:13
>>580 イミフw
アドレス無かったら値入れれませんがw
583:デフォルトの名無しさん
07/05/14 18:16:35
文字配列をNULLポインタに指定するのと、文字配列の中にNULL文字を入れるのとでは
ぜんぜん意味が違うということさ。前者はまだ文字列を指定するアドレスが指定されいない
何もないところを示しているが、後者は文字列の中にNULL文字だけでも入っていれば
空ではあるが文字列(の先頭)を示すアドレスは存在しているよん。
584:デフォルトの名無しさん
07/05/14 18:17:23
>>580
志村ーーー、上の2つのアドレスありなしは逆逆w
585:デフォルトの名無しさん
07/05/14 18:17:37
あの・・・
かなり前に関数で配列の数を数えたいといった(内積を計算したいと)ものなんですが
NULLになるまでcount++するというプログラムならいけるかなと思いまして。
ぬるぽっていうのは、char型のアドレス限定ですか?
586:デフォルトの名無しさん
07/05/14 18:19:29
そもそも「¥0」ってなんだ?
好意的に解釈して「\(バックスラッシュ)0」の心算なんだろうけど、
'\0'と書かないと意味を持たない希ガス。
587:デフォルトの名無しさん
07/05/14 18:20:34
>>580
アドレスの有無ってなんだよ
いかなる値でも記憶領域に属していればアドレスはあるし、
そうでなければアドレスはないだろ。
588:デフォルトの名無しさん
07/05/14 18:21:49
#include <stdio.h>
int main(void) {
char *a=NULL,*b={"\0"},*c={"0"};
printf("%p : %s \n",a,a);
printf("%p : %s \n",b,b);
printf("%p : %s \n",c,c);
return 0;}
これの出力結果を見れば一目瞭然だよ
589:デフォルトの名無しさん
07/05/14 18:26:10
>>588マジレス乙
590:デフォルトの名無しさん
07/05/14 18:29:13
>>588を実行すると、異常終了して1行も出力されません。
どうしたら一目瞭然になるんでしょうか。
591:デフォルトの名無しさん
07/05/14 18:30:33
>>590
とりあえずaを表示する部分を消して下の2つは確認できる?
592:デフォルトの名無しさん
07/05/14 18:31:00
>>590
ゴメンよ なぜか知らんがコンパイルできて出力できてしまったよw
593:デフォルトの名無しさん
07/05/14 18:32:46
>>588の出力結果は、俺んとこ(WinXP , BCC使用)でやったら
00000000 : (null)
0040A128 :
0040A12A : 0
っと表示された。
594:デフォルトの名無しさん
07/05/14 18:33:23
(nil) : (null)
0x80484cc :
0x80484ce : 0
595:デフォルトの名無しさん
07/05/14 18:34:16
>>585
ガッ
いや、char型のアドレスだけじゃなく他の型でもNULLはある。
charとかchar[]はNULL文字と深くかかわってるけどNULL文字とNULLポインタは全く別物。
NULL文字は文字列の最後に終端記号として置かれる物。
NULLはポインタがどこも指してない事を示す記号として色んな型のポインタ変数に入れられる物。
596:デフォルトの名無しさん
07/05/14 18:34:37
0x0 : (null)
0x402000 :
0x402002 : 0
597:デフォルトの名無しさん
07/05/14 18:42:21
こういうアホ連中がそのうち社会に解き鼻垂れるのかと思うと
陰鬱な気持ちになるな・・・
598:デフォルトの名無しさん
07/05/14 18:43:38
ヒント
int main(void)
{
printf("てすつ");
return NULL;
}
やってみようw
599:デフォルトの名無しさん
07/05/14 18:45:45
>>598
> return NULL;
いっ、いぃ〜〜のか?
600:デフォルトの名無しさん
07/05/14 18:46:08
コンパイルとおりませんでした。
601:デフォルトの名無しさん
07/05/14 18:47:09
$ gcc -xc -
#include <stdio.h>
int main(void)
{
printf("てすつ");
return NULL;
} ^D
<stdin>: In function ‘main’:
<stdin>:5: 警告: return makes integer from pointer without a cast
$ ./a.out
てすつ
$ echo $?
0
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5217日前に更新/240 KB
担当:undef