1 :
デフォルトの名無しさん :
2014/01/29(水) 09:18:55.32 ないから立てた
質問です func() { static char *p; p=malloc(3); func() } 実行すると、pはどうなりますか?
スタックを食いつぶす
5 :
デフォルトの名無しさん :2014/01/29(水) 12:54:36.19
static char *p; p=malloc(3); func() 子rはグローバル変数に入れてんのとかわらない static char *p=malloc(3); func() だt、一回しか魔ロックはじっこうされにあ
7 :
デフォルトの名無しさん :2014/01/29(水) 15:03:14.13
静的変数の初期化子は定数や文字列リテラルでないと
9 :
デフォルトの名無しさん :2014/01/30(木) 17:57:14.57
ゲームの当たり判定って四角形のほうがいいですか? 円だと二乗の計算が出てくるから重い気がするのですが
とりあえず矩形で判定してアタリのやつだけ次の段階へ。
たいして変わらない、せいぜい1.5倍くらいだった気がする あと当たり判定って奥が深いから 四角とか円とか、そこが重要なわけじゃない 特殊なアルゴリズムでやり始めると 通常でループ廻すのの数十倍〜数百倍って速度でやれるようになってくるから とりあえず重さは後からその気になれば解消できる 心がけるべきは後から当たり判定部分のみを別にして必要に応じて速度強化できるような設計にしておくこと
>>9 そのレベルだとどう考えても円の方が計算が速そうなのだが
条件分岐が1回少ないから
そもそも当たり判定の形状なんてキャラクターやオブジェクトで決めるだろ 円のほうが速いからって四角いブロックと円で当たり判定するのか?
>>13 せめてゲームプログラミングしてからレスしろよ
当たり判定って小さくて速いものはすり抜けるときがあるよね
速度 < 直径 でやれ
18 :
デフォルトの名無しさん :2014/01/31(金) 03:38:33.40
>>17 FPSとか遠距離から高速でライフルの玉が飛んでくるのにどうすんの?
銃詳しくないけど弾速って200m/sくらいかね 60fpsのゲームだとすると 200/60[m/f] = 3.3[m/f]くらいか 速度<直径、だからライフルの弾の直径を3.4m以上にすればOK 数学とか物理の計算に慣れておくとこういう計算もすぐにできるからゲーム開発に役立つよ
直径数cmで長さ(高さ)14mの円筒形にすればいいんじゃね?w
>>18 そういうのは
○ ← を
○○○○○○○○○○○○○○○○○○○○○○○○○○○○
にするわけ
あるいは線分の当たり判定でもやれば良いよ
23 :
デフォルトの名無しさん :2014/01/31(金) 10:55:03.88
弾の直径を14メートルにすれば済む話だろ
すれ違っただけで当たるじゃん
BB弾の速度で十分だろ 軍事用のシミュレータを作るんじゃないんだから
弾道ミサイルの速度はマッハ7とからしい。
仮判定で、アカラサマに外れるのを除外して 当たるかもしれないものだけに絞り込んだ後、まじめにヤルとかかね
ターゲット(のポリゴン)が視認できるぎりぎりの長さで 射撃→着弾反応まで1秒未満ってとこか
>>28 あからさまに外れるってどうやって判定すんの?
銃弾なんて斜め上に撃てば数キロ先まで殺傷能力を維持したままで飛ぶし
殺傷能力を維持してても結構風にあおられたりするよ
時刻t で切り取った 座標 (x,y,z) 速度 (u,v,w) の弾 の衝突判定の話じゃなかったのか? tのタイムスライスがフレームレート基準で 速度 と 物体の大きさ によって、単純に重なりだけを求めると「すり抜けが発生しちゃうね」 という話からの続き
ゲームじゃなくて軍事シミュ作りたい奴が混ざってるような・・・
34 :
デフォルトの名無しさん :2014/01/31(金) 15:53:42.26
軍事シミュなんて素人には無理だろ 途上国のシミュレータにも及ばない
35 :
デフォルトの名無しさん :2014/01/31(金) 16:01:43.53
途上国って自分の国で開発できないだけで 技術を買うことは出来るから民間レベルじゃないのは当たり前 当たり判定のグループ分け
でも中国はスパコン持ってるから、出来ないこともなさそう
コンピュータではなくアルゴリズムの問題では?
38 :
デフォルトの名無しさん :2014/01/31(金) 22:02:26.75
コンピュータの問題だよ ゲームの物理シミュなら適当でいいけど、 天気予報とかだってスパコンでやってるわけだし
天気予報はスパコンより漁師のおっちゃんのほうが正確
リッチーさんに会いたいんですけどどうしたらいいですか?
死んだ人間に会いに行きたいだと? 死にたいのか?
どっちかっていうとよみがえらせてほしい
我(われ)は天地(てんち)の造(つく)り主(ぬし)、 全能(ぜんのう)の父(ちち)なる神(かみ)を信(しん)ず。 我(われ)はその独(ひと)り子(ご)、我(われ)らの主(しゅ)、イエス・キリストを信(しん)ず。 主(しゅ)は聖霊(せいれい)によりてやどり、処女(おとめ)マリヤより生(うま)れ、 ポンテオ・ピラトのもとに苦(くる)しみを受(う)け、十字架(じゅうじか)につけられ、 死(し)にて葬(ほうむ)られ、陰府(よみ)にくだり、 三日目(みっかめ)に死人(しにん)のうちよりよみがえり、 天(てん)に昇(のぼ)り、全能(ぜんのう)の父(ちち)なる神(かみ)の右(みぎ)に座(ざ)したまえり。 かしこより来(き)たりて生(い)ける者(もの)と死(し)にたる者(もの)とを審(さば)きたまわん。 我(われ)は聖霊(せいれい)を信(しん)ず。 聖(せい)なる公同(こうどう)の教会(きょうかい)、聖徒(せいと)の交(まじ)わり、 罪(つみ)の赦(ゆる)し、身体(からだ)のよみがえり、 永遠(とこしえ)の生命(いのち)を信(しん)ず。 アーメン ― 「新聖歌」より: 使徒信条(しとしんじょう 使徒信経(しとしんきょう) - Wikipedia
C言語で絵入りQRコードを作るにはどうしたらいいですか? QRコードの色を部分的に変えるだけのやつではなく 真ん中にアイコン入れたりしてあるやつです
リッチーの体は残された遺伝子により復元可能だが、記憶まで戻すことはできぬ
48 :
デフォルトの名無しさん :2014/02/01(土) 01:41:50.48
天気予報って半分くらいしか当たらないんだけど気象予報士って何なの?
気象予報士=ゴミ
C言語でintとか型に対してその入れ物の大きさ(バイトサイズ)を指定 するにはどうしたらいいですか。 今、1バイトずつのデータが3つ(data1,data2,data3)あって、 それを3つくっつけると意味あるデータになるのですが・・・ data = data1<<16| data2<<8 | data1; でdataは3バイトぴったりの大きさがほしい
dataはint型なの? int型は4バイトとか環境によって固定だよ
>>51 組み込みの関係でプログラムを考えているところなんですが、
>dataはint型なの?
それをプログラムの中でどう決めたらよいのかと思って。3バイトで意味あるデータに
なるので3バイトぴったりならいいのですが。
後、data1,2,3はそれぞれ1バイト(8ビット)なのですが、data1だけ最上位ビットを
符号として、つまり2の補数表現であらわされた数として使います。
>>52 ビットフィールドと共用体でどうにかならない?
typedef struct _DATA{ signed char data1; unsigned char data2; unsigned char data3; } DATA; よくわからんけど構造体じゃだめなの?
55 :
デフォルトの名無しさん :2014/02/01(土) 03:43:54.44
いつも気になってるんだけどその書き方って何なの? typedefとかなくても動くのにわざわざ付けてるし、 アンダーバー付きのキモい構造体名だし
Cはtypedefつけなきゃ省略できなくね
C++とCの区別がきちんとつけられるようになったらイヤでもわかるよ
Linuxのソース読んでたらtypedefさえ使わずにいたるところでstructつきで書いてる
そのほうが無難かもよ
C++と混ざる時が来ることまで考えたら
>>55 何ナノってお前が何ナノ?
C言語がどんだけ古い言語だと思ってんのや
突っ込みが30年は遅い
61 :
デフォルトの名無しさん :2014/02/01(土) 11:08:26.65
<と≦って同時に使うのは可読性の観点からいうと良くないですかね? 統一したほうがいいですか?
好みの問題じゃないかな 私は比較に>を使わないようにして向きを揃えてる
変な好み。
double型をインクリメントする場合、誤差って出ますか? 不安なので double x; x++; でxが123の時処理を実行する場合 if(x==123)ではなくて if(129.9<x&&x<123.01) としてるのですが、意味はありますか?
>>64 >double型をインクリメントする
止めて、そういう変態行為
double x=.. ++*(int64_t*)&x;
>>58 処理系依存だけど
全部charだから大抵は構造体自体も1バイトアラインメントになると思うよ
>>64 その数値辺りなら整数で桁数が充分少ないから、誤差は出ないよ。
誤差が出て困るなら浮動小数点数を使うなとしか
>>64 そんな条件式書くくらいだしな
そもそも浮動小数点数を使うときって ==で一致判定なんてするもんじゃないでしょ それが出てくるということは整数型で事足りるということだろうから型と使い方を見直すべきでは
71 :
デフォルトの名無しさん :2014/02/01(土) 14:58:59.91
ドーブルはフロートよりは正確だろ
フロアトだろ
73 :
デフォルトの名無しさん :2014/02/01(土) 16:07:12.57
フランス人がいっぱい。
74 :
デフォルトの名無しさん :2014/02/01(土) 16:08:31.84
フロアト?フロートのことか? フロートじゃないよ、ドーブルのほうだよ フロートはだいたいの環境で4バイトだが ドーブルはだいたいの環境で8バイト ググったらすぐ出てくるから調べてみ
75 :
デフォルトの名無しさん :2014/02/01(土) 18:20:16.72
割るときにdouble型で割りたいから int型をインクリメントできないときどうしたらいいんだろう? キャストするんですか?
ダボー
77 :
デフォルトの名無しさん :2014/02/01(土) 19:21:55.49
ダボなんて兵庫の一部か和歌山に近い大阪の端の方でしか使わないだろ
ドーブレ
じゃかましいガタガタぬかすなこのタボーが
80 :
デフォルトの名無しさん :2014/02/02(日) 00:41:38.43
TCP/IPの通信プログラムについて質問です。 接続の時は、open()=SYNを送るという動きっぽいですが、 「close()=FINを送る」ではないのでしょうか? ステップ実行しながらWireSharkで通信見てた所、 close実行まえに勝手にFINが出ちゃう気がします。
君はもう2chでは質問する側ではなく答える側だな おめでとう
ちなみにC言語の文字列は4種類のポインタで管理してある 1スタックポインタ 2ヒープポインタ 3マクロポインタ 4ポインタ freeで解放出来るのは2のヒープポインタだけ
>>80 >close実行まえに勝手にFINが
相手から糞が届いたから反応したんだろきっと
84 :
デフォルトの名無しさん :2014/02/02(日) 11:53:18.07
大きいデータ読み込むときどうすればいいですか? char[1000000][32]の配列を作りたいんですが
そう書けばいいだろう何か問題でも?
>>82 それはISO/IEC 9899:2011のどこに書いてありますか?
87 :
デフォルトの名無しさん :2014/02/02(日) 11:57:01.47
>>85 確保できる上限超えてるようで・・・セグメントエラーががが
>>80 入力タイムアウトしてOSがFIN送信してんじゃないの
90 :
デフォルトの名無しさん :2014/02/02(日) 12:04:10.59
>>88 つまるのもあれなんでとりあえずそうしときます、どもです
>>87 ああ自動変数か
スタック領域を増やせば良い
増やす方法はコンパイラによって全く異なるのでヘルプやdocを参照
もし静的変数なら、それはメモリモデルの限界なので、64bit環境に早く移行したまえ
馬鹿に馬鹿なことを教えてしまった…
未必の故意
>>91 TCPIP自体の問題というかOSの実装の問題じゃない?
OSの実装が実際どうなってるのかは知りませんすいません
>>97 TCP/IPにもWindowsオペレーティングシステムにも
TCP通信の入力タイムアウトという概念はありません
>>98 SYNパケットが送られてこなかったらタイムアウトでコネクション切れることはあるよね。
で、ステップ実行しているって言ってるから、
プログラムがブロックされてSYNパケットが送出されてない可能性もあると思ったんだ。
で、相手方がタイムアウトしてFINを送ってくる、と。
まあでも入力タイムアウトはおかしかったか。すまそ
openというのがよくわからないが 普通は3ハンドシェイクは勝手に終わるだろ その後で意図しないFINが送られるなら アプリケーションの作りがおかしいんでは
あ、相手の反応が無ければOSが勝手に切るわな
>>86 それは必要ない
コンパイルは企画書でなくコンパイラが行うものである
キチガイ現る
>デバッガがブロックしてるプログラムの開いたソケットがどう振る舞うのかは知らない
>>102 はまずそれを理解してから書き込んでくれ。
>>104 論破されて涙目にされたら相手をキチガイ呼ばわりか
お前の存在も必要ない
C言語の文字列は4種類のポインタで管理してある 1スタックポインタ2ヒープポインタ3マクロポインタ4ポインタ ↓ ISO/IEC 9899:2011のどこに書いてありますか? ↓ それは必要ない コンパイルは企画書でなくコンパイラが行うもの どうしてC/C++スレはこうもキチガイが多いのか
ていうか前スレあたりからのコピペだと思うんだけど
いい加減基礎からやれや屑が
112 :
デフォルトの名無しさん :2014/02/02(日) 23:24:57.09
昔のバーチャファイターの動画を探しています。 どこかの店舗での大会で、ちび太と誰かが対戦していて、 ちび太のコンボがあまりにも神過ぎて、実況してる人が「ウソくせ〜w」って言ってるやつです。 数年前にYouTubeで観たと思います。 知ってる方おられましたら教えてください。
>>80 closeしていないのにFINが出るということは
<アプリケーションが出している可能性>
・shutdownを呼び出した
<OSが出している可能性>
・3wayハンドシェイクの途中で相手のOSが無応答
・相手からFIN/RSTが届いてOSが反応した
・データをsendしたけど相手のOSが無応答
・Keep-Aliveを設定していたら相手のOSが無応答
デバッガーでアプリケーションを止めても
接続処理や受信に対するACK応答はOSがやるので止まらない
114 :
_ :2014/02/03(月) 02:35:04.20
xxx
115 :
デフォルトの名無しさん :2014/02/03(月) 03:00:29.50
教えてほしいことがあります!
>>107 C++の規格とC++コンパイラで挙動違う事も知らないの?
仕様が日々変わっているから
117 :
デフォルトの名無しさん :2014/02/03(月) 03:07:29.92
ヘッダーファイルやdefファイルや1つのプログラムを起動させる仕組みがわからないので教えてほしいです。
118 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/03(月) 04:05:44.32
>>117 ヘッダーファイルは、#includeで読み込めるファイル(拡張子は.h)。
defファイルは、DLLやEXEの内部情報を規定するファイル(拡張子は.def)。
C言語で1つのプログラムを起動させるにはsystem関数やexec系関数などを使う。
× defファイルは、DLLやEXEの内部情報を規定 ○ defファイルは、DLLやEXEのモジュールの外部仕様(何を公開するかなど)を規定
120 :
デフォルトの名無しさん :2014/02/03(月) 12:16:01.51
RPGで敵に攻撃するモーションがちゃんとある場合、ダメージの計算っていつするの? ターン開始時? 攻撃開始時? 攻撃ヒット時?
攻撃が防御や回避されればダメージは出ないんだから、それが分かるヒット時まではダメージ計算なんかできないだろ。
すれ違いだ去れ
>>121 当たるかどうかも含めてターンの最初に計算しとけばいいだろ
そんな毎ターン予定調和が発生するゲームなんか誰がやるんだよw 攻撃が当たらないかもしれない防御されるかもしれない、 と思ってたらクリティカルでダメージ2倍キタ━━━━━━(゚∀゚)━━━━━!!!!! ってのが楽しいんじゃん。
126 :
デフォルトの名無しさん :2014/02/03(月) 15:44:17.36
言語による オブジェクト指向言語ならヒット時計算のほうが良いが C言語でやるならターン開始時計算
やっぱプロならヒット時の部位と両者の姿勢に応じて ダイナミックにモーションを変化させるよな
下段攻撃くらってるのに上半身がのけぞってるゲームとかあるけどあれ何なの?
ターン開始時に計算したら、そのターンで発生するダメージを全てどこかに記憶しておく必要がある メモリの無駄だし、多段ヒットでダメージが複数出る技が存在するとダメージの個数が不定だから毎回mallocで適切な領域を確保しなければならない
131 :
デフォルトの名無しさん :2014/02/04(火) 00:08:53.22
なんでゴミC使いは、作れもしないし作ったことも無いジャンルをテキトーに語ろうとするの 死ねゴミ
132 :
デフォルトの名無しさん :2014/02/04(火) 01:06:45.35
rpgくらい誰でも作れるだろゴミ
C言語って速いのは速いけど 速度的に安定しないから ヒット時計算だとカクついたら嫌だし あらかじめ計算できるなら しといたほうがいいでしょ
134 :
デフォルトの名無しさん :2014/02/04(火) 07:22:18.34
質問です。 100 - ( 2 * ( 3 + 1 ) ) * 4 + 45 / ( 17 - 8 ) この式をC言語で計算するにはどうしたらいいでしょうか。 この式は文字列として与えられます。
gccのソースでも見ればいいんじゃないかな
>>134 目的が秘密だと適切な解を得られない
例:
calc.exeを起動して数式を送り込み、結果をコピーするプログラムをCで作る
>>134 文字列表現の数字をintの数値に直す関数は、atoi
+やーなどの2項演算子の計算は
int calc(int RightOperand, char EnansiType, int LeftOprand)
みたいな関数を自作して
>>134 int main()
{
FILE * popen("/bin/awk 'BEGIN {print 100-(2*(3+1))*4+45/(17-8)}'", "r");
char buf[100];
fgets(buf, sizeof(buf), fp);
puts(buf);
return 0;
}
まじめに答えても後出し条件でひっくり返されるのが見え見えなのがな〜
ボイヤー・ムーア法において,単語の検索が完了するまでの, 単語と英文の文字列比較の回数を数える 文字列比較の回数を画面表示する ようなプログラムを作成しなさい。 ↑ これ分かる人いたら、教えてください・・・。
>>140 ボイヤー・ムーア法を実装できたら楽勝じゃないんですかね……?
>>141 だから、それを具体的に教えてほしいんです・・・。
お願いします・・・。
>>143 ありがとう。
原理は分かるんですが、この”回数を表示させる”プログラムが書けないんです・・・。
どうしよう・・・。
>>144 (1) 適当なグローバル変数かカウント用変数を用意
(2) 比較操作(「文字」か「文字列」かは知らんが)を行うたびにインクリメント
(3) 検索完了後におもむろに表示
でいいんじゃね?
>>145 分かるんだけど、それを具体的に書けないんだよね・・・。
あぁ、どうしよう。
留年してもう一年やりなおす
148 :
デフォルトの名無しさん :2014/02/05(水) 01:21:29.80
常日頃からプログラミングしてない系のゴミクズ大学生だろ 宿題とテストのときしか勉強しない典型的なゴミクズ 宿題とテストでプログラミング関係に接するのなんて年に数回だろうし 年に数回のプログラミング学習で言われた通りのプログラムを自在に書けるわけがないだろ 頭悪すぎ 留年することにして来年に向けて今日から毎日プログラミングするべき
>>146 そもそもこれが書けないなら何も書けないでしょ
ソートすら書けないんじゃない?
バブルソートとかから練習してみたらどうかな。
ぐぐれば山ほど出てくるよ
さすがにそれは言いすぎだろ…… まあ道具と同じで定期的に使わないと覚えられないもんだけどな 高校ならしゃーないが大学生だったら自分で復習とかするべき
アメリカでは軍事兵器を開発する民間企業があるようですが、そういう企業を立ち上げるにはどうしたらいいのでしょうか? どういった許認可が必要かとか、申請方法とか、条件とか教えてください。 よろしくお願いいたします。
このスレもういらねーって 理由1 説明するならURLじゃなくてソース出せばいいのにそれが出来ない奴ばかり 理由2 今更C言語スレに来る熟練者とか皆無だから初心者が初心者相手に初心者レスしか出来てない ほんとにゴミクズしかいないな
>>151 軍事板行け
あと、それたとえ上手くいっても常に暗殺のリスク背負いながら生きる事になるから
>>152 そりゃcodepadとか使えばソースぐらい出せるけど、
そんなのコピペの温床じゃないですかー
と言うか初心者レスとかいう方が臭いんですけどー
とマジレス
>>154 いや無理しないでいいよ
つうか今更Cでソースを書くっていう無駄な事やらせてる学校の授業なんて滅びれば良いわけで
そんなのを2chネラーが気にしてるのは本意ではないし
ただC言語スレを見てるにもかかわらずソース書くのはめんどくさい回答者しかいねーから
必要ないわこのスレwwwww
>>146 Cでグローバル変数使えば、自由度有りまくりのやりたい放題で好きなように書けるのに、
それですら書けないって、今まで何やってたの?
ソースを書いてほしいなら宿題スレに行った方がいいんじゃないか
そうではなくソースの貼られないスレって必要あるか?って話なんだが 何をするスレだよ 学校で宿題に出される程度のC言語のソースなんてググればいくらでもあるから まず大学の宿題なんて9割ググレカスで終わるからURL貼って終わりならそもそもスレの意味がない スレタイからPert○○も消えたしそろそろ潮時じゃね?
質問者は流れてくるから仕方ないとしても このスレの回答者っていうのが、なんかこの板にいちゃいけないレベルの人間にしか見えなくてさ スレごと消えてくれた方がマシかなと思うのだが C++スレも含む宿題スレと統合してこのスレは終了で良いんじゃない
まぁ別にこのスレは無くなってもいいと思うが 過程とかすっ飛ばしてソースだけを求めるのって人間としてどうなのよ
>>160 ム板のやり取りなんてソースだけで良い
日本語でグダグダ言っても解決する問題なんてここには無いし
根本的にお前らは日本語での説明が下手で意味のない駄文しか書いてないから読む価値がなくノイズでしかない
ノイズがこのスレに集まってるなら好都合じゃん 何が不満なんだろう
どうせクレ厨だろうよ
164 :
デフォルトの名無しさん :2014/02/05(水) 12:15:20.01
>日本語でグダグダ言っても 例えば何かの回答で、 「ファイルから4バイトずつ読んでいけばいいんじゃない?」 って書けば済むところを ファイル開いて4バイトずつ読んで問題なく終端に達したらファイルを閉じるコードをわざわざ書くわけ? 馬鹿じゃね?
その程度を"わざわざ"って思ってしまうレベルだからソースが貼れないんだろ エディタ起動1~2秒→ソースコードのタイピング30〜60秒→動作確認&エラー取り0秒〜60秒→貼り付け で、終わる作業のように思えるけど どんだけ普段ノロノロやってるんだか・・・ で、そういう底辺レベルなのに偉そうにレス書いてるから見ててイラついてくるんだよ 向上心のないゴミ共がw
ほんとC言語はさっさと駆逐すべきですわ
>>165 ゴミ箱をわざわざ覗いてゴミにイラつくとか
なんか病気かもよ、検査受けて来たら?
>>165 が、"その程度をわざわざ?"って華麗にコードを書いて論破するのかと思ったら日本語でクダg(ry
>>165 が、"その程度をわざわざ?"って華麗にコードを書いて論破するのかと思ったら日本語でグダグダ言い始めたから塩舐めてる
アルゴリズム考えるのは好きだがコード読むのが嫌いって 天才肌なのかな自分
そんなに"ゴミ"って言われたのがイラついたのか で、重要な部分はスルー ここまで学ぶ気ないならプログラミングとかやんないほうが良いだろ 俺が最初っから暗に お前らが一体どんだけ思考速度遅いんだ?ってのを自覚させるように誘導レス書いてるのも、ゴミすぎて気づかないのか? プログラミングに必要なものが複数個かけてるゴミは、複数個を一辺に指摘されないと別の要因のせいって事にしちゃうんだろうな でもお前らがゴミクズな理由の一つが「その程度」もさっさと書けない程度の低さだよ 自覚してろゴミw 165 :デフォルトの名無しさん:2014/02/05(水) 13:03:31.94 その程度を"わざわざ"って思ってしまうレベルだからソースが貼れないんだろ エディタ起動1~2秒→ソースコードのタイピング30〜60秒→動作確認&エラー取り0秒〜60秒→貼り付け で、終わる作業のように思えるけど どんだけ普段ノロノロやってるんだか・・・
こんな長文書く暇あってもコードは書かないw
めんどくさいやん
175 :
デフォルトの名無しさん :2014/02/05(水) 17:59:26.17
続くようなので台本おいておきますね。
罵倒などは必要に応じて適時アドリブで挿入してください。
「長文書く暇があるなら
>>164 のコード書けば?」
「質問がないのにコード書けるわけないだろ」
「ファイルから4バイトずつ読み込むコードって分かってるんだから書けばいいだろ」
「そんな抽象的なものには答えられない」
「このスレにくる質問の約半分は抽象的だろ」
「だからスレのレベルが下がってるって言ってるんだろ」
「いいからそんなに嫌なら見にくるな」
コードを書くと頭の悪いのがばれるけど 長文を書くのなら頭の悪いのがばれるだけだから コードは書かない
177 :
デフォルトの名無しさん :2014/02/05(水) 18:20:29.76
すみません私頭悪いのでどなたか教えていただきませんか? #include 〈stdio.h〉#include 〈limits.h〉 int main(void) { int t,i; char bt[256]; printf(″文字を入力してください。¥n″); scanf(″%c″,&t); for(i=0;i〈CHAR―BIT;i++){/*←@*/ bt[i]=(t&0x01)?′1′:′0′;/*←A*/ t=t〉〉1 ; } for(i=0;i〈CHAR―BIT;i++){ putchar(bt[i]); } return 0; }
まず質問を書くべき
179 :
デフォルトの名無しさん :2014/02/05(水) 18:31:28.81
>>177 携帯からですみません。変換が携帯からだと上手くいかないみたいです。
@とAの関係なんですが、@のCHAR―BITというマクロを使うとAの(t&0x01)は自動的にビット(2進数)になるのでしょうか?
180 :
デフォルトの名無しさん :2014/02/05(水) 18:47:30.67
>>177 ―
>>179 追記
このコードで文字を入力すると16進数に変換されAの比較にはいるのですか?そしてマクロがきくのですか?
それともお互い2進数に変換され比較されるのですか?
細かい処理の仕方(どういった動き方)をしているのか知りたいです。
入門書一冊終えたんだけどCは何が作れるの? RubyやPHPで自作CMS作ったりして楽しんでたんだけど、この言語では「何かが作れる」ってのが見えてこないんだ
182 :
デフォルトの名無しさん :2014/02/05(水) 19:07:51.17
RubyやPHPが作れます。
>>179 ・まずその全角だらけのコードは嫌がらせのつもりか?
・嫌がらせに耐えながら翻訳したところ、処理手順としては、
1. 1文字(1バイト)読み込み
2. forループ(コメントでの@)を回して、1bitづつ読みだして配列btに代入する。
Aはその読み出し部分。日本語に翻訳すると、
「0x01(10進数での1)と論理和を取って、その値が0以外なら"1"、
そうでなければ"0"を代入する」という意味。なぜ論理和を取るのかというと、
値の一番下のbitの値を読み取るため。詳しくはビット演算でggrks
……その下の「t = t >> 1」は、「tを1つ右シフトする」という意味。
8回(CHAR_BITは普通、値が「8」であるから)繰り返せば、下から上まで全てのbitが取り出せる。
3. 後ろのforループ(putcharがある方)では、その取り出した結果を順に表示している。
・このソースコードを実行すると、「A」と入力すれば「10000010」と出力される。
「A」の文字コードは10進数で65なので、本来なら「01000001」と表示されるはず。
これは、前述のとおり、下から読みだして下から出力しているため。これを直すには、
> for(i = 0; i < CHAR_BIT; i++){
> putchar(bt[i]);
> }
これを、
> for(i = CHAR_BIT - 1; i >=0 ; i--){
> putchar(bt[i]);
> }
と書き直せばいい。
修正後ソース:
http://codepad.org/YAzTBHKJ >>181 C言語はそんなにWebに強くないからな……いやライブラリがあれば可能なんだろうけど
ベタな用途としては、
・科学技術計算等速さが欲しい用途。コンパイラ言語なのでRuby等よりずっと速いぞ!
・組み込みデバイスの動作を記述する。ああいったモノだとポインタを弄る(=低レベル記述)
のはよくあることなのでC言語じゃないと書けない。OS・ドライバも然り
・C++等のC系言語へステップアップできる。
185 :
デフォルトの名無しさん :2014/02/05(水) 19:14:35.65
〈limits.h〉で定義されたCHAR―BITというマクロってテキストに書いてあります。
>>185 お前
>>184 読んだか? これ以上ないほど丁寧に書いたんだから100回読み返せや
CHAR_BITは「char型の大きさ(ビット数)」という意味。
char型の大きさは1バイト。1バイトは普通8bitだから、
>>184 には『普通、値が「8」である』と書いた。
187 :
デフォルトの名無しさん :2014/02/05(水) 19:30:19.41
それはどういう仕組みなんですか?
188 :
デフォルトの名無しさん :2014/02/05(水) 19:34:52.89
>>184 >>186 丁寧な解説有り難うございます。プロバイダーがアク禁くらっているので携帯から書き込みました。
どうもすみませんでした。
なぜCHAR_BITSじゃないんだろう
嫌がらせ
191 :
181 :2014/02/05(水) 19:58:14.37
>>184 親切にありがとう
ドライバとかも書けるのか うーん特に実感が湧かないというか趣味でやる言語じゃないっぽいな
「Cはやっとけ Cはやっとけ」って2ちゃんでよく見るから少しだけ勉強してみたんだが
速さを求めるってのも今の俺には必要ないなぁ
ボイヤー・ムーア法において,単語の検索が完了するまでの, 単語と英文の文字列比較の回数を数える 文字列比較の回数を画面表示する ようなプログラムを作成しなさい。 ↑ これ分かる人いたら、教えてください・・・。
>>192 実習で点数たりなくて救済措置として先生がその課題を与えてくれたんじゃないのか?
俺学生の時実習の単位落としたわ それから本かったり自分で何か作ってみたりして勉強したけども
いいから 教えろや!!!!!!!!!!ヴォケ!”””””!!!
何で教えて欲しいか言わないとモチベーションがわかないじゃん
4月になって覚えてたら教えてやるよ
197 :
デフォルトの名無しさん :2014/02/05(水) 21:15:42.55
疑似乱数を求める式って線形微分法ともう一つなんだっけ? 線形微分法よりもっときれいに散乱するやつ カタカナだった気がする
>>40 俺はダニエル・J・バーンスタインに会いたい
お前が線形合同法すら理解してないことがよーく分かった とりあえずググレカス
検索しないですぐに質問するバカの呼び名を考えてください
>>197 みたいな奴の事です
ああ、線形合同法か サンクス 単語がわからないものをどうやって調べるかな
擬似乱数と適当な単語を組み合わせてググれば引っかかるだろ
203 :
デフォルトの名無しさん :2014/02/05(水) 21:40:21.91
たまに結果が入れたはずの値と違うんだけどこれなんとかならねーの? int main(){ float x[10]; int i; x[0] = 20.1; x[1] = 20.2; x[2] = 20.3; x[3] = 20.4; x[4] = 20.5; x[5] = 20.6; x[6] = 20.7; x[7] = 20.8; x[8] = 20.9; x[9] = 20.0; for( i=0;i<10;i++ ){ printf( "%f\n" , x[i] ); } return 0; } ■結果 20.100000 20.200001 20.299999 20.400000 20.500000 20.600000 20.700001 20.799999 20.900000 20.000000
浮動小数点数ってのはそういうもんだ
擬似乱数だけで検索してもWikipediaがトップでヒットする お前みたいなバカは頭を使う仕事は向いていない、ワタミで奴隷やってろ
206 :
デフォルトの名無しさん :2014/02/05(水) 21:54:15.39
>>204 それじゃ困る。
20.3って入力して、値変えようと思って編集しなおそうとすると20.299999って出て気持ち悪い。
BCDライブラリ使えばいい
>>203 floatなんか使うからだ。
"%f"なんか使うからだ。
>>203 ・まず、普通コンピュータは数字を「2進数」で管理する。これは小数も同様
・十進数の3を「11」と2進数では表現するけど、これは上から「2」「1」の位を示している。
小数も同様に、小数第一位から「1/2」「1/4」「1/8」……を表している
・例えば十進数の「3.1」を表したい場合、「3」の部分は「11」でいいが、小数部分は
「0.0001100110011...」と循環小数になって終わりがない。floatとかdoubleとかだと
それを途中で打ち切るから(メモリは有限だししゃーない)、その部分で誤差が出る。
・特にfloatの場合、doubleに比べてその精度が短いから、余計に粗が目立ちやすい。
>>203 のコードでも、double型なら(ぱっと見)誤差が出てこない。
コード:
http://ideone.com/6w99kR ・どうしても精度が欲しいなら、
>>207 が言うようにBCD(二進化十進)ライブラリを使え。
もちろん自分で実装してもいいが……。
210 :
デフォルトの名無しさん :2014/02/06(木) 00:38:37.90
質問です。 データベースのデータを丸ごと複製する方法を教えてください。 テーブルではなくデータベースです。 今、menstruationとデータベースがあるのですが、 開発用にmenstruation_devというデータベースを作り、 中身はmenstruationのをそのまま使いたいのです。
データベースのバックアップとって新しいデータベース作って流し込む pg_dump辺りでバックアップ取れる
右クリックメニューでDBファイルをコピー&ペースト
volatile uint8_t I2CSlaveTXBuffer[I2C_BUFSIZE]; ... I2C_MstSend( LPC_I2C, c, (uint8_t *)I2CMasterTXBuffer, 2 ); .... (uint8_t *)I2CMasterTXBuffer の書き方はどういう意味がありますか?
# mysqldump orgdb | mysql targetdb
>>214 volatile属性を落とすキャストを行なっている。
warning消すためにキャストしてるだけでしょ
>>203 シーシャープでdecimal型を使って下さい
Cより、女の子の口説き方を教えて下さい
220 :
デフォルトの名無しさん :2014/02/06(木) 04:23:27.48
ブラウザで表示されている部分の特定の範囲だけ印刷するソフトがあったら教えてください 長いページだと10ページとか20ページとかになりますし、ページ指定でも半ページ程でよい場合でも1ページ印刷しかできませんし、それがちょうどページの変わり目に引っ掛かると2ページになって悲惨です さらに左右の広告はたいていカラフルなので必要ないのに莫大な量インクを消費します まるでペイントソフトのようにドラッグで範囲指定して印刷するソフトを教えてください 文章だけならメモ帳にコピペでいいのですが、表や画像があるとそうもいきません
スレ違い荒らしはシネ
222 :
デフォルトの名無しさん :2014/02/06(木) 06:35:07.43
223 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/06(木) 09:34:21.33
>>220 Alt+PrintScreenキーでウィンドウのイメージをコピーしてペイントにCtrl+Vで貼り付け。
名前を付けて保存。ワードに挿入して印刷
>>221 板違いのJavaScriptのスレの存在や
板違いのCGIを許可したPerlのスレの存在や
立てるまでもない質問スレでの板違いのPHPの質問が
許されるんだからどうってことはないだろ
225 :
デフォルトの名無しさん :2014/02/06(木) 12:25:54.59
>>223 さらっと書いてるけどすげーめんどくせーぞそれ。
>>220 俺なら「Cube PDF」等画像出力できるプリンタソフトを使って画像化
↓
要らない部分を「Ralpha」等クリッピング操作を自動化できるソフトで削る
(「左右の広告」部分も簡単に削れる)
↓
「ペイント」等画像編集ソフトで編集
「FastStone Capture」等スクロールキャプチャできるソフトでブラウザ画面を
キャプチャしてから編集する手もあるが
227 :
デフォルトの名無しさん :2014/02/06(木) 12:34:13.90
本気で自動化すんなら キャプチャソフトでまず画像にして iviewあたりをコマンドラインからたたいて編集したいように編集して印刷 rubyなら全部バッチ処理できる そう、rubyならね
Evernote とか使ってないの
229 :
デフォルトの名無しさん :2014/02/06(木) 12:38:19.97
片山なら透明なウィンドウをデスクトップのサイズで作って最前面に置いて、その上でマウスLBUTTONDOWNとMOUSEMOVEとLBUTTONUPを 検出して矩形を判定して、その矩形の内容を裏でビットマップにコピーしてリストビューに保存してそこから印刷するアプリくらい作りそうなものだけどな。 タスクトレイに常駐して、クリックすると、キャプチャ、キャプチャ&ダイレクト印刷、リスト表示ってメニューが出て、キャプチャ&ダイレクト印刷は矩形選 択のLBUTTONUPが検出されてビットマップとしてコピーされた次の瞬間に印刷のウィンドウが表示されるやつ。
そういえばデーターベースって何で板を分けてあるんだろ 確かにデーターベースはデーターベースで専門知識はいるけど 単体で使うことは少ないから板を分けるほどでもない気がする
あれはデータベースじゃなくてドラゴンボールだよ
>>230 多分DB(ドラゴンボール)と引っかけたネタ板なんだろう
いやそこそこの規模なら単体で業務になるくらいだから分けられてるんじゃね
流れがアレなので普通の質問を投下
ラプラスの方程式を解くプログラム(練習用)を作ってたんだけど、
EPSを小さくするとヤコビ法で解いているはずなのにO(n^6)になってしまうんだが……
http://codepad.org/oubUXWVm 助言できれば頼む。ちなみに自分の環境ではEPSが1e-1までO(n^4)、1e-2以降がO(n^6)になった。
(なお、上のオーダ表記は分割数をnとしているから、解くべき方程式の行数は
(n-1)^2=>O(n^2)。ゆえにガウスの消去法だとO(n^6)、ヤコビ法だとO(n^4)のはず)
YouTubeで街中をスケボーで走ってる動画あったけど あれって法律違反にならないの?
>>234 何の法律に触れると思ったの?
スケボーなんてブレーキのついてない自転車程度のものだから大して危険でもないし
動力がついてないから車両にもならないし
何の問題もない
通勤で使ってる人もいるくらい
ソニックザヘッジホッグ さんのこと?
>>234 ローラースケートと同じ扱い
人や車の通行が少ないところならおk
自転車と同じ扱いだと保安部品が無いから道路全てアウトになるな
238 :
デフォルトの名無しさん :2014/02/06(木) 13:16:10.56
スケボーは電車とかにも持ち込めるから便利だよ。 家から駅までスケボーで行って、電車で目的の駅からまたスケボーとかできるし。
お前らヲタは運動神経鈍いんだから無理すんなって
スレちがいかも
243 :
デフォルトの名無しさん :2014/02/06(木) 14:02:35.45
>>241 結構いいスピード出てるな。
転んだら痛そう。
244 :
デフォルトの名無しさん :2014/02/06(木) 14:19:50.25
だからお前らヲタは無理すんなって お前らはスケボーとかしなくていいからヲタらしく大きなリュック背負って歩いてろ
245 :
デフォルトの名無しさん :2014/02/06(木) 14:47:26.98
運動神経云々の前にダサ過ぎっつうか そもそもスケボーやってる奴なんていねえから外出ろよゴミ 発想からしてム板にいる奴なんて全員ゴミだな 何十年前で止まってんだよゴミ共が
この間繁華街を華奢な女の子がインラインスケートで颯爽と走ってたな。 バイト帰りっぽかった。
247 :
デフォルトの名無しさん :2014/02/06(木) 14:55:12.67
>>244 なんでヲタって大きなカバン背負ってるんだろうな
混んでる電車とか狭い本屋だとマジで邪魔だわ
248 :
デフォルトの名無しさん :2014/02/06(木) 14:58:32.42
結論:ヲタは社会にとって邪魔でしかない
>>245 はダサいかダサくないか他人の目を気にして自分のやりたいこともできないわけかw
生き方ダッサwwwwwwwwwwwwwwwwwwwwwwwwwww
豪州じゃ、街中にスケボーに乗ってるヤツとアニメのコスプレしてるヤツで溢れてたよ
251 :
デフォルトの名無しさん :2014/02/06(木) 16:02:18.50
外国は多そうなイメージではある。
たこ焼きにはたこではなくポークを入れても美味しいと思うのですが、 皆さんの意見をお聞かせください。
それは丸めたお好み焼きだ
>>247 すれ違う時に横向くなら、カバンは手でモテよと言いたい
幅はかわらない上に、カバンが勢いついて向かって来るからな
質問いいでしょうか? うどんは冷凍保存で何日くらいもつでしょうか? 近所のスーパーで1つ30円で売っていたので、長期保存できるのであれば大量に買い込んでおきたいのですが。
257 :
デフォルトの名無しさん :2014/02/06(木) 21:57:43.92
>カバンが勢いついて向かって来るからな 確かにww あれ結構威力あるよなw
258 :
デフォルトの名無しさん :2014/02/06(木) 22:07:18.03
知人がプログラマなんですが、自作の英和辞書くれたんです。 でも中身が凄いことになっていて、print=printedの現形と書いてあるのですが、 逆にprintedを引くとprintの過去形あるいは過去分詞と書いてあるんです。 全てがこの調子なんです。 本人いわく、最大限に単純で且つ誤りのない完璧な辞書の記述法だというのですが、 実際辞書としては使い物になりません。 ほんとにプログラマって馬鹿だなと思いました。 世の中の多くのソフトウェアがこんな感じですもんね。 作ったほうは完璧だと言い張るのですが、使う側からすると役に立たないという。
>>258 循環定義知らないってテラワロスwwww
ぐらい言ってやれよ無能
>自作の英和辞書 くさいw
261 :
デフォルトの名無しさん :2014/02/06(木) 23:01:32.35
OpenOffice.org使ってるんだけど、OpenOffice Calcのデフォルトのフォントって設定できないの? 完全な新規だとデフォルトはArialなんだけど、一度保存したものを開くとデフォルトがMS Pゴシックになってていらつく ファイル名含め全部英語で書いてるから日本語判定もされてないはずなんだが
263 :
デフォルトの名無しさん :2014/02/07(金) 05:26:45.18
264 :
デフォルトの名無しさん :2014/02/07(金) 06:55:54.21
>>249 そんなにスケボーやりたいならここで吠えてないで勝手にやれよ
何ゴミが必死になってんの?死ねゴミ
キチガイは早起きだな
死ねゴミ
267 :
デフォルトの名無しさん :2014/02/07(金) 14:58:55.85
266 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
269 :
デフォルトの名無しさん :2014/02/07(金) 16:17:50.66
269 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
271 :
デフォルトの名無しさん :2014/02/07(金) 18:18:49.47
>>247 俺のリュックの中身は、大ニッパと大ペンチ、スタンガン二個、縄と本沢山だよ。
みんなだいたいそんな感じじゃないの?
272 :
デフォルトの名無しさん :2014/02/07(金) 18:30:07.26
そんなのお前だけだろw 俺は焼きそばが好きだからいつでもどこでも食べられるように焼きそばをめいっぱい詰め込んであるよ 生麺とインスタント袋麺とカップ焼きそば いつも数えずに適当に詰め込んでるけど合計で20〜30食分くらいじゃないかなあ 最近はマヨネーズとからしマヨネーズも入れるようになった 財布やスマホはポケットに入れるから問題ない 大抵の人はこうやって自分の好きな食べ物を詰め込んでるよ
273 :
デフォルトの名無しさん :2014/02/07(金) 18:34:19.09
まじか。 意外〜!
ブラザー
俺は粒マスタードだな
ネタ元なに? オリジナルだとしたらかなり病んでるね
277 :
デフォルトの名無しさん :2014/02/07(金) 19:17:21.36
いつから焼きそばが病んだ人間の象徴になったんだ?
279 :
デフォルトの名無しさん :2014/02/07(金) 22:39:41.73
焼きソバなんて病んでる人間しか食わねーだろ
さすがにそれはない
281 :
デフォルトの名無しさん :2014/02/07(金) 23:29:14.90
JavaScriptでファイルをドラッグ&ドロップでアップロードする方法を教えてください 色々ライブラリとか公開されていますが、一番インストールするものが少ないのがいいです その代わり低機能で構いません、プログレスバーとか出なくていいです
282 :
デフォルトの名無しさん :2014/02/07(金) 23:33:11.42
283 :
デフォルトの名無しさん :2014/02/08(土) 05:17:40.57
病んでなくても普通の精神状態でも常に焼きそば食べたいけどな。 昼に社員食堂でビーフカツカレーのジャーマンポテトセット食べた直後でも焼きそば1人前くらいならいける。
284 :
デフォルトの名無しさん :2014/02/08(土) 05:23:01.68
ルーツに問題があるのかと思って調べてみたら、焼きそばの源流は中国の チャオメン(炒麺)にあるらしいです。 これなんか関係ある?
enum { FOO, BAR }; const har *str[] = { "hoge", "hage" }; このように、str[FOO] == "hoge", str[BAR] == "hage"となるようにアサートを作ることはできますか?
わかりました。そうします。 ありがとうございました。
289 :
デフォルトの名無しさん :2014/02/08(土) 11:58:05.76
>>286 アサートではないが、designated initializerを使えばいい
const har *str[] = {
[FOO] = "hoge",
[BAR] = "hage"
};
292 :
デフォルトの名無しさん :2014/02/08(土) 14:23:40.23
293 :
デフォルトの名無しさん :2014/02/08(土) 15:45:35.58
本当に嵐しか居ないな現実で事故って死ねばいいのに
死ねゴミ
295 :
デフォルトの名無しさん :2014/02/08(土) 17:52:49.55
質問スレなら質問に答えろks
聞いてやったんだからそれで満足しろよ
297 :
デフォルトの名無しさん :2014/02/08(土) 18:12:24.63
ブヒブhと鳴いててみろこのメス豚野郎!!1!!!11!
荒らすなチョーセン人
C++スレでからの〜?とかあぼ〜ん報告とかで自演荒らししてるのもこいつ?→
>>298
>>299 そうだよ。
誰かがきいてたけど、
本人は荒らしてる自覚がないらしい。
常にふらふらさまよってるかまって厨 刺激を与えられたときにだけ活性化する嵐予備軍 見分けるのはそう難しくない
302 :
デフォルトの名無しさん :2014/02/08(土) 19:21:23.76
>>300 それでもさすがに迷惑がられてることは気付きそうなもんだけどな
まぁそれも日本人の感覚だから韓国人だとまた違うのかもな
またチョーンジンage書き込みか いい加減にしてくれ
アンチhogeいないのに発狂wwwwwwただの荒らし目的で住み着いてるのがはっきりしたなwwwwwwwwwwww
306 :
デフォルトの名無しさん :2014/02/09(日) 05:13:05.13
死ねゴミ
ポインタのコツおせーて
>>308 大雑把すぎる。ポインタのどこら辺の話なんだ?
図を描いてみると状況が理解しやすいと思う
NG推奨: チョーセン人 これで韓国人の書き込みを不可視にできます。
>>308 ポインタの概念を理解するには、最初は視覚的にイメージするといいよ。
数みたいな抽象的な概念の理解も、最初は指とかリンゴとミカンとかでやっただろ。
その概念の扱いに慣れるとリンゴとミカンは要らなくなる。
例えば俺の場合は、メモリ空間は四角い緑で、そこにアドレスが順に振ってあるイメージだった。 ポインタはそこに咲くタンポポの黄色い花さ。
ポインタが理解できない奴はプログラマに向いてない 馬鹿なのかどうかは別にしてプログラマに向いてない 時間をかけて何とか理解しても資質がないから結局大したものは作れない
>ポインタが理解できない奴はプログラマに向いてない こういう自分のまわりしか見えない視野の狭い奴は一生ドカタ
「右を見ろ」「左を見ろ」「上を見ろ」って紙に指示が書いてある話に 似てるイメージ。ポインタで考えると最初の紙の内容が変わってるのに気がつく
配列の添え字を変数にしてるだけ
a[i]=*(a+i)
インデクサってCには無いんやな
>>290 ありがとうございます。目的が達成できました。
322 :
デフォルトの名無しさん :2014/02/09(日) 22:20:07.18
ボケがわからないアスペ
自分が理解されない原因を自覚できないアスペとか返されちゃうぞw
スロットのプログラムを書いてみようと思ってるんだけど 大筋は 内部処理 画面のclear 描画 のループで実装する予定だけど 内部処理でキーの入力にscanfを使うとループが止まって再描画が成り立たなくなりますよね 描画のループを止めずにキーを入力するにはどのようにすれば良いのですか?
>>326 環境依存。表示に使うライブラリごとに違うと思っておけば余り間違いはない。
描画が出来るならそのGUI系でキー入力も備えてるだろう printf/scanfなんか使わない
環境はwin7のコマンドプロンプト上で GUIは使ってません
目的と手段が食い違ってる気がしてならないが あくまでもそのやり方なら kbhit()とgetch() を組み合わせるというのがよく出てくる
select
333 :
デフォルトの名無しさん :2014/02/10(月) 17:23:54.06
PostgreSQLのTIMESTAMP型の最小値はいくつですか? 西暦0年からいけますか?
西暦に0年はありません。
なるほど、恐ろしい罠にかかるところだった
336 :
デフォルトの名無しさん :2014/02/10(月) 18:04:10.38
1970年以降しか無理 基本的にコンピュータの多くは1970年からの秒数、又はミリ秒数でカウントしているためだ
んなこたーない。
少なくとも、PostgreSQLはユリウス暦を扱える。 しかし、そのTIMESTAMP型をCでどう利用するかは残念ながらスレ違いになるのでここに書くことはできない。
残念だ
スレ違い共は去れ DB板に池
TIMESTAMPは西暦1年から対応してただろ 西暦1年なんて大昔の話を何に使うか知らんが
それはおまえタイムトラベルだよ
343 :
デフォルトの名無しさん :2014/02/11(火) 09:51:38.41
歴史データベースとか
344 :
デフォルトの名無しさん :2014/02/11(火) 13:36:24.30
死ねゴミ
紀元前の年号扱いたいんだが。
346 :
デフォルトの名無しさん :2014/02/11(火) 16:17:57.26
扱えばいいだろ
ちゃんと日数計算できるんか? 1582年10月は何日間あることになってる?
細かく言い出すと国によって切り替わりのタイミングが(ry
349 :
デフォルトの名無しさん :2014/02/11(火) 17:51:03.10
G!M!T! G!M!T!
>>345 扱えるよ。
PostgreSQLでTIMESTAMP型のカラムン作って、
INSERT INTO テーブル名 VALUES( '3800-02-11 18:01:43 BC' );
ってやってみ。
351 :
デフォルトの名無しさん :2014/02/11(火) 18:06:01.04
そんな紀元前の時間を秒単位で扱うことあんの?
352 :
デフォルトの名無しさん :2014/02/11(火) 18:56:52.20
からむん
>>350 それってC言語からPostgreSQLのライブラリを使って取得した場合はどんな値が返ってくるの?
文字列で返るんじゃない?知らんけど
ポインタで躓く人が多いのは、最初に局所変数を教える資料ばかりだから。 「メモリアドレスに名を付ける事」と「その領域を確保する事」を真っ先に教え、 局所変数はそれを処理系がスタックを利用して自動的に管理してくれるサービス的なもの、 という順番で学べば、そもそも躓く理由などどこにもない。
メモリって何やねんで躓く人の方が多そうだな ポインタより
ポインタをちょっと前に過ぎたが俺がまとめてみる ポインタがわからない →メモリのアドレス番地とその内容を図解して理解しましょう *がついたりつかなかったり →ポインタ変数の宣言と使用は別ものです いままで p = &a とかポインタに変数を紐付けるには & を使って いたのに配列だと使わないのはなぜ? →配列名(int a[10] なら a)は式の中においてポインタ(値としては&a[0])に 読み替えられます。よって & はいりません。関数も同様です。 どうすれれば慣れる →まずは文字列(文字の配列)操作関数(複写、結合など)をポインタを 使って書いてみましょう。
20年近く前だったと思うが、柴田望洋氏の 何とか、、ポインタ編という本が分かり易かった。
>>356 まあプログラミングを勉強しようという人が
メモリの意味すら知らないってのはまず無いんじゃね?
……手元にある入門書を見たら、
「変数は要するに箱のことで、ポインタはメモリ番地(≒場所)を指すアドレスを保存する変数」(参考書A)
「変数はデータを入れておく場所の名前で、ポインタはアドレス値を格納できる専用の変数」(参考書B)
と書いてあった(どちらも要約)。後者の場合、きちんと「番地(アドレス)に名前を付けたのが変数」ってことも書いてある
>>357 そしてC++では「参照」が登場してまた迷うことに……
俺はあまりポインタは使わない派かな
誰かに箱の内容を入れ替えてもらうとき、内容を教えたところで意味が無い。 箱の在り処を教えなければ内容にアクセスできない。 概念的にはたったこれだけの事だが、そもそもこういう思考に至る原因が、 最初にアドレスを考慮しない局所変数を覚えるからなのだ。つまり「今までと違う」となる。 最初にメモリアクセスを理解すればこんなの当たり前の話なのである。 むしろ局所変数が特殊であることを理解しなければならない。
自分がポインタで迷った時は、 ・変数とメモリの対応関係 にではなくて、 ・ポインタに型がある ことに悩んだ記憶が。結果として、ポインタの計算が感覚的に納得できなかった。 だから、void* なら簡単に理解できてたような。
>>360 >箱の在り処を教えなければ内容にアクセスできない。
この発想自体がメモリをアドレスで管理するコンピュータの概念で
あって、コンピュータ概論でも学んでなければ「自然な」発想では
ない。
そこで他の言語ではレイヤを一つかぶせてポインタを隠蔽しようとするんだよね。 だがCはこれでいいんだよ。
364 :
デフォルトの名無しさん :2014/02/12(水) 01:53:27.75
ぬるぽ
365 :
デフォルトの名無しさん :2014/02/12(水) 01:56:10.27
しかしポインタは覚えると便利 他の言語でも使いたくなる
fprintf(stderr, "%s\n", "ガッ");
ポインタがわからない人にはいっそアセンブリ言語でもやってみればって思う
ポインタは怖い。 C#やJavaのようなガベコレ言語を経験すると、ポインタは怖すぎで面倒過ぎる。 C++で使う時も、出来るだけポインタの寿命が短くなるようにスコープを限定したり、 クラスにカプセル化して確実に開放されるようにする。
Lispの変数はすべてポインターやでぇ 変数への値の代入はその値が存在しているアドレスのセットや 関数呼び出し時に、実引数を仮引数に渡すときも同じやでぇ 仮引数もただの変数で、ただの(ポインターの)代入となる。 從ってCall by referenceやな C言語にはどうでもええけど lisp始めたから書きたかったんや マンコみると自然にチンチンたつのと一緒や
>>368 気にするのはポインタ先の寿命でポインタ自体は寿命なんて気にする必要ないだろ
まぁ解放済みにうっかりアクセスとかはしないように気を付けなきゃいけないけど
Cでポインター使わないなんて、どんだけ遅くてもいいんだな
> マンコみると自然にチンチンたつのと一緒や ここだけ分からなかった
舛添って東京では人気あるけど地元福岡県では人気ないんだよね
東京都知事は消去法で決まる
変に抽象化すると分かり難くなる
複雑な宣言(プログラミングCより) char **argv int (*daytab)[13] int *daytab[13] void *comp() void (*comp)() char (*(*x())[])() char (*(*x[3])())[5] C言語ポインタ完全制覇より int atexit(void (*func)(void) void (*signal(int sig, void (*func)(int)))(int)
何を言いたいの?
>>376 いやそれはいいから、その宣言を使って何かプログラム書いてみ
書けたら評価してやる
転載は誰にでもできる
 ̄ ̄ ̄ ̄ ̄ ̄ ̄l/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ∧_∧ ( ´・ω・`) ∧_∧ / \ ( )何言ってんだこいつ .__| | .| |_ / ヽ ||\  ̄ ̄ ̄ ̄ / .| | | ||\..∧_∧ (⌒\|__./ ./ ||. ( ) ~\_____ノ| ∧_∧ / ヽ 空気読めよ \| ( ) | ヽ \/ ヽ. オマエ馬鹿だろ | |ヽ、二⌒) / .| | | .| ヽ \∧_∧ (⌒\|__./ /
>>361 ポインタでメモリ抉りますんで。
型抜きする為の型がありますw
cとPHP以外イラン
平均的な知能があれば、cでアプリケーションを書く半分以下の努力で、 ファイナンスに必要な数学は一通り学べる
385 :
デフォルトの名無しさん :2014/02/12(水) 14:09:00.98
>>376 >int atexit(void (*func)(void)
こんな複雑なのコンパイル出来るのか?w
簡単に通るよ voidを引数にvoidを返す関数ポインタを引数にしてintを返す関数atexit
括弧がw てか何が言いたいの?
c,c++でシステムプログラミングなんかやらないで、 Haskellで、もっと金になる方へ行く方がイイよね ほんの少し統計できるだけで有難がられるんだし
ファイナンス? 統計? やだ! やだやだ! 金の奴隷かい コロボックルはやだ!
cやJavaなんて、企業か派遣先の奴隷になって捨てられるだけなのに
統計じゃなくてだたのビックデータ()だろ
手元のエクセルの結果をまとめるだけだよ
まとめるっつ−か情報減らすだけだからな。彼らの仕事は
394 :
デフォルトの名無しさん :2014/02/12(水) 18:11:54.48
PostgreSQLでテーブルを他のデータベにコピーする方法を教えてください。 テーブルに書かれているデータはコピーしたくなくて、 カラムやグラントの情報だけが欲しいです。
>>351 古天文学のデータベースなら使うかもな。
396 :
お困りイノシシ :2014/02/12(水) 20:21:18.91
Objective-CとXcodeの質問いいですか?
>>396 言語が違うんでダメです
スレッドを立てて下さい
ポインタのことならなんでも聞いてくれ
399 :
デフォルトの名無しさん :2014/02/12(水) 21:11:26.21
ポインタのポは何を意味しますか?
タンポポのポだ
401 :
デフォルトの名無しさん :2014/02/12(水) 21:25:38.38
なるほど、謎が解けました。 何とか生きていけそうです。 ご親切にどうもありがとう。
C言語を完全に独学で勉強した人っていますか? 学校での専攻が一切プログラミングや情報分野とか関係ない人が最低限の知識を得るのはどれぐらいの期間がかかるか 目安が知りたいです 理系です
3日
はったりは才能
数学屋とかはCに苦労はしないようだ。
>>400-401 ./^l、.,r''^゙.i′
l゙:r i:i′ .| ど ん な か な し い こ と が あ っ て も
:i^¨''iノー-i (_.vv,、
i.、/:::::::::::::::::゙彳_ >
_,ノ i::::::::::::::::::::.('`,.ヽ や せ が ま ん で も い い
( 、:|:::::.i;i;i:::::::::::i:.'^゙'<
'' ::.!:::::.ii;i.|::::::::::.i‐ ,フ''
.< :::i::::::.ii;i;|:::::::::.,「=( ひ の あ た る ば し ょ で
`ー::|,.:::::i;i;::::::::::/.\^':、
./゙,r|:::::::::::::::::,i゙.'!'=;^′
.) ,/ソ,:::::::::::,l'_ .).:r つ よ く い き て い こ う と お も ふ
゙'レ'´i''!゙ー/'(゙゙ | .|
| ._,i'!(冫.;i .|
.. |. | そ う た ん ぽ ぽ の よ う に
.! .i ._,,,‐''^^'''''>
、....,,,,..,,_ ! .;! .,/'゙`,_ .,ノ
\ .⌒\ │ .|!.,,iミ/ ._,,,./′
i '^'''‐、..゙'hノ| .|厂 . ̄′
.ヽ_ ゙メリ| .|
 ̄ ̄ |. | ._,,,‐''^^'''''>
>>402 理系と言うか工学系だから、1年からプログラミング演習が余裕であった
あいにく俺は既にC言語を習得してたけど、流石に週一×15回程度じゃ
理解が追いつかない人が多かったなー……
そもそも、プログラミングは最初の言語である程度感覚を掴みさえすれば
他の言語もある程度やれる、といった性質があるから見積もりが難しい
特にC言語なんかGUI出すのに無駄に苦労するから授業だと基本CUI
そのことでモチベーションが削がれないかということの方が重要なんじゃ
(もちろん計算やファイル処理はできるが、グラフィカルなゲームとか作るとなると
途端に面倒くさくなる、という意味)
>>406 苦しんで覚えるC言語読み終わってC言語理解した気になってたわw
C言語上達したいけど特に作りたいものないんだよね
とりあえず作れとか言われるけどよくわからん
Cで彼女作れるか?
>>402 独学じゃ一生無理
何故かというと、独学では「最低限のライン」を見つけることが出来ないから
俺は高校で独学でプログラミングを学んで情報系の学部に入った
その頃は「とりあえず書こうと思ったものは書ける」程度の実力を持ってたから、
自分としてはプログラミングは「出来る方」だと思ってた
でも大学に入ってから勘違いに気づいた
入って最初の実習の時にいきなりRFCの仕様書を読んでネットワークプログラミングしてる奴とか
オープンソースのコミッタやってて複雑なソースコードをすらすら読める奴とか
今まで俺が「自分にはまだ早い」と思って敬遠してた技術をみんな普通に習得してたんだよな
で、話を聞くとそいつらは全員高校の時にコンピュータ関係の部活に入ってて先輩から技術を教えてもらったらしい
俺は地方の高校出身だからそういう部活がなくて、全部独学だったから「一般的なレベル」がわかってなかった
これが独学の怖いところ。世間一般のレベルがわからないから自分の実力を客観的に測れなくなる
GUIを作るという目的においてCを選択することはムダでしかない。 もっと簡単に効率よく作れる言語がいくらでもあるからだ。 CはCUI専用で、しかも標準ライブラリのみを使ったバックエンド、 つまり高速なコアモジュールを作るためにある、と割り切るのが賢い。 研究目的だったり機械の深遠を覗いてみたい、というなら止めはしないが。
>>407 個人的にはボードゲームがオススメ
三目並べとかリバーシとかだと、作りやすいし勉強にもなる
>>409 「平均的なレベル」って場所によって様々だよね……
>>409 それは日本の平均レベルではない。
そんなレベルが維持できてたら、日本の情報科学や産業はこんなに停滞していない。
413 :
デフォルトの名無しさん :2014/02/12(水) 22:58:46.63
>>412 情報科学は停滞してないだろ。
情報産業は確かに停滞してるけど、プログラミングスキル単体は産業を停滞させるほどのファクターではない。
一部のゴミを除きこの板にいるほとんどのプログラマはツイッターやフェィスブックのシステムを書けるスキルはある。
産業が停滞している理由はそこにある。
例えばフェィスブックがない時代に「フェィスブックを作ろうぜ!part1」ってスレが立ったらどうする?
こんなレスしかつかないのが目に見えてるし、リアルでもこれをやんわりとした形で言われるだけ。
「そんなもの使う人いんの?」
「プロフサイトで十分」
「MySpaceの二の舞になるだけ」
「このスレッドはチンパンジー(ry」
「mixiで市場は飽和状態」
「成功しないプロジェクトに限ってpart1とか付ける法則」
「馬鹿には無理」
「SNSの動向とか調べてないだろ、最終的にtwitterみたいなのに行き着くんだよ」
「amebaブログで十分なんだよ」
「企画厨か」
「処理が速いこと」は正義ではあるが、それは人間においても同じ。 ようするに「(人間が)早く作れる(処理できる)こと」にしばしば取って代わられる。 だから1から10までCで作ろうなどと思ってはいけない。 コアな処理に必要なひととおりのデータ構造とアルゴリズムを構築できたら、 さっさと他の言語に手を出し、使いこなせる道具を増やすこと。 Cで作ったモジュールを利用する手段は、間違いなく他の処理系やOSに用意されている。
処理速度だけで考えればいいローカルネットワークに引きこももってる奴の言いそうな台詞だな え?引きこもってないって? あぁ、だから生産性が云々言いながらセキュリティバグだらけのPHP使ってるのか、なるほどね
言語には得意分野ってもんがあるんだから、
何でもかんでもCで書こうとするのはナンセンス
(流石にバベル化させるのはマズいが)
C言語も本当は複雑な仕様だから初心者向けかは微妙だけど、
手続き型言語として定番になっちまったからな……
>>414 もまた真理だよ。実行時間<<開発時間じゃ使えないってことはよくある
417 :
デフォルトの名無しさん :2014/02/13(木) 01:46:34.35
c言語の課題出されました。リスト構造の問題です。 struct node {int elem;struct node *next;}; struct node *list; 問1、中央のセルのポインタを返す関数list midcell(list L)を定義してください。 条件は単方向リストで。また中央のセルとは末尾のセルを除いて考えセルの個数が 2N個の場合N番目のセルのことをいいます。 よろしくお願いします。
418 :
デフォルトの名無しさん :2014/02/13(木) 01:49:38.19
続きです 問2、連結リストLとその途中のセルのポインタMが与えられたとき 先頭LからMの直前のセルまでを切り離し順序を逆転させリストを返す関数 list revfR(list L,list M)を再帰関数で定義してください。 リストLは空でないと仮定します。また本問も単方向リストでお願いします。 問3、問2の機能を持つ関数list revf(list L,list M)を再帰関数を用いず定義してください よろしくお願いします。
>>418 >先頭LからMの直前のセルまでを切り離し順序を逆転させリスト
よくわからん
123456のリストでL=1、M=4 だったらどうなればよいの?
321456?
321?
654?
420 :
デフォルトの名無しさん :2014/02/13(木) 04:55:56.72
>>402 おれ独学だけど、完全な独学とはいえない。雑誌(Cマガジンとか)
パソコン通信は、顔がみえないから、こわいひともいた。いろんなひとがいた
421 :
デフォルトの名無しさん :2014/02/13(木) 04:56:51.34
2ちゃんねるは、雑音がおおすぎるから、やめたほうがいいよ
>>417 1問目だけやってみた。
ちなみにコンパイルは通してない。
node* midcell(list* argList, int argSize)
{
int i;
node* pRetNode = pList;
int iLen = argSize / 2;
for(i = 0; i < iLen; i++){
pRetNode = pRetNode->next;
}
return pRetNode;
}
423 :
422 :2014/02/13(木) 05:26:12.38
修正 typedef struct node{int elem; struct node *next;}NODE; NODE* midcell(NODE* argList, int argSize) { int i, iLen; NODE* pRetNode; pRetNode = pList; iLen = argSize / 2; for(i = 0; i < iLen; i++){ pRetNode = pRetNode->next; } return pRetNode; }
こういうのはどうかね node* midcell(list* top) { node *n, *r; int f=0; for(n=r=top; n!=0; n=n->next, f=!f) { if(f) r=r->next; } return r; } もちろんコンパイルもテストもしてない
つ(3) list *p, *q, *R, S[100], int i = 0; for (p = L; p->next != M; p = p->next) if (p->next == NULL) return (list)NULL; for (; p->next; S[i++] = p = p->next) if (p->next == M) return (list)NULL; for (R = S[--i]; p != M; q = S[--i], p->next = q->next, p = q) if (i == 0) return (list)NULL; p->next = NULL; return R; もちろんコンパイルもテストもしてない
426 :
デフォルトの名無しさん :2014/02/13(木) 11:07:10.40
>>419 321になります。
また関数の引数の個数は問題と同じで数でお願いします
C言語の知識を金に換える方法を教えてください
428 :
デフォルトの名無しさん :2014/02/13(木) 11:55:15.73
>>427 取り敢えずプログラマーになったら
儲からない
429 :
デフォルトの名無しさん :2014/02/13(木) 13:56:53.02
>>428 プログラマって範囲広すぎだろ
マーク・ザッカーバーグも最初はプログラマだっただろ
PGという蔑称を使い分けるのがよい
>>429 闇プログラマの周りに起業家なんかが便乗したんだよ
あれは職業プログラマじゃない
>入って最初の実習の時にいきなりRFCの仕様書を読んでネットワークプログラミングしてる奴とか >オープンソースのコミッタやってて複雑なソースコードをすらすら読める奴とか 底辺大学だけど、そんなヤツは1人も見たことないな。 Unixナニソレ?食べれるの?ぐらいしか見たことがない
>>402 機械系なら、電検とってロボットや制御、組込み系の方へすすめ
Webやネットワークプログラミングなんて畑違いも良いところ
>>431 >職業プログラマじゃない
だからプログラマの範囲を明確にしろって言ったんだよ
Webの黎明期にWebサイト作っただけじゃないの?種類でいうと闇属性。 職業プログラマは主に、Java,c++、VB、C#、Delphiと選べない技術を浅い理解で多様にこなす
フェイスブックを「Webの黎明期」って認識してるのって中高生くらいなのかね。
Webアプリ作りの黎明期 スタートアップバブルの黎明期 ならいいか?
>>427 cに関する本を書く。プログラムなんて書いたらダメ。絶対。
UnixってWindowsパクッてGUIつけたんだろ? そんなことしてるからダメなんだ。
Macからパクるべきだった
全ての祖はALTO WindowsもmacもunixもALTOをパクった
AltoよりUnixの方が古くね?
GUIがオーバーラップウインドウに進化したのは間違いだったな。 windows1.0のころのタイリングを発展させるべきだった。 GUIアプリとか、全画面表示にしてアプリ内でウインドウを敷き詰める やつ多いし、オーバーラップウインドウが使いにくいのは周知の事実なのに なんでだれも指摘しないのか。 まあこれからの主流のタブレットは全画面表示だし、win8は画面分割だから 最近は正しい方向に向かいつつあるけど。
444 :
デフォルトの名無しさん :2014/02/14(金) 01:23:42.65
もうここは露骨に 「馬鹿でもわかるC言語」 って本出そうぜ
447 :
デフォルトの名無しさん :2014/02/14(金) 20:21:05.77
普通は再起使うところを再起使わずにやる方法を教えてください
・末尾再帰ならループに変換すればOK ・そうでなくてもスタックを自分で実装すればOK
449 :
デフォルトの名無しさん :2014/02/14(金) 21:38:58.46
すいません、せっかく回答頂いたのですがよく分かりません やりたいことは2chのスレッド内のレスを加工してツリー状にすることです 今は簡単のために1レスに含まれるアンカは0個or1個のみで考えています 各レスをパースして構造体配列にするところまではできています struct MyRes{ int targetres;//今は簡単のために0個or1個、そのレス内で最初に出てきたアンカ char name[128]; char mail[128]; char id[32]; char date[128]; char body[128]; };
再帰でなら書けてるような口ぶりだけど、たぶん再帰でも書けてない。
451 :
デフォルトの名無しさん :2014/02/14(金) 21:52:10.86
はい書いてません たまに未来レスにアンカ打つボンクラがいて、その未来レスからもとのレスにアンカ打つボンクラもいるので 無限ループになるのが怖くてやってません 未来レスそのものを排除したくはないので、そのレス番号より大きい番号のレスへのアンカを無視するといったことはしたくありません
452 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/14(金) 21:55:13.17
>>449 ツリー構造の場合は、再帰を使うのが簡単だよ。
データの追加方法がわからないなら、strdupやreallocの使い方を勉強してみたら?
>>452 再帰使わねーって最初に条件指定してあるだろうが低知能。
勝手に条件変えてまでレスするとかどんだけ自己顕示欲が強いんだよ。
馬片山はさっさと帰ってママのチンポでもしゃぶってろ糞。
無限ループするかどうかは仕様の問題で、再帰で書いたら無限ループする処理を 非再帰で書いたら無限ループしなくなるってことはない。
「再帰でなら書こうと思ったら書けるけど、あえて書いてない」みたいな口ぶりだけど再帰でも書けないんだろうな。
456 :
デフォルトの名無しさん :2014/02/14(金) 22:09:18.63
>>454-455 レスありがとうございます。
あきらめて銀行員になろうと思います。さようなら。
>>456 気にすんな。
全然書けてないのに「だいだいできてるよ。マジマジ。だけどちょっとココだけが分かんないだよね」みたいな聞き方をするやつよくいるから。
最大のレス番号を記録しておいて、条件分岐みたいな
もういいです プログラムやめて簿記を勉強することにしました がんばって銀行員になります
460 :
デフォルトの名無しさん :2014/02/14(金) 22:42:42.32
死ね
ここまで自演
463 :
デフォルトの名無しさん :2014/02/15(土) 04:00:17.10
DOM使って無理やりしました 完成予定のHTMLのDIVのIDにtargetresがあるかどうかを調べ、targetresがあればその中に加工した文字列を追加で入れて、構造体配列からその要素を削除 という方法でゴリ押しでやりました 構造体配列から削除しながら行うため、無限ループも発生しません CよりJavaScriptでやったほうが簡単そうな内容ですね 但しこれはどんな言語でも可能なアルゴリリズムです アルゴリズムではなくてただの手法ですね
464 :
デフォルトの名無しさん :2014/02/15(土) 13:41:57.87
先生、 char *fgets(char *s, int n, FILE *stream の引数 n はなぜ size_t でなく int なんですか。
互換性の問題でしょ。
C使ってると頭が悪くなる。 やっぱHaskellだな。
467 :
デフォルトの名無しさん :2014/02/15(土) 14:07:00.81
アッセンブリー言語に比べると なんてお楽なんだと実感するC言語 ハスケルのようなもろ高級言語と比較するのがお馬鹿 俺はClojureの勉強はじめた Clojureやると芸大女とやれると聞いたからな
> Clojureやると芸大女とやれると聞いたからな これマジ?
マジなわけねえだろハゲ
インデックスレジスタが無限に使えるのがC言語。
>>467 fgetsが作られた時代にsize_tなるものは存在しなかった
故に互換性の問題
古のC…
俺の初めてのC言語はLatice Cだった 女にチンチン咥えさせながら書き下していたぜ
腐った古の人は要らないです。
そもそもsize_tはunsinged intの別名として割り当てられていることが多い。 だから前提としてsize_tとintは別物。 size_tが規格として定められたのがANSI C以降。 詳しいことは知らないけどfgetsがそれ以前に定義されていたら互換性のためにint・・・とか? fgetsの実装を見たけどsize_tではいけない理由はなかったし。
実装のソース呼んでいるうちにものすごくすれが進んでた・・・
しっかし、アッセンブリー言語の代わりに使う事情ならわかるが、今更C言語なんて使うって「腐った古い人」もろ出しだな そりゃ!Haskellやって三菱銀行女とやりまくり! そりゃ!Clojureやって芸大女とやりまくり! わはは!Common Lispやって東大女とやりまくりだぜ Cなんてやってるやつ、再帰書けんのとちゃうか? さてと、俺はClojureの勉強しようっと
479 :
デフォルトの名無しさん :2014/02/15(土) 14:37:35.71
理系のおじいちゃんはFortranが好き。
481 :
デフォルトの名無しさん :2014/02/15(土) 14:50:01.01
わしのどこが禿げとるちゅうんじゃ?
頭
( థ ౪థ)ばれちった
486 :
デフォルトの名無しさん :2014/02/15(土) 16:27:21.85
いまプログラム書いているんだけど、 ソースコードが混沌になりすぎてやばいwww だれかソースコード分割の定石教えて 趣味プロだからぜんぜんわからん できる人お願いします。
>>486 javaかC#にしろ。
コーディングの悪癖が矯正できる。
でかすぎる関数のswitch文のでかすぎるcaseの内容とか、関数化して呼び出しにすれば自然に分割出来る。
488 :
デフォルトの名無しさん :2014/02/15(土) 16:34:06.44
490 :
デフォルトの名無しさん :2014/02/15(土) 16:39:32.86
>>489 ほおほお
まずな、、、いまMVCって単語を知ったんだ。
無知ですまん。
なるほどとりあえず見直してみる。
UMLとデザインパターンおぼえろ。gprofとKCachegrindつかえ。
nginxの組み込みモジュールのテストとベンチってどうやって取ればいいんだろう。 ngx_mruby参考にしようと思ったけどテストコードが含まれていない。
493 :
デフォルトの名無しさん :2014/02/15(土) 17:06:12.56
公開ヘッダファイルと非公開ヘッダファイルってなんぞや 言葉の意味ではないです その差とか、使い方とか
494 :
デフォルトの名無しさん :2014/02/15(土) 17:06:54.91
出たw 無能の証でざいんぱたぁん()wwwwwwwwww
495 :
片山博文MZ無能 ◆T6xkBnTXz7B0 :2014/02/15(土) 17:25:47.88
>>493 Cで書かれたライブラリについて、ライブラリの利用者から実装をある程度隠すことができる。
例えば関数の実装をブラックボックスにして関数の宣言だけを公開することができる。
詳しくは、分割コンパイルとリンカーの仕組みを勉強するとよい
>>493 前者は皆さん使ってねってなDLL
後者は使わないでくださいねってなDLL
>>494 デザパタを上手く適応できないヤツが無能。
適用障害って何だww
-1を返すことのあるfputsとの対称性でintとか?
趣味でcとか何書いてんだろう
>>499 signed int返したところで、lengthには関係のない話じゃね?
デザパタは先人の知恵と言う奴だからな。
>>472 その時代って sizeof はなかったの?
504 :
デフォルトの名無しさん :2014/02/15(土) 21:13:24.61
while (1) { c = fgetc(src); if (c == EOF) return NULL; if (c == ';') for (;c = fgetc, c != '\n' || c != EOF;); if (c > ' ')break; } これってこれよりスマートにできる?
506 :
デフォルトの名無しさん :2014/02/15(土) 21:42:20.97
>>505 14行目の
while (c < ' ') の時点で
16行目の
if (c == ';')
はなくない
>>506 ミスってた修正した。
そもそも具体的に何をしたい部分なのか教えてほしい。
508 :
デフォルトの名無しさん :2014/02/15(土) 21:47:53.70
>>507 えーと自作インタプリタで空白除去とコメント無視のループ
コメントは ; で始まり行末まで。
空白は c <= ' 'で表現
そしてEOFでreturn NULL
511 :
デフォルトの名無しさん :2014/02/15(土) 22:05:15.46
512 :
デフォルトの名無しさん :2014/02/15(土) 22:21:07.37
static変数とグローバル変数って何が違うの?
static変数は他のコンパイル単位から直接参照できない。 グローバル変数はexternで他から参照できる。
514 :
デフォルトの名無しさん :2014/02/15(土) 23:22:54.75
>>513 externできるかどうかってことね
さんきゅ
参照できないから、重複も問題ないってのもあるかな
よし重福するぞ
前から後ろからですね
518 :
デフォルトの名無しさん :2014/02/16(日) 16:45:17.77
質問ですが、 char *str = "ABC"; char *str2; str2 = (char *)malloc(sizeof(char) * 3); strcpy(str2, str); str++; メモリ確保した位置から動かし、 free(str); のように確保した位置と別のアドレスで free するとどれだけが free されますか。
>>518 malloc()から渡されたアドレスをfree()に渡さないといけないから、それはできない。
あとmalloc()で確保するサイズは、3じゃなくて4だね。
520 :
デフォルトの名無しさん :2014/02/16(日) 16:59:57.02
>>519 おk!理解
そして早い回答で助かりました。
521 :
デフォルトの名無しさん :2014/02/16(日) 17:04:27.94
文字列操作をするのでなければ3でも構わない
雪が大変らしいのでそれを解決するPGを考えた PCをビニルに包んで防水処理をしたうえでこのPGをコンパして実行してほしい しばらくすると周囲の雪が溶けているはず while(1) { }
>>521 strcpyしてるだろ。シロウトは引っ込んでろ
525 :
デフォルトの名無しさん :2014/02/16(日) 21:13:42.63
だれか参照カウンタ型gcのいい教材になるサンプルもってない?
>>525 c++ならわかるが
plain cで参照カウンタって気違いだぜ
AddRef Releaseでググれ
MSのCOMが参照カウント方式。 C#が、ルートから辿れるかどうかで管理する方式で、循環参照しててもきちんとGCされるな。
529 :
デフォルトの名無しさん :2014/02/16(日) 23:17:21.19
アメリカかヨーロッパの人が書いてるSEOの入門サイトを教えてください。 言語は英語かフランス語でお願いします。
>>529 ググッてみたけど、SEOに群がる猿どもって、万国共通で反吐がでるな
532 :
デフォルトの名無しさん :2014/02/17(月) 20:26:00.72
SEOなんてこれだけやっとけばいい <TITLE> <UL> <H1>〜<H5> 後は完全に自己満足だから意味なし
専門の業者がいるわけだから自己満足なわけないだろ。
534 :
デフォルトの名無しさん :2014/02/17(月) 20:56:12.17
C系のフリーインデントに慣れてしまうとPythonとかやるの辛い
seo無視したサイトって構成が糞なサイトが多い
ferror で次のような値が返されたんですが、この値って何か意味を持ってるんですか? #include <stdio.h> int main(void) { FILE *fp; char buffer[512]; fp = fopen("SAO.txt", "wt"); fgets(buffer, sizeof buffer, fp); printf("ferror() : %d\n", ferror(fp)); fclose(fp); return 0; } /* ferror() : 32 */
書き込みで開いてるのに読み込もうとしてる
>>537 すみません。これは ferror を使いたくて書いたコードなんですが、
この値は多分そのエラーを表す数値だと思うんですけど、どんな定義になってるか知りたかったんです
>>539 うえ、そうなんですかー。ありがとうございました。
>>538 0かそれ以外を返すことが規定されている。
従って、32に意味があるとしてもそれを利用しようとするべきではない。
一般的なCの話をしているときに Linuxのマニュアルを持ち出すとは 相変わらずQは低脳だな。 規格の7.21.1とか7.21.10.3ぐらい出せ。
>>541 エラーかそうでないか の二択で考えればいいってことですかね。
意味ありげに 32を返してきたので、戸惑ってしまって。
>fopen("SAO.txt", "wt"); tって何だ
wtはundefined behavior つまりコンパイラーのマニュアルに書いてない限り 何が起こっても文句は言えない
>>547 知らなかった…重ねてありがとうございます
ネット上だとwt使ってるサンプルが沢山あってびっくり
大体 MS が悪い
アンチマイクロは何でもマイクロソフトのせいにしたがる朝鮮人
>>548 t は MS-DOS の名残、というか改行を 2 バイトにしたつけだね
>>552 ああ、テレタイプだったね、CR と LF が分かれていたのは
554 :
デフォルトの名無しさん :2014/02/18(火) 02:06:15.68
複数の<div>に同じidを指定して、 JavaScriptでdocument.getElementById(id名).style.backgroundColor='#FF0000'; とやったらどうなりますか?
その全てのdivの背景が赤になる。
556 :
デフォルトの名無しさん :2014/02/18(火) 12:12:07.20
Javascript スレ
>>554 コードまでわかってるならやってみればいいじゃん。
試すの面倒じゃん JavaScriptって未だにブラウザによって実装が違うから 1つのブラウザで出た結果で判断するわけにもいかない それにブラウザも全種類入ってればいいけど 入ってなければFireFoxとかChromeとかの地雷ブラウザをインストールしなければならない
それに比べたら2ちゃんの名無しの信頼性・有能性の方が優れてるな
今時VM環境も使いこなせてないカスがム板で暴れてんじゃネーよ
またスレタイすら読めないバカが来たのか 毎度毎度同じ奴だろうか
>>551 インターネットの通信の多くを占める
メール(RFC 5322)とHTTP(RFC 2616)の改行が
CR+LFなのをどうお考えですか?
565 :
デフォルトの名無しさん :2014/02/18(火) 19:05:43.49
C89→C99→C11 C言語も進化している
566 :
デフォルトの名無しさん :2014/02/18(火) 19:06:04.36
レスにID付くようにしろや糞
568 :
568 :2014/02/18(火) 22:26:55.33
工業高校の教科書、情報処理系の教科書には必ず昔からのってる ftpってあるんですが、これなんでしょうか?通信のプロトコルということは分かります。 これとC言語組み合わせて何か面白い簡単なプログラムを作りたいのですがご教授下さいますか? osで動くプログラムばかり作ってて、ネットワークという技術系は全然疎くて… 真剣な質問なので罵詈雑言はお断りします。
>>568 グーグルで検索すればある程度のことはわかるとは思うけど、一言でいうとファイル共有のための手順
>>563 これも CR+LFだねえ‥‥
570 :
568 :2014/02/18(火) 22:34:54.16
>>569 なるほどー
ファイル共有ってネットワークの技術に関わるんですねやっぱり
ネットワークプログラミングとか2台以上PC無いとできないから当面は
諦めますか…ありがとうございます。
>>569 ファイル転送だろう。なんだよファイル共有って
572 :
デフォルトの名無しさん :2014/02/18(火) 22:38:34.70
>>568 HTTPが普及する前、ファイルDLががインターネットの一般的な使い道だった
それがFTP=FileTransferProtocol
HTTPと同じく、安全性を高めたFTPSというプロトコルもある
UNIXだとHTTPよりサーバーの設定が楽だったから、昔はFTPサイトから構築するのが
サーバーの第一歩だった
いまでもリモート鯖へのアップなどだとFTP使ってるとこ多いね
573 :
568 :2014/02/18(火) 22:42:13.22
>>572 なるほど、ftpってwebとは全く関係ない技術なんですか
通信の最も核となるプロトコル、つまりpopやstmpなどの
プロトコルの下位というか中核かと思ってました。
>>570 仮想マシン上にLinuxとftpdセットアップして通信してみたらどーよ
>>573 FTPもWebだよ
何か各プロトコルの上下関係の認識が随分ズレてるみたいだから
各プロトコルが、OSI参照モデルのどのレベルに位置するのか調べてみ
>>568 PC1台でもネットワークプログラミングはできるよ。
PCでサーバーアプリケーションを立ち上げて、クライアントアプリからはサーバーの物理IP、もしくは localhost で接続すればOK。
両方が大変ならFTPサーバーはフリーのを持ってきて、自分はクライアントのアプリをCで書いてもいいし。
577 :
568 :2014/02/18(火) 22:47:29.15
>>575 なるほど、時系列的に言えばweb→ftpですもんね…
調べておきます。
>>574 LinuxとWindows切り替えって事ですか…
レベル高い…
578 :
568 :2014/02/18(火) 22:52:21.11
サーバーとクライアントが同じPCって事は、グローバルアドレスじゃなくて ローカルアドレス通信って事ですか
580 :
568 :2014/02/18(火) 23:01:46.84
プロトコルのソースコードってどうなってるんだろう 全く見当が付かない
>>580 プロトコルにソースコードは無い
意味わかって使ってないだろ
プロトコルってソースっつーかバイト列じゃないか
>>568 みたいな馬鹿には無理
仮想OS突っ込んで無料OSをインストールすることすら思い付かない時点で終わってる
585 :
デフォルトの名無しさん :2014/02/18(火) 23:05:17.25
それより言ってることやってることが違うのが一番の問題 >真剣な質問なので罵詈雑言はお断りします。 真剣な質問を2chでやってる時点で頭が残念
586 :
568 :2014/02/18(火) 23:06:06.01
>>583 大学の授業でvinelinux?が入ったPCで簡単な自己紹介サイト
作った事ならありますよ、何故windowsの状態からvinelinuxに切り替えて
サイト作ったのか全く意味が分かりませんが…
>>580 独り言はTwitterでやれば?
それともTwitterと2chの区別もつかないゴミ?
588 :
568 :2014/02/18(火) 23:08:32.74
>586:568 :2014/02/18(火) 23:06:06.01 [sage]
>>583 >大学の授業でvinelinux?が入ったPCで簡単な自己紹介サイト
>作った事ならありますよ、
えっ?
中学生か高校生だと思ってレスしてた。
高卒以上でこの程度なら終わってんじゃん。
>>587 ゴミに対して失礼だぞ
■仮想OSも自分で思い付かない
■2chとTwitterの区別がつかない
■スレタイすら読めない
■スレ違いの話で荒らしといて元々荒れてたような言い種
ITだけじゃなく人間としてゴミ未満だよ
>>579 あ、そっかインターネットと混同しとった
Webならhttpだからftpとは無関係だな、すまぬ
592 :
デフォルトの名無しさん :2014/02/18(火) 23:14:08.93
お前らイライラしすぎ、こういう生きてる価値のない奴はどこの職場にでもいるだろ。
593 :
568 :2014/02/18(火) 23:14:13.41
594 :
568 :2014/02/18(火) 23:16:35.90
数日前からスレ違いのネタ投下して荒らそうとしてた奴が本腰入れたんだろ
まともな知能があれば素で
>>590 の4連コンボは入れない
597 :
568 :2014/02/18(火) 23:19:41.55
>>595 荒らしてないっつのw
>>596 書き込んだの3か月ぶりですからそれは無いです
いずれにしてもすれ違いですいませんでした
2chで真面目な質問をするのが間違い ↓ スレタイを読めない、スレ違い 何となく矛盾してて草不可避 真面目ではないがスレ違いでもない書き込みが推奨されるのかw 超繊細で難しいw
>>597 3ヶ月ぶりだから知らんのかも知れんが
一部のスレに張り付いてた煽り荒らしがそこら中に出張ってる
そういうのにはレスしないでくれ
2chで真面目な質問するのが悪いとは思わないが 真面目な質問なのに、2chしか質問する相手(場所)がないのはチェックメイト寸前だろ
>>599 そういうお前がその荒らしにアンカまでうってレスしてんじゃん
602 :
デフォルトの名無しさん :2014/02/19(水) 00:31:57.37
まぁ嘘混ぜて書いてやったら 鵜呑みにして帰ったみたいだしwww
>>600 こういう質問ができる日本語のサイトってどこがあるんだろうね?
英語だと StackOverflow が便利だけど。
別に利用人口の少ない日本語で質問しなくていいじゃん。 まさか英語すら扱えない奴がプログラミング言語に手を出してるわけじゃあるまいし。
>>600 >チェックメイト寸前
必至、の問題集とかないですかね、詰め将棋を練習すればなんとかなるもんですか、全然わからん
568は中学生かパソコン初めて1週間目くらいの人かと思った。
>>606 は中学生か2ch始めて1週間くらいの人かと思った。
理由は「アンカーくらいつけろ」
それと、誤変換かもしれないが
「初めて」ではなく「始めて」。
アンカーと変換ミスの揚げ足取りが中学生っぽくていいね! それしかできない老害に見せかけて中学生っぽい無能さがにじみ出て素晴らしい。
609 :
デフォルトの名無しさん :2014/02/19(水) 11:31:31.47
わざわざ「理由は」なんて書いちゃうのが中学生っぽくて笑える。自由研究かな?
アンカー使う使わないとか変換ミスとか、 そんなとこしか書かないってのが定型文みたいでアホさをよく表現してる。
because…
中学生あんまいじめんなwwww
>>568 書かなくて良いから、Wikipediaの計算機とネットワークに関する項目を一通り読め
615 :
デフォルトの名無しさん :2014/02/19(水) 13:13:12.53
このスレではスレ違いの質問もOKです。 疑問に思ったことはどんどん質問していってください。 スレ住民が総力をあげて可能な限り回答します。
しません。StackOver Flowを読めか、IRCで質問しろしか返ってきません。
俺のチンチン、すこし元気ないんです。 どうすればいいかなあ?
エロゲ買え
619 :
デフォルトの名無しさん :2014/02/19(水) 18:21:43.28
おすすめのエロゲを教えてください
DMM.com
>>615 さんのtwitterIDかFacebookアカウントを教えて下さい。
疑問に思いました。
ディレクトリ指定してファイル読み込める関数ってCにはないのですか? 気になりました。
>>622 ディレクトリのない環境でも使えるように、言語仕様にディレクトリの概念はありません。
しかし、ディレクトリのあるOSではAPIが用意されている場合が多いと思われます。
624 :
デフォルトの名無しさん :2014/02/20(木) 01:14:00.56
構造体の宣言ってヘッダファイルでおこないますか、ソースファイルでおこないますか。
公開するかどうかによる
>>626 すいません。初心者につき公開非公開の概念がわかりません。
それともリリースの意味での公開でしょうか。
>>627 初心者を免罪符にする奴は何やっても無駄だからさっさと消えろ
お前みたいな奴はリアルでもゴミほどの価値しかねーんだよ
>>626 が相手のレベルを把握せずに薄っぺらい説明を垂れ流したのが悪い
だったら説明してみろ
>>631 薄っぺらいも何も分からないなら分からないで質問者が素直にもう1回聞き直せばいい話だろ。
それをわざわざ「初心者につき」とか言い訳するのが悪い。
頭が悪くて理解できないのをさも頭は正常で他に原因があるかのような言い訳をしたのが問題。
頭が悪いという現実を直視しない奴が悪い。
現実を直視せずに他の理由を探したりでっちあげたりする奴は成長しない。
成長しない奴には教えるだけ無駄。
>>627 カーネルがプロセスの匿名パイプ又は仮想デバイスを使ってダイナミックにアクセスできる状態なら公開
できないなら非公開
>>634 ダイナミックにアクセスできなくても
ホストプロセスがリンカに渡すアドレスをスイッチできれば
公開と同じ状態だろ
大前提としてメモリ上でリトルエンディアンでないとスイッチできないが
WindowsでもLinuxでもメモリ上では基本的にリトルエンディアン
>>635 それはバイナリがリトルエンディアンでコンパイルされてた場合の話でしょ。
コンパイラによってはビッグエンディアンでコンパイルするものがかなりある。
>>635 ネタに全く理解していない低脳レス wwww
つまりCELLは実体でdotted pairはexpressionだということだな
639 :
デフォルトの名無しさん :2014/02/20(木) 19:57:31.24
625です。
>>626 >>628 >>633 アホで迷惑を掛けて申し訳ない。 もう遅いですが以後気をつけます。
このアホにそれでも回答してくれた人ありがとうございます。
では自分でファイル分割のために分けているヘッダファイルは非公開になりますか。
そうであれば非公開時のヘッダファイルの書き方をお願いします。
間違えあればご指摘お願いします。
>間違えあればご指摘お願いします。 アホの自覚があるのにプログラミングなんかやろうとするのが間違い。
コーダーって大概馬鹿なんだけどw
何がわからないのか、さっぱりわからない
>>639 がんばれな
だんだん良くなるほっけの太鼓
あきらめるな
特に今更Cやってるなんて底辺ですと自己宣伝してるようなもの
>>639 迷惑かけたとか微塵も思ってないくせにそういうこと言わなくていいよ
以後気をつけるとか言って気をつけてないじゃん
本当にもう迷惑かけるつもりがないなら二度と書き込むな
このスレは騙りでも入れ食い状態になるからなww
main.hとか流行りそうだなw
651 :
デフォルトの名無しさん :2014/02/20(木) 20:22:08.13
>>645 ハロワ行くとCの案件やたら多いけどやっぱそうだったのか
C+Qtで魚群探知機の設計が25万くらいだった
>ヘッダファイルには公開するものを書くんだよ こいつ仕事でC使ったことないだろ。 こんな認識でヘッダ書いてたら(ry
654 :
デフォルトの名無しさん :2014/02/20(木) 20:28:00.11
625です。 自分で気をつけているつもりですが、 迷惑になっているので最後の書き込みにします。 まず職業プログラマではありませんので底辺とかはない、と否定しておきます。 最後に、なんだかんだで教えていただき皆様ありがとうございました。
655 :
デフォルトの名無しさん :2014/02/20(木) 20:32:03.36
底辺を馬鹿にしちゃいけない アホSE,アホベンチャー社長がエクセル方眼紙やパワポで威張ってられるのも 底辺がしっかり仕事してるからだ
>>654 結構たくさん釣れたじゃん!
よかったな!
>>654 ファイル分割はJavaでもC#でもいいからデザパタの入門書を一読すればさっくり理解できるよ
馬鹿だから入門書読んでも「やっぱり初心者には難しい」となる 終わってる
660 :
デフォルトの名無しさん :2014/02/20(木) 20:39:13.15
読んでわかるもんじゃないし、何事も初心者には難しいのは当たり前 要は必要性と根気
661 :
デフォルトの名無しさん :2014/02/20(木) 22:31:26.40
>>655 の言う通り
>>金持ち共
いいか、あまり底辺を馬鹿にすると全員仕事やめて生ポに走るぞ
そうなれば搾取元を失ったお前ら金持ち共は終わりだ
初心者は公開とか非公開とか気にせず 関数は必ずヘッダにプロトタイプを書くと覚えておけばよい 惑わせるだけのムダ知識は不要
もうナマポにならせていただきました ごっつぁんです
664 :
デフォルトの名無しさん :2014/02/20(木) 23:27:49.37
エロ画像掲示板をチェックしていたら、すごく可愛い女の子の写真が貼られ始めたので、ずっとその画像を追っていきました。 服を着て色んなポーズをとった写真から、だんだんと服を脱いだ写真に変わっていき、やがて下着姿になりました。 わたしのイチモツも下着の中で窮屈になったので外に出しました。 下着も撮影用のエロエロなやつだったので、大興奮して、こんな可愛い女の子が脱ぐなんていい時代になった、と思いました。 やがてブラジャーが外されると形のよいおっぱいがあらわになり、パソコンの前でわたしのイチモツもビンビンになり、先端からは透明な汁がにじんでいます。 そしてその子のポーズはTバックをはいた尻から、正面になり、いよいよTバックに手がかかり、下ろされました。 ─────そこには逞しいものが写っていました。 モザイクはかかっているものの、明らかにわたしのものより立派なイチモツです。 みなさんわたしを助けてください。 具体的には写真から男女を判別するコードの書き方です。 もちろんここはC言語のスレなのでC言語のコードです。 このままではインターネット上で暴れているこのような卑劣な輩にやられるばかりで悔しいのです。
>>664 おいらの白濁液もオーバーフローしてまいりました。
667 :
デフォルトの名無しさん :2014/02/21(金) 10:19:08.24
if (recognizeSex(img) != WOMAN) { deleteImage(img); } else { saveImage(img); }
人間が見て判別がつかないものまでやらせる気か
671 :
デフォルトの名無しさん :2014/02/21(金) 13:39:10.83
>>669 人間にできないからコンピュータに任せようってことだろ
板違い
>>664 本物と同じ機能をもつ偽物には、本物以上の価値がある
>>675 もしもそれが女のように泣き、女のように喘ぐのなら、それは女である
共にソケットは2つ以上あるから問題ない。
>>677 これいえないね
そのかぎりではそうなんだ
でしかない
質問です。 fscanf(fp1,"%d",&x); a = (int)(powl((double)x,95.00) / 323); としたいんですけど実行すると進みません。 教えてください!
ボクも教えて欲しいことがあります! よろしくお願いします!
俺の得意技か? トルネード五箇所攻め 女アヘアヘだぞ
int main() { } 教えてください!
なになに? インポ メンスで空振り
ζ / \ / \ / \ /ヽ. /\, ,/\ \ |llllll| ⊂・⊃ ⊂・⊃ | (6――∴‐○´U○∴―| ____________________________ \ ||||||||| / / \ / <=> / < 教えてくれよ、ここに書き込む質問者はなんで説明が下手なのか? >―――< \____________________________
>>686 わからないものは、往々にして、何がわからないかすらもわからないことが多い
@手も A足も main(B出ま) { Cせん }
>>677 狂人の真似とて大路を走らば、即ち狂人なり
徒然草第八十五段
690 :
デフォルトの名無しさん :2014/02/21(金) 19:59:28.73
ボケモンゲットだぜ!
691 :
デフォルトの名無しさん :2014/02/21(金) 20:28:29.59
freeによって解放された領域ってどうなってるんですか? HDDからファイルを消した時(消す動作をした時)、ディスク上では消去された 目印が付くだけで実際に消えるわけでは無いんですよね? だから復活させるソフトもあるわけで。
そりゃあもう大変な事になってる
z80の原理からやってろボケ おめーのよーな低能が質問していい場所じゃねーよ 知能指数の低いksが口を開くなアホ 小学校からやりなおしてこいボケ
>>692 消去された目印がつくのではなくて、
つかわれてますって目印が消えるかんじね。
つうか実装による
C言語使いは品位がない人多いなあ 知的レベルが低いんだね
>>691 ダックタイピングって言語機能としては手軽でシンプル、便利な考え方だと思っていたが、
何か大切なものを欠いている気がしてきた。
struct {
base_value value;
} base_data;
struct {
struct base_data base;
spec_value_t spec_value;
} spec_data;
base_value v = ((struct base_data) spec).value;
穴があるからキャストしても良いのか。本当に良いのだろうか
>>699 それダックタイピングしちゃアカンやつや
>>695 あ、そうでしたね。
で、ディスクと同じような状況なんでしょうか?
>>696 まぁ動いているマシン、OSが多岐に渡る以上一概に言えないんでしょうが、、、
702 :
デフォルトの名無しさん :2014/02/21(金) 22:03:16.02
何でそんな話になってんの?
>>700 ダックタイピングって、オブジェクトとして存在してることを仮定してるからできる
のであって、Cには適応出来ん考えだよな
704 :
デフォルトの名無しさん :2014/02/21(金) 22:18:23.76
Cで文字読み込む時ってどうやって1バイトか判断してるの? 例えば漢字何かがきたときはエラーが出ませんか? >1.txt >cat >abc漢字def 1.txtからfprintfで文字を読み込むとき"漢字"はどういう扱いされるんですか?
fprintfでは読めないから心配しなくて良い
707 :
デフォルトの名無しさん :2014/02/21(金) 22:25:58.64
>>706 まずは漢字を文字コードに変換するのでは?
つまり
Cプログラム→機械語→機械語が表示されてる文字をコードに変換
→コードを取得→配列等に文字を格納
こうでは?文字コードがあれば読み込めると思いませんか?
何のための文字コードだかw
ちなみにUnicodeは単なるマルチバイトじゃないからな
fscanfのつもりで、%cで読み込むつもりなら、読み込まれるのは1バイト単位。 Shift-JISなら、漢字の前半1バイトもしくは後半1バイトが読まれるだけ。 1文字単位で扱いたければ、読んだバイト列のコードから1文字を判定すればいい。
711 :
デフォルトの名無しさん :2014/02/21(金) 22:50:25.13
>>709 数少ない知識をわざわざ披露しに来なくていいから。
「はーい!はーい!ぼくちんこれ知ってまーす!」オーラが強すぎてキモい。
712 :
デフォルトの名無しさん :2014/02/21(金) 23:10:11.51
>>710 凄いすっきりした、ありがとうございます
前半1バイトってそれっぽいな〜w
fscanfはコードで読み込んでるんですか?
文字自体で読み込む関数とかありますか?
「文字自体」なんていうものが扱えないから文字コードをつけてるんだよw
>>703 >>699 だけど、構造体のある部分、特に構造体の先頭nバイトが共通してる(ように設計・定義した)場合、
構造体や構造体へのポインタに対してキャストしてアクセスするのは全然OKだし、何の問題もないはずなんだよね。
これをダックタイピング的なアクセスと呼ぶべきかは別として。
でも
>>691 を見ても俺のちんちんは「やめとけやめとけ、後悔するぞ」って言ってるし、
理論の確からしさと感覚的なおかしさにかなり齟齬があるんだよね。よくわからなくなってきたわ。
>>700 アウトプットストリームさんは穴があったら入れとけって言ってた。
715 :
デフォルトの名無しさん :2014/02/21(金) 23:42:13.54
パズドラうざい あんな幼稚なゲームの何が楽しいの? ヴァンホーテンのココアの紙パックにまでパズドラの広告のせるなよマジでうざい
日本はパズドラとAKBでできている
>>712 コンピュータというのは、0か1そしてその集まりの値でしか情報を扱えない。
なので、文字もそれに割り当てた文字コードでしか扱うことが出来ない。
もし、ファイルから1文字単位でコードを読む方法ってことだったら、
ファイルをワイド文字(ucs2)にして、fwscanfで読むという手も有る。
個人的には、こういうのはC#で書いてしまう。
あれだったら、ほぼどんな文字コードのファイルでも扱えるし、
文字コードの知識が無くても1文字単位での読み書きが当たり前に出来るから。
718 :
デフォルトの名無しさん :2014/02/22(土) 00:18:32.38
>>717 文字で読み取るってバーコードリーダーとかOCRとかありますけど
あれはコードじゃなくて文字では?
>>718 OCRにしろ画像データは0と1の羅列として扱っている。
文字画像という0と1の羅列と、文字コードという0と1の羅列を対応づけるプログラムがOCRだ。
720 :
デフォルトの名無しさん :2014/02/22(土) 00:25:45.53
>>719 printfなどに限っては文字自体を扱ってるんですか?
だって表示できるじゃないですか、ドットでしょう?
良く分からないんでkwsk…
721 :
デフォルトの名無しさん :2014/02/22(土) 00:37:59.85
PostgreSQLでのデータベースの設計で悩んでいます。 TIMESTAMP型から西暦を求めるデータベースはどう設計するのがいいでしょうか。
VCの場合は 設定で、マルチバイト/ユニコードの切替えスイッチがある。 それで、入力された文字列の内容を解析すると、 1バイトアスキーや漢字コードなどの混在が再生できる仕組みになっている。 もし、漢字の途中で切れたなら、そこが文字化けする。 文字コードについて調べると膨大になるので、調べてみ
ソースコードを目でみる限りでは文字に見えるかもしれないけど、 プログラム上はそれは文字コードの並びとして扱っている。 printfで文字コードの並びを出力すると、 OS側で、漢字の前半1バイト目と後半2バイト目のコードが続けて来たから、 これは何の文字かと判定して、それに対応するフォントで画面に絵を書いている。
724 :
デフォルトの名無しさん :2014/02/22(土) 00:41:13.00
VCでシングルバイト設定は無理なんですか? マルチもユニも田倍とコードじゃないですか
1バイトの文字列ならば、出力は1バイトの文字列になります。
マルチバイトは、SHIFT−JISのことです。 これは、ASCII プラス漢字コードです。 ですから、1バイトアスキーを含みます。
727 :
デフォルトの名無しさん :2014/02/22(土) 00:51:50.37
すいません。 西暦ではなく和暦の間違いです。
普通に開始年月日と終了年月日じゃだめなの? warekitable name TEXT //明治、大正、昭和、平成 start TIMESTAMP end TIMESTAMP SELECT name FROM warekitable WHERE mydate >= strt AND mydate <= end;
ヘタクソなDBだな
>>727 date型でもいいのかな?
create table gengo (gengo text,start date);
insert into insert into gengo (gengo,start) values ('明治','1868-9-8'),('大正','1912-7-30'),('昭和','1926-12-25'),('平成','1989-1-8');
drop function wareki(date);
create function wareki(date) returns text as
'
declare seireki alias for $1;
gengo text := ''''; year int := 0; ret text := '''';
cu cursor for
select gengo.gengo,gengo.start from gengo where start = (select max(start) from gengo where start < seireki);
rec record;
begin
open cu;
fetch cu into rec;
gengo := rec.gengo;
year := extract (year from seireki) - extract(year from rec.start) + 1;
if year = 1 then ret := gengo ||''元年'';
else ret := gengo ||year || ''年''; end if;
ret := ret || extract (month from seireki) ||''月''|| extract(day from seireki) || ''日'';
return ret;
end;
'
language 'plpgsql'
;
select wareki(current_timestamp::date);
731 :
デフォルトの名無しさん :2014/02/23(日) 02:15:28.52
double型ってメリットあるんですか? 1.23*e^(-12) とかこういう表現すると分かりにくくないですか? 1.2342342323523と長く続くものを 1.23*(e^-10) みたいに短くしてるんでしょう? 基数eが10だったら分かりやすいですが ネピア数なので、想像がつかないと思いませんか? 何故double型は使用されているのでしょう?
実数で計算をしたいと思ったら事実上唯一の手段な訳だが ついでにCに於けるeは自然対数の底ではない
734 :
デフォルトの名無しさん :2014/02/23(日) 17:27:11.95
735 :
デフォルトの名無しさん :2014/02/23(日) 17:50:00.61
というか有効桁数15桁なのに 無駄に8バイトもある理由が分からん
理由は秘密です
floatとdouble 扱える数値の範囲が違う、桁数が違う。 計算すると精度が違ってくる。 微妙な計算をすると、結果が微妙に違ってくる。doubleが正しい。 使える数字の範囲を越えたなら、オーバーフローして結果が出ない。 使うメモリも違う、速度も違うけど今なら同じ。 昔、8ビットCPU時代なら違うけど、今は32ビットCPUだから同じ。
739 :
デフォルトの名無しさん :2014/02/23(日) 18:20:27.87
double x;float y; x=14232342342323.324; y=123.324; printf("%f\n",x); printf("%f\n",y); >1.out >14232342342323.324000 >123.323997←????????????? 確かfloat型って7桁までは正確じゃなかったんですか?これ6桁なんですけど… 原因が分かりません。
もうだめだ、プログラミングややこしすぎる、これも何故でしょう? printf("%f\n",x); printf("%e\n",x); >14232342342323.324000 >1.423234e+013←???????????????何故7桁??? 細かいところで躓きまくりです。
>>738 >floatとdouble
>速度も違うけど今なら同じ。
>昔、8ビットCPU時代なら違うけど、今は32ビットCPUだから同じ。
20世紀にはそんなこと言ってたジジイが居たけど、
今時のCPUのSIMD命令を使うとfloatは並列度が2倍になるので、
実数型は必要精度を考えて選択すべし
浮動小数点演算の詳細は、 IEEE の浮動小数点 で決まっている。国際的なルールになってる。詳細は規格書を読んで欲しい。 国際標準だから、決まり事としか言えない。 そして、世界共通。
固定小数点の何が固定なのか未だに分からん 固定されてないじゃん小数点
Cでは固定小数点数は言語仕様としてはサポートされていないからわからなくても心配するな
float使うメリットなんて皆無。
746 :
「ガスライティング 集団ストーカー カルト」で検索を! :2014/02/23(日) 19:36:35.64
★マインドコントロールの手法★ ・沢山の人が偏った意見を一貫して支持する 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法 ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法 ↑マスコミや、カルトのネット工作員がやっていること TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、 カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。 リアルでもネットでも、偽装左翼は自分たちの主張に理がないことをわかっているのでまともに議論をしようとしないのが特徴。 ,
doubleよりfloatの方が速いCPUもあるべ
レアケースでしょ
お宅のPCはfloatの方が速いの?
古に8bitマイコンというものを使ってたお爺ちゃんは何故かfloatが好き。
浮動小数点型と整数型の違いは理解しておいた方が良い。
組み込みでは浮動小数点を使わないようにプログラミングする
演算量が多いときは、floatの方がSIMDを使えて高速になるケースもある。 しかし、演算精度の管理や暗黙の型変換の抑止など、考慮すべき点も多いので必要に迫られなけれfloatを選択するべきではない。
レアケースでしょ あるというならそのケースを明示してくれmせんか? 従軍慰安婦じゃないんですから。
iPhoneとかはfloatの方が速いよ
>>757 ああ、はいはい
FFTを使った解析プログラムを作った事がない初心者さんですか?
>>758 正直申し訳ないが畑違いなのでむかーし学生の頃に軽く舐めたぐらいだねぇ
10年前ですら誤差ですよと昔話のように語られてた話なのでにわかに信じがたいんだわ
非初心者を自負するならきっちり環境明記して具体例を出して欲しい
OpenGLとかDirectXのプログラムもfloat多用してる
だからなんだよw
floatなんて使いたくない 危ない危ない
doubleで作ったのとfloatで作ったの2つ用意してユーザーに選べされせば完璧って言いたいんだろ
単に
>>747 の実例聞いてるだけなのに、FFT とか OpenGL とかで誤魔化したいだけだろ
標準偏差取ったりとかの普通のプログラムではdobleをfloatに変えるメリットは無かとです。 遅くなって精度が落ちるだけ。
>>766 > 遅くなって
遅くなる根拠は? きっちり環境明記して具体例を出せよ
> 精度が落ちるだけ。
どんなデータの標準偏差計算するんだ? 身長やテストの点数ならfloatで十分だぞ ww
「値が-100〜100しか取らないのでsigned charを使いました」 的な残念さがある
で、どんなデータの標準偏差求めるの?
チンケなプログラムに遅いとか速いとかどうでもいい 必要も無いのに無駄に切り詰めるのはバカのやること 皆doubleでよろしい
つまり、オンナは一人にしぼらなくてもいいわけだな。 たくさんいたほうがいいんだな、やはり
計算によるだろ。 メモリバス帯域が問題となるような3D処理とかはfloatが普通
んだからiPhoneだとdoubleの演算よりfloatの演算の方が速いってば
つまりサイズ自体を節約したい場合はfloatで そうじゃなければdoubleでよいということ
>>776 てか、float/doubleの切り替えはマクロな訳で比較自体が無意味なんだよな
プロファイラかますと
あぁ、他でやることやれよってなオチになる
CPUにFPUが統合され(80486: 1989年)、単精度演算も倍精度のFPUを使って 行うようになった。 これを根拠にdoubleもfloatも演算時間は変わらないので、全部doubleにで良い というノウハウが生まれ、そのように記述してある書籍も出版された この頃にCを学んだジジイはfloatは遅いdouble使えと呪いをかけられている インテルはMMX(Pentium :1993)を拡張し浮動小数点演算を実行可能にした SSEをPentimu3に搭載した。SSEは単精度のみのサポートであり、コンパイラの サポートも本格的ではなかった Pentium4からサポートされたSSE2では倍精度がサポートされ、さらに当時性能 が逆転していたAMD64ではFPUにかわりSSEを使う事が標準となった。 同一精度でもFPUよりSSE2を使った方が高速に演算できる。 SSE2を使う場合は「遅くなる」とされている単精度→倍精度→単精度の変換が 不要なので遅くなる要因は無い この時点で、老害ジジイにかけられた呪いはx86アーキテクチャに置いて全く意 味を持たない誤った迷信になった 老害ジジイが信じている迷信が成立する実働環境(Pentium3以前)は既に存在し ないと思われる
スピード気にしないオモチャプログラムなら全部doubleで良い つか、そんなのExcelで十分
すまんな、古いCPUを使ってる。 1GHzを越えてたら不満が無いから、、、、
てか、速さはSSE使ってもfloatもdoubleも変わらんと結論出てるじゃないか。
float有利って、用途的にはゲームCGに限った話じゃね? 精度が必要な計算じゃ使えんし。
floatは4個の並列演算ができる、douleは2個しか並列演算できない
786 :
デフォルトの名無しさん :2014/02/23(日) 23:14:06.55
floatがdoubleより遅いってことはない。昔はdouble型にキャストしてて遅かったときがあったようだが。 あと計算速度とは別にfloatはサイズが小さいのでCPUキャッシュ残りやすくロード・セーブで有利。
floatが遅くなるケースは幾つかあるよ。 調べるのが面倒だからx86で説明するけど、、 例えばfloat a = i / 3.0; とすると、float a = (float) ((double) i * 1.0/3.0)に相当するコードが生成される。 これは暗黙の型変換の所為なので、float a = (float) i / 3.0f; のように明示的にfloatのみで計算させないと確実に遅くなる。 SIMDで速くなるケースは例えばこんなループ。 float a[SIZE], b[SIZE], c[SIZE]; for (int i = 0; i < SIZE; ++i) {a[i] = b[i] * c[i];} SSEを使えれば、floatの方が同時に計算できる回数が倍になるので倍近くの処理速度を得られるってわけ。
>>784 音声処理とか画像処理もsingleで十分 人間のセンサーはそんなに性能良くない
> 精度が必要な計算じゃ使えんし。
具体的に何?
789 :
デフォルトの名無しさん :2014/02/23(日) 23:29:44.99
アセンブラはしらないが、float型はハードウェアに単精度計算させて無変換だろ。 倍精度に変換するコンパイラ/PCもありえるだろうが基本は単精度だろ。
>>788 >音声処理とか画像処理もsingleで十分
それはDTMerから異論が出そうだな。
>具体的に何?
CADだな。 電卓においてはdoubleも使えん。
>>790 > それはDTMerから異論が出そうだな。
必死すぎるぞ、おじいちゃん
CD音源は16bit/44.1kHzなのでsingleで十分
> CADだな。 電卓においてはdoubleも使えん。
機械系CADは門外漢だが、そんな精度が必要と思えん
つか、整数演算じゃないのか?
電気系CADでdoubleが必要になるのはspice等アナログシミュ
レーションの分野で、極めて特殊な領域と言える
最近のDAWは32bitどころか64bit処理を売りにしてたりするよね
793 :
デフォルトの名無しさん :2014/02/24(月) 00:17:32.99
精度と言えば、シャープの新しい電卓。 ピタゴラスって、三角関数の精度悪くなってない? 二個足すとかなりずれるから全部計算しないといけないんだけど。
最近だとGPUに渡す値くらいかなぁ、floatにしてるのは そもそもC言語自体、不動小数点数はdoubleが基本なんだろうし
>>794 DAWのたぐいって浮動小数点で処理してるらしいよ
機械CADだって、強度解析するんじゃねえの 3Dなら浮動小数点演算もいるだろうし
798 :
デフォルトの名無しさん :2014/02/24(月) 00:40:33.77
するね。 強度、温度、流体、とかだね。 まあ俺は勘と経験で解けるからFEMとか必要ないんだけどね。 本気にすんなよ!
>>795 関数プロトタイプが無かったので不動小数点はdoubleに決め打ちした
そうしないと全ての関数呼び出しでキャストのような方々で精度を指示しなきゃならない
またカーニハン達がCを作った頃は数値計算はFORTRANが主流だったのでスピードやデータサイズを気にする
大規模なものはFORTRANでやればいいということになっていた
一回なら仕方ないけど何回も何回も同じ誤字が続くとあほなんかな、と思われるぞ
ああ、IMEがマヌケな学習してたわ
単純にn回繰り返したい時でもforしか方法はないのかな cのforってデラックスなwhileなのか
803 :
デフォルトの名無しさん :2014/02/24(月) 01:39:27.32
deluxe-whileという構文はあったかもしれませんね。
>>799 今でも数値計算の分野ではFortran現役なんだが。
floatの一番の問題は、shortと同じで暗黙の型変換でしばしばdoubleに格上げされること。 今のCは昔のCと違ってfloat同士でも演算できるが、さっきも書いたが整数から格上げされるとdoubleなんだから始末に負えない。 ついでに言えば、その整数をfloatに変換すると表わしきれない問題もあるな。
808 :
デフォルトの名無しさん :2014/02/24(月) 06:51:55.56
それはコンパイラ依存だろ。暗黙にしなかったらいい。 逆にfloatへ変換されてしまう事もありえる。
プロモーションは‥‥うかつに 3.0 とか書くと速攻で double に格上げされてしまうね、キャストがかかせない 引数については、前方参照を排除するかプロトタイプをきっちり書くか‥‥ しかし不定長引数のではいかんともしがたい、いや不定長引数のプロモーションについては昔 lisp の方と意見が相違していたので、本当のところはよくわからない。 上の方では double は労咳専用と散々だが‥‥
struct baka {float v;}; void f(struct baka); これでOK
>逆にfloatへ変換されてしまう事もありえる。 ねぇよ。
大学の偉い先生がFortranしかわからなかったりするんだなw 糞難しい理論は分かっても他の言語は読む気が無い。 研究室で古いコードが生きてたりするし。
DSL > コンピュータを使う人間向け 汎用言語 > コンピュータに使われる人間向け 後者が進行すると自分の首輪の鎖を自慢するという症状がみられる
>>815 以下があって面白いね。
数値解析屋にとってCが使いにくいのは、テキストファイルから数値を読み込み、
多次元配列変数に保存してサブルーチンに渡す、というような、数値計算で必ず
必要になる一連の処理をどうすれば実現できるのかが分かりにくいという点です
ね。
Cでこれをやるには文字列処理の方法やポインタの概念を理解する必要があり、
Fortranなら2〜3回目の授業でできることでもCなら数ヶ月後、ということにな
ってしまう。
しかも、授業ならともかく、多くのC入門書ではこういう処理の解説がなされ
ていないので、独学だとなおハードルが高い。
日経ソフトウェアが糞みたいなC言語入門連載やってる
土方なんで首輪の鎖自慢できるくらい上達したい。
やっほ−ふぉ−とらんらんらん
823 :
デフォルトの名無しさん :2014/02/24(月) 20:35:10.21
Python仕事で使ってるが、帰り値の型は明示しないのが気持ち悪い バグが発見しにくい cは良かった
826 :
デフォルトの名無しさん :2014/02/24(月) 22:34:36.86
K&Rがあれば後はな〜んにも要らない。
>>814 プログラマは中高卒の仕事とか言っちゃう先生だろ
829 :
デフォルトの名無しさん :2014/02/25(火) 09:23:15.88
明解C言語を始めたのですが 読みながら練習問題を解いていく感じがいいですか? それとも例題も全部うっていったほうがいいですか?
俺なら 例題は、まずノートにペンで書き (それなりによく)理解してから PC上にタイプして実行させてみる。 慣れてきたら、そこからデバッガなとで変数やポインタの値を見たり、応用したりする。 で、課題の理解と周辺知識(と認識)をそれなりに充実させてから次の課題に進む。 基礎過程はじっくりじっくりやるほうか結果的に大きな伸びしろを準備すると思う。 天才君は別だろうけどね。
>>829 プログラミング自体が初めてなら、C言語は入門用言語としては不向き。
動作させるのも、デバッグするのもコストが高い。
JavaかC#でプログラミングがどういうものか掴んでから
C言語にしかない概念(ポインタが隠蔽されてないくらい?)と習慣を勉強したほうが早く習得できるよ。
プログラミングがどういうものかっていう感覚はどの言語も一緒だから、
その感覚を習得するのに、コストが何かとかかるCは進められない。
タイピングがよほど苦でなければ打って行った方がいいというべきところだが 教科書どおりに打ちこんでもすんなり動く環境を作るまでがヤマになりそう
マイコンと電子工作とからめて実際Cで何か動く(Lチカレベルでも)ものを作り ながらやったらいいと思う。まぁ合う合わないがあるので一概には勧められないが。 気になったら、零からの電子工作 マイコン編 で検索してみてくれ。
htmlはプログラミング言語じゃないのに、cssがプログラミング言語なのは 何故ですか?何故htmlとプログラミング言語であるcssを組み合わせる事は可能 なのに、C言語とhtmlは組み合わせ不可能なのですか?
>>834 >htmlはプログラミング言語じゃないのに、cssがプログラミング言語なのは何故ですか?
cssはプログラミング言語じゃない
>C言語とhtmlは組み合わせ不可能なのですか?
C言語とhtmlは組合せ可能
cssはメタデータを扱えるからプログラミング言語だろ
ポインタの概念は抽象的にリスト操作を学んでも得られる。 CPUのインデックスレジスタで学びたい? 止めはしないよ。
htmlも複雑な計算はできないが、計算自体はしてるので厳密に言えばプログラミング言語だろ 例えばリスト構造で要素に連番付ける事ができるのは「加算」の機能がhtmlパーサーに備わってるから、 Cで言えばインクリメント機能++,--だね それでもプログラミング言語ではないっていう人が多いけどね、意見分かれるんだよここらへんはね
チューリング完全?
プログラミング言語(プログラミングげんご)またはプログラム言語(プログラムげんご)とは、 コンピュータに対する一連の動作の指示を記述するための人工言語の総称である[1]。 この一連の指示をプログラムと呼び、それを記述することをプログラミングと呼ぶ。
>>834 htmlはプログラミング言語じゃないのに、cssがプログラミング言語なのは
何故ですか?
CSSとJavascriptを混同している
あえて言えばHTMLという古臭い仕様を残したまま後付けでいろんなことをやろうとしたから
>何故htmlとプログラミング言語であるcssを組み合わせる事は可能なのに、C言語とhtmlは
組み合わせ不可能なのですか?
ブラウザさんの頑張りが足りないからCSS/JavaScriptしかできない
だが無料で安全で何でもできるというのはドリーマーすぎる
プログラミングの意味を広くとるか狭くとるかの違いですね
htmlも複雑な計算はできないが、計算自体はしてるので厳密に言えばプログラミング言語だろ 例えばリスト構造で要素に連番付ける事ができるのは「加算」の機能がhtmlパーサーに備わってるから、 Cで言えばインクリメント機能++,--だね それでもプログラミング言語ではないっていう人が多いけどね、意見分かれるんだよここらへんはね ↑ もっともらしいけどどうなん?
チューリング完全で無いからプログラミング言語では無い
文字の大きさを変えたりできるのにプログラミング言語じゃないとか 難解すぎワロスw
全然もっともらしくない インクリメントしなくても全ての番号を持ってればいいだけ htmlをプログラム言語と呼ぶのは無理がある ただTeXはプログラム言語といってもいい
阿呆? ブラウザはParserだ。 Parserが解釈する対象には必ず言語構造がある。
TeXって教師がテスト作るときに使用する奴ですよね? ではexcelはプログラミング言語ですか?
>>849 テストに使ってもいいけど、元々は学者の論文用。
数式てんこ盛りのね。
Cファイル→Cコンパイラが解釈してカーネルに命令列を送信 htmlファイル→htmlパーサーが解釈してカーネルに命令列を送信 何故、htmlはプログラミング言語でないのか?
ねらーが好きそうな話題だな
実は
>>834 頭良さそう
入出力がある、制御構造がある、がプログラミング言語の要件じゃなかったっけ? 計算って、コンピュータ内で処理するものに計算が伴わないものがあるのか? htmlはあくまでデータ構造であって、それを理解するのはブラウザ側の役割でしょ
言語構造があってもプログラミング言語であるとは限らないのでは? HTMLがプログラミング言語を最初から意識しているならば HTMLと名付けはしないだろう
インタープリタが解釈する構造であることは確か。 そこから先は単なる規約でつまらん。
世の中の全てのコンピュータ言語がマークアップ言語だけだったら インターネットを利用するときは、何の動きも無い、仕掛けも無い 静的なページしか見れなくなるんでしょうか?
>>856 世の中の全てのコンピュータ言語がマークアップ言語だけの世界では
コンピュータを動かすほどの能力を持つマークアップ言語が存在しているということだから
インターネットを利用するときに、動きのある、仕掛けのある
動的なページが見れる
わはは HTMLがプログラミング言語? プププ ふだんどんなプログラム組んでるんだ どひゃひゃひゃ 「HTMLもプログラミング言語と見なせます」 うっぴゃぴゃぴゃー
哲学的とは言わない 自己演繹的な閉じた作り物 意味のための恣意された作り話でしかない
無知な土方の勝利宣言
やはり哲学音痴多いな やれやれ 面白い やれやれ
連中に必要なのは繋いでおく鎖と働かせる鞭。 自分達は頭脳労働者だとホルホルさせるのは有益だからあんまり叩くな。
ブラウザはプログラミング言語で htmlはマークアップ言語って理解でよろしいか?
多くのコンピュータ言語のうち、特にチューリング完全な処理を表現できる言語のことをプログラミング言語と呼ぶ
ホワイトカラーだと思って入ったらブラックだったでござる
社畜が偉そうに
htmlで音楽流せるわけだけど、プログラミング言語超えてませんか? マークアップ言語は計算はできないけど高度な事はできるという認識でOk?
> 世の中の全てのコンピュータ言語がマークアップ言語だけの世界では > コンピュータを動かすほどの能力を持つマークアップ言語が存在しているということだから 対象とする個々で評価すべきだろうけど 間接的に「チューリング完全を満たしそうな雰囲気はある」ということになるのか?
40もレスついたのにまだ物足りないのかよ 欲しがるな〜
PGでCでコード書く仕事してる人って、大学で数理論理学を学んだりするんですかね?
javascript使わなくても音楽流せるのは何故?
音楽ならオルゴールでも流せるが
CRTディスプレイから火を吹かせる危険なCコードが昔あったとか。
htmlパーサーって何言語で書かれてるの? Cコンパイラって何言語で書かれてるの?
パトラッシュ、(以下略
htmlだけで計算をするソースコードって書けますか? 3×2=6という計算をjavascript、cgi使わずにです。 無理ですか? そんなhtmlファイル keisan.html作れたら面白いかなと思いますけど。
自分でやりなさい。以上。
皆さんありがとうございます
>>833 マイコンはArduinoを使用しても勉強になるでしょうか?
887 :
デフォルトの名無しさん :2014/02/25(火) 17:05:15.24
>>885 俺が買って読んでも糞だと思わないかもしれないでしょ
だからまず説明してよ
>>887 糞じゃなかったら買っても損しないんだから
自分で買って読めよ
暇潰しの読み物として君のコメントを求めているのだよ。 早く連載の糞っぷりを晒して面白がらせてあげなさい。
890 :
デフォルトの名無しさん :2014/02/25(火) 18:10:59.01
掛け算について質問です。 下位ブロックを掛ける回数のビット 上位ブロックを掛ける数のビットとして 上位ビットを8回右に算術演算しながら、 下位ブロックの下位ビットが1の時だけ、掛ける数を上位ブロックに 足すという作業をするのですが。 下位ブロックの1の数回だけしか掛け算できないんじゃないでしょうか? 仕組みが分かりません。
整数A 整数Bにおいて 式 A * B を求める まず B を2進数に分解する A * (2^0 * c0 + 2^1 *c1 + 2^2 *c2 + ..... ) 展開して A * 2^0 * c0 + A * 2^1 * c1 + A * 2^2 * c2 + .... 2のべき乗の掛け算はビットシフトに置き換えが効く (A << 0) * c0 + (A << 1) * c1 + (A << 2) * c2 + .... c(i) は 1 か 0 しか値をとらない → 0 の時は計算しなくて良い
かけ算を筆算でやるときと一緒だよ 2進てだけで
>>889 お前に娯楽を提供してやる義理はないな。
自分で買って読め。
894 :
デフォルトの名無しさん :2014/02/25(火) 20:23:08.59
(A << 0) * c0 + (A << 1) * c1 + (A << 2) * c2 の場合だと、A×8ってことですか?
>>894 A * 7 だよ Aが1の時にどうなるかかんがえてみよー
896 :
デフォルトの名無しさん :2014/02/25(火) 20:34:19.84
>>895 難しいですね、
Aだけをシフトするんじゃなくて、上位ブロックにおいてAがシフトして
切れてる所にAを足したものもシフトされるんですけど、どう理解したらいいですか?
(A << 0) * c0 + (A << 1) * c1 + (A << 2) * c2 + ....
だけの式にできますか?難しい。
ブロックとか謎の言葉じゃなくてコード見せて
898 :
デフォルトの名無しさん :2014/02/25(火) 20:45:26.87
>>897 xブロック・・・かける数Sを格納
yブロック・・・かける回数Cを格納
お互い8ビット
x,yと並んでいて合計16ビットの作業領域Z
for(i≦8)
{
if yの下位ブロックが1の時に、x=x+S
else x=x
↓
Z<<1
}
公式にできますか?
xn--n9q36mh1hnxuksz7wt.jp/FE22b-pm/t08.html これです、むずすぎです
かける数を投入するときは、いつでも A*2^8という形で投入されるわけですよね、これを右にシフトしていくだけか
おまいら、Cコンパイラの吐くアセンブリ言語コードチェックすることってある?
まれにある 主に性能評価で性能が落ちた理由を探すとき
904 :
デフォルトの名無しさん :2014/02/26(水) 01:50:18.19
IPアドレスから国を判別する最速の方法を教えてください 精度はボチボチでいいです
>>902 高速化の時に遅くなる原因を探るとき。
メモリ貧乏の環境でスタック消費量を計算するとき。
>>904 最速の方法ならIP→国名のテーブルを予め保持しておく方法になる
IPってゆうなクズ
908 :
デフォルトの名無しさん :2014/02/26(水) 07:25:51.93
>>906 データベースですね
莫大な量のデータになりそうですが大丈夫でしょうか
PostgreSQLで管理するとしたらIPアドレスから国を引くのに何秒くらいかかりますでしょうか
ベンチはかるのがめんd・・・コホン、登録作業だけでもかなりの時間がかかりそうですので、
目安などあれば教えていただけると助かります
国によって表示するページを変えたいだけですので
あまり時間がかかると困ります
スレ違い
ipアドレス+範囲型で持てば大したレコード数にはならないんじゃいか
レジストリは他にもあるけど、全部でもテキストで10M位じゃなかったかな、 範囲で持ってるから。
ていうか、それってipアドレスでやるべき事かな 普通は環境変数で判断するんじゃ ipのデータベース何か作ったらメンテしなきゃなんなくなるし
なんじゃそら
某国からのアクセスを総蹴りにしたいのか。
変態新聞みたいに外国向けサイトの内容を酷いものにしたいのかもしれない
int とか char形って、何のためにあるの?
919 :
デフォルトの名無しさん :2014/02/26(水) 13:42:37.00
サイズの違いだろ。 必要な分だけ確保したほうが効率がいい。 全てを64ビットにすることは可能だが アルファベットを表すには無駄が出る。
整数を格納するため
メモリというきわめて高コスト(40年前)なリソースを節約して使うため
>>918 Tom: やっぱりさあ、実数なんて大変だよね。メモリーも喰うし計算に時間もかかるしさあ
Susie:そうよねえ、だからさあ整数演算は省メモリーで高速にできるようにそれぞれわせましょ
Tom:そうだねえ、じゃ整数演算するときはint型として実数はfloatで
Susie:いいわね、実数計算なんてふわふわ浮いてるもんだからピッタりだわ
Tom:数だけでなくてさあ、文字もつかいたいよね。
Susie:アルファベットが26もじ、数字が10文字、他の記号いれてと、
そうねえ、1バイトあれば256種類よ、そのうち一つを「何もないもん」にしても255種類よ!
Tom:すげぇ!太っ腹!文字にイチバイトォー
謎の中国人:漢字には足りないあるよ
Tom:え?キミらはコンピュータなんか使わずに書道してなよ
Susie:そうよ文明西欧は1バイトで十分よ、characterだからchar型にしましょ
ハングルはアルファベットを超える性能ニダ。 コンパクトでリソースを無駄にしない。 漢字のようなスクラップとは違うニダ。
すげぇ、文字コードの再発見までしてやがる。 つーか、何故floatというかも知らずに書いているってのが凄いな。
固定小数点は流行らんのう
>>908 ページ変えるって本当に国で変えたいの?
言語で変えたいんじゃなくて?
言語なら環変のアクセプトランゲージとかあるよ。
ブラウザから送ってくるから自称だけどね。
>>918 逆に型が存在しないことを想像してみることをすすめる
想像するのがめんどくさかったら変数名にランダムな文字列を割り振って
プログラミングするとかでなんとなく型の大事さがイメージできると思う
型の重要性が分かる人の世界 「この動物は一体何ですか?」 「実はこれ"鳥"の仲間なんですよ」 「へー 不思議だなー」 型の重要性が分からない人の世界 「これは一体何ですか?」 「よちよち歩いてますね・・・・不思議ですね・・・」
lispのシンボルに型は無いよ〜
lispみたいなのは変数じゃなくて値の方に型がある。 シンボルっていうのも型。
股間のシンボル
うーん Lispの場合、C言語で言えば 次のことが許され、また、そうでしかありえない。 int a = 1; a = 3.14 a = ’a’ a = "hello"; Lispでかけば (setq a 1) (setq a 3.14) (setq a ’a) ;ちょっと意味違うが (setq a "hello") これを見ればLispの変数には型がないと思っても仕方ない。 問題はC言語の記述と対比して考えること自体にある。 リスプの変数とはデータへのポインターを保持するシンボルであって、或る型のデータを保持するなにかではない。 (また対比すると)C言語で言えば文字列が存在する場所へのポインターである文字列変数に似ているだろう。 上の人が言っているようにデータには型があるわけで、シンボルもひとつの型であるが、それは任意の(型の)データへのポインターとなりうるわけた。 Lispの変数シンボルは整数や文字というデータそのものを格納することはなく、あくまでデータへのポインターを保持する。 そして、そこではどういう型のデータへのポインターであるかは問わない。 その理由と重要性は割愛するが、それこそが自由なリスト処理を可能としているとだけ言っておこう。
lispに限った話でもないけどね
ポインタを++することとcdrを求めることの違い。
voidポインタと何が違うんだろう。
cygwinで標準Cだけ使って余裕こいてた俺 ↓ VC++無図杉ワロタwwwww関数大杉ワロタwww main関数の引数意味不明過ぎワロタwwwwww オワタwwww
フレームの構造体の要素widthとheightだけしか分からなくて残り38個 意味不明過ぎワロタwwwwwwwwwwwwwwwwwwwwwww
grerpれカス
944 :
デフォルトの名無しさん :2014/02/27(木) 06:03:30.71
ありがとうございます
よく考えたら
>>928 さんの言う通り言語で分けたいのでした
島国に住んで他の地域で使われない言語を使っていると、国=言語、みたいなイメージになっていました
環境変数から取得するのは簡単なので助かります
他の回答してくださった方もありがとうございました
ちなみに言語はPerlです
また疑問が生じればまた質問させていただきます
デバッグするときにprintfで変数の中身を表示させたりしているのですが、 表示が多いときには逆に見づらいのでprintfをコメント化して、表示させなく するなどしています。でもこういう方法は手間が掛かるので、 もう少しスマートなデバッグ方法ありませんか?
#ifdef _DEBUG
デバッガ使えよ
#ifdef DEBUG #define dbg(...) printf(...) #else #define dbg(...) #endif
logをとるライブラリを探してきて適当に埋め込む
950 :
デフォルトの名無しさん :2014/02/27(木) 19:25:34.71
暗号に平方根が使われない理由って何? 例えば√3=1.7313.....というデータ列があれば √3の2文字だけでデータ列表現できるじゃん?
2乗するだけでバレてしまう
>>950 計算が大変だ、1000桁求めるプログラムを書いてみろよ
953 :
デフォルトの名無しさん :2014/02/27(木) 20:12:35.84
暗号じゃない、圧縮だ。 すいません、圧縮に何故平方根を使わないのですか? 例えば1324123513251234123518947192357192357123(適当)という列は √1.3と同じ列かもしれないじゃないですか?
954 :
デフォルトの名無しさん :2014/02/27(木) 20:37:37.05
それがC言語とどう関係あるのかそれを知りたい
956 :
デフォルトの名無しさん :2014/02/27(木) 20:56:46.11
2乗して短い数値表現になる確率を計算すればわかる
ガウス記号も知らないようなヤツに数学的に説明するのは面倒
Gauss記号: 実数 xに対し [x]=max { y in 整数 | y <= x } [ 1.2 ] = 1 だが [-1.2] = -2 。
適当に選んだ数を2乗したときに短い表現になる可能性が極めて低いから できると言うなら短い表現を探すプログラムを書いてみろ
小数点以下n桁の、0以上1未満の小数表現xを圧縮する場合を考えてみる。 x^2も√xも0以上1未満の小数表現となる。 xは、10^n通り考えられる。 x^2がm<nかつ小数点以下m桁の小数表現で表現できると仮定する。
数値xを小数点以下k桁で打ち切ることを[x]_kと書くことにする。 ここで [x^2]_m=[x]_n (m<n) が成り立つ。
ここで [√([y]_m)]_n=[x]_n (m<n) を満たすような[y]_mの個数はいくつあるか? 10^m以下であることは明らか。m<nであるから、 [x]_nの10^nの十分の一以下となる。
圧縮された表現が短くなるほど圧縮できる確率が減少する。 圧縮できる桁数の期待値=圧縮できる桁数×確率=(n-m)×(10^m÷10^n)
(n−m)×(10^m÷10^n)のグラフを見て納得
期待値の式にΣを忘れてるよ
n=10の場合、Σ(10−m)×(10^m÷10^10)=9÷10+8÷100+7÷100+…となって一桁も削れない
n=10の場合、Σ(10−m)×(10^m÷10^10)=1÷10+2÷100+3÷1000+…<1となって一桁も削れない
ここは数学板じゃねーぞ スレチはとっとと消えろ
数学を離れてアプリなんか作れない
972 :
デフォルトの名無しさん :2014/02/27(木) 22:41:20.14
自治体は出てくるな
間違いだらけでスマソ
やっぱり理解出来ないよね。別に気にしなくてもいいよ。説明が悪いんだから
仮数部を2ビット削って積で表す 小数点数 × (1・3・5・7)
977 :
デフォルトの名無しさん :2014/02/27(木) 23:34:30.51
否定的な奴に自治だ何だ言う奴も自治してるんだけどな それにしても酷い自演だwww 言っとくがお前ら絶対突っ込むなよ、本人気づいてないから自演判別に使えるwww
979 :
デフォルトの名無しさん :2014/02/28(金) 03:28:07.24
ここは重複スレ?
980 :
デフォルトの名無しさん :2014/02/28(金) 03:29:25.14
しかしよく埋まったな C言語の底力か
981 :
デフォルトの名無しさん :2014/02/28(金) 03:32:22.93
だったらうめてやんぜ〜 だったらうめてやんぜ〜 だったらうめてやんぜ〜 う〜め〜て〜や〜〜〜〜んん〜〜〜〜〜ぜ〜〜〜〜 だだだだーだーだーだー ふぃりぃんぐるーーーーっぶっっぃwwwwwwwwwwwww
うめ
梅
うめ
うめ
うめ
うめ
梅
梅
いまポインタの勉強をしてるんですが、 #if 1 #include <stdio.h> #define ARRAY_SIZE 5 double* hairetu(double* val, int kaisuu) { //値を変えないために新しい変数に配列の値をコピーしておく? double hairetu[ARRAY_SIZE]; for (int i = 0; i < kaisuu; i++) { hairetu[i] = val[i]; } val = NULL; val = &hairetu[0]; //end int soezi = 0; double atai = 0; for (int i = 0; i < kaisuu - 1; ++i){ soezi = i; for (int j = i + 1; j < kaisuu; ++j){ if (val[soezi]>val[j]){ soezi = j; } } atai = val[soezi]; val[soezi] = val[i]; val[i] = atai; }
//この部分@ printf("%p\n", &val[0]); printf("%p\n", &val[1]); printf("%p\n", &val[2]); printf("%p\n", &val[3]); printf("%p\n", &val[4]); printf("%lf\n", val[0]); printf("%lf\n", val[1]); printf("%lf\n", val[2]); printf("%lf\n", val[3]); printf("%lf\n", val[4]); return val; } int main(void) { double values[ARRAY_SIZE] = { 3.8, 4.51, 5.55, 2.5, 1.59 };//配列は0 1 2 3 4 double* val = &values[0]; double* rep = hairetu(val, ARRAY_SIZE); for (int i = 0; i < ARRAY_SIZE; i++) { printf("%lf点\n", values[i]); } for (int i = 0; i < ARRAY_SIZE; i++) { printf("%lf点\n", rep[i]); }
//この部分A printf("%p\n", &rep[0]); printf("%p\n", &rep[1]); printf("%p\n", &rep[2]); printf("%p\n", &rep[3]); printf("%p\n", &rep[4]); printf("%lf\n", rep[0]); printf("%lf\n", rep[1]); printf("%lf\n", rep[2]); printf("%lf\n", rep[3]); printf("%lf\n", rep[4]); return 0; } #endif と書いて出力されるアドレスの値(%lf)が異なってprintfされます 参照しているアドレスは同じはずなのに値が違うのはなんででしょうか? 勉強中なので変なコードあったら指摘して下さるとありがたいです
関数内で引き数の値を書き変えてからそれをreturnしているからだろ。
>>993 返信ありがとうございます
しかし、解決しませんでした・・・
配列の先頭アドレスと処理したい個数を引数でhairetu 関数に送って
その個数の値をdouble 型のhairetu変数に格納し
double* 型のval変数にNullいれてから
val変数にhairetu変数の先頭アドレスをいれて
アドレス内の数値を並びかえしたあと
そのval変数に格納された引数で渡された先頭アドレスとは違う先頭アドレスをreturnしたって言う事を
したくてこんなコードを作ったのですが
どこが行けなかったでしょうか?
hairetu 関数内の
この部分@からみた
アドレスの値と
メイン関数内
この部分Aからみた
アドレスの値は
なぜちがって見えるのかが分かりません
説明分かりにくくてすみませんm
つかさ、returnした配列はhairetu()のスコープ抜けたら無くなるじゃん。 配列のポインタを渡して書き戻してもらった方がええんちゃう? void hairetsu(double** val, int kaisuu)
>>995 おお!確かにそうですね
なくなっちゃいます
でもアドレスに保存してあるから持ってこれるのかなぁと思ってしまいました
ポインタを勘違いしていたのかもしれません
送った奴書き戻すのはじつはもう作っちゃいました
#include <stdio.h> #define ARRAY_SIZE 5 void hairetu(double* val, int kaisuu) { int soezi = 0; double atai = 0; for (int i = 0; i < kaisuu - 1; ++i){ soezi = i; for (int j = i + 1; j < kaisuu; ++j){ if (val[soezi]>val[j]){ soezi = j; } } atai = val[soezi]; val[soezi] = val[i]; val[i] = atai; } return; } int main(void) { double values[ARRAY_SIZE] = { 6.2, 9.71, 3.05, 8.6, 4.19 };//配列は0 1 2 3 4 double* val = values; hairetu(val, ARRAY_SIZE); for (int i = 0; i < ARRAY_SIZE; i++) { printf("%lf点\n", values[i]); } return 0; } ちなみにこれなんですが送った奴を保持したいなと思い前のを書いたんですが そんな面倒なことせずに main内で配列をコピーしてそれを送ったほうが良いですかね
>>997 これでいいのでは?
hairetu(values, ARRAY_SIZE);
for (int i = 0; i < ARRAY_SIZE; i++) {
printf("%lf点¥n", values[i]);
}
どうでもいいけど、"%lf"じゃなくて"%g"を使おうぜ。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。