C言語なら俺に聞け(入門編)Part 78
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/02/06(日) 18:33:49★前スレ
C言語なら俺に聞け(入門編)Part 77
http://hibari.2ch.net/test/read.cgi/tech/1295721606/
★過去スレ
http://makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000
★教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 146代目
http://hibari.2ch.net/test/read.cgi/tech/1296387672/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
0002デフォルトの名無しさん
2011/02/06(日) 18:42:29,.__y⌒'ー---┐ ,.____ _へ、_、__,.ヘ、___
/ \ , '´ `丶、 r´
} ( 聞 ど l / l _, -―― - ヽ、┌´ ナ丶
f´ ) こ う ヽ n⌒l/ l ,. .´: : : : ハ: : : : :`.ヽ'ヽ ├┬゛ tナ
l ( え も } l |l |n l / : :/ j:/ーヘl: : :|: : : : | }. ノ /
{ ) ん 〉 | { j」_l /:l :/ |:/`}ノ!.:/ { ヽ / /へノ
} ( で { _j /ヘ/: :l ミミ l/} 〈 ノ -‐ァ、、
. ) ! ゲ (: :´メ、_,.メ、|: : | , , ミミ./ :l . }. ┌─┐ (,__
└-、 ソ ,/ ヽ : : : : 丿」: : |、 /`¬ , , |: :| ) ┌┘
ゝ 、_,,,,,,,... -ゝ/ ̄/´,.__.|: : | >-| /_,ノ. : :\__l\ ・
. ,/ / ̄ヽ l!: : :ヽ、l 丶イ |.|ト、:.\: : : : : : : :>-、-、 __,,.、
( ヾ \:_: :\__ ,‐//.| `l:\ ̄ ̄l/
 ̄  ̄ ̄ ̄ヽr―ァ' \: : /、 // }/: : し\
/: :,L,. く ___/::/ \'/ { ヽ┬┐/
/: :/ /: ヾ¬ー'^ヽ ヽ 丶__ _,-、
__/: :/ /: :/ \ {、´ __ _l::::l⌒\
|: : : : / |: : i /:\ ` >'´ \`-´^ヽJ
/: : | ̄ |: : レ /: :// \
0003デフォルトの名無しさん
2011/02/06(日) 18:43:06そんな話は聞いたことないけどしたいならそうすればいいんじゃない?
それより、 i * 10 + 9 + ( i == 9 ) は意図したとおりに動かないね。
920 :デフォルトの名無しさん:2011/02/06(日) 17:34:11
問題ないように思える人はもう一度Cの規格票をよく読むんだ^^
923 :デフォルトの名無しさん:2011/02/06(日) 17:38:32
…というのも不親切なので答えをいうと
i == 9の部分はtrueの時1になることを想定しているけど
(90-100の階級幅だけ11あるので、ここだけ特別処理にしている)
Cの規格上はtrueは0以外の整数であればなんでもいいことになっているので
実装にっては「90-100」のような表示にならない可能性があるってことなのよ^^;
ここは
printf( "%d-%d %d人\n", i * 10, i == 9 ? 100 : i * 10 + 9, cv[ i ] );
のようにすべきでした。
924 :デフォルトの名無しさん:2011/02/06(日) 17:41:11
って、答えを書いているうちに即レスするんじゃない貴様ら^^
ちなみに、この「trueは0以外の整数」というのは
Cではけっこう重要な落とし穴なので初学者は覚えておくといいよ^^
929 :デフォルトの名無しさん:2011/02/06(日) 17:44:46
あれ?そうだっけ?すまんすまん^^ワラ
935 :デフォルトの名無しさん:2011/02/06(日) 17:49:37
こうして人は成長していくのであった^^;
0004デフォルトの名前無しさん
2011/02/06(日) 18:48:59いいか分からないので、教えていただけますか?
0005デフォルトの名無しさん
2011/02/06(日) 18:51:40> どこから
まずはコンパイラを動かす所から。
使ってる OS は Windows?
0006デフォルトの名無しさん
2011/02/06(日) 19:43:00のかな?C言語が一番高速なのは分かっているのだから、Cを使ってツールを
開発したらいいのに。
しばらくして思いついたのですが、これは MS-DOS で VRAM に値を書き込む、というお題ですか?
実際に実行させたい環境を教えてください。それに沿ってお話しできると思います。
0008デフォルトの名無しさん
2011/02/06(日) 19:48:11あなたは結構有益な回答くださるのに、何故このスレで嫌われ気味なのですか?
0009デフォルトの名無しさん
2011/02/06(日) 19:48:130010デフォルトの名無しさん
2011/02/06(日) 19:48:291. もっと開発効率が良い言語が欲しいから
2. もっと安全な言語が欲しいから
3. もっとプラットフォーム依存度が低い言語が欲しいから
4. もっと書いていて気持ちの良い言語が欲しいから
5. just for fun
0011デフォルトの名無しさん
2011/02/06(日) 19:50:24http://hibari.2ch.net/test/read.cgi/tech/1295721606/894
しばらくして思いついたのですが、これは MS-DOS で VRAM に値を書き込む、というお題ですか?
実際に実行させたい環境を教えてください。それに沿ってお話しできると思います。
8 :◆QZaw55cn4c :2011/02/06(日) 19:48:11
>>7
あなたは結構有益な回答くださるのに、何故このスレで嫌われ気味なのですか?
基本的なスタンスが「あらし」ですからねえ。
0013デフォルトの名無しさん
2011/02/06(日) 19:52:45消えろよ糞
0014デフォルトの名無しさん
2011/02/06(日) 19:53:39http://hibari.2ch.net/test/read.cgi/tech/1296984829/8
にはトリップはついていませんよ。嘘はよくないですねえ。
0016デフォルトの名無しさん
2011/02/06(日) 19:54:270017デフォルトの名無しさん
2011/02/06(日) 19:54:39本屋に行くと,WinAPIとCがそれぞれ別の言語としてコーナーに分かれていました。
WinAPIって言語なんですか?
0018デフォルトの名無しさん
2011/02/06(日) 19:55:32894 :デフォルトの名無しさん:2011/02/05(土) 23:39:04
その通り
脳内で何をしているの?
0019デフォルトの名無しさん
2011/02/06(日) 20:00:35親切に答えると怒られるスレで親切に答えてみるテスツ
APIの意味調べてみた?
0020デフォルトの名無しさん
2011/02/06(日) 20:01:37win32api は Windows の話です。
Windows という OS が提供する機能を使用するときには、win32api と総称される関数群を所定の手続きを経て呼び出します。(正確には dll の エントリーを呼びだすことになります。)
win32api を呼び出すのは、C 以外の言語であっても処理系によっては可能です。(excel からでも可能だったりします。)だから厳密にいえば、c 言語であることと、win32api を呼び出すこととは直接の関係はありません。
0022デフォルトの名無しさん
2011/02/06(日) 20:10:370023デフォルトの名無しさん
2011/02/06(日) 20:11:25へーそうなんですか。
確かwin32apiを呼び出すときは
#include<stdio.h>
int Winmain(Windows.h)
にしないとだめなんですよね?
0024デフォルトの名無しさん
2011/02/06(日) 20:12:33ちょっと違います。
こちらが詳しいです。http://wisdom.sakura.ne.jp/system/winapi/win32/
なおコンパイラ/リンカを含めた環境が windows のプログラムを作成できるように対応していなければなりません。
0026デフォルトの名無しさん
2011/02/06(日) 20:16:12>>23
ちょっと違います。
こちらが詳しいです。http://wisdom.sakura.ne.jp/system/winapi/win32/
なおコンパイラ/リンカを含めた環境が windows のプログラムを作成できるように対応していなければなりません。
オブジェクト指向、それも純粋なオブジェクト指向であるところ。lisp の香りがするのも好き。
0028デフォルトの名無しさん
2011/02/06(日) 20:18:11コピペキチガイに粘着されてるからコテ外せ
0029デフォルトの名無しさん
2011/02/06(日) 20:19:040030デフォルトの名無しさん
2011/02/06(日) 20:21:30ご説明、ありがとうございました。
>SCI の値は 0x00808000 で、これは具体的にはアドレスと考えていいでしょう。
この説明は、わかりました。しかし、*を付けるのがよくわかりませんでした。
私にはまだ難しすぎるようです。
他のスレで、まったりと聞くことにしましたので、移動したいと思います。
どうもすみません。ありがとうございました。
0031デフォルトの名無しさん
2011/02/06(日) 20:22:17もう二度と来んなよ
0032デフォルトの名無しさん
2011/02/06(日) 20:32:17◆QZaw55cn4cみたいに、嫌われようがしつこく粘れよ
unsigned int *SCI = (volatile unsigned int *)0x00808000;
の前に
unsigned int a;
unsigned int *SCI;
SCI = &a;
が理解できるのか?
で
unsigned int *SCI = &a;
は理解できるのか?
0033デフォルトの名無しさん
2011/02/06(日) 20:32:56コピペ気狂いってなにを目的に人のレスをコピペするのですかね。コピペしてなにがいいたいのですかね。謎です。
0035デフォルトの名無しさん
2011/02/06(日) 20:36:39消えろカス
0036デフォルトの名無しさん
2011/02/06(日) 20:38:53氏ねカス
味方がいると思ってんじゃねーよクズ
0037デフォルトの名無しさん
2011/02/06(日) 20:45:49ウザいから消えろよ
0038デフォルトの名無しさん
2011/02/06(日) 20:46:000039デフォルトの名無しさん
2011/02/06(日) 20:46:45いい加減にしろ
0040デフォルトの名無しさん
2011/02/06(日) 20:49:27キモいね君
0041デフォルトの名無しさん
2011/02/06(日) 20:52:34このスレで必要とされてないからもう来ないでくれ。
荒れるだけだから。
0042デフォルトの名無しさん
2011/02/06(日) 21:08:18質問がないならスレ伸ばす必要もないし、微塵も笑えないネタなど不要である。
0043デフォルトの名無しさん
2011/02/06(日) 21:12:520044デフォルトの名無しさん
2011/02/06(日) 21:17:300045デフォルトの名無しさん
2011/02/06(日) 21:17:370046デフォルトの名無しさん
2011/02/06(日) 21:39:390047デフォルトの名無しさん
2011/02/06(日) 23:09:350048デフォルトの名無しさん
2011/02/06(日) 23:24:400049デフォルトの名無しさん
2011/02/06(日) 23:26:57くるり∂
なにか!?
0050デフォルトの名無しさん
2011/02/06(日) 23:32:10くるり∂
なにか!?
0051デフォルトの名無しさん
2011/02/06(日) 23:34:46今の所は一度もモリタポの授受はないようだが
一度でもモリタポの授受があった時点でアウト
2chで金儲けや宣伝をすると高額の宣伝料を取られます
0052デフォルトの名無しさん
2011/02/06(日) 23:56:50揃う場合と揃わない場合があります。なぜでしょうか
#include<stdio.h>
int main(void)
{
printf("sakamoto\tkakitsubata\n");
printf("keiji\tkuriverzidy\n");
return 0;
}
↑は揃いません。どなたか教えてください
0053デフォルトの名無しさん
2011/02/07(月) 00:03:09タブ幅はたいてい8文字分。
sakamotoで8文字いっちゃってるから、タブで次の8文字にいっちゃう。
printfでやりたいなら%10sとかでできる。
0054デフォルトの名無しさん
2011/02/07(月) 00:04:06揃う揃わないをどのように確認していますか?
コンソール画面やエディタなどでしたら
それらのタブ幅を9以上に設定すると揃いますよ
0055デフォルトの名無しさん
2011/02/07(月) 00:05:11揃うか揃わないかは端末次第です。タブで揃わない場合は空白で調整するしかありません。
それとて、端末がプロポーショナルなレイアウトなら揃えられないかも知れません。
0056デフォルトの名無しさん
2011/02/07(月) 00:08:15それなのにオブジェクト指向言語じゃないんですか?
0057デフォルトの名無しさん
2011/02/07(月) 00:10:490058デフォルトの名無しさん
2011/02/07(月) 00:16:14一応オブジェクト指向ってことですか?
0059デフォルトの名無しさん
2011/02/07(月) 00:17:380060デフォルトの名無しさん
2011/02/07(月) 00:21:11言語としてのサポートはないに等しい。
自分で作ればいくらでもできる。
0061デフォルトの名無しさん
2011/02/07(月) 00:22:08a=100;
これはオブジェクト指向では?
0062デフォルトの名無しさん
2011/02/07(月) 00:23:20変数を指す「オブジェクト」とオブジェクト指向の「オブジェクト」って意味違うよ
0063デフォルトの名無しさん
2011/02/07(月) 00:24:47それだけじゃ多態もカプセル化もないだろ
006456
2011/02/07(月) 00:27:19006556
2011/02/07(月) 00:29:200068デフォルトの名無しさん
2011/02/07(月) 00:33:46int main(void)
{
printf("%f\n",10+3);
return 0;}
だと正確な答えが出なくて、printf("%f\n",10.0+3.0)だと正確な答えが出るのはどうしてですか?
0069デフォルトの名無しさん
2011/02/07(月) 00:37:33可変長引数関数だから
0070デフォルトの名無しさん
2011/02/07(月) 00:40:1110+3は整数だから
0071デフォルトの名無しさん
2011/02/07(月) 00:42:13> printf("%f\n",10+3); 〜 だと正確な答えが出なくて
10+3 と言う int 型の値を printf("%f\n", ) が float 型とみなして表示しようと
するから。
ちなみに float f = 10 + 3; は、int から float に変換して正しく 13.0 が f に
入るけど、printf() の引数はその手の変換はしない。
(フォーマット文字列が可変なんていうケースもあるから。)
printf("%f\n", ...
とした以上、"%f\n" の次にくる引数は double 型でなければなりませんが、この引数を「10 + 3」と書くと、double 型にはなりません。
「10.0 + 3.0」
であれば、double 型になります。
C の文法では、"%f" を printf() の第一引数で指定したからといって、第二引数以下を適切に型変換してくれないのです。
>float 型とみなして
可変長引数では double 型に格上げされます。"%f" は double 型に対応する書式指定です。
0075デフォルトの名無しさん
2011/02/07(月) 00:47:11ただいまC言語勉強中の者です。
行き詰ってしまったので教えてください。
1.テキストファイルからテキスト(複数行)を読み込み、別のテキストファイルへ1行(改行なし)で書き込む。
2.特定の文字列が含まれる行になった時に、改行する。
以上の事をやりたいのですが、どうしたらよいでしょうか?
0076デフォルトの名無しさん
2011/02/07(月) 00:50:39%fはfloatも表示できるだろうが
とりあえず消えろ
0077デフォルトの名無しさん
2011/02/07(月) 00:51:421.strstrで特定の文字列を探す。
2.特定の文字列の前までgetcharで1文字ずつ読んで改行は読み飛ばし、改行以外はそのまま出力。
3.特定の文字列を出力して、改行。
4.特定文字列の後ろの文字から1.以降を繰り返し。
0078デフォルトの名無しさん
2011/02/07(月) 00:55:21複数行と1行の関連性がわからん
例題的なのがあればまだ答えようがあるんだが
2については特定の文字列を探して
文字列を\nに交換して後ろのを前にずらしてくる
0079デフォルトの名無しさん
2011/02/07(月) 00:56:06>>74 マジレス
>>76 無知の逆切れであらし化
このパターン多いなw
0080デフォルトの名無しさん
2011/02/07(月) 01:04:55それは可変長引数においては、float は double に格上げされるから。これを default argument promotion と呼びます。
ISO/IEC 9899:1999 6.5.2.2.6
K&R2 A 7.3.2
0082デフォルトの名無しさん
2011/02/07(月) 01:11:20【モリタポ有償】C/C++の問題を片付けます(2)
http://hibari.2ch.net/test/read.cgi/tech/1295273862/
でファビョってるぞ
こいつ2chを私物化して平気なツラをしてる
どんな神経してるんだ
信じられん
0083デフォルトの名無しさん
2011/02/07(月) 01:13:20>>76
>>80
http://www.kouno.jp/home/c_faq/c12.html
12.9: 嫁
こうして人は成長していくのであった^^;
008475
2011/02/07(月) 01:17:43説明不足で申し訳ありません。
以下例文
====================
日曜日
月曜日
火曜日
水曜日
木曜日
金曜日
土曜日
日曜日
月曜日
====================
これを以下のような感じに1行に並べる(1)
「日曜日」と言う文言がきた時に改行する(2)
====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日
====================
と言った感じです。
この例文でわかりますでしょうか?
0085デフォルトの名無しさん
2011/02/07(月) 01:23:37http://codepad.org/ZoFT7GuB
これはどうでしょう。標準入力から読み込み、特定の文字列を "test" として、"test" が含まれる行をみつけたら、その行を出力してから改行します。
"test" が含まれないかぎり、改行しません。
0087デフォルトの名無しさん
2011/02/07(月) 01:25:23スレ違いだから消えてくれ
0088デフォルトの名無しさん
2011/02/07(月) 01:26:39しね
0089デフォルトの名無しさん
2011/02/07(月) 01:27:03消えろゴミクズ
0090デフォルトの名無しさん
2011/02/07(月) 01:28:50これは恥ずかしい
それは困りました。
1) 「日曜日」をみつけたら「日曜日」を出力してから改行する
2) 「日曜日」をみつけたら「日曜日」を出力する前に改行する
のいずれにもあたりませんね。どうしましょうか?
0093デフォルトの名無しさん
2011/02/07(月) 01:31:05お前が消えるのが一番よろしい
009475 ◆x5.USacuQA
2011/02/07(月) 01:34:03あやうく変な人と交流をもつところでした
0095デフォルトの名無しさん
2011/02/07(月) 01:35:22◆QZaw55cn4c は明らかな人格障害だよ
こいつ精神科に行かなければならない
2chでも多くの人に迷惑を掛けてばかりだ
0096デフォルトの名無しさん
2011/02/07(月) 01:35:35====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日
====================
ではなく
====================
日曜日 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
日曜日 月曜日
====================
じゃないのかい?
これなら、日曜日は改行でそれ以外はスペースと法則性は見える
0097デフォルトの名無しさん
2011/02/07(月) 01:36:28a.ある程度の長さのバッファを用意する
b.1行ずつ読み込んでいく
c-1.読み込んだ中に特定の文字列が無ければファイルに書き込む
c-2.特定の文字列があれば改行文字を書き込んでから以下略
>>87
これがスレチならここは何をするんだ?
◆QZaw55cn4c
消えろゴミクズ
0098デフォルトの名無しさん
2011/02/07(月) 01:36:33まともじゃない
0099デフォルトの名無しさん
2011/02/07(月) 01:37:51毎回◆QZaw55cn4cを誘発するし
0101デフォルトの名無しさん
2011/02/07(月) 01:42:56◆QZaw55cn4c は「妄想性人格障害」と「無頓着性自己愛性人格障害」の混合タイプみたいだな
>人格障害とは
>その人の持っている「人格」が常道からはずれてしまって、社会生活に障害を来すものを言います。
>青年期や成人期早期に始まることが多く、長期にわたってその人格が安定しいて、苦痛を伴います。
>この中でその障害が他の精神障害に原因がないものを一般的に人格障害といいます。
もう人間のクズじゃん
■ このスレッドは過去ログ倉庫に格納されています