C言語なら俺に聞け(入門篇) Part 30at TECH
C言語なら俺に聞け(入門篇) Part 30 - 暇つぶし2ch1:デフォルトの名無しさん
08/06/13 23:38:08
言語の入門者向け解説スレです。

教えて欲しいのではなく宿題を丸投げしたいならこちらへ。
 C/C++の宿題を片付けます 108代目
 スレリンク(tech板)

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 29
スレリンク(tech板)
過去スレ
URLリンク(makimo.to:8000)

2:デフォルトの名無しさん
08/06/13 23:38:32
Part 1 スレリンク(tech板)
Part 2 スレリンク(tech板)
Part 3 スレリンク(tech板)
Part 4 スレリンク(tech板)
Part 5 スレリンク(tech板)
Part 6 スレリンク(tech板)
Part 7 スレリンク(tech板)
Part 8 スレリンク(tech板)
Part 9 スレリンク(tech板)
Part 10 スレリンク(tech板)
Part 11 スレリンク(tech板)
Part 12 スレリンク(tech板)
Part 13 スレリンク(tech板)
Part 14 スレリンク(tech板)
Part 15 スレリンク(tech板)

3:デフォルトの名無しさん
08/06/13 23:38:57
Part 16 スレリンク(tech板)
Part 17 スレリンク(tech板)
Part 18 スレリンク(tech板)
Part 19 スレリンク(tech板)
Part 20 スレリンク(tech板)
Part 21 スレリンク(tech板)
Part 22 スレリンク(tech板)
Part 23 スレリンク(tech板)
Part 24 スレリンク(tech板)
Part 25 スレリンク(tech板)
Part 26 スレリンク(tech板)
Part 27 スレリンク(tech板)
Part 28 スレリンク(tech板)
Part 29 スレリンク(tech板)

4:デフォルトの名無しさん
08/06/13 23:43:46
otu>>1;

5:4
08/06/13 23:47:50
1,文字列に母音(a,i,u,e,o)が何個含まれているかをint型数値として返すような関数VowelNumber()を作成せよ。
また,この関数を使用して,キーボードから入力された文字列に
母音が何個含まれているかを表示するプログラムを作成せよ。


2,
(1)
ある自然数に対して,その自然数の約数は何個かを関数値として返すような
関数FactorQuantity()を作成せよ。
例として20の場合は{1,2,4,5,10,20}なので個数は6となる。
(2)
ある自然数Nの約数の個数が2個だけ(1とNだけ)の場合,Nは素数である。
そこで(1)の関数FactorQuantity()を利用してNが素数がどうかを判定し,
Nが素数なら1を返し,素数でなければ0を返す関数Prime()を作成せよ。
(3)
(2)の関数Prime()を用いて次のプログラムを作成せよ。
2つの自然数a,bを入力させ(a<bとする),a以上b以下の素数を全て表示するプログラムを作成せよ。
※ソースファイルは1つのファイルにまとめよ。

という2問です。
OSはリナックスです。
いままで習ったのは、printf、scanf、ループ文、if文、配列などです。まだポインタは習っていません。
解説も少し加えてくれるとありがたいです。
よろしくお願いします。


6:5
08/06/13 23:48:41
>>5 すいません5でした。


7:デフォルトの名無しさん
08/06/13 23:49:32
>>5
>>1

8:デフォルトの名無しさん
08/06/14 00:16:08
>>前スレ994
float関数群が追加されたのはC95な。

9:デフォルトの名無しさん
08/06/14 00:16:55
C95なんてあったのか。

10:デフォルトの名無しさん
08/06/14 00:21:24
質問なのですが
数値演算ライブラリと数値計算ライブラリは同一のものなのでしょうか?
数値演算ライブラリと検索しても詳しく出てこなくて
よろしくお願いします

11:デフォルトの名無しさん
08/06/14 00:25:19
日本語がわかるならそんくらい分かるだろ\・・

12:5
08/06/14 00:32:18
>>7
すいません
こちらへはURLをさしてたんですね…


13:デフォルトの名無しさん
08/06/14 00:33:04
JavaScript なら俺に聞け、な?

14:デフォルトの名無しさん
08/06/14 00:39:45
日本語能力に問題がありすぎる・・・

15:デフォルトの名無しさん
08/06/14 00:44:06
数値演算ライブラリが何か知りたくて検索してみたのですが詳しく書いてあるサイトが無く
数値演算ライブラリと数値計算ライブラリが関係があるような記述があったので…
数値演算ライブラリとは何のことなのでしょうか
よろしくお願いします

16:デフォルトの名無しさん
08/06/14 00:54:44
>>15
もし君がC言語の標準ライブラリのことを言っているのなら、それはたぶん数学関係ライブラリ <math.h> のことだ。
そうでないなら、それがどのようなものであるかは、すべてそのライブラリそのものに依存する。
ライブラリのマニュアルを読むこと。

17:デフォルトの名無しさん
08/06/14 01:01:09
>>15
標準ライブラリの数値演算関数って事ですか、たぶん1年の初期の問題なんでこれなんだと思います
ありがとうございました。

18:デフォルトの名無しさん
08/06/14 01:41:32
いきなり難解なやりとりだね

19:デフォルトの名無しさん
08/06/14 02:09:31
CPUの命令セットにない高機能な数学用関数などを
実現するライブラリのコードとか入ってるんだよね

最近のCPUは浮動小数点用の高機能命令が増えた
から数値演算ライブラリそのものが小さくなってるけど、
昔のCPUは浮動小数点演算そのものの機能がなくて
エミュレータが入っていた

今も組み込み用CPUだと浮動小数点演算ができない
ものはたくさんある

20:デフォルトの名無しさん
08/06/14 02:34:26
浮動小数点のビット列ってどういう法則になってるの?

21:デフォルトの名無しさん
08/06/14 02:40:14
>>20
基本的にはIEEE754とIBMエクセス64形式があるけど
ちょっと長いけど下のリンクを印刷でもしてじっくり読んでくれ
必ず役に立つ

URLリンク(docs.sun.com)

22:デフォルトの名無しさん
08/06/14 02:45:13
単にIEEE754でぐぐってもよい
山ほど出てくる

23:デフォルトの名無しさん
08/06/14 02:53:11
>>21
なんだか大変そうだけど俺頑張るよ父ちゃん!

24:デフォルトの名無しさん
08/06/14 04:30:42
初歩的な事で申し訳ないのですが
例えばif文でint形変数iが1~9までの範囲ならtureだとする時はどうすればいいのでしょう。

if(i == 1,2,3,4,5,6,7,8,9)とやってみたところ、なぜか10以上の数でもtureになってしまいました。

25:デフォルトの名無しさん
08/06/14 04:32:26
if(1<=i && i<=9)

26:デフォルトの名無しさん
08/06/14 04:34:45
>>24
if()の中で,で区切って複数入れると一番右のものを判定する。
つまり、
if(i == 1,2,3,4,5,6,7,8,9) は if(9) と同じになり、9は真だから常にtrueになる。

27:デフォルトの名無しさん
08/06/14 04:35:44
カンマ演算子で左から右に読んでって、最後に0以外である9が評価されて必ずtrueになってる

28:デフォルトの名無しさん
08/06/14 04:36:20
>>25-26

おおっ!なるほど。
言われてみれば、そのとおりです。
ありがとうございました。

29:デフォルトの名無しさん
08/06/14 04:37:01
>>27

trueのスペルも間違えてましたorz
みなさん本当に感謝です

30:デフォルトの名無しさん
08/06/14 20:16:39
書き込みが無いな

31:デフォルトの名無しさん
08/06/14 20:44:37
誰かB木のソースもってません?
実行時間比較したいんでお願いします

32:デフォルトの名無しさん
08/06/14 20:57:40
>>31
C言語によるアルゴリズム事典(奥村晴彦)の付録のでは駄目なの?
手数料だけでフロッピーディスクで入手できるけど...


33:デフォルトの名無しさん
08/06/14 21:03:02
>>31
STLじゃだめか?


34:デフォルトの名無しさん
08/06/14 21:33:40
STL で使ってんのは赤黒木じゃなかったっけ?

35:デフォルトの名無しさん
08/06/14 21:40:41
「B木」って「ビーき」なのかな。「~木」はたいてい連濁させていたんだけど。

36:デフォルトの名無しさん
08/06/14 21:42:39
びーぼく

37:デフォルトの名無しさん
08/06/14 21:49:31
プログラミング言語CのことをC言語って言うことについてどう思いますか?
英語圏では単にCと呼ばれてるみたいなのですが。
話をする場合にはCと言っても問題ないと思うのですが。
JavaやC++の語尾に言語ってつけたりしませんよね?
Cだと一文字なので検索がしづらいということがありますが。

38:デフォルトの名無しさん
08/06/14 22:00:58
だってCってsexの意味もあるじゃん

39:デフォルトの名無しさん
08/06/14 22:01:41
ツェーとか言ってみる

40:デフォルトの名無しさん
08/06/14 22:07:41
参考書 「はじめてのC」

41:デフォルトの名無しさん
08/06/14 22:07:41
wikipediaは、最初「Java言語」だったけどそれじゃ変だろってことで「Java」に変更。
「C言語」も同様の提案があったけど、アホな人が頑張って「C言語」のまま。

42:デフォルトの名無しさん
08/06/14 22:08:08
>>38
確かにそうですが、ある単語が複数の意味を持っているということはよくあることなので。
それに中学生ではないのでCと聞いてセックスって思いませんよ普通。
文脈からプログラミング言語なのかセックスなのか分かると思いますが。

# 「はじめてのC」という書籍があります。

43:デフォルトの名無しさん
08/06/14 22:10:40
「はじめてのキス」という魚の本もあった。まさに釣られた。

44:デフォルトの名無しさん
08/06/14 22:10:54
母なる大地
Cなる言語
言語C
観念ι
勇者ライディーン

「エスペラント語」みたいなもんでしょ。呼び名としてはわかりやすいからいいんじゃないの。

>英語圏では単にCと呼ばれてるみたいなのですが。

むしろ英語圏での「the C language」「the C programming language」を直訳したんじゃないのw

45:デフォルトの名無しさん
08/06/14 22:12:26
>>41
それは正式名称は何かっていう議論だよね。あれはアホじゃないだろうかと思ったけど、
まあ世の中そういうものだと思う

46:デフォルトの名無しさん
08/06/14 22:14:35
K&Rの演習をやってるんだけど、難しいです
これ一通り解けなきゃ何かを作るときとかまずいの?

47:デフォルトの名無しさん
08/06/14 22:19:56
>>46
できあがるものはろくなもんじゃないだろうな
基礎は大事

