トップページ⇒tech
1001コメント276KB

C言語なら、ぬるぽに聞け! Part 〈53〉

レス数が1000を超えています。これ以上書き込みはできません。
0001ぬるぽNGNG
まず問題を冷静に吟味してCの話か否かをはっきりさせてから質問しましょう。
質問する前には最低限Googleで検索を。

GUIなどの標準Cではできない事の質問は使用している開発環境のスレへGo!
ソース丸投げ、宿題、書籍 は専門の別スレがあるのでそこへさようなら。

コンパイラを探しているなら >>2-13 を。

上記を逸した場合の結果は激しく未定義だゴルァ!!

  ∧_∧
 ( ´∀`)< ぬるぽ

C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
0951デフォルトの名無しさんNGNG
double形の一桁目を抜き出すにはどうしたらいいですか?

int形だったら
int i = 2147483647;
return i % 10;
って出来たのですが

double d = 4294967295;
return d % 10;
だと(error C2296: '%' : 不正な左オペランドです。)がでるんです。
0952デフォルトの名無しさんNGNG
intにキャストして10で割った余りを得る。
0953デフォルトの名無しさんNGNG
0.001234 の一桁目を同扱えばよいのか言ってみろゴラア
0954デフォルトの名無しさんNGNG
>>953
ぬるぽ
0955デフォルトの名無しさんNGNG
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>953-954
0956デフォルトの名無しさんNGNG
新スレ
http://pc2.2ch.net/test/read.cgi/tech/1049968153/
0957デフォルトの名無しさんNGNG
キサマトイウヤシハ
 ショウコリモナク
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>956
0958デフォルトの名無しさんNGNG
>>952
ダメ。桁数が大きい場合にワヤになる。
fmod で余りを求めてから fabs で絶対値をとって
floor で小数点以下を切り捨てる。
0959952NGNG
>>958
やっぱりつっこまれたよー ウワァァァン`Д´)/
0960デフォルトの名無しさんNGNG
>>958
long doubleだった場合もそれでいけますか?
floor とか fmod って double を引数に取るみたいなので
long double ではまた別の方法を使う必要があります?
0961デフォルトの名無しさんNGNG
http://www2.leverage.jp/start/
0962デフォルトの名無しさんNGNG
なぁ
doubleとかって表現できる桁数<<<<有効桁数だから
一桁目が何の意味も成さないことが多いんじゃないのか?
0963デフォルトの名無しさんNGNG
逆やねん
表現できる桁数>>>>有効桁数
0964デフォルトの名無しさんNGNG
チョト違った
表現できる桁数>>><有効桁数
0965デフォルトの名無しさんNGNG
2つの6000行9列のファイルを読み込み、それぞれの要素を
割って比を求め、その値をファイルに出力させるプログラムを
書いてみて&教えてください。
0966デフォルトの名無しさんNGNG
>>965
日本語を正しく書いて下さい。
0967デフォルトの名無しさんNGNG
>>965
いやでつ
0968デフォルトの名無しさんNGNG
scanf や fgets くらいは知っているのだろうか
0969デフォルトの名無しさんNGNG
>>968
それ知ってたら、あとはループと、小学校レベルの四則演算だけだと思うが・・・
0970デフォルトの名無しさんNGNG
データ数だけ配列準備?
0971デフォルトの名無しさんNGNG
エクセル使ったら一発じゃねーの?
0972デフォルトの名無しさんNGNG
データを配列に読み込ませるところで苦労してるんじゃない?

0973デフォルトの名無しさんNGNG
そんな単純計算はCを使わないほうが簡単そうだ。
今回は awk とか perl がうさげ?
0974デフォルトの名無しさんNGNG
データ区切りについて何も書いてないけど、965は問題理解してないってこと?
0975デフォルトの名無しさんNGNG
965大人気だな。
0976デフォルトの名無しさんNGNG
for文で挫折しました。
countってナンだよ!!
0977デフォルトの名無しさんNGNG
C言語って覚えてナンの意味があるんですか?
なんかCは終わりとか言われてますけど。
0978デフォルトの名無しさんNGNG
覚えられなかった人が言うんだよ。
0979デフォルトの名無しさんNGNG
>>977
習得の意義が思いつかないなら
別に覚えなくてもいいんじゃないか
とりあえず間に合ってるってことだろう

意味があると思うことをやればいい
0980デフォルトの名無しさんNGNG
10列でスペース区切りのデータファイルを配列に
読み込ませたいのですが、どうすればいいの?
0981デフォルトの名無しさんNGNG
>>980
fgetsで1行読みこむ
strtok(デリミターをスペース), atoi やらで
strtokがNULLを返すまで配列に格納する

これを10回繰り返す。
0982デフォルトの名無しさんNGNG
>>977にとって意味があろうと無かろうと
知ったこっちゃないが、必要になったら習得すれば?
0983デフォルトの名無しさんNGNG
ちょっとスレ違いですが
最近割り算のコストが、結構高いことに気付きました。
そこで もし double a,b; で

for(〜) a=a/b;

と言うのを

b=1/b;
for(〜) a=a*b;

としたらいいじゃんと思ったのですが
問題はありますかね?
0984デフォルトの名無しさんNGNG
>>983
実測して速度と結果を見るしかないんじゃない?
0985デフォルトの名無しさんNGNG
vc++ std でためしたら大体6〜7割の時間で処理しています
stdなのであまり最適化されないせいかも知れませんが。

でもやはり扱う数の大小によっては結果の精度に問題が生じますね。
そんだけです。なんか変な質問ですみませんでした。
0986デフォルトの名無しさんNGNG
川 ‘〜‘)||<ぬるぬる

川〃‘〜‘)||<ぽっ
0987デフォルトの名無しさんNGNG
速度稼ぐのなら、浮動小数点使わずにすます方向も考えてみる
0988デフォルトの名無しさんNGNG
>>983
コンパイラによってはそういう最適化をすることもある。
0989デフォルトの名無しさんNGNG
  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/
 (_フ彡        /  ←>>986

0990デフォルトの名無しさんNGNG
>>980
マルチ氏ねマルチ氏ねマルチ氏ね
0991デフォルトの名無しさんNGNG

  ∧_∧    char* pbuf = (char*)malloc(SIZEOF_MY_ARRAY);
 ( ´∀`)< if(pbuf == ぬるぽ) {


  ( ・∀・)   | | ガッ
 と    )    | |
   Y /ノ    人
    / )    <  >__Λ∩
  _/し' //. V`Д´)/ < return だめぽ;
 (_フ彡        /

}

0992デフォルトの名無しさんNGNG
ぬ
0993デフォルトの名無しさんNGNG
る  
0994デフォルトの名無しさんNGNG
やめた  
0995デフォルトの名無しさんNGNG


    ノノノハヽ
   (●´ー`)ハハヽゞ デヘヘ
    ノ つ⊂(´▽`∬∬、
   (__´⌒)⌒)、,,, U)つ
0996デフォルトの名無しさんNGNG
┌┬┬┬┬┬┬┬┐
├┼┼┼┼┼┼┼┤
├┼┼●┼┼┼┼┤ ●〜┐
├┼┼┼┼┼┼┼┤    ●
├●┼┼┼┼○┼┤ ○〜〜〜〜○
├┼┼┼┼●┼┼┤
├┼┼┼┼┼┼┼┤
├┼┼┼┼┼┼┼┤
└┴┴┴┴┴┴┴┘ ○
●○           |
   ○┐   ●〜〜┘
     ●
0997デフォルトの名無しさんNGNG
  | M ヽ
  |从 リ)〉
  |゚ ヮ゚ノ| キタ…
  ⊂)} i !
  |_/ヽ|」
  |' 
0998デフォルトの名無しさんNGNG
         ┏      ┓ ぬる
      >>1    ∧_∧ / ̄ ̄ ̄ ̄
        ̄ ̄\ ( ´∀`)
          (    )   ぽ
          | | | / ̄ ̄ ̄ ̄ ̄
          (__)_)
        ┗      ┛
0999デフォルトの名無しさんNGNG
999
1000デフォルトの名無しさんNGNG
1000?
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。