48:デフォルトの名無しさん
08/06/14 22:21:24
>>46
全然まずくない。むしろ(ry

49:デフォルトの名無しさん
08/06/14 22:22:30
>>47
>>48
どっちだ・・・

50:デフォルトの名無しさん
08/06/14 22:26:11
C調言語に御用心

51:デフォルトの名無しさん
08/06/14 22:47:11
>>46
まずいって、何がまずいの?
C言語理解してなくても生きていけるし、
K&Rの演習が分からなくてもプログラムは書けるよ?

52:デフォルトの名無しさん
08/06/14 22:51:29
解かなくても別に問題はないけど
解こうとして解けないのは大問題だろ

53:デフォルトの名無しさん
08/06/15 01:00:10
>>46
ドラクエで言うと
レベル1で「がいこつ」と戦うと「まったく勝てない」んです。
けど、ある程度レベルが上がると「何とか勝てる」んです。
もっとレベルが上がると「余裕で勝てる」んです。

「がいこつ」に余裕で勝てるようになると今度は
「まほうつかい」に「何とか勝てる」ようになったりするんです。

「がいこつ」に勝てないのに「まほうつかい」に挑んでもしょうがないんです。
がんばってくださいよ。ラダトームの勇者さん。

54:スライム
08/06/15 01:02:13
オレのことは無視かよ

55:デフォルトの名無しさん
08/06/15 01:02:39
がいこつ>>>まほうつかい

56:デフォルトの名無しさん
08/06/15 01:04:29
PRGなんてレベルを上げれば、ほとんどの敵を余裕で倒せるが
中には特殊な道具が必要、イベント上絶対に倒せない(ことになっている)とか
プログラミングに於いては、必要なライブラリやAPIがなきゃ厳しい、無理なんて
ものもあるしぃ~。いくらプログラマのレベルを上げても駄目なこともあるのさぁ~
ベイビー

57:デフォルトの名無しさん
08/06/15 01:33:04
>>54
スライムさんはレベル1で勝てちゃうから、ね。
けれど、あなたがいない世界では決して勇者は育たず、永遠に世界に平和が訪れません。
あなたがいたからこそりゅうおうを倒すことができた、それを忘れる事はないでしょう。

>>55
そうだっけ!?そいつぁ大きなミスだったorz

>>56
ようせいのふえがあればゴーレムをすぐ倒せるのに、使い方を知らなかったために
ゴーレムと死闘する羽目になった。つまり、APIの知識が乏しいばかりに
車輪の再開発をするプログラマのことを指しているんですよね?

58:デフォルトの名無しさん
08/06/15 01:40:19
ん~まぁそんなもん。いくら経験値を稼いでLv.99にしても、それは
無駄とは言えなくとも、他に手段を選べる、必要なものを取り込む
知識や知恵も必要ということさ。そこで、攻撃重視の戦士や武道家
だけでなく、魔法が使えるキャラ、そして攻略本も。
何か参考になる資料や開発環境を整えておくことも重要さ。

59:デフォルトの名無しさん
08/06/15 01:43:24
>>51
K&Rの演習がプログラミングの基礎を抑えてると思ったんです。
ですが、どうやらもう少し簡単なものからやった方が自分にはいいみたいです。

>>52
すみません。未熟者です。

>>53
なるほど。
とりあえずスライム探してきます。
はぐれメタルもいるんですよね、きっと。

>>56
まず、道具の使い方がわかるくらいまでは勉強してみようと思います。

60:デフォルトの名無しさん
08/06/15 11:24:18
有限長の文字列を総当りで生成して、それをコンパイルしていくプログラムを作れば
そのうち自分が作りたかったプログラムが自動生成されるんじゃね?

61:デフォルトの名無しさん
08/06/15 11:26:51
シェークスピア全集だってその方法で書けるよ。

62:デフォルトの名無しさん
08/06/15 13:03:23
>>60
天才!
あとは、そのプログラムが自分の望む動きをするかどうかを
自動判定するプログラムを作ればいいだけだな。

頑張れ。

63:デフォルトの名無しさん
08/06/15 13:33:31
量子コンピュータがあれば一瞬だぜ。


64:デフォルトの名無しさん
08/06/15 13:34:37
>>60
激しく既出。(1726年イギリスの鬼痴骸による)
URLリンク(ja.wikipedia.org)

65:デフォルトの名無しさん
08/06/15 16:06:48
>>60
万能検証プログラムがないとゴミプログラムに埋もれて死ねる

66:デフォルトの名無しさん
08/06/15 16:53:16
検証プログラムも生成されるから大丈夫だよ

67:デフォルトの名無しさん
08/06/15 16:56:03
検証プログラムかどうかを検証するプログラムを作らないとな

68:デフォルトの名無しさん
08/06/15 17:00:38
悪意の無いプログラムかどうかも確認する必要があるな

69:デフォルトの名無しさん
08/06/15 17:40:20
式の値が0のときtrueになるというものをif文で書くとき
if (![変数とか])
と書くべきか
if ([変数とか] == 0)
と書くべきかどちらですか?
あとヌルポインタを判定する場合も流儀があれば教えてください。
if (p == NULL)

if (!p)
かということ。

70:デフォルトの名無しさん
08/06/15 17:42:36
好みかな。一貫して使えばどれでもいい。

71:デフォルトの名無しさん
08/06/15 18:00:29
>>69
個人的に
◎ if (![変数とか]) <- Ok
○ if ([変数とか] == 0) <- ちょっと冗長な気がする

◎ if (p == NULL) <- Ok
△ if (!p) <- NULLは0なのだろうか!?という問題がある。

72:デフォルトの名無しさん
08/06/15 18:01:56
>>71
NULLは0ではないが、
0はNULLだから...

73:デフォルトの名無しさん
08/06/15 18:03:11
>>71
お前ド素人だろ?w
Cでプログラム書くなよw
周りが迷惑だからなw

74:デフォルトの名無しさん
08/06/15 18:05:05
まぁ全体で一貫してくれ

75:デフォルトの名無しさん
08/06/15 18:22:12
>>71
char *p;
if(!p) { }
はOK. というか C++ では NULL よりは 0 の方が好まれているようです。
>>73
あ な た の 存 在 が 迷 惑 で す。

76:デフォルトの名無しさん
08/06/15 18:23:36
正常な状態を検知するのに否定を使うのはセンスに欠けると思う。

77:71
08/06/15 18:27:21
ちょっと調べてみた

NULLの値が0でなくても、
if(!p)
if(p != 0)
if(p != NULL)
は同じ結果になるようです。

サンクス

78:デフォルトの名無しさん
08/06/15 18:28:52
>>75
ド素人をド素人のままのさばらせておくお前もあいつと同じく迷惑な存在。
URLリンク(www.kouno.jp)

79:デフォルトの名無しさん
08/06/15 18:31:32
>>76
trueが正常とは限らないだろう。例えば、
if (!(p = malloc(n))) {
perror("malloc");
return 1;
}
正常だった場合の処理;

もっとも、この書き方は、コーディング規約で禁止しているところもあると聞くが。

それはともかく、
if (!strcmp(a, b)) ...
は頂けないかな。

80:デフォルトの名無しさん
08/06/15 18:38:05
>>78
ド素人のスレなので、そこんとこよろしく

81:デフォルトの名無しさん
08/06/15 18:39:12
if (!strcmp(a, b)) ... で等しい時に真なんだもんな。
直感に反するわ。

82:デフォルトの名無しさん
08/06/15 18:40:06
>>69
んーまあ比較演算子のない条件式を「変」だと思えるピュアな心があればいいんじゃないかな。
ただし、識別子と意味が食い違って紛らわしくなるような場合はいかん。いかんよ。

83:デフォルトの名無しさん
08/06/15 18:40:47
>if(!p)
>if(p != 0)
>if(p != NULL)
>は同じ結果になるようです。

流石ド素人。
なかなか諧謔のセンスがある。
このような頭の悪い人間はプログラミングの世界から手を引いた方がよい。
疑似科学の学者になったほうがよいのではないか?

84:デフォルトの名無しさん
08/06/15 18:42:09
>>71 >>77
まあ逝ってきなさい
URLリンク(www.kouno.jp)

85:デフォルトの名無しさん
08/06/15 18:47:03
このおばちゃんは元気でやってるの?
この画像がニュースで流れて以来、情報が無いのですが
ちゃんと避難できたでしょうか?
URLリンク(2chart.fc2web.com)

86:デフォルトの名無しさん
08/06/15 18:58:34
>>83
うっかりミスだとわかるだろうに
天下を取ったようなその書き込み

もっと大きな気持ちで行こうよ

87:デフォルトの名無しさん
08/06/15 19:04:23
いや、人には色々心の傷があるんだよ。触れないでおくも吉

88:デフォルトの名無しさん
08/06/15 19:04:47
>>83のような口調でエラー/警告メッセージを吐くコンパイラがあったとしたら、
俺なら窓から投げ捨てる。

89:デフォルトの名無しさん
08/06/15 19:07:34
いやちょっと欲しいかも

90:デフォルトの名無しさん
08/06/15 19:08:34
>>82
if (isdigit(c)) ...
とかだと比較演算子が現れないけど、これを無理矢理
if (isdigit(c) != 0) ...
とか書く訳?

91:デフォルトの名無しさん
08/06/15 19:11:41
>>86
ごめんなさい、今日ちょっとイライラしているんです。
そもそも>>69を書いたのは私で論争を起こそうと考えたからなんです。
あー、ごめんなさいごめんなさい、CもしたことがないのにCのポインタがナントカとか言って
ごめんなさい。人間ド素人は私の方なんです。あぁ、こういうことを平然というから味の素並に
嫌われる元なんですね、ごめんなさいごめんなさい。

92:デフォルトの名無しさん
08/06/15 19:15:29
いちいちageる奴にろくなのは居ない

93:デフォルトの名無しさん
08/06/15 19:41:48
>>90
真偽を返す関数は逆に比較すべきじゃない。

94:デフォルトの名無しさん
08/06/15 20:06:42
>>90
それは特殊だなって見ればわかるじゃん

95:デフォルトの名無しさん
08/06/15 20:10:25
書いてもいいし書かなくてもいい
ただ、自分のやり方として首尾一貫するのが大事

96:デフォルトの名無しさん
08/06/15 21:55:51
そそ if(p) と if(p != 0) では同じ実行結果となるけどコンパイラが展開したコードは微妙に違うのをだすよね(オプティマイズの指定にもよるけど)

てことは置いといてもっと気楽に行こうよ。
そう書いたらダメとか、それは間違ってる・・とかより >>74 や >> 95 に一票(もしかすると同一人?)

>>90 は頭を柔らかくね。何年かして、そのプログラム見たときに何か感じるものがあればいいんじゃない?

97:デフォルトの名無しさん
08/06/15 22:03:36
pがポインタ型なら全く同じ意味だから、
まともなコンパイラなら同じコードを生成するよ。

98:デフォルトの名無しさん
08/06/15 22:45:51
逆に、違うコードを吐いたところで9割9分くらいは目くじら立てることないと思う。

99:デフォルトの名無しさん
08/06/15 22:55:03
GetRandom関数の意味を教えてください


100:デフォルトの名無しさん
08/06/15 22:55:37
>>99
スレ違い

101:デフォルトの名無しさん
08/06/15 23:02:35
>>100
すいませn
どこいけばいいですか?

102:デフォルトの名無しさん
08/06/15 23:38:08
>>97
あああ、ちがうよ~。 or reg, reg とするか cmp reg,0 とかの話。


>>98
そりゃ目くじらどころかござにも引っかからないだしょ。

103:デフォルトの名無しさん
08/06/16 02:39:16
>>78
ん、確かに。失礼しました。

104:デフォルトの名無しさん
08/06/16 04:33:31
HWND型の比較はどうやってすればいいですか?

105:デフォルトの名無しさん
08/06/16 07:28:50
==

106:aaa
08/06/16 15:30:50
scanfで入力させると
例えば
int a;
printf("数値:"); scanf("%d",&a)
実行結果  数値:●●

ってなって入力させると改行がはいるじゃないですか?
これを実行結果が 数値:●●センチ
のようにできますかね?

107:デフォルトの名無しさん
08/06/16 15:34:43
一般的には無理
環境によっては可能かも知れないが、かなり特殊だと思う

108:デフォルトの名無しさん
08/06/16 15:36:31
って言うかC言語の問題じゃなくてOSの入出力インタフェースの問題だな

109:デフォルトの名無しさん
08/06/16 15:41:22
一回画面クリアして書き直すとか

110:デフォルトの名無しさん
08/06/16 17:01:11
例えば3~入力した数までの数をある法則で計算していく時、
その中から素数を計算から除外したい時はどのようにしたらいいんでしょうか?

111:デフォルトの名無しさん
08/06/16 17:03:13
素数かどうかを判定して素数なら除外する

112:デフォルトの名無しさん
08/06/16 17:03:35
>>110
素数判定して除外すればいい。
恐らくは、こんな要領。
for (int ic = 3; ic < inputedNumber; ++ic) {
if (isPrime(ic)) continue;
someFunction();
otherFunction();
}

113:112
08/06/16 17:04:10
ちっ、細かく書き過ぎて先を越されたぜ

114:デフォルトの名無しさん
08/06/16 19:01:41
物理シュミレーションをやりたいんだけど、いい入門書ない?

115:デフォルトの名無しさん
08/06/16 19:36:59
セグメンテーションエラーをなおす方法としてなにがあります?

116:デフォルトの名無しさん
08/06/16 19:39:41
>>115
デバッガの使い方覚える

117:デフォルトの名無しさん
08/06/16 19:57:35
どうやってつかうの?

118:デフォルトの名無しさん
08/06/16 20:00:57
べんきょうする

119:デフォルトの名無しさん
08/06/16 20:09:40
>>114
分野をはっきりさせないと答えられない。

120:デフォルトの名無しさん
08/06/16 20:15:55
>>115
どこまで進んで落ちてるのか調べればいいんじゃ?
適当にprintfいれるとか。

121:デフォルトの名無しさん
08/06/16 20:19:35
以下のようなデータファイルをfgetsとsscanfを使って読み込みたいのですが、
どうすればよいでしょうか?

test.datの中身
1 2 3 4 5 6 7 8 9 10 11 ... 1000

char line[10000];
int a[1000];
FILE *fp;

fp=fopen("test.dat","r");
fgets(line, sizeof(line), fp);

とすると、lineにtest.datの内容が文字列として格納されます。
ここからsscanfを用いて、1~1000をa[0]~a[999]に格納したいです。
繰り返し構文を用いて何とかできませんでしょうか?

122:デフォルトの名無しさん
08/06/16 21:04:37
ものすごい初歩的な質問ですが宜しくお願いします。
ためしにファイル名a.cとして文字列を表示させるだけのプログラムでコンパイルを試みたところ
Error E2209 a.c1: Unable to open include file 'stdio.h'
Warning W8065 a.c 4: Call to function'printf'with no prototype in function main

と表示されできません。
なにがいけなかったのでしょうか。

123:デフォルトの名無しさん
08/06/16 21:06:42
標準インクルードパスがちゃんと設定できてないとか?

124:デフォルトの名無しさん
08/06/16 21:12:28
>>123
レスありがとうございます。

確認してみましたができてました。

ちなみにプログラムは
#include <stdio.h>
int main(void){
printf("あああああ\n");
return 0;
}
ふつうのプログラムです。

125:デフォルトの名無しさん
08/06/16 21:14:37
とりあえずプログラムに間違いは全く見受けられないから、
どっかの設定に問題があるとしか。

126:デフォルトの名無しさん
08/06/16 21:18:53
>>124
できてないからおかしなことになっとるんじゃ

127:デフォルトの名無しさん
08/06/16 21:19:29
確認させてください。

ボーランド社のコンパイラを使っております。ファイルをC:\Borlandに解凍して、

環境変数でPathの末尾に;C:\Borland\BCC55\Binを付け加える

二つのcfgファイルを作る

であっていますか?

128:デフォルトの名無しさん
08/06/16 21:30:22
>>121
URLリンク(kansai2channeler.hp.infoseek.co.jp)
URLリンク(kansai2channeler.hp.infoseek.co.jp)

fgetsとsscanf 不使用
> char line[10000];
無理

129:デフォルトの名無しさん
08/06/16 21:35:32
セミコロン有って98?


130:デフォルトの名無しさん
08/06/16 21:36:03
>>120
それをやったのですけど
そのプログラムではfread,fseekを使ってるプログラムで
ひさしぶりにつかったらどうやって組み立ててたのかわからなくて。

宿題のスレにお願いしたのですけど。
ここにはるとマルチになるので


131:130
08/06/16 21:42:14
これ
URLリンク(a-draw.com)
このファイルをダウンロードしてもらって解凍してもらいたいんです。
prog.cのファイルを実行してセグメンテーションエラーをとってほしいんです
けど。

132:デフォルトの名無しさん
08/06/16 21:42:25
すでに現段階でマルチだよ

133:デフォルトの名無しさん
08/06/16 21:46:20
>>127
cfg ファイルの中身が間違っている可能性が高い

134:デフォルトの名無しさん
08/06/16 21:49:36
>>133
レスありがとうございます
bcc32.cfg内は
-I"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
ですよね。
ilink32.cfg内は
-L"c:\Borland\Bcc55\lib"
ですよね・・・

とくにファイルの移動とかはしていません。デフォルトのままです

135:デフォルトの名無しさん
08/06/16 21:51:49
中身は問題なさそうだな・・・。
んで、そのファイルはどこに置いてる?

136:130
08/06/16 21:54:14
prog.cですけど
きちんと動けばtextフォルダ内にテキストファイルができます

137:デフォルトの名無しさん
08/06/16 21:54:27
あいや、cfg ファイルね

138:デフォルトの名無しさん
08/06/16 21:55:16
って、質問者からしてちゃうやんけw
>>135>>134 へのレス。

139:デフォルトの名無しさん
08/06/16 21:56:03
ワロタ

140:デフォルトの名無しさん
08/06/16 21:56:32
Binに入れています。

141:デフォルトの名無しさん
08/06/16 21:57:47
だが断る

142:デフォルトの名無しさん
08/06/16 21:58:11
cfg ファイルは非Unicodeのプレーンテキストファイル?

143:デフォルトの名無しさん
08/06/16 22:00:26
はい

144:デフォルトの名無しさん
08/06/16 22:01:54
C:\Borland\Bcc32\include\stdio.h はある?

145:デフォルトの名無しさん
08/06/16 22:02:12
文字コードはANSIでした。
拡張子もtxtではなくcfgに書き換えています。

146:デフォルトの名無しさん
08/06/16 22:02:32
環境変数かえてから再起動してないってオチでわ?

147:デフォルトの名無しさん
08/06/16 22:03:19
コンパイラ走ってるからそのあたりは大丈夫そうに思える。

148:デフォルトの名無しさん
08/06/16 22:04:30
自分のレス番名前に入れろ

149:デフォルトの名無しさん
08/06/16 22:04:32
「登録された拡張子は表示しない」
設定になっているがために
本当は .cfg.txt になってるのが .cfg と表示されている・・・とかはない?

150:デフォルトの名無しさん
08/06/16 22:05:43
>>144
ありました。

>>146
何回も再起動しました;;

>>147
コマンドプロンプト開いてbcc32でズラズラでてきます。

151:122
08/06/16 22:07:27
>>149
拡張子は全て表示するようにしています.



152:デフォルトの名無しさん
08/06/16 22:11:37
だが断る

153:122
08/06/16 22:15:42
蛇足(?)ですが、JDKも導入しています。こちらはフツウに動作してくれます。

154:デフォルトの名無しさん
08/06/16 22:28:52
見てみようと思ったがダウンロードできん。

155:デフォルトの名無しさん
08/06/16 22:43:34
>>151
んじゃ、もう Borland は捨てよう。
インスコして即使える VC++ 2008 Express Edition にしよう。

156:122
08/06/16 22:51:29
>>155
ですね・・・

Visual C++は初めて使う(学校ではUltra-C Proというソフトつかって勉強してました)のですが、まったく仕様がかわりますか?
基本画面を見ただけでごちゃごちゃしていてよくわからないのですが、、、

157:デフォルトの名無しさん
08/06/16 22:52:53
コマンドプロンプトからコンパイルする時にインクルードパスを指定してみたら?

158:122
08/06/16 22:54:56
>>157

コマンドプロンプトの使い方がまったくわかりません;;

159:デフォルトの名無しさん
08/06/16 22:55:52
> bcc32.cfg内は
> -I"c:\Borland\Bcc55\include"

> C:\Borland\Bcc32\include\stdio.h はある?
→ありました

Bcc使ったこと無いんだが、Bcc55ってのとBcc32ってディレクトリできるん?

160:デフォルトの名無しさん
08/06/16 23:00:56
>>159
御免。それ間違えただけ。

161:122
08/06/16 23:01:08
>>159

>C:\Borland\Bcc32\include\stdio.h

これはBcc55の間違いでした。すみません。

162:デフォルトの名無しさん
08/06/16 23:01:28
>>156
基本的な使い方はそこいらのサイトに載ってると思う。

163:デフォルトの名無しさん
08/06/16 23:03:23
>>160-161
了解です。

bcc -ehoge.exe hoge.c
でいいのかな。

インクルードパスを明示的に指定するために
bcc -I"c:\Borland\Bcc55\include" -ehoge.exe hoge.c
とやってみるか、インクルードファイルをフルパス指定にするために
#include "c:\Borland\Bcc55\include\stdio.h"
に変えてみるとか。

164:デフォルトの名無しさん
08/06/16 23:04:36
って\あやしくね?Windows分かりませんで逃げていい?(汗

165:デフォルトの名無しさん
08/06/16 23:05:15
#include の中は \ 1つでいいよ

166:122
08/06/16 23:14:16
>>162
ちょっとググってみます。

>>163

おぉぉおぉぉぉおお!できました!ありがとうございます!
しかし、もうVisualC++をインストールし終えてしまいました^^;
でもありがとうございます!

167:デフォルトの名無しさん
08/06/16 23:17:29
>>166
お。できたんだ?
ってことはコンフィグファイルがうまく効いてないのかしら。
その辺はますます使ったこと無いのでわかりませんが、VCに移行するんですね^^;
がんばってねー

168:122
08/06/16 23:25:10
>>167

VisualC++は使い慣れるのにけっこう時間が必要のようです^^;;;
当分、メモ帳+VisualC++の併用していこうとおもいます。
167さんのアドバイスで新しい書き方を覚えましたし、満足です^^
ありがとうございました。がんばりまうs!

169:デフォルトの名無しさん
08/06/16 23:29:44
どうでもいいけどC言語以前の問題だと思う

170:デフォルトの名無しさん
08/06/16 23:31:33
さらに入門以前の問題でもある

171:デフォルトの名無しさん
08/06/16 23:51:44
>>168
メモ帳使う方が混乱すると思うぞw

172:デフォルトの名無しさん
08/06/17 00:00:15
しかし、Visual C++コマンドプロンプトの存在は
bcc32.cfgを用意するなどといった手間がない分、Borland C++より優位。
インストーラの力は偉大だ。

173:デフォルトの名無しさん
08/06/17 00:07:07
>>168
今までのレス見てて原因分かったぞ
bcc32.cfgのincludeを指定してるパスが間違ってるんじゃないのか

174:デフォルトの名無しさん
08/06/17 00:08:15
>>134 で特に間違いはないように見えるけど

175:デフォルトの名無しさん
08/06/17 00:09:39
見逃してたwww

176:デフォルトの名無しさん
08/06/17 00:31:05
コマンドプロンプトがわかりませんとか言ってる時点で・・・
まずいくべきはPC初心者板だな。

177:デフォルトの名無しさん
08/06/17 00:38:14
研修を受けて2週間めですが、さっぱりわかりません、助けてください。
変数ってprintfで表示できるしデバッガーでも表示出来るのはわかるのですが
計算して新しいものを入れるのにクリアしないのですか?


178:デフォルトの名無しさん
08/06/17 00:40:54
>>177
なにをいってるのかさっぱりわかりません、助けてください

179:デフォルトの名無しさん
08/06/17 00:42:42
日本語の研修ですか?

180:デフォルトの名無しさん
08/06/17 00:43:46
変数は初期化か上書きしかない、自分がこうしたらクリアだな
と思う値で初期化するなり上書きすればクリアじゃないかな

181:デフォルトの名無しさん
08/06/17 00:43:50
>>178
ごめんなさい、講師の人には失礼なので聞けないので、一緒に研修受けている
人に聞いてもわかりません。
変数ってクリアしないで計算出来るんですか?

182:デフォルトの名無しさん
08/06/17 00:44:35
いや、講師に聞いてくださいよ…

183:デフォルトの名無しさん
08/06/17 00:46:15
>>180
ありがとうございます。
思う値でクリアするのがわかりません。
初期化か上書きって命令があるんでしょうか。素人ですみません。

184:デフォルトの名無しさん
08/06/17 00:47:10
なんかよくわからんけど
自分で値いれるんならクリアしなくてもいいよ

185:デフォルトの名無しさん
08/06/17 00:47:26
>講師の人には失礼なので聞けない
なんというゆとり

186:デフォルトの名無しさん
08/06/17 00:48:09
理解できずに終わる事のほうが失礼だから聞けよクズ

187:デフォルトの名無しさん
08/06/17 00:48:20
>>182
講師の人の言ってることは日本語が難しいので聞いても無駄だと思って。。。


188:デフォルトの名無しさん
08/06/17 00:49:07
なら分かりやすく教えてくださいって聞けばいいだろ…

189:デフォルトの名無しさん
08/06/17 00:50:16
int a = 0; int型変数aを0で初期化
a = 1;   変数aに1を代入(上書き)

190:デフォルトの名無しさん
08/06/17 00:52:52
この質問者の日本語が一番難しい。

191:デフォルトの名無しさん
08/06/17 00:53:11
本とか買って予習したほうがいいと思うよ
そうすれば講義も理解しやすいかと

192:デフォルトの名無しさん
08/06/17 00:54:08
ここんとこC言語以前の質問ばっかりじゃねぇか

193:デフォルトの名無しさん
08/06/17 00:54:55
丁寧に図解して説明してくれて他の受講生は他の学校で習ったよりわかりやすい
っていっているので、聞けません。

a = 1って構文は理解したけど、なんでaが1になるのかわかりません。
型が同じだから代入できるということですか?

194:デフォルトの名無しさん
08/06/17 00:57:22
悪いことは言わないからまず電子計算機のなんたるかを勉強しろ

195:デフォルトの名無しさん
08/06/17 00:57:40
なんだ他の学校って。
職業訓練学校か?

>a = 1って構文は理解したけど、なんでaが1になるのかわかりません。
そういう決まりだからだ。

196:デフォルトの名無しさん
08/06/17 00:58:42
大学の授業なんだろう?
授業料払ってるんだろう?
聞け

言っとくが俺らはおまえからもおまえの親からも何ももらってないんだからな

197:デフォルトの名無しさん
08/06/17 00:59:06
もしかしてりんごの絵とかで解説してあげないと駄目なレベルなのかな

198:デフォルトの名無しさん
08/06/17 01:00:08
はっきり言ってしまうと
単におまえが分不相応な講座取っただけだろ

199:デフォルトの名無しさん
08/06/17 01:01:08
講師の人には他の人とは差があって当然だから、基礎的な事をまずは勉強
しようねといって、コンピュータの歴史の本みたいなのを読まされています。
わたしはプログラムしたいけれども、多分、もう見捨てられているんですね。
わかりました。

200:デフォルトの名無しさん
08/06/17 01:01:16
コンピュータ内部の事象をイメージできない人間がプログラミングできるわけがない

201:デフォルトの名無しさん
08/06/17 01:01:34
ああ、新入社員の研修じゃなかったのか。よかったよかった

202:デフォルトの名無しさん
08/06/17 01:02:48
うーむ・・・正直相当不向きと見える


203:デフォルトの名無しさん
08/06/17 01:03:41
学校じゃないから真剣なんです。社会人の研修です。

なんでみんなこんなのでわかるのか泣きたいです。

204:デフォルトの名無しさん
08/06/17 01:05:02
a = 1って構文は理解したけど、
↑↑激しく矛盾 ↓↓
なんでaが1になるのかわかりません。

205:デフォルトの名無しさん
08/06/17 01:05:05
おすすめ図書 猫でも分かるc言語プログラミング
   

206:デフォルトの名無しさん
08/06/17 01:05:13
ごめんなさい、明日も早いから寝ます。いろいろありがとうございました。

207:デフォルトの名無しさん
08/06/17 01:05:33
逆に質問したいんだがなんでaが1になるのが変だと思ったんだ?
そういうところをはっきり書いてくれないと誰もあなたが望む答えが出来ないと思うよ

208:デフォルトの名無しさん
08/06/17 01:05:41
プログラマはプロ・アマ問わず本買うなりネットで調べるなりして自学自習が基本だ。
与えられた本に文句つけてる暇があったら、入門本を片っ端から読み漁れ。
講師だの学校だのにプログラム教えてもらおうなんて思ってるなら、転職・進路変更を勧める。

209:デフォルトの名無しさん
08/06/17 01:06:51
なんでこんなのをプログラミングの研修に回すんだ…
どこの会社かしらんがおかしいだろ

210:デフォルトの名無しさん
08/06/17 01:08:07
たぶん変数とか代入とかの概念がないんだろう

211:デフォルトの名無しさん
08/06/17 01:08:43
まわりが経験者ばっかりで焦ってたんだろね

212:デフォルトの名無しさん
08/06/17 01:08:49
1+1はなんで2になるの?くらいのレベルの質問

213:デフォルトの名無しさん
08/06/17 01:09:02
>>207
a = 1 って書くのはわかるけど、aは変数じゃないんですか???
ごめんなさい、たぶんわたしがまるでわかってないんですね。

214:デフォルトの名無しさん
08/06/17 01:09:05
あーそうか
つまり a=1 を数学の数式として見てるのか・・・

215:デフォルトの名無しさん
08/06/17 01:09:20
a = 1の構文に違和感を覚えるのなんてよくあること

216:デフォルトの名無しさん
08/06/17 01:09:55
と思ったけど>>213を見た限りそういうわけじゃないみたいだなwwwww

217:デフォルトの名無しさん
08/06/17 01:09:57
a=1;

これの意味を本当に理解してる?
説明してみて

218:デフォルトの名無しさん
08/06/17 01:10:52
>>213
意味わかんねえよ。
「(変数) = (値);」と書いて「(変数)に(値)を代入する」って読むんだよ。
何が分からんのか言うてみろ。

219:デフォルトの名無しさん
08/06/17 01:11:23
たぶん「代入」が理解できてない

220:デフォルトの名無しさん
08/06/17 01:12:04
131だけどどなたかわかりましたか?

221:デフォルトの名無しさん
08/06/17 01:13:05
一番いいのは
自分で
int a;
a=1;
してからprintfでaを表示しろ

222:デフォルトの名無しさん
08/06/17 01:14:11
zipファイルが落とせないの俺だけ?
出会い系のバナーしかリンクがねーんだけど。


223:デフォルトの名無しさん
08/06/17 01:14:19
よく言われるのは、変数は箱の名前

まず最初に
int a;
などのように書いてint型の変数としてaと言う箱を用意します

その箱の中身に 1 と言う値を入れる(代入)にはどうすればいいか
a = 1;
と書くのです、これはC言語の決まりごとです

224:デフォルトの名無しさん
08/06/17 01:14:24
代入演算子で1を代入してるんですよね。理解しています。
でも、どうしてaが1なんですか?
取り出すところがわかりません。どうやってクリアするのですか?

225:デフォルトの名無しさん
08/06/17 01:14:36
2つの数の最大公約数を出すプログラミングを書いていたのですが、どうしてもうまくいきません
どこが悪いか教えてもらえませんか?
どんな値を入れても18000みたいな数字が出てきてしまいます。。。
お願いします

#include<stdio.h>
int gcd(int m,int n) /*二つの自然数の最大公約数を返す*/
{ int i;
if(m > n)
{for(i =m; i==1; i--)
{if( (m%i)==0 && (n%i)==0 )
return i;
}}
else
if (m < n) {for(i =n; i==1; i--)
{if( (m%i)==0 && (n%i)==0 ) return(i); } } }
int main(void) { int x, y;
puts("二つの自然数を入力してください。");
printf("自然数1:"); scanf("%d", &x);
printf("自然数2:"); scanf("%d", &y);
printf("二つの自然数の最大公約数は%dです。 \n", gcd(x ,y));
return(0); }





226:デフォルトの名無しさん
08/06/17 01:15:22
決まりごとになぜっていわれるのが一番こまるよなー。
なんで止まれは止まらないといけないのかとか

227:デフォルトの名無しさん
08/06/17 01:15:26
>>220
そんなところにソース上げられても誰も見ようとはしないよ
自分でリンク叩いてみろ

228:デフォルトの名無しさん
08/06/17 01:16:03
>>224
「代入」の意味を説明してみろ

229:デフォルトの名無しさん
08/06/17 01:16:17
>>224
クリアってなんだよ。
勝手に変な概念を作るな。

230:デフォルトの名無しさん
08/06/17 01:16:42
どこにうpすれば。。。

231:デフォルトの名無しさん
08/06/17 01:17:01
おまいら釣られすぎwww

232:デフォルトの名無しさん
08/06/17 01:17:49
131
単品だとエラー確認できないんすよー。

233:デフォルトの名無しさん
08/06/17 01:17:54
>>225
i==1

234:デフォルトの名無しさん
08/06/17 01:18:37
あーもー、
おまえら何がしてーんだよっww

235:デフォルトの名無しさん
08/06/17 01:19:10
いったいこいつの頭の中がどうなってるのかを確かめたいと言う知的好奇心

236:デフォルトの名無しさん
08/06/17 01:21:23
131
ddofile29050.zip pass errorです
みてもらえたらうれしいです

237:デフォルトの名無しさん
08/06/17 01:22:16
>>131
1643.zipがねーぞ?
2chなんかでリンク張るから消されたんじゃねーのw

238:デフォルトの名無しさん
08/06/17 01:22:23
ここは半角板じゃねぇぇ。

239:デフォルトの名無しさん
08/06/17 01:22:25
やぱりからかれてるんだ。


240:デフォルトの名無しさん
08/06/17 01:22:41
>>236
しねばいいよ

241:デフォルトの名無しさん
08/06/17 01:22:44
明日ゼミあるのに全くゼミ資料も裏付けもやってねー

242:デフォルトの名無しさん
08/06/17 01:25:45
いくらなんでもa = 1がわからないやつを2週間も放置する会社は無いだろ

243:デフォルトの名無しさん
08/06/17 01:26:28
a = 1; において、a という箱にはなにかしらデータが入っているから
そのままではそのデータが邪魔で 1 を代入することはできない
だから a からデータを取り出すなり消去する(「クリア」する)必要がある

とでも考えているんじゃなかろうか

244:デフォルトの名無しさん
08/06/17 01:26:35
なぜreturn aで返るんですか?

245:デフォルトの名無しさん
08/06/17 01:28:44
>>243
そうです。
どうしてクリアしなくていいんですか?

246:デフォルトの名無しさん
08/06/17 01:29:30
上書きしてるから

247:デフォルトの名無しさん
08/06/17 01:30:08
自分でC言語のコーナーいって
自分が一番わかるであろう本をかいなよ。
そしてプログラムを自分が理解してうつ。
それがベストだろ。

248:デフォルトの名無しさん
08/06/17 01:30:50
>>245
箱と説明されてるのがまずかったのかな?

ホワイトボードみたいなもんだを思ってくれ

a = 1;はaって言う名前のホワイトボード書き換える行為だと

249:デフォルトの名無しさん
08/06/17 01:31:09
+=とか|=なら、245的クリアしない代入と言えるのだろうか?

250:131
08/06/17 01:31:17
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
#define MAX 5000
#define M 25
#define STR_MAX 256
void binary_file_process(char *fname)
{ float sample1; float sample2; float sample3[5]; float s1[MAX]={0};
float input_data[150][M]; char buff[100]="text/"; FILE *fin1=fopen(fname,"rb");
strcat(buff,fname); strcat(buff,".txt");
FILE *fp =fopen(buff,"w"); int i = 0,j = 0,k = 0,l = 0,m = 0,y = 0,z = 0,max=0;
int count=0; fseek(fin1, 0, SEEK_SET);
fread(sample3, sizeof(float), 6, fin1);
fseek(fin1, 12, SEEK_SET); while(fread(&sample1, sizeof(float), 1, fin1) == 1) {
s1[k] = sample1; k++; }
count=k/M; max=k; for(i=0;i<max;i++){ printf("{%.1f}",s1[i]); if((i+1) % M ==0){
printf("\n"); } }
printf("\n\n"); printf("k:%d count:%d max:%d \n",k,count,max);
k=0; for(i=0 ; i < count ; i++){ for(j=0;j<M;j++){
printf("\t"); input_data[i][j]=s1[k];
fprintf(fp,"%f ",input_data[i][j]);
if((k+1) % M ==0){ fputs("\n",fp); } k++; } } fclose(fin1); fclose(fp);}
int main(){ char buf[100][STR_MAX]={'\0'}; FILE *fp; int i,j,k=0,count=0; system("dir power/*.data >memo.txt");
fp=fopen("memo.txt","r"); if(fp==NULL){ printf("prog001.c:file can't open memo.txt\n");
exit(-1); } printf("読み込み開始\n");
i=0; while(fscanf(fp,"%s",buf[i]) != EOF){
i++; } count=i; fclose(fp); printf("count:%d buf[0]=%s\n",count,buf[0]);
binary_file_process(buf[0]);
}

なんとかまとめてみました
お願いします

251:デフォルトの名無しさん
08/06/17 01:31:29
>>255
5行目と11行目のfor文を
i == 1 → i != 1 にかえるとおk

252:デフォルトの名無しさん
08/06/17 01:31:31
変数の初期化
その変数に代入すると,初期化した変数にいれられる。

253:デフォルトの名無しさん
08/06/17 01:31:45
>>246
そこが言ってることがわかりません?上書きってクリアとは違うんですか?

254:デフォルトの名無しさん
08/06/17 01:31:49
>>245
ホワイトボードじゃ、一回クリアしないと書けないぞw

MDでもカセットテープでもなんでもいいが、
繰り返し録音できるメディアはいちいちクリアしなくても
新しく録音できるだろ。
それと一緒だ。上書きだよ上書き。

255:デフォルトの名無しさん
08/06/17 01:32:07
間違った >>225

256:デフォルトの名無しさん
08/06/17 01:32:21
>>150
単品じゃうごかねえつったろw

257:デフォルトの名無しさん
08/06/17 01:32:58
>>245
C言語は、プログラマのコードが全て
つまりプログラマの責任において操作する
a = 1;
の後に、aに何を代入して上書きしようがプログラマの勝手
で、その変数aの値を使用するのは、プログラマの責任で使えってこった

258:デフォルトの名無しさん
08/06/17 01:33:42
データがねーから

nt main(){ char buf[100][STR_MAX]={'\0'}; FILE *fp; int i,j,k=0,count=0; system("dir power/*.data >memo.txt");
でエラー

259:デフォルトの名無しさん
08/06/17 01:35:43
まさにカオス

260:デフォルトの名無しさん
08/06/17 01:37:03
何を代入してもいいのに1を代入するとかもうわけがわからないのは
やっぱりむいてないんでしょうね。
書いている言葉は理解できるのにさっぱり意味がわかりません。
長々とありがとうございました。明日相談してみます。

261:デフォルトの名無しさん
08/06/17 01:38:52
何を代入してもいい箱には
何が代入できるのだろう。

そもさん、せっぱ

262:デフォルトの名無しさん
08/06/17 01:39:12
書いている言葉は理解できるのに
↑↑何か脳の病気なのか…↓↓
さっぱり意味がわかりません。

263:デフォルトの名無しさん
08/06/17 01:40:02
1は例えであって別に何しようが勝手だって
型なのどの規則を守ってたら
あとは>>257の言うとおり

何も代入してない状態の変数にも中身が勝手に入ってる
ただ、それは何が入ってるか分からないから自分が分かるように
分かる値を入れるだけ

264:デフォルトの名無しさん
08/06/17 01:40:50
>>255
ありがとうございます!
明日トライしてみますね!
助かりました。。

265:255
08/06/17 01:50:52
>>264
あと公約数がない場合もつけたしておいたほうがいいよ

266:デフォルトの名無しさん
08/06/17 01:53:41
公約数がないなんてありうるの?

267:デフォルトの名無しさん
08/06/17 01:54:06
ねぇよwww

268:デフォルトの名無しさん
08/06/17 01:56:34
素数って1とそれ自身以外の約数がないんじゃなかったっけ?
2つの素数の公約数って1でいいの?

269:デフォルトの名無しさん
08/06/17 01:56:44
aが1かなんでもいいを入れられるのにどうして1を入れる必要が
あるのかどうしてもわからないんですよ。
1じゃなくても入れられるのはわかっています。
なんで1があるのにそれを入れるのか、どういう時に入れれば
いいのかわからないんです。

入れたいときにっ言うけどそれがわかりません。

フローチャートも演習でやったのは書けたけど、プログラムを見て
フローチャートに出来ません。
やっぱり無理ですね。よくわかりました。

270:デフォルトの名無しさん
08/06/17 01:57:16
約数って素数じゃなきゃいけないんだっけ?

271:デフォルトの名無しさん
08/06/17 01:58:05
>>269
もう寝ろ。

272:255
08/06/17 01:59:11
あのプログラムだとループの i が1になった瞬間終了だから
8 7 とか入力したらバグる

273:デフォルトの名無しさん
08/06/17 01:59:14
>>268
全ての整数は1と(負の約数を考えるなら-1)を約数にもつ。
だから、どんな二つの整数も1を公約数に持つし、
二つの素数の最大公約数は1

274:デフォルトの名無しさん
08/06/17 02:00:25
変数の存在自体に疑問を持ってるということかいね
つまり、全部数値を直打ちしてプログラム書けということかいね
死ぬわ

275:デフォルトの名無しさん
08/06/17 02:01:01
>>272
そういう意味だったか、すまん
確かに返り値返してないな

276:デフォルトの名無しさん
08/06/17 02:05:42
変数の意義とは何ぞや。
すなわち、テンポラリである。

277:デフォルトの名無しさん
08/06/17 02:09:15
女がピーかなんでもいいを入れられるのにどうしてピーを入れる必要が
あるのかどうしてもわからないんですよ。
ピーじゃなくても入れられるのはわかっています。
なんでピーがあるのにそれを入れるのか、どういう時に入れれば
いいのかわからないんです。

入れたいときにっ言うけどそれがわかりません。


ごめんもう寝る

278:デフォルトの名無しさん
08/06/17 02:10:02
いや、別に入れたくないなら入れなくていいよ。

279:デフォルトの名無しさん
08/06/17 02:11:10
根本的に無理だな
問題解決能力そのものがない

280:デフォルトの名無しさん
08/06/17 02:18:01
>>277
応用をやるために基礎があるってことでおk?

281:デフォルトの名無しさん
08/06/17 02:23:06
釣りだと思う人挙手



282:デフォルトの名無しさん
08/06/17 03:10:52
>>269
つまり、プログラムで何をするか決めてない、理解してないのに
プログラムの構文を習った所で、そんな状態になるわな
まず、これから先に何かをする為に、そうルールでプログラムは動くって覚るしかない

変数は、プログラムを組むなら絶対使うからw
例えば、条件分岐(習ったかどうか知らんが)

int value;

// 何らかの処理でvalueに何らかの数値が入る
...

if ( value == 0 ) {
// 0の時だけにしたい処理
...
}
こんな感じで使う

a = 1; なんて、構文を教えてるだけだ、それに意味なんか求めるな

283:デフォルトの名無しさん
08/06/17 03:16:01
つまりみなさんよくわかないけど使ってるんですね
わたしもそうすることにします

284:デフォルトの名無しさん
08/06/17 03:21:11
>>283
それがいい
やってるうちに分かってくる b

285:デフォルトの名無しさん
08/06/17 03:49:54
c言語でbmpファイルを読み込んで、それを表示させるプログラムを作るには、
ウインドウ作成プログラムも作らないといけないのですか

286:デフォルトの名無しさん
08/06/17 03:54:58
Cとウィンドウ作成の関係について詳しく

287:デフォルトの名無しさん
08/06/17 03:59:01
おいちゃんの作ったプロ、グラマーなクソースなら
HTMLのTBL形式に出力しちゃうわよぉ~ん

288:デフォルトの名無しさん
08/06/17 04:32:13
これは ひどい

289:デフォルトの名無しさん
08/06/17 06:23:47
スレ違うかもしれません。だが教えて欲しい!
昨年プログラムとして
とあるソフト入社したんだが、C言語でやってる。
しかし!入社して一年たっても全くと言って良い程
C言語がわからす、プログラムなんて持っての他。
テストばかり。テストばかりなのが嫌ではないのだが、
将来首切られる事ってあり得るのかな?
ちなみに勤務態度や
勤務状態(遅刻や早退)は良い。
やっぱプログラマ出来ないとリストラされるのでしょうか?

290:デフォルトの名無しさん
08/06/17 06:28:04
時や場所をわきまえない奴は首

291:デフォルトの名無しさん
08/06/17 06:29:13
入社したのが新卒なのか、中途で他業種からなのかとか
背景がさっぱりわからんし、同じようにテストを受けてるのが
一人だけとか他にも同期で何人かいるとかでも違うしなあ。

体力ある企業で新卒でそれをさせてるなら育成の可能性が
あるから首ってことはないだろうけどなあ。
それに体力無いところは適当な案件見つけてすぐにでも
経歴偽装してデスマな現場に放り込まれそうだけどなw

292:デフォルトの名無しさん
08/06/17 06:44:28
289ですが、専門卒で新卒でソフト会社入って
一年でやめて、違う業種で一年やって
三年程のブランクを経て今ある会社に入りました。
形としては中採かな。1ヶ月程たった。
自分づもプログラムに向いてないのは
分かってるけど、違う業界でやっていくか、
とりあえず分からないなりに
努力していくか悩んでいるのです。
スレ違う失礼しました。
ただ、このスレ野中にはプログラムの人もいるかなと思い、
参考程度に聞いてみた。
結局は自分だけど、皆さんならどうしますか?

293:デフォルトの名無しさん
08/06/17 06:54:07
プログラムの人ってなんだよw
プログラマだろ

294:デフォルトの名無しさん
08/06/17 07:12:42
とりあえずちゃんとした文章を書こうよ

295:デフォルトの名無しさん
08/06/17 07:15:02
まーまだ20代なんだからやる気次第かもね~


296:デフォルトの名無しさん
08/06/17 07:53:17
質問です。char変数に代入する方法がわかりません。次のようなプログラムなんですが、

char fruits;
int kind;
printf("どれが好き?\n1.リンゴ\n2.みかん\n3.バナナ\n");
scanf("%*d,%d",kind);
switch(kind){
case 1:
fruits = "リンゴ";
break;
case 2:
(中略)

printf("あなたは%sが好きです",fruits);

fruitsに文字を代入するところでエラーが出てしまいます。どう変えれば動くようになりますか?

297:デフォルトの名無しさん
08/06/17 07:58:51
#include <string.h>
(省略)
char fruits[64];
int kind;
printf("どれが好き?\n1.リンゴ\n2.みかん\n3.バナナ\n");
scanf("%*d,%d",kind);
switch(kind){
case 1:
strcpy(fruits, "リンゴ");
break;
case 2:
(中略)

printf("あなたは%sが好きです",fruits);

298:デフォルトの名無しさん
08/06/17 08:03:26
別に
fruits[0] = "リンゴ"[0];
~~
fruits[6] = "リンゴ"[6];
fruits[7] = "リンゴ"[7];
break;
でもいいけど。

299:デフォルトの名無しさん
08/06/17 08:22:29
大きさを宣言するんですね!
うっかり忘れてました。thxです。

300:デフォルトの名無しさん
08/06/17 08:23:51
>>289
>>292
1年なのか1ヶ月なのかはっきりしろよ

301:デフォルトの名無しさん
08/06/17 08:41:06
>>299
うっかり…なのか?
何だかchar型に文字列のポインタ入れようとしたり、基本的なことが分かってないように思えるんだが

302:デフォルトの名無しさん
08/06/17 09:33:14
>>286
BMPファイルを読み込んだ後にそのBMP画像を画面に出力すること
と言われて、BMPファイルをメモリに読み込ませることはできたんですけど
出力するプログラムがわかりません

303:デフォルトの名無しさん
08/06/17 09:37:10
>>286
BMP画像を読み込んで、その読み込んだBMP画像を画面に出力する
というプログラムを作成するのに、そのまま出力することができるんですか
BMP画像を読み込ませることはできたんですが、それを画面に表示
させる方法がわかりません

304:デフォルトの名無しさん
08/06/17 09:38:57
スレ違い

305:デフォルトの名無しさん
08/06/17 10:28:58
つまり「日本語なら俺に聞け(入門篇)」のスレへ行け、ということですね。わかりますた

306:デフォルトの名無しさん
08/06/17 10:43:36
問04(最終問題)
テキストサウンドノベルを作成する事。
キー入力でメッセージを表示し、途中で選択肢を含める。(最大3つまで)
画面をスクロールさせることは禁止。ページ切り替えは、画面全消去で対処する事。
テキスト行数は、最低50行から最大100行までとする。
画面全消去方法は、先生に聞くこと。
これってCじゃなくC++ですか?

307:デフォルトの名無しさん
08/06/17 10:49:47
>>303
つ URLリンク(www.db.is.kyushu-u.ac.jp)

308:デフォルトの名無しさん
08/06/17 11:41:57
質問だけですが、分かる方お願いします。
cは拡張キーワードというのがありますが、
どういった場合に使用するのでしょうか?
具体的な使い方とか乗っているサイトありませんか?

309:デフォルトの名無しさん
08/06/17 12:08:19
>>308
拡張キーワードって __asm __stdcall などのこと?
それぞれが必要なときに使うんだよ。
使い方は処理系のマニュアルを読む。


310:デフォルトの名無しさん
08/06/17 12:08:52
>>306
サウンドのあたりがしんどいね

311:デフォルトの名無しさん
08/06/17 12:57:06
>テキストサウンドノベル
これはひどい

312:デフォルトの名無しさん
08/06/17 13:14:08
>>269
亀レスだが、その疑問はコンピュータサイエンスのプログラム意味論や
計算とは何かの範囲になるので、ここではスレ違い。

313:デフォルトの名無しさん
08/06/17 13:59:38
エレガントなコードを書くのに参考になるような本って何かありますか?
Short coding以外で

314:デフォルトの名無しさん
08/06/17 14:21:01
>>177
> 変数ってprintfで表示できるしデバッガーでも表示出来るのはわかるのですが
> 計算して新しいものを入れるのにクリアしないのですか?

そうだよね、変数は値(を書いた札)を入れる箱だから、元の値が邪魔になるよね。
っていうアレではないか。

315:デフォルトの名無しさん
08/06/17 15:01:50
>>314>>243-245で既出だった

316:デフォルトの名無しさん
08/06/17 19:01:20
1つのスイッチと4個のLEDを使ってプログラムを作ろうと思っています。
スイッチを押すとLED1が点灯→もう一度押すとLED1に続いてLED2が点灯、さらに1回押すとLED3も点灯
というように押すたびに点灯するLEDが増えてくというものを作ろうとしているのですが、
まったくできません。
プログラムをどのように書くと1つのボタンでLEDが点灯する数を増やしていくことができるのでしょうか?

こういう風に

317:デフォルトの名無しさん
08/06/17 19:03:54
どういう接続かしらんけど
ポートに出力するデータに対して
最初は0
左シフトして1インクリメント
を繰り返せばOKなんじゃない?

318:デフォルトの名無しさん
08/06/17 19:17:41
>>317
今は

while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=0x01;
}
}

これでボタン押すとLED1が点灯する状態です。
>>ポートに出力するデータに対して
>>最初は0
>>左シフトして1インクリメント

この辺はどんな命令文で指示すればいいのでしょうか?

319:デフォルトの名無しさん
08/06/17 19:21:25
char outdata = 0;
while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=outdata<<1;
outdata++:
if (outdata > 4) outdata = 0;
}
}

320:デフォルトの名無しさん
08/06/17 19:30:39
>>319
詳しくありがとうございますw

char outdate=0;
の行でエラーが出るのですが、乱数使うときの#include<studlb>みたいな前置きみたいの必要なんですかね?

321:デフォルトの名無しさん
08/06/17 19:32:28
組み込みスレで聞いたほうがよくないか?

322:デフォルトの名無しさん
08/06/17 19:35:50
エラーの内容くらい読め

323:デフォルトの名無しさん
08/06/17 19:36:39
釣りだろ

324:デフォルトの名無しさん
08/06/17 19:38:06
>>321
まーIOポートも変数みたいに使えるようになってるからいいんでね?

>>320
char outdata = 0;

BYTE outdata = 0;

かな?

char型じゃないのかね?

それか

chara outdata;
outdata = 0;

のように行を分けないといけないとか

325:デフォルトの名無しさん
08/06/17 19:38:41
char outdata;
outdata = 0;
こうだorz

326:デフォルトの名無しさん
08/06/17 19:48:31
釣りじゃないですが

2500(E) ILLEGAL TOKEN: "char"
2225(E) UNDECLARED NAME: "outdata"

っていうエラーが出てしまいます。
>>324さんのも試してみたのですが、BYTEでも同じエラーでした。

327:デフォルトの名無しさん
08/06/17 19:53:39
変数を定義できる場所とできない場所がある。

328:デフォルトの名無しさん
08/06/17 20:00:06
面倒だからこうするか
P1.DR.BYTE = 0;
while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=P1.DR.BYTE<<1;
P1.DR.BYTE++:
if (P1.DR.BYTE > 4) P1.DR.BYTE = 0;
}
}

でもP1.DR.BYTEって読み込みできるのかな?

329:デフォルトの名無しさん
08/06/17 20:13:44
{
char outdata = 0;
while(1){
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=outdata<<1;
outdata++:
if (outdata > 4) outdata = 0;
}
}
}

さらに面倒だからこうしちゃえば?

330:デフォルトの名無しさん
08/06/17 20:22:00
日立のSHCか?

331:デフォルトの名無しさん
08/06/17 20:26:31
H8/3664で遊んだときにどこかの会社の
無料の統合環境もこんな感じで組めたな。

332:デフォルトの名無しさん
08/06/17 20:29:58
たぶん制御系スレが一番詳しいはずってか初心者が組み込みに手出すのは無謀じゃないのか

333:デフォルトの名無しさん
08/06/17 20:41:17
>>328-329
>>P1.DR.BYTE++:
>>outdata++:
最後の点々はセミコロンじゃないとエラーでるけど:じゃないと意味ないんですかね?
ちなみにセミコロンに変えて実行するとLEDは点灯するけど点灯の仕方がランダムみたいになってます;;

>>330
日立のH8/3052Fです

334:デフォルトの名無しさん
08/06/17 20:47:22
>>333
あ、ごめんコロンになってたかな?
セミコロンに直してください。

ランダムというかウェイトいれないといくらマイコンって言ってもその程度の
ロジックならかなり早い点等を繰り返すはず。
なので変な点等になる。

335:デフォルトの名無しさん
08/06/17 20:47:50
点等orz
点灯ね

336:デフォルトの名無しさん
08/06/17 20:50:26
スイッチ押してる間ずっとP2.DR.BIT.B0が0だったりして。
制御系って適当に作りまくってると火を吹きそうなイメージなんだけど大丈夫なんだろか

337:デフォルトの名無しさん
08/06/17 20:51:34
>>336
多分タクトスイッチが押されるとアースしてるんじゃね?

338:デフォルトの名無しさん
08/06/17 20:51:36
あんまりよく読んでないけどP2.DR.BIT.B0はスイッチの入力か?
上のレスのソースだと、スイッチが0の状態ままだと、
ひたすらインクリメントなりシフトなりするだろうから
一回押すたびに点灯という動作にはならないんじゃないか?
おそらく、スイッチがどちらかの状態になったらパパパパとつくだけかね。

339:デフォルトの名無しさん
08/06/17 20:52:08
よくわかんないけど、ボタンを放すまで待つとか、そういう処理はいらないのかな

340:デフォルトの名無しさん
08/06/17 20:53:38
{
char outdata = 0;
char count = 0;
while(1){
if (count == 0) {
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=outdata<<1;
outdata++;
if (outdata > 4) outdata = 0;
count = 255;
}
}
count--;
}
}

341:340
08/06/17 20:54:13
応急策ね


342:デフォルトの名無しさん
08/06/17 20:55:02
あ、ごめん>>340だめだわ


343:デフォルトの名無しさん
08/06/17 20:56:56
{
char outdata = 0;
char count = 0;
while(1){
if (count == 0) {
if (P2.DR.BIT.B0==0){
P1.DR.BYTE=outdata<<1;
outdata++;
if (outdata > 4) outdata = 0;
count = 255;
}
} else {
count--;
}
}
}


344:デフォルトの名無しさん
08/06/17 20:58:38
本当はマイコンが持ってるタイマーとか使えばいいんだろうけど
いきなりそれだと敷居があがるので、ベタなカウンターでやってみた。

345:デフォルトの名無しさん
08/06/17 21:00:52
突然ごめんなさい。


              合計
  50 49 48 47 46 ***
  45 44 43 42 41 ***
  40 39 38 37 36 ***
   35 34 33 32 31 :
  30 29 28 27 26 :
   25 24 23 22 21 :
  20 19 18 17 16 :
   15 14 13 12 11 :
   10 9 8 7 6 :
   5 4 3 2 1
合計 *** *** *** *** ***

を表示するプログラムって一次元配列を使ってどの様に書けますか?
おねがいします

346:デフォルトの名無しさん
08/06/17 21:01:25
>>1 >>1
>>1 >>1

347:デフォルトの名無しさん
08/06/17 21:01:42
ずれた・・・すみません;;

348:デフォルトの名無しさん
08/06/17 21:19:43
>>345
できたよ

int main()
{
char s[] = "              合計\n  50 49 48 47 46 ***\n  45 44 43 42 41\
 ***\n  40 39 38 37 36 ***\n   35 34 33 32 31 :\n  30 29 28 27 26 :\n   25 24 23 22 21 :\n\
  20 19 18 17 16 :\n   15 14 13 12 11 :\n   10 9 8 7 6 :\n   5 4 3 2 1\n合計 *** *** *** *** ***";
printf("%s", s);
return 0;
}

349:デフォルトの名無しさん
08/06/17 21:22:25
>>348
ちょっwwww カルーアミルクを噴出しちまったじゃねーかYO!

350:デフォルトの名無しさん
08/06/17 21:27:53
>>338
スイッチの入力です。

>>343さん
試してみました。
スイッチを押す回数     LED
1回           ○●○○
2回           ○●●○
3回           ○●○○
4回           ●○○○

リセットしてやり直すと、また点き方が変わったりしてしまいます。
マイコンがダメなんですかね。
理想は
スイッチを押す回数     LED
1回           ○○○●
2回           ○○●●
3回           ○●●●
4回           ●●●●
なんですけど

351:343
08/06/17 21:30:04
あーLEDってP1.DR.BYTEのどのビットに接続されてるかわかる?
それ確認してなかったよ

352:デフォルトの名無しさん
08/06/17 21:36:31
>>348
ああ驚いた


>>348 の前がどこかわからんけど
const char table[] = {0x00, 0x01, 0x03, 0x07, 0x0f}:

count = 0;

count = (++count % 5);
P1.DR.BYTES = outtable[count];

テーブルがシンプルだったりして・・・

353:デフォルトの名無しさん
08/06/17 21:43:23
>>351
○○○● P1.DR.BYTE=0x01;
○○●● P1.DR.BYTE=0x03;
○●●● P1.DR.BYTE=0x07;
●●●● P1.DR.BYTE=0xf;

こういうことですか?

354:デフォルトの名無しさん
08/06/17 21:45:36
>>353
あー
まあそれでOKです。

シフト演算が思惑通りに動いてない気がする(私の勘違いの可能性大)
ので>>352のような配列で持ってたほうがいいかも

355:デフォルトの名無しさん
08/06/17 21:47:13
<<345
できたお
#include <stdio.h>
int main(){
int a,b,z,i,d;
int c=50;
//1行目から10行目
printf("\t\t\t\t\t\t合計\n");
for(a=0; a<10; a++){
for(b=0; b<5; b++){
i += c;
printf("\t%d",c);
c--;
}
printf("\t%d",i);
printf("\n");
d += i;
}
//11行目
printf("合計");
for(a=0; a<5; a++){
for(b=1; b<11; b++){
c += 5*b;
}
printf("\t%d",c);
}
printf("\t%d",d);
scanf("%d",z);
}

356:デフォルトの名無しさん
08/06/17 21:48:48
間違った>>345

357:355
08/06/17 22:21:10
配列使ってないうえに合計がめちゃくちゃだった
スマソ


358:355
08/06/17 22:28:05
書き込むスレ間違えた
>>355-358 はスルーしてくれ

359:デフォルトの名無しさん
08/06/17 22:59:31
>>354
{
char outdata = 0;
int sw_cur = 1;
int sw_prev = 1;

while(1){
sw_cur = P2.DR.BIT.B0;
if( !(sw_cur ^ sw_prev) ) continue;
sw_prev = sw_cur;

if( sw_cur == 0 ){
P1.DR.BYTE = outdata << 1;
outdata++;
if(outdata > 4) outdata = 0;
}
}
}


360:デフォルトの名無しさん
08/06/17 23:16:21
>>359
ああ、すまん。こうだな。
if( sw_cur == 0 ){
P1.DR.BYTE = (1 << outdata);
outdata++;
if(outdata > 4) outdata = 0;
}

>>353のようにしたいなら、たしかH8はI/Oにバッファが
あったような気がするから

P1.DR.BYTE |= (1 << outdata);

すりゃいいんないかな?
できなったら、もうひとつ変数用意すりゃいい。

361:デフォルトの名無しさん
08/06/17 23:32:25
>>345
#include <stdio.h>
#define TOTAL_NUM 50
#define COL 5

int main(void){
int i, c=TOTAL_NUM, tmpsum=0, colsum[COL]={0};

for(i=0; i<COL; i++){printf("\t");}
printf("\t合計\n");
for(; c>0; c--){
printf("\t%4d", c);
colsum[(TOTAL_NUM - c) % COL] += c;
tmpsum += c;
if((c % COL) == 1){
printf("\t%4d\n", tmpsum);
tmpsum = 0;
}
}
/*最終行*/
printf("合計");
tmpsum = 0;
for(i=0; i<COL; i++){
printf("\t%4d", colsum[i]);
tmpsum += colsum[i];
}
printf("\t%4d\n", tmpsum);

return 0;
}

362:デフォルトの名無しさん
08/06/18 00:15:45
昨日相談したものですが、今日会社からほかのメンバーは皆開発に
行くけどわたしだけテスト要員として来月から配属されることに
決まったそうです。

多分、辞めろっていうことなんでしょうね。

なんで自分だけわかんないのか悔しいけど、頭の構造が違うんで
しょうね、こういうのがわかる人は。


363:デフォルトの名無しさん
08/06/18 00:17:58
>>362
おめでとう、死ねばいい富もうよ

364:デフォルトの名無しさん
08/06/18 00:20:35
お前を採用したのは会社なんだからお前を活用する責任も会社にある
黙って居座ってればいいのだ

365:デフォルトの名無しさん
08/06/18 00:21:40
給料くれるなら別に良いよ
気にスンナ

366:デフォルトの名無しさん
08/06/18 00:22:14
自信がないっていってたんだし、そのままいきなり開発に
放りこまれるよりは親切なほうだと思うけどなあ。

テストの間に勉強すればいい。


367:デフォルトの名無しさん
08/06/18 00:26:02
テストってデバッグ要員のことだったのか
資格試験でも受けてるのかと思った

テスト要員でも雇ってもらえるならいいじゃないか
辞めろって言われるまで居座ってやれ

368:デフォルトの名無しさん
08/06/18 00:26:08
>>362
>>312

369:デフォルトの名無しさん
08/06/18 00:33:55
会社に行ったらテスト要員になった 辞めろってか

370:デフォルトの名無しさん
08/06/18 00:38:53
辞めろよ

371:デフォルトの名無しさん
08/06/18 00:39:20
多分、若干おかしくなりかけていたから講師から人事に相談されてたっぽい
ですね。スレ違いなのでもう終わります。

教えてくれた人、ありがとうございます。
プログラムがちゃんと書ける人って自分のやってることを説明できて親切で
すね。ほうんとうにありがとうございました。

372:デフォルトの名無しさん
08/06/18 00:46:01
しかし開発要員に採っておいて使えないのにクビ宣告しないなんて
世の中良心的な会社もあったもんだね
つまり当たりを引いたわけだ

373:デフォルトの名無しさん
08/06/18 01:10:48
ワシは単にコネでねじこまれたという説を推すよ

374:デフォルトの名無しさん
08/06/18 01:28:24
俺が新人の頃は同期に全然できない奴がいて、そのうちのひとりは研修中に辞めたよ

375:デフォルトの名無しさん
08/06/18 02:32:03
まあ開発部隊に入りたいならゆっくりでもいいから勉強することだねー

376:デフォルトの名無しさん
08/06/18 02:32:40
入らないほうが幸せにはなれるかもな

377:デフォルトの名無しさん
08/06/18 02:55:38
ゆっくりしていってね(AA略)

378:デフォルトの名無しさん
08/06/18 11:38:52
公務員はプログラミングできるのか?
医者はプログラミングできるのか?
弁護士はプログラミングできるのか?


379:デフォルトの名無しさん
08/06/18 11:42:39
趣味でプログラムできる人もいるんじゃね?

380:デフォルトの名無しさん
08/06/18 11:47:56
仕事でそういう二足のわらじを履いてる人は結構いるよ
有名どころだとLZHの作者はお医者さんだったっけ

381:デフォルトの名無しさん
08/06/18 13:09:26
森田将棋の人も医学部だったね
医師免許はとってないのかな

382:デフォルトの名無しさん
08/06/18 20:40:56
文字列の入力を促し、入力。
その文字列の先頭の文字と同じ文字が文字列の中にいくつふくまれるかを求めるプログラム。
先頭の文字も数のうちに入れる。
(ポインタを用いる)

お願いします

383:デフォルトの名無しさん
08/06/18 20:41:56
>>382
>>1を100回読め

384:デフォルトの名無しさん
08/06/18 20:43:33
>>381
時間がないのです。



385:デフォルトの名無しさん
08/06/18 20:45:16
ここはC言語を学ぼうとしている人のためのスレです
情報処理の単位が欲しいだけの人はお帰りください

386:デフォルトの名無しさん
08/06/18 20:46:55
>>382
答えてあげてくださいな



387:デフォルトの名無しさん
08/06/18 20:48:35
ばればれの自演は逆効果w

388:デフォルトの名無しさん
08/06/18 20:49:45
文字列の入力を促し、入力。
その文字列の先頭の文字と同じ文字が文字列の中にいくつふくまれるかを求めるプログラム。
先頭の文字も数のうちに入れる。
(ポインタを用いる)

389:デフォルトの名無しさん
08/06/18 20:54:20
大学で資格の関係でどうしてもC言語をやらなければなりません
どうしてもわからない問題があるのでどなたか教えてください

問題1
三角形の底辺の幅、あるいは段数(どちらか一つ)を入力すると、逆三角形を表示する。例えば、底辺5あるいは段数3を入力すると
*****
***
*
となる。

2
下記のように横と縦の累計を計算して表示する。
配列は使わないこと。

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

4
下記のように横と縦の累計を計算して表示する。
ただし、1次元配列を使うこと。

どの問題でもかまいません
本当に困っているので教えてください




390:デフォルトの名無しさん
08/06/18 20:55:57
>>382

#include <stdio.h>
int main(void)
{
  /* 入力された文字列を収めるためのcharの配列を宣言 */
  /* その他の必要な変数を宣言 */

  fputs("please input a string : ", stdout);

  /* fgets()を使ってcharの配列に入力された文字列を格納 */

  /* 文字の数を数えるint変数を0に初期化する */

  /* charへのポインタにcharの配列の先頭の文字を指させ、
    chraへのポインタが指している先の文字が'\0'でない間、
    charへのポインタを1ずつ文字列の先へずらしながら、
    以下の処理を繰り返す */;
    /* もしchraへのポインタが指している先の文字が
       charの配列の先頭の文字と等しければ */
      /* 文字の数を数えるint変数を1増やす */

  /* printf()を使って文字の数を数えたint変数の値を表示する */

  return 0;
}

391:デフォルトの名無しさん
08/06/18 20:55:59
C言語始めて2ヶ月でこんなもんだいだされました。
文字列の入力を促し、入力。
その文字列の先頭の文字と同じ文字が文字列の中にいくつふくまれるかを求めるプログラム。
先頭の文字も数のうちに入れる。
(ポインタを用いる)



392:デフォルトの名無しさん
08/06/18 20:58:04
>>1を読んでください
それでわからないようならあなたの日本語力と知性は壊滅的なのでおとなしく退学することを勧めます

393:デフォルトの名無しさん
08/06/18 20:58:10
>>389
自分でできないなら資格はありません

394:デフォルトの名無しさん
08/06/18 20:58:13
ああそうですか。
マルチ視ね

395:デフォルトの名無しさん
08/06/18 21:06:28
>>382
#include<stdio.h>
#include <stdlib.h>
int main()
{
 int *c, count = 1, i;
 c = (char *)malloc(1);
 puts("入力どうぞ");
 if ((i = getchar()) == EOF) {
  printf("ちゃんと入力しろ\n");
  exit(1);
 }
 while ((*c = getchar()) != EOF) {
  if (i == *c) count++;
 }
 printf("%d\n", count);
 return 0;
}
できました

396:デフォルトの名無しさん
08/06/18 21:08:14
これはひどい(笑

397:デフォルトの名無しさん
08/06/18 21:10:26
>>382
#include<stdio.h>
#include <stdlib.h>
int main(void)
{
int *c, count = 1, i;
c = (int *)malloc(1);
puts("入力どうぞ");
if ((i = getchar()) == EOF) {
printf("ちゃんと入力しろ\n");
exit(1);
}
while ((*c = getchar()) != EOF) {
if (i == *c) count++;
}
printf("%d こです\n", count);
return 0;
}
すいませんこっちでした

398:デフォルトの名無しさん
08/06/18 21:11:32
どっちも微妙にまちがってんじゃねえか

399:デフォルトの名無しさん
08/06/18 21:14:07
だめだこりゃ

400:デフォルトの名無しさん
08/06/18 21:28:26
故意だろ

401:デフォルトの名無しさん
08/06/18 21:33:36
>>382
有限長の文字列を総当りで生成して、それをコンパイルしていくプログラムを作れば
そのうち自分が作りたかったプログラムが自動生成されるんじゃね?

402:デフォルトの名無しさん
08/06/18 21:35:19
>>401
すっげぇ頭いいなおまえw

403:デフォルトの名無しさん
08/06/18 21:36:59
そして自分が作りたかったプログラムかどうかを
判定するプログラムが要るという話になるんですね分かります

404:デフォルトの名無しさん
08/06/18 21:44:13
故意はかんべん

405:デフォルトの名無しさん
08/06/18 21:44:54
なんだこのviper的なノリはwww

406:デフォルトの名無しさん
08/06/18 22:28:54
>>389
どうしても分からないなら資格取れるわけないじゃん
なんかおかしくね?

407:デフォルトの名無しさん
08/06/18 22:30:56
またこの流れかよw
>>60へどうぞww

408:デフォルトの名無しさん
08/06/18 22:31:54
恋はかんべん

409:デフォルトの名無しさん
08/06/18 23:28:46

関数を呼び出す時って他の文字に置き換えてから使えたほうがいいんですか?

例えばadd関数を呼び出してif文に入れるときの場合
x=add(n);
if(x==1)
みたいな感じか
if(add(n)==1)
どちらがいいんでしょうか?
下のほうでやっていたら友達にそのやり方は見にくくてありえないしプロがそんなことやったら確実に怒られるといわれたんですがどうなんでしょうか?

410:デフォルトの名無しさん
08/06/18 23:31:17
場面にもよるが、ステップによるデバッグがしづらいかもしれない。>後者

411:デフォルトの名無しさん
08/06/18 23:31:44
いや好きにすればいいと思うよ
ただ、関数の結果を他にも使う予定があるなら上の方が良いんじゃない?

412:デフォルトの名無しさん
08/06/18 23:36:20
できる限り前者でやったほうがいいんですか?
習ってる途中で後者の方がわかりやすいと思ったのですがプログラムできる友達に言われたので…


413:デフォルトの名無しさん
08/06/18 23:39:07
>>409
その関数が非常に高コストで、その判定部がループの中にあるなら
よくないなあとは思うけど、そうでないなら別に気にしない。

その友達がプロで怒られた経験があるのであれば、もう少し細かい
理由を教えてもらえばいいんでない?

414:デフォルトの名無しさん
08/06/18 23:40:21
ほかにも使うというのは
x=add(n);
if(x==1)
if(x==2)
みたいな感じですか?
あとプログラマーみたいな人たちの間ではどちらが主流なんでしょうか?


415:デフォルトの名無しさん
08/06/18 23:40:54
ちなみに、プロになれば周りのコードにあわせるということのほうが大事。
優劣をつけられない記法の差において、俺はこうすべき!って一人で
走ってるなら怒る。

416:デフォルトの名無しさん
08/06/18 23:40:58
>>409
その友達がどの程度のプロなのかはこの際置いておくとして、どちらがいいとか悪いとか言うことはない。
明確なことは、前者は変数を一つ使用し、後者は使用しないということである。
add() の返す値をただ一回しか評価しないのなら、後者のように書いて何の問題もない。
値を何度も評価するのなら、前者のように一時変数に格納する必要があるか、なくても効率がいいかもしれない。
後は単なる好みの問題である。

417:デフォルトの名無しさん
08/06/18 23:41:32
文脈によるがこの場合はどちらでもいい。
ところでこのお題はホントはこうじゃなかった?
x = add(n) ; if (x == 1) 

if ((x = add(n)) == 1) 
の比較。

418:デフォルトの名無しさん
08/06/18 23:42:40
>>413
友達はプロではありません 
普通に大学生なので…
多分趣味でやってる程度だと思います。
どこで習ったかはわかりませんが

419:デフォルトの名無しさん
08/06/18 23:43:35
値を使い回したい場合に変数に入れるのは当然として、
そうでない場合はメリットとデメリットがあるので好きにすればいいと思うよ。

○ メリット
・ 関数呼び出しが長い場合、読みやすくなる
・ デバッグ時に戻り値が何だったか分かりやすい

○ デメリット
・ その場でしか使わないような無駄な変数が広いスコープ上に現れてしまう場合もある

420:デフォルトの名無しさん
08/06/18 23:44:20
慣用句的なもの
 if ((fp = fopen(~)) == NULL)
Is系のメソッドに代表される真偽返却メソッド
 if (isalnum(~))

これ以外は大抵分けて書くようにしてるね。
多少冗長に思えても、他の人が読みやすいか、また、
誤解を与えにくい書き方になっているか、それを重視してる。

421:デフォルトの名無しさん
08/06/18 23:55:16
誤解を与えにくいように、というのはあまりメジャーではない二項演算子を
使う時などに、冗長ではあるが、括弧をつけて明示するようなことね。

ちゃんと知ってればその括弧が無くても正しく動作する事は理解できるが、
うろ覚えの人でも勘違いを起こさない。

もしかしたら研修明けの新人がメンテするかもしれないし。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch