C言語なら俺に聞け(入門編)Part 82
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2011/04/17(日) 20:17:55.24★前スレ
C言語なら俺に聞け(入門編)Part 81
http://hibari.2ch.net/test/read.cgi/tech/1301773320/
★過去スレ
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++の宿題片付けます 147代目
http://hibari.2ch.net/test/read.cgi/tech/1301553333/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
★ぬるぽ。
長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
0002デフォルトの名無しさん
2011/04/17(日) 20:22:22.31無理にstruct tmとidとpassに分解してソートするから遅いのかな
単純にstrcmpでやったら速いみたいです
0003デフォルトの名無しさん
2011/04/17(日) 20:23:56.50日時、14桁の数値と見なせばそのままintに収まるんじゃない?
0004デフォルトの名無しさん
2011/04/17(日) 20:31:32.740005デフォルトの名無しさん
2011/04/17(日) 20:49:16.02書くプログラムだけを改良することによって格別に早いソートを作る事は可能
なのでしょうか?正しライブラリやソフトウェアは使っていいことにします。
0006デフォルトの名無しさん
2011/04/17(日) 21:00:12.750007デフォルトの名無しさん
2011/04/17(日) 21:01:47.87ttp://codepad.org/HXDyRNHA
$ ./makepass (前スレ965のgenrandを直したやつ)
$ time ./a pass.txt > sorted.txt
real 0m1.478s
user 0m1.279s
sys 0m0.125s
この順で実行すると、計測時はキャッシュ効いた状態?効いてない状態?
0008デフォルトの名無しさん
2011/04/17(日) 21:24:38.02ここの住人はこういうパズル的な要素を求めているんですよ
http://codepad.org/9mCtwD1V
馬鹿正直にstruct tmとmktime()を使ってtime_tでソートしましたが十分な速度です
0009デフォルトの名無しさん
2011/04/17(日) 21:27:32.470010デフォルトの名無しさん
2011/04/17(日) 21:34:03.480011デフォルトの名無しさん
2011/04/17(日) 21:35:35.060012デフォルトの名無しさん
2011/04/17(日) 21:36:52.09無理
quick sort以上の速度を得ることはまず不可能
L2L3キャッシュの大きなCPUを使うと劇的にソート速度が向上する事があるが
それとこれとは話が別
0013デフォルトの名無しさん
2011/04/17(日) 21:38:29.58あれ?pass.txtの生成に次のプログラムを使っていますがどこかフォーマットが違いますか?
http://codepad.org/UhH1unQ9
0014デフォルトの名無しさん
2011/04/17(日) 21:41:33.35アセンブラチューニングみたいなことすれば
改善程度はできるんじゃない?格別にってのはどうか知らんけど
0015デフォルトの名無しさん
2011/04/17(日) 21:49:26.26まずそれgenrandがおかしいから生成できない
50c50
< return about + (int)(rand() / 32768. * width);
---
> return about + (int)(rand() % width);
genrandを直して生成したやつ食わせても同じ結果だな
0016デフォルトの名無しさん
2011/04/17(日) 21:53:58.66おかしいなあうちの環境では動きますねえ(BCC6.3.1)
特に機種依存の場所もないし何が原因なんだろう?
日本語のコメントをしてるからかな?
0017デフォルトの名無しさん
2011/04/17(日) 22:03:10.98#include <stdio.h>
#define FILENAME "pass.txt"
#define MAXFILESIZE (1<<29)
#define BUFSIZE (1<<20)
unsigned int rand_xor() { static unsigned int t, x=123456789UL,y=362436069UL,z=521288629UL,w=88675123UL;t=x^(x<<11); x=y; y=z; z=w; return w^=(w>>19)^t^(t>>8); }
void strgen( char *str, int &sz ) {
unsigned int x,n;
for(n=0; n<32 + rand_xor()%128 ; n+=6) {
x=rand_xor();
str[sz+n+0]='0'+x%64; x>>=6; str[sz+n+1]='0'+x%64; x>>=6;
str[sz+n+2]='0'+x%64; x>>=6; str[sz+n+3]='0'+x%64; x>>=6;
str[sz+n+4]='0'+x%64; x>>=6; str[sz+n+5]='0'+x%64; }
sz+=n; str[sz-1]='\n'; }
int main() {
FILE *fp = fopen(FILENAME, "wb");
int sum=0;
char *buf = new char [BUFSIZE+1]; int sz=0;
do{
if( sz+1024 >= BUFSIZE ) { fwrite( &buf[0], 1, sz, fp); sum+=sz; sz=0; }
strgen( buf, sz ); }while(sum < MAXFILESIZE);
fwrite( &buf[0], 1, sz, fp);
fclose(fp); }
0018デフォルトの名無しさん
2011/04/17(日) 22:09:14.60エラーが出てコンパイル出来ません
エラー E2293 pass4.c 8: ) が必要
0019デフォルトの名無しさん
2011/04/17(日) 22:09:52.91うち(gcc version 4.3.4 20090804 (release) 1 (GCC))だとmktimeが-1を返してた
t.tm_isdst = -1;(サマータイムなし)を指定しておかないと動かないようだ
0020デフォルトの名無しさん
2011/04/17(日) 22:10:59.69C++の機能使っているのでCPPの拡張子で。
0021デフォルトの名無しさん
2011/04/17(日) 22:14:59.91了解です
それが原因だと思います
うちのgcc4.3.2(MinGW)ではサマータイムを指定しなくても動くので
MinGWとLinuxで違うのかもしれませんね
>>20
了解です
0022デフォルトの名無しさん
2011/04/17(日) 22:20:25.89例えば2Dスクロールゲームとかで
画面に映るステージの範囲って限られてますよね。
ドカンがあって、敵がいてみたいな。
では、画面に映ってないこれから進んでいく領域の情報はメモリに
保存されてるんですか?
002322
2011/04/17(日) 22:23:35.940024デフォルトの名無しさん
2011/04/17(日) 22:29:07.10その中から映ってる分だけを画面に出します
0025デフォルトの名無しさん
2011/04/17(日) 22:34:32.12それはひどい、そんなひどい作り方したらメモリがいくらあっても足りねーよ、ボケ。
0026デフォルトの名無しさん
2011/04/17(日) 22:38:12.05>>17
コンパイルして実行してみたらえらくグチャグチャな内容のランダムなテキストが
生成されましたが、これは何に使うのですか?
002722
2011/04/17(日) 22:42:51.49メモリに保存されてる情報ってゲームのある瞬間において、
どのくらいの範囲までなんでしょう。
それ以外はストリームを介したバッファ領域に保存されてるんですか?
それともHDD?
0028デフォルトの名無しさん
2011/04/17(日) 22:48:12.58あのさ、プラットフォームが何かにもよるよね。
論理的に考えれば少なくともメモリに置いとくのは
キャラクタのいる画面とその周囲の画面分でいい事ぐらいわかるだろふつう。
(4画面一気に飛び越えたりとかしないかぎり。)
あとはロードにどんだけ時間がかかるかでどれだけ先読みするか決めりゃいいだけ。
ていうかスレ違いだから空気読んで。
0030デフォルトの名無しさん
2011/04/17(日) 22:50:14.88ランダムな文字列で速いソートを作ろうという意図。
0031デフォルトの名無しさん
2011/04/17(日) 22:53:46.33画面に映ってなくても少し先までの画面はすぐ表示できる状態でメモリに入れてる
少なくとも自分の知ってるNintendoDSのVRAMはそんなふうだった
>>23
環境というよりも、どういう実装をするかによるだけなんじゃないかな
0032デフォルトの名無しさん
2011/04/17(日) 22:55:46.7050000x2000 とか?
100Mピクセルだから
フルカラーとして 300MB か 400MB
メインメモリに乗せるなら大丈夫だね
0034デフォルトの名無しさん
2011/04/17(日) 23:10:43.17主人公の動作を快適にするのにメモリを使いまくっていいってことですか?
0035デフォルトの名無しさん
2011/04/17(日) 23:11:31.29ああ了解です
じゃあプログラムを完璧に作り直す必要がありますね
Cと普通のstrdup()で確保した文字列のソートと、C++でvectorに突っ込んだ
stringをsortアルゴリズムでソートして比較したりいろいろ楽しめそうです
C++の場合もstringのポインタをunique_ptrに入れて突っ込んでソートした方が
速いでしょうね
0036デフォルトの名無しさん
2011/04/17(日) 23:22:20.38なによりもまず500MBの入力の扱いを考えるのが最初だと思うんだが
0037デフォルトの名無しさん
2011/04/17(日) 23:28:37.500038デフォルトの名無しさん
2011/04/17(日) 23:28:39.46ソースコードだけで1mbってでかすぎないか?
0040デフォルトの名無しさん
2011/04/18(月) 01:12:59.590041デフォルトの名無しさん
2011/04/18(月) 07:07:40.17http://hibari.2ch.net/test/read.cgi/tech/1301773320/967 だけど、
return about + (int)(rand() / (double)RAND_MAX * width);
こういうことがしたかったんじゃないの?
0042デフォルトの名無しさん
2011/04/18(月) 07:15:10.84それと、どうせやるなら測定条件をはっきりさせなきゃ意味ないじゃん囧
0044デフォルトの名無しさん
2011/04/18(月) 08:11:01.540045デフォルトの名無しさん
2011/04/18(月) 09:21:13.74最初から古いPCとか、そこそこのマシンとかいう表現されてる時点でわかるだろ
0046デフォルトの名無しさん
2011/04/18(月) 10:47:45.43ええそうです。だからわざと32768.と実数で割っているのです。
0047デフォルトの名無しさん
2011/04/18(月) 12:39:32.21肝要なのは、なぜ32768なのかってところなんだが。
randの結果が1000000だった時どうなるかね。
0048デフォルトの名無しさん
2011/04/18(月) 12:43:27.64済みません、間違いに気付き(double)RAND_MAXと直しました。
0049デフォルトの名無しさん
2011/04/18(月) 12:49:42.73気づいた上で、>>15よりも優れている点は最下位ビットを使用することについての懸念から、ですかね。
0050デフォルトの名無しさん
2011/04/18(月) 12:51:05.520051デフォルトの名無しさん
2011/04/18(月) 12:54:28.60これをいかに速くソートするか。読み込みから書き込み終了まで。
0052デフォルトの名無しさん
2011/04/18(月) 13:47:57.91行の先頭文字ごとに複数のファイルへ分類する。
それぞれのファイルをソートして連結すれば終わり。
各ファイルのサイズが均一になるように、サンプルを取って分割区間を決める。
0053デフォルトの名無しさん
2011/04/18(月) 14:07:17.87それだと
2011-1-3〜
2011-1-6〜
2011-1-1〜
2011-1-2〜
2011-1-7〜
2011-1-5〜
で2011-1-2〜の箇所で半分に分かれた時
2011-1-1〜
2011-1-3〜
2011-1-6〜
2011-1-2〜
2011-1-5〜
2011-1-7〜
ってなっちゃうよ?
0054デフォルトの名無しさん
2011/04/18(月) 14:14:49.03違うぞ。例えばファイル内容がこうだとしよう。
b****
c****
a****
b****
a****
c****
c****
そしたらファイルをよみつつ、ファイルa.dat、b.dat、c.datへ次のように書き出す。
a.dat
a****
a****
b.dat
b****
b****
c.dat
c****
c****
c****
0055デフォルトの名無しさん
2011/04/18(月) 14:17:42.90書き出すってこと自体アホそのものだからどうでもいいが。
005652
2011/04/18(月) 14:19:43.82工夫はどの区間で分類するか決める点。
メモリ上でソートするには、せいぜい30メガ程度に抑えた方がいい。各ファイルがその程度になるように分類。
大きすぎても、小さすぎても効率が落ちる。
005752
2011/04/18(月) 14:22:36.40テキストのまま書き出すのはアホ。改行の区切り位置は、初めの読み込みで分かっている。
区切りを覚えておきつつ、データを圧縮して書き出せば、ロード時間が減らせるむ。
0058デフォルトの名無しさん
2011/04/18(月) 14:23:45.39rand()%nでいいんじゃないの?
最近の(とういうかだいぶ前から)処理系は下位ビットだから
極端に周期が短いとかないでしょ。
>>41 も本当は
return about + (int)(rand() / ((double)RAND_MAX+1) * width);
だろうし、変に工夫してバグってる例をよく見る。
0059デフォルトの名無しさん
2011/04/18(月) 14:27:33.70なんで1足すの?
>>55
汎用機は一時ファイルの山ぞ。
0060デフォルトの名無しさん
2011/04/18(月) 14:27:50.08おまえアホだろ、バイナリデータだろうが.txtで書きだしゃいいんだよ。バカジャネーノ
0061デフォルトの名無しさん
2011/04/18(月) 14:29:59.800062デフォルトの名無しさん
2011/04/18(月) 14:30:10.27なんでって、>>15の下と同じ挙動でいいんでしょ?
0063デフォルトの名無しさん
2011/04/18(月) 14:30:35.330064デフォルトの名無しさん
2011/04/18(月) 14:32:53.23day = genrand(1, 31);
hour = genrand(0, 23);
こう使われてるから関数の定義があいまいなんじゃないかな
006552
2011/04/18(月) 14:34:05.62http://fallabs.com/mikio/tech/promenade.cgi?id=89
特筆すべきは二点で、一点目はLZOは半分以下に圧縮しているにもかかわらず
ほとんど時間的オーバーヘッドがかかっていないこと。
二点目はLZMAの圧縮処理は多大な時間的オーバーヘッドがかかっているが、
10分の1にまで圧縮できるということ。ZLIBはそれらの中間的な特性を示す。
http://alpha.mixi.co.jp/blog/?p=191
圧縮をするとしないとではデータベースのサイズが全然違うということはおわかりいただけると思います。
ZLIBだと43.7%、BZIP2だと39.1%、LZMAだと37.5%に圧縮できているわけです。
Deflateだと更新処理は195%の時間がかかりますが、検索処理は138%で済んでいます。
BZIPやLZMAはそれよりも空間効率重視だということがわかります。
LZMAはBZIP2より圧縮率が高く、探索もBZIP2よりも高速であることが確かめられました。
逆にLZOは空間効率はそれほど向上しませんが、更新処理は121%、検索処理は114%の時間で済むことが確かめられました。
0066デフォルトの名無しさん
2011/04/18(月) 14:35:00.52脂汗が出てるゾ
006752
2011/04/18(月) 14:40:03.56これだとコピーするだけで時間食う。IO速度のため、1/3〜1/2にでもなったらそれだけ速い。
0068デフォルトの名無しさん
2011/04/18(月) 15:02:54.37まさかとは思うが拡張子とファイル編成が無関係なことくらい知ってるよな?
0069デフォルトの名無しさん
2011/04/18(月) 15:12:33.32東証では7/1〜9月末までサマータイム導入を決めたそうですが
時刻の差が1時間である場合とします。
プログラムで現在時刻を表示させたいのですが、7/1のAM2時になったら時刻に1時間プラスして、
10/1のAM3時になったら1時間引くだけでよいのでしょうか?
0070デフォルトの名無しさん
2011/04/18(月) 15:14:23.110071デフォルトの名無しさん
2011/04/18(月) 15:36:18.31東証のあれは別に時計は変えないんじゃないの?
0072デフォルトの名無しさん
2011/04/18(月) 15:37:51.53>>61=>>55
0073デフォルトの名無しさん
2011/04/18(月) 15:39:52.01OSがサマータイム対応でその設定がされていれば難しいこと考えずlocaltimeでいいはず
0074デフォルトの名無しさん
2011/04/18(月) 15:42:02.830075デフォルトの名無しさん
2011/04/18(月) 15:46:18.07つ、バーカ、無知はすっこんでろよ。
『時計を設定する』
http://windows.microsoft.com/ja-JP/windows7/Set-the-clock
0076デフォルトの名無しさん
2011/04/18(月) 15:51:12.70そんなの見せられてもねw
日本はタイムゾーン未導入なんだよ?OSでどうやって自動的にタイムゾーンに変更すんの?
あ、手動で時刻を変更しろって低レベルな事を言いたいわけじゃないよな?
0077デフォルトの名無しさん
2011/04/18(月) 15:54:50.27日本でサマタイ未導入なら設定する必要もないだろボケ
0078デフォルトの名無しさん
2011/04/18(月) 15:57:53.12Cで標準的に使用できるものはございますでしょうか?
もしかして標準関数でよういされているのでしょうか・・・。
0079デフォルトの名無しさん
2011/04/18(月) 16:09:11.45ソート時間しか測定していませんが
http://codepad.org/tChlNi74
全部を測定するのは簡単に改造できると思います
C++で書くならvector+string+sortですがこれより確実に遅くなるでしょうね・・・・
一応やってみます
0080デフォルトの名無しさん
2011/04/18(月) 16:10:15.13Directoryがよくわかりませんがコンテナなら
http://sourceforge.jp/projects/cstl/
にあるCSTLが使えると思います
0081デフォルトの名無しさん
2011/04/18(月) 16:13:41.63たすかりました。
ありがとうございます。
0082デフォルトの名無しさん
2011/04/18(月) 16:28:16.79はあ?急遽導入されたケースを話してるんだろ
バカは黙ってろ
0083デフォルトの名無しさん
2011/04/18(月) 16:34:48.50はぁ?急遽?「明日からサマータイムにします」ってことはねーからw
それに東証のはあんなのは真の意味でのサマータイムじゃねーよ。
いわゆるズレ勤ってだけ。
0084デフォルトの名無しさん
2011/04/18(月) 16:40:10.37盗電じゃないんだから……
0085デフォルトの名無しさん
2011/04/18(月) 16:44:54.53> 日本はタイムゾーン未導入なんだよ?
まじっすか
0086デフォルトの名無しさん
2011/04/18(月) 16:45:52.34どういうことっすか
0087デフォルトの名無しさん
2011/04/18(月) 16:58:23.29お前、人の話を聞かないタイプってよく言われてきたでしょ
0088デフォルトの名無しさん
2011/04/18(月) 17:15:19.270089デフォルトの名無しさん
2011/04/18(月) 17:16:27.11C++で書いてみたが入出力、stringが強烈に遅い(と言っても2倍程度)
sortは速いと思うんだけど
http://codepad.org/1VjGnrMM
0090デフォルトの名無しさん
2011/04/18(月) 19:57:55.09| | 支\
| |#`ハ´)
| |⊂ ノ ずっと友達でいてね
| |(_)))グリグリ ∧∧
|_|北∧ / 台\ ∧日∧ うん。
|共|#`Д´> ( *゜ー゜ ) (・ω・` )
| ̄| ノ∧韓∧ ( つ旦O O旦⊂ )
| |⌒⊃;`Д´>⊃ と_)_) (__(__ ̄)
0091デフォルトの名無しさん
2011/04/18(月) 21:17:45.69で?日本はいつになったらタイムゾーン導入なんだ?>>76
0092デフォルトの名無しさん
2011/04/18(月) 22:36:22.970093デフォルトの名無しさん
2011/04/18(月) 22:41:14.94そのリンク先を見てどうやってサマータイムに対応するのか教えて欲しい
煽りとして受け取らないでちゃんとした答えを書いてもらい
「サマータイムになったら自分で時刻をずらす」ってなら期待はずれだけど
0094デフォルトの名無しさん
2011/04/18(月) 22:54:24.010095デフォルトの名無しさん
2011/04/18(月) 22:57:58.75おまえのPCはタイムゾーンすら未対応なんだから関係ない話だろーが
0096デフォルトの名無しさん
2011/04/18(月) 23:22:16.79何でタイムゾーンの話を俺に振るのか良く分からないけどちゃんとした回答を待ってるよ
>>94
ありがとう
0097デフォルトの名無しさん
2011/04/18(月) 23:29:26.63C++でboost::shared_ptrで包んだcharの配列のポインタをソート
あまり速くならんわ
生のポインタでないとだめか
http://codepad.org/2w4vp7aF
つーかC++はいい加減にスレ違いだな
でもC++スレで続きをやるような内容でもないし
0098デフォルトの名無しさん
2011/04/18(月) 23:48:57.940099デフォルトの名無しさん
2011/04/18(月) 23:50:09.33意味が良くわからん
普通にプログラムを読み込むとスワップが起きない限りメモリ上にあると思うが
0100デフォルトの名無しさん
2011/04/18(月) 23:50:41.26RAMに展開してって、オンメモリでっていう意味か?
0101デフォルトの名無しさん
2011/04/18(月) 23:56:08.560102デフォルトの名無しさん
2011/04/18(月) 23:59:40.320103デフォルトの名無しさん
2011/04/19(火) 00:01:42.180104デフォルトの名無しさん
2011/04/19(火) 00:07:24.56で、具体的には何をどんな理由でやりたいの?
0105デフォルトの名無しさん
2011/04/19(火) 00:40:13.870106デフォルトの名無しさん
2011/04/19(火) 01:01:00.000107デフォルトの名無しさん
2011/04/19(火) 01:28:01.570108デフォルトの名無しさん
2011/04/19(火) 12:53:55.650109デフォルトの名無しさん
2011/04/19(火) 12:58:38.41それらが必要だと思う人がいなかったんじゃね
0110デフォルトの名無しさん
2011/04/19(火) 13:08:11.37近年ビット数が増えて 0x1234 5678 9abc def0 のような区切り表記も欲しくなってきた
0111デフォルトの名無しさん
2011/04/19(火) 13:49:29.62アセンブラからやってきたものとしてはありがたいものなんだけどな。
0112デフォルトの名無しさん
2011/04/19(火) 14:09:59.060〜Fまで覚えれば済むわけだし
0113デフォルトの名無しさん
2011/04/19(火) 14:36:50.82・
・
・
#define b1111 F
・
・
・
とか秀丸マクロとかでつくっといてインクルードするとか?
ちょっと重たすぎるかね。
0114デフォルトの名無しさん
2011/04/19(火) 14:38:31.840115デフォルトの名無しさん
2011/04/19(火) 14:50:27.99#define Bit4(n) B4__(0##n)
#define Bit8_4(h,l) ((B4__(0##h) << 4) | B4__(0##l))
#define Bit16_4(hh,hl,lh,ll) ((Bit8_4(hh,hl) << 8) | Bit8_4(lh,ll))
OpenGLでラインパターン(点線とか)指定のときに
glLineStipple(1, Bit16_4(1111,1100,1100,1111));
こうできるので少しだけ直感的 (16進⇔2進 8進⇔2進 が即脳内でできるなら不要だろうけど)
0116タラちゃん
2011/04/19(火) 15:38:07.800117デフォルトの名無しさん
2011/04/19(火) 16:22:37.86ああ、やべえ。
この書き方の意味がわからねえ・・・
0118デフォルトの名無しさん
2011/04/19(火) 16:31:25.74マクロ引数に渡されたシンボルの連結
#define A(n) 0##n
A(123) は 0123 に展開される
A(aabb) は 0aabb に展開される
0119デフォルトの名無しさん
2011/04/19(火) 16:32:33.37##はトークンを連結する
0120デフォルトの名無しさん
2011/04/19(火) 16:58:45.69ありがとうございます。
またひとつ勉強になりました。
0121デフォルトの名無しさん
2011/04/19(火) 18:01:41.95何コレホントにC言語?
0122デフォルトの名無しさん
2011/04/19(火) 18:43:49.850123デフォルトの名無しさん
2011/04/19(火) 21:18:10.520124デフォルトの名無しさん
2011/04/19(火) 21:25:35.870125デフォルトの名無しさん
2011/04/19(火) 22:18:57.350126デフォルトの名無しさん
2011/04/19(火) 22:33:21.240127デフォルトの名無しさん
2011/04/19(火) 22:34:40.700128デフォルトの名無しさん
2011/04/19(火) 22:35:17.660129デフォルトの名無しさん
2011/04/19(火) 22:37:26.900130デフォルトの名無しさん
2011/04/19(火) 22:37:47.770131デフォルトの名無しさん
2011/04/19(火) 22:40:05.960132デフォルトの名無しさん
2011/04/19(火) 22:42:18.020133デフォルトの名無しさん
2011/04/19(火) 22:46:04.890134デフォルトの名無しさん
2011/04/19(火) 22:53:50.360135デフォルトの名無しさん
2011/04/19(火) 22:55:27.080136デフォルトの名無しさん
2011/04/19(火) 22:55:41.880137デフォルトの名無しさん
2011/04/19(火) 22:57:54.890138デフォルトの名無しさん
2011/04/19(火) 22:59:05.470139デフォルトの名無しさん
2011/04/19(火) 22:59:20.29| |
\_/
_ |__
/ \
/ ─ ─\
/ ⌒ ⌒ \
| ,ノ(、_, )ヽ |
\ トェェェイ / おしっこジョボジョボミラジョボビッチ♪」
/ _ ヽニソ, く おしっこジョボジョボミラジョボビッチ♪」
三. i! ゙ヽ、 Y" r‐!、 ヽ.
三 ヽ. 、 ''´⌒ゝ-‐'" _ィ》 Y!
\_|!_二|一"f , !゙\ 三
〈, l|゙》-i|┴ーi´ / イ ´ i! 三
♪ ゙ー-ニ二__,/ / / 三 ♪
/゙ У / / 三
//,/-‐、 /
i! _{! j!'〈 ♪
/ ,,.ノ \'' ヽ \
〈 ーぐ \ ヽ
゙ー″ 〉ー- 〉
〈___ノ
0140デフォルトの名無しさん
2011/04/19(火) 23:04:00.130141デフォルトの名無しさん
2011/04/19(火) 23:09:06.670142デフォルトの名無しさん
2011/04/19(火) 23:11:47.11| |
\_/
_ |__
/ \
/ ─ ─\
/ ⌒ ⌒ \
| ,ノ(、_, )ヽ |
\ トェェェイ / おしっこジョボジョボミラジョボビッチ♪」
/ _ ヽニソ, く おしっこジョボジョボミラジョボビッチ♪」
三. i! ゙ヽ、 Y" r‐!、 ヽ.
三 ヽ. 、 ''´⌒ゝ-‐'" _ィ》 Y!
\_|!_二|一"f , !゙\ 三
〈, l|゙》-i|┴ーi´ / イ ´ i! 三
♪ ゙ー-ニ二__,/ / / 三 ♪
/゙ У / / 三
//,/-‐、 /
i! _{! j!'〈 ♪
/ ,,.ノ \'' ヽ \
〈 ーぐ \ ヽ
゙ー″ 〉ー- 〉
〈___ノ
0143デフォルトの名無しさん
2011/04/19(火) 23:13:53.010144デフォルトの名無しさん
2011/04/19(火) 23:36:28.960145デフォルトの名無しさん
2011/04/20(水) 00:37:22.190146デフォルトの名無しさん
2011/04/20(水) 00:42:38.430147デフォルトの名無しさん
2011/04/20(水) 00:48:22.950148デフォルトの名無しさん
2011/04/20(水) 01:29:24.99char buf[4096];
kansuu(buf);
}
kansuu(char buf[]){
memset(buf, '\0', sizeof(buf));
}
sizeof(buf)の値は、4でした。
変更
memset(buf, '\0', sizeof(buf));
→memset(buf, '\0', 4096);
これで期待通りでした。
配列全体をゼロクリアしたい。
適当な書き方を教えてください。
0149デフォルトの名無しさん
2011/04/20(水) 01:31:45.48サイズを一緒に与えないとダメ
0150デフォルトの名無しさん
2011/04/20(水) 01:42:20.11char buf[4096] = {0}; とすればヨロシ。
つ http://stackoverflow.com/questions/2589749/initialize-array-to-0-in-c
0151デフォルトの名無しさん
2011/04/20(水) 01:50:42.15>>149
引数にサイズも渡す方法はできました。
スマートにしたいなぁと。
サブルーチン内で確保すべきかな
>>150
定数は避けたいです。
0153デフォルトの名無しさん
2011/04/20(水) 01:55:19.65コンパイラによっては配列サイズを知ることもできるらしいが
そうだとしても渡されるものが配列の先頭である保証がないから
やっぱりサイズも渡すのが無難
0154デフォルトの名無しさん
2011/04/20(水) 02:00:12.07#include <string.h>
#define BUFSIZE 4096
int main() {
char buf[BUFSIZE];
func(buf);
}
void func(char buf[]) {
memset(buf, 0, BUFSIZE);
}
0155デフォルトの名無しさん
2011/04/20(水) 02:21:06.37あ、
これが王道っぽい
0156デフォルトの名無しさん
2011/04/20(水) 03:25:11.29実は初期化しなくともどうにかならないかい
0157デフォルトの名無しさん
2011/04/20(水) 03:29:36.91HOGE hoge;//char hoge[64];
こういうtypedefの使い方ってすごく気持ち悪いんですけど一般的なんですか?
0158デフォルトの名無しさん
2011/04/20(水) 07:07:50.66Cでは関数の引数として配列を渡すことはできない。
常にポインタとして渡すことになる。
(>148でsizeof(buf)が4になるのはそのため)
スマートも何も、引数として渡すしか方法はない。
0クリアしたいというのなら、どのみち関数内でも
配列のサイズが必要になると思われる。
0159デフォルトの名無しさん
2011/04/20(水) 07:09:25.04MSC の cgets() みたいにすれば。
main{
char buf[4096];
*(int*)buf = sizeof buf;
kansuu(buf);
}
kansuu(char buf[]){
memset(buf, '\0', *(int*)buf);
}
0160デフォルトの名無しさん
2011/04/20(水) 07:10:21.09配列とか、ポインタが隠蔽されるのは個人的には嫌い。
しかし、型が入れ子になっている場合、宣言が読みやすくなるという人もいるだろう。
char (*p)[64];
より
HOGE *p;
が読みやすい、など
0161デフォルトの名無しさん
2011/04/20(水) 07:11:24.620162デフォルトの名無しさん
2011/04/20(水) 07:12:59.34環境に依っては実行時に転けるので要注意。
0163デフォルトの名無しさん
2011/04/20(水) 07:15:01.74読みやすいつーか
その二つは違うだろ
0164デフォルトの名無しさん
2011/04/20(水) 07:23:34.78どんな環境だよw
0165デフォルトの名無しさん
2011/04/20(水) 07:35:30.32char配列をint境界に割り当てないコンパイラと、境界を跨いだintアクセスのできないCPUの組み合わせ。
0166デフォルトの名無しさん
2011/04/20(水) 07:37:12.460167デフォルトの名無しさん
2011/04/20(水) 07:42:47.660168デフォルトの名無しさん
2011/04/20(水) 09:09:23.07| |
\_/
_ |__
/ \
/ ─ ─\
/ ⌒ ⌒ \
| ,ノ(、_, )ヽ |
\ トェェェイ / おしっこジョボジョボミラジョボビッチ♪」
/ _ ヽニソ, く おしっこジョボジョボミラジョボビッチ♪」
三. i! ゙ヽ、 Y" r‐!、 ヽ.
三 ヽ. 、 ''´⌒ゝ-‐'" _ィ》 Y!
\_|!_二|一"f , !゙\ 三
〈, l|゙》-i|┴ーi´ / イ ´ i! 三
♪ ゙ー-ニ二__,/ / / 三 ♪
/゙ У / / 三
//,/-‐、 /
i! _{! j!'〈 ♪
/ ,,.ノ \'' ヽ \
〈 ーぐ \ ヽ
゙ー″ 〉ー- 〉
〈___ノ
0169デフォルトの名無しさん
2011/04/20(水) 09:09:54.740170デフォルトの名無しさん
2011/04/20(水) 09:13:43.080171デフォルトの名無しさん
2011/04/20(水) 09:31:19.710172デフォルトの名無しさん
2011/04/20(水) 09:32:57.84どうしてそう思ったのかな?
0173デフォルトの名無しさん
2011/04/20(水) 09:40:39.08BUFSIZなんて使ってないが
0174デフォルトの名無しさん
2011/04/20(水) 10:04:06.53Eが落ちた。
>>172
使い回しできない。使い回ししないなら、関数内でクリアするより呼び出し側でクリアする方が自然(≒依存度が下がる)。
0175デフォルトの名無しさん
2011/04/20(水) 10:10:29.920176デフォルトの名無しさん
2011/04/20(水) 10:11:22.630177デフォルトの名無しさん
2011/04/20(水) 10:16:09.720178デフォルトの名無しさん
2011/04/20(水) 10:18:26.030179デフォルトの名無しさん
2011/04/20(水) 10:29:53.18Cygwin でも C99 使えるよ
0180デフォルトの名無しさん
2011/04/20(水) 10:31:39.03�d
0181デフォルトの名無しさん
2011/04/20(水) 10:53:34.93君が言ってるのは、お題が気に食わないってことかな?
ここでは関数内で初期化する事が要件なんだけど。
それと、数行のコードの再利用性で愚作とまで言い切るのは相当凄腕のエスパーだよね。
この程度のコード片なら、使い回し等考えずに一番簡潔な方法で書いた方が良いと思うわ。
0182デフォルトの名無しさん
2011/04/20(水) 10:59:40.100183デフォルトの名無しさん
2011/04/20(水) 11:01:39.76×愚作
○愚策
普段から策もなく行き当たりばったりに作っているから間違えるんだよ。
そもそも、memset()するだけの関数なんて存在意義がない。
何らかの処理をする関数の一部と考えれば使い捨てと断じるのは迂闊。
0184デフォルトの名無しさん
2011/04/20(水) 11:05:33.15ブフフwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
0185デフォルトの名無しさん
2011/04/20(水) 11:22:12.620186デフォルトの名無しさん
2011/04/20(水) 11:47:10.76配列のサイズを知る方法は確立されてるんだからそれを使え
0187デフォルトの名無しさん
2011/04/20(水) 12:13:32.99コード書いてみてください
0188デフォルトの名無しさん
2011/04/20(水) 13:29:18.230189デフォルトの名無しさん
2011/04/20(水) 13:45:34.00CTRL+Oでファイルを開くつもりが、人的操作ミスでファイルを保存するダイアログを開いてしまい、
現在の内容を選択したファイルに保存してしまいました。
このような事を二度と繰り返したくないのです(3回ミスをしました)
どのようにバックアップを取ればよいでしょうか?
019052
2011/04/20(水) 13:49:14.070191デフォルトの名無しさん
2011/04/20(水) 13:51:15.96別のエディタでも設定ある可能性。
自分は、少しでも変更あったらすべての連番を自動バックアップしてる。
0192デフォルトの名無しさん
2011/04/20(水) 13:57:34.030193デフォルトの名無しさん
2011/04/20(水) 14:09:23.940194デフォルトの名無しさん
2011/04/20(水) 14:12:24.190195デフォルトの名無しさん
2011/04/20(水) 14:15:07.53そういうミスをする根本原因を解決しないと、どんなツールを使っても同じミスをするぞ。
マウスの操作が苦手ならキーボードショートカットを使うとか、
判っていながら間違ったダイアログを開いてしまうのなら……その場合はどうしたらいいか知らんが。
>>191
自動バックアップって、>189のような上書きにも対応しているのか?
少なくとも一世代は先祖還りしそうな気がするのだが。
その点では、>189のミスに対応するには保存した版をバックアップする機能が必要になるね。
リビジョン管理ツールと連動できるエディタならできるだろうけれど。
0196デフォルトの名無しさん
2011/04/20(水) 14:15:33.16エディタの開くダイアログや名前を付けて保存ダイアログを使わない
エクスプローラから直接開いて上書き保存だけする
0197デフォルトの名無しさん
2011/04/20(水) 14:19:12.660198デフォルトの名無しさん
2011/04/20(水) 14:22:00.70対応するエディタを使っていれば、上書き保存される前に、未変換のテキストをバックアップフォルダへ連番でバックアップできる。
0199デフォルトの名無しさん
2011/04/20(水) 14:30:16.70GITをWindowsに入れてみたいのですが使い方とか良く分かりません
0200デフォルトの名無しさん
2011/04/20(水) 14:33:59.800201デフォルトの名無しさん
2011/04/20(水) 14:45:32.36おまえ、不正なPASSで秀丸使ってるだろ。
ちゃんと金払えよな。
0202デフォルトの名無しさん
2011/04/20(水) 14:49:10.76ショート・カットキーは押し間違えやすい
ミスタイプってあるよな?あれと同じ事が起きる
俺もCtrl+CとCtrl+Vをたまに押し間違える
対策はボタンを使うか、面倒だけどもメニューから
開くを選択する事だ
0203デフォルトの名無しさん
2011/04/20(水) 14:50:03.09入れた後なんですがどうやってバックアップを取ればよいのか
Gitって難しいですね
SVNなら簡単なんでしょうか?
秀丸エディタはお金を払って利用はしておりませんが作者様から免除のライセンスを頂いてますので正式ユーザーです
一応フリーソフト開発者です
0204デフォルトの名無しさん
2011/04/20(水) 14:54:22.05で、Gitの使い方ならGitスレへ。
0205デフォルトの名無しさん
2011/04/20(水) 14:54:54.58これって関数の仕様が決まってからでないと使えないのか?
動作しファイル組み合わせは自動で記録できるのか。
秀丸のバックアップ単体で十分。
0207デフォルトの名無しさん
2011/04/20(水) 14:59:39.65Gitのスレも除いてみます。ありがとうごじあます
>>205
お互い頑張りましょう。
>>206
えええええええええ
0208デフォルトの名無しさん
2011/04/20(水) 15:01:06.78×Gitのスレも除いてみます。ありがとうごじあます
○Gitのスレも覗いてみます。ありがとうございます
興奮して早くレス打たないといけないと思って誤字になりました。
常に秀丸を使うんだったら、この機能ONにしとけば全部残る。
0210デフォルトの名無しさん
2011/04/20(水) 15:22:06.70保存した内容と同じでないのでツライです
2回保存しないと同じ内容でバックアップになんないのでキビシイです
世代にしろ。変更前、保存前のデータが残るんだ。
変更前と変更後を常に残していけば良いんだよ。
Aをバックアップフォルダへ移動した後に、変更後の内容をAのあった場所へファイル作成して保存するの。
0213デフォルトの名無しさん
2011/04/20(水) 15:32:31.84前者はバックアップとってない or フォルダ(ディレクトリ)ごと 別にコピー(おおがかりに変更かけるときとか)
後者は バージョン管理ツールでコミット
0214デフォルトの名無しさん
2011/04/20(水) 15:36:07.11これこそ(分散型)リビジョン管理ツールの出番だ。
0215デフォルトの名無しさん
2011/04/20(水) 15:39:21.540216デフォルトの名無しさん
2011/04/20(水) 15:45:00.63主目的が コピペ元 なんで、基本的には管理ツールでことたりてるね
基本 1本幹で 枝からの平行成長は使わない方向かな…
枝分け 複数並行リビジョン運用 根に修正はいって マージどおすべぇ問題に目を背けてる使い方
0217デフォルトの名無しさん
2011/04/20(水) 15:46:33.79タグだけ打っとけばどうにかなるだろ
0218デフォルトの名無しさん
2011/04/20(水) 15:47:16.83どおすべぇって、マージすればよくね?
0219デフォルトの名無しさん
2011/04/20(水) 15:50:24.80入門書では教えないからね(このこと自体クソだが)
0220デフォルトの名無しさん
2011/04/20(水) 15:50:51.630221デフォルトの名無しさん
2011/04/20(水) 15:57:42.62まじでググってみるといいよ。
0222デフォルトの名無しさん
2011/04/20(水) 15:58:00.050223デフォルトの名無しさん
2011/04/20(水) 16:00:24.52コピー 〜 ○○というのを作る。
失敗したら手動で戻す。
SVNとかテキストでそのまま残らないず管理ツール本体が壊れたら嫌だ。
0224デフォルトの名無しさん
2011/04/20(水) 16:19:14.20SVNなら週一でスナップショットをローカルに保存しときゃいいだろ。
まあGIT使えばそんな心配もねえけどな。
0225デフォルトの名無しさん
2011/04/20(水) 16:23:20.81なかなかそうはいかんよな
0226デフォルトの名無しさん
2011/04/20(水) 16:32:20.44自動でやってくれないし、無駄なファイルを生成するし。
自動でバックアップフォルダへ連番つきで保存してくれれば十分。
普通のテキストエディタでこの機能は付いている。
0227デフォルトの名無しさん
2011/04/20(水) 16:33:44.16だから、未だにprintf()とscanf()のフォーマット指定は互換だなんて書いてある本が出回るわけで。
0228デフォルトの名無しさん
2011/04/20(水) 16:35:52.95あとは問題起こったとき更新日時から手動で復元できる。
バージョン管理ツール何が良いのか。
0229デフォルトの名無しさん
2011/04/20(水) 16:36:23.18それだと
保存したときに、変更前の内容がバックアップに残り、
最新の内容がバックアップに残りません
最新の内容を間違えて上書きしちゃったときのためにバックアップを取りたいのでキツイです
0230デフォルトの名無しさん
2011/04/20(水) 16:36:32.65連番だけでひたすら保存して、特定の状態に戻したくなったらどうするの?
私は連番管理や日付け管理ではその辺りがどうにもならないからリビジョン管理ツールを使っているのだけれど。
分岐の管理もできるしマージは強力だし、今では只のバックアップに留まらずいろいろ有効活用しているけどね。
0231デフォルトの名無しさん
2011/04/20(水) 16:36:47.800232デフォルトの名無しさん
2011/04/20(水) 16:39:19.36最新の内容を上書きする前に自動でバックアップするから、
間違って上書きしないわけだが。エディタを固定して使っていたら。
0233デフォルトの名無しさん
2011/04/20(水) 16:42:35.38うああああああああああああああバックアップされてました
ためしに無題ファイルで上書きしたらバックアップされてました
すいませんでした
0234デフォルトの名無しさん
2011/04/20(水) 16:45:11.14ファイルを削除したときはバックアップされませんでした
0235デフォルトの名無しさん
2011/04/20(水) 16:53:46.53ゴミ箱に入ってんじゃない
0236デフォルトの名無しさん
2011/04/20(水) 17:03:38.25シフト+DELETEで消しましたから
0237デフォルトの名無しさん
2011/04/20(水) 17:05:52.350238デフォルトの名無しさん
2011/04/20(水) 17:11:01.04これからはシフト+DELETEを使わなければ良い。
0239デフォルトの名無しさん
2011/04/20(水) 17:12:38.97異常事態が起こっても
最大で一分間の作業が無駄になるだけじゃん。
一分くらい気にするな。
0240デフォルトの名無しさん
2011/04/20(水) 17:15:08.42さっきより良いコードが必ず書ける。
0241デフォルトの名無しさん
2011/04/20(水) 18:38:56.640242デフォルトの名無しさん
2011/04/20(水) 19:17:36.28| |
\_/
_ |__
/ \
/ ─ ─\
/ ⌒ ⌒ \
| ,ノ(、_, )ヽ |
\ トェェェイ / おしっこジョボジョボミラジョボビッチ♪」
/ _ ヽニソ, く おしっこジョボジョボミラジョボビッチ♪」
三. i! ゙ヽ、 Y" r‐!、 ヽ.
三 ヽ. 、 ''´⌒ゝ-‐'" _ィ》 Y!
\_|!_二|一"f , !゙\ 三
〈, l|゙》-i|┴ーi´ / イ ´ i! 三
♪ ゙ー-ニ二__,/ / / 三 ♪
/゙ У / / 三
//,/-‐、 /
i! _{! j!'〈 ♪
/ ,,.ノ \'' ヽ \
〈 ーぐ \ ヽ
゙ー″ 〉ー- 〉
〈___ノ
0243デフォルトの名無しさん
2011/04/20(水) 20:01:23.920244デフォルトの名無しさん
2011/04/20(水) 20:18:18.35キーボードのAを押している間はディスプレイに任意の文字を出力させて、離したらその文字を消す
というプログラムをつくりたいです
ご教授お願いします
0245デフォルトの名無しさん
2011/04/20(水) 20:26:24.35非標準関数だけどgetch()を使う
0246デフォルトの名無しさん
2011/04/20(水) 21:31:52.82>何らかの処理をする関数の一部と考えれば使い捨てと断じるのは迂闊。
使い回すと考えるのも早計だと思うけど。
あの質問からそこまでネチネチ考えるのはむしろナンセンスじゃない?
茶茶入れする為の茶茶入れをしても誰からも感謝されないと思うんだが・・・
0247デフォルトの名無しさん
2011/04/20(水) 22:38:35.62| |
\_/
_ |__
/ \
/ ─ ─\
/ ⌒ ⌒ \
| ,ノ(、_, )ヽ |
\ トェェェイ / おしっこジョボジョボミラジョボビッチ♪」
/ _ ヽニソ, く おしっこジョボジョボミラジョボビッチ♪」
三. i! ゙ヽ、 Y" r‐!、 ヽ.
三 ヽ. 、 ''´⌒ゝ-‐'" _ィ》 Y!
\_|!_二|一"f , !゙\ 三
〈, l|゙》-i|┴ーi´ / イ ´ i! 三
♪ ゙ー-ニ二__,/ / / 三 ♪
/゙ У / / 三
//,/-‐、 /
i! _{! j!'〈 ♪
/ ,,.ノ \'' ヽ \
〈 ーぐ \ ヽ
゙ー″ 〉ー- 〉
〈___ノ
0248デフォルトの名無しさん
2011/04/20(水) 23:01:43.39おまえら記憶力に障害でもあるのか?
脳の検査してきたほうがいいんじゃね?
0249デフォルトの名無しさん
2011/04/20(水) 23:03:34.47バージョン管理ツール必要ないな
0250デフォルトの名無しさん
2011/04/20(水) 23:09:23.01なんとかできそうです
ありがとうございました( ´ ▽ ` )
0251デフォルトの名無しさん
2011/04/20(水) 23:13:08.210252デフォルトの名無しさん
2011/04/20(水) 23:13:24.050253デフォルトの名無しさん
2011/04/20(水) 23:19:36.240255デフォルトの名無しさん
2011/04/20(水) 23:23:46.420256デフォルトの名無しさん
2011/04/20(水) 23:28:31.510257デフォルトの名無しさん
2011/04/20(水) 23:43:40.600258デフォルトの名無しさん
2011/04/20(水) 23:47:19.310259デフォルトの名無しさん
2011/04/20(水) 23:52:10.200260デフォルトの名無しさん
2011/04/20(水) 23:55:39.220261デフォルトの名無しさん
2011/04/20(水) 23:57:53.420262デフォルトの名無しさん
2011/04/20(水) 23:58:11.600263デフォルトの名無しさん
2011/04/21(木) 00:00:58.170264デフォルトの名無しさん
2011/04/21(木) 00:01:16.680265デフォルトの名無しさん
2011/04/21(木) 00:02:10.200266デフォルトの名無しさん
2011/04/21(木) 00:11:37.74このLCDライブラリのソースlcd.cの中の
static LCD *lcd;
という宣言の意味がよくわからないです
あと、
lcd = (LCD *)&PB.DR.BYTE;
PB.DRのポート8ビットが構造体の各メンバに定義されてると思うんだけど
void LCDInitの中だけで定義されていて大丈夫なの?
0267デフォルトの名無しさん
2011/04/21(木) 00:12:49.23不完全型でググれ
0268デフォルトの名無しさん
2011/04/21(木) 00:13:38.960269デフォルトの名無しさん
2011/04/21(木) 00:17:34.510270デフォルトの名無しさん
2011/04/21(木) 00:17:55.200271デフォルトの名無しさん
2011/04/21(木) 00:22:08.710272デフォルトの名無しさん
2011/04/21(木) 00:24:42.710273デフォルトの名無しさん
2011/04/21(木) 00:26:04.900274デフォルトの名無しさん
2011/04/21(木) 00:26:43.890275デフォルトの名無しさん
2011/04/21(木) 00:29:24.350276デフォルトの名無しさん
2011/04/21(木) 00:31:12.670277デフォルトの名無しさん
2011/04/21(木) 00:33:59.840278デフォルトの名無しさん
2011/04/21(木) 00:36:06.440279デフォルトの名無しさん
2011/04/21(木) 00:38:45.300280デフォルトの名無しさん
2011/04/21(木) 00:42:13.43サンクス
0281デフォルトの名無しさん
2011/04/21(木) 00:53:09.71サンクス
0282デフォルトの名無しさん
2011/04/21(木) 00:55:16.76サンクス
0283デフォルトの名無しさん
2011/04/21(木) 01:20:01.34サンクス
0284デフォルトの名無しさん
2011/04/21(木) 06:18:55.81サンクス
0285デフォルトの名無しさん
2011/04/21(木) 12:40:54.280286デフォルトの名無しさん
2011/04/21(木) 12:54:13.40書けますが、基幹部分とI/O及びアトミック操作はアセンブラで書かざるを得ない
場合がほとんどです
0287デフォルトの名無しさん
2011/04/21(木) 13:37:29.670288デフォルトの名無しさん
2011/04/21(木) 13:54:47.700289デフォルトの名無しさん
2011/04/21(木) 13:57:30.91Cソースコード分量 / (Cソースコード分量+アセンブラコード分量)
0290デフォルトの名無しさん
2011/04/21(木) 14:03:17.850291デフォルトの名無しさん
2011/04/21(木) 14:03:22.57あれをアセンブラで書けと言われたら気が狂う
0292デフォルトの名無しさん
2011/04/21(木) 14:08:17.56ttp://tabesugi.net/memo/2009/1a.html#152154
0293デフォルトの名無しさん
2011/04/21(木) 14:20:28.07まあべつにCでポリモできねえわけじゃねえし。
ソースコード量が多すぎてテキスト領域がバッファオーバーフローすることはないんですか
0295デフォルトの名無しさん
2011/04/21(木) 21:09:48.750296デフォルトの名無しさん
2011/04/21(木) 21:16:08.250297デフォルトの名無しさん
2011/04/21(木) 21:45:14.93どちらでも
ただバグ取りはCよりC++の方が格段に楽
0298デフォルトの名無しさん
2011/04/21(木) 21:49:03.390299デフォルトの名無しさん
2011/04/21(木) 21:54:14.89クイックソートが一番早いならソートは全部クイックでやればいいのでは?
0300デフォルトの名無しさん
2011/04/21(木) 21:54:24.650301デフォルトの名無しさん
2011/04/21(木) 21:56:12.69同値のデータがあったときに、並び方が変わることかな?
0302デフォルトの名無しさん
2011/04/21(木) 21:56:33.50データすべてがメモリに乗っていないと遅くなる。
HDDを補助に使えるソートのほうが速くなる可能性。
シーケンシャルアクセスで済ませれば、HDD使ってもそれほど遅くならん。極端には。
0303デフォルトの名無しさん
2011/04/21(木) 22:08:23.27計算量的には最速なのでは?
>>302
工学的にはそうなんですか。
0304デフォルトの名無しさん
2011/04/21(木) 22:21:12.99メモリ使用パターンとインデックスソートソート
対象の配列が主記憶を使い切るような大きさであった場合、より低速な補助記憶装置が使われるので、
アルゴリズムのメモリ使用パターンが重要となる。
そのような状況では、主記憶上ですべてソートできることを前提としたアルゴリズムは効率が極端に悪化する可能性がある。
このような状況では、比較演算回数はあまり重要ではなくなり、ディスクとのメモリ領域のスワップ回数が重要となる。
したがって、なるべくスワップ回数を増やさないようにするために、配列全体を走査する回数や比較の局所性が比較回数よりも重要となる。
例えば、再帰型のクイックソートは主記憶上では性能が良いが、ソート対象の配列が主記憶に収まらない場合は
スワップが頻繁に発生して、性能が極端に低下する。
したがって、そのような場合は比較回数が多くても他のアルゴリズムを使った方がよい。
ソート - Wikipedia
0305デフォルトの名無しさん
2011/04/21(木) 22:25:19.60主なソーティングアルゴリズムと性能
クイックソート 平均計算時間 O(nlog n) 最悪計算時間 O(n2)
分布数えソート 平均計算時間 O(n) 最悪計算時間 O(n)
http://www.motorwarp.com/koizumi/sort.html
0306デフォルトの名無しさん
2011/04/21(木) 22:28:16.58分布数えソート(最高速のソート)
最高速のソートとは大きく出たなと思われるでしょうが、
分布数えソートはクイックソートですら足元に及ばないほど高速です。
おそらく、広く知られたソートアルゴリズムの中ではこれが最高速のソートでしょう。
その計算量のオーダは O(N)という驚異的なものです。
しかも分布数えソートは安定なソートなのです。
http://www.moon.sannet.ne.jp/okahisa/sort/node25.html
バケットソートは、ソートのアルゴリズムの一つ。
バケツソート、分布数えソート、計数ソート、ビンソートなどともいう。
計算時間はO(n)と高速だが、要素の定義域分の外部記憶が必要。安定ソートが可能。
バケットソート - Wikipedia
0307デフォルトの名無しさん
2011/04/21(木) 22:33:32.84スワップって何ですか?
プログラムを書いただけではメモリ使用パターン何て分かりません・・
マージやヒープソートはどうなんですか?
>>306
クイックソートより早いソートは不可能って前レスであったけどどうなんでしょう?
0308デフォルトの名無しさん
2011/04/21(木) 22:34:14.97ファイルのどこを探してもそのテキストファイルがありません・・・
漠然としすぎだとは思いますが、どこに問題があるのか分かる方いらっしゃいますか?
0309デフォルトの名無しさん
2011/04/21(木) 22:41:54.730310デフォルトの名無しさん
2011/04/21(木) 22:42:07.45スワップは、巨大メモリ(仮想メモリ)を使用して、ランダムリード、ライトがあれば起こりやすい。
メモリ上だけ処理できないってことだ。
クイックソートだと、初めに二分割するときに、メモリ上で大規模な入れ替え、大移動が起こる。
0311デフォルトの名無しさん
2011/04/21(木) 22:46:13.62分布数えソート(パケットソート)は、ソートする値が、たとえば 0〜100 の間、という風に狭い範囲に限定しているときに力を発揮します。
もっと一般の場合、たとえば 0〜4294967296 の範囲といった場合には、主記憶をそれだけ必要とするゆえに、現実的でなくなります。
0312デフォルトの名無しさん
2011/04/21(木) 22:49:31.92マージも分割するんやないのですか?
0313デフォルトの名無しさん
2011/04/21(木) 23:15:43.810314デフォルトの名無しさん
2011/04/21(木) 23:44:33.160315デフォルトの名無しさん
2011/04/21(木) 23:52:09.73クイックソートは悪くないけど、盲信してる奴は最悪計算時間を知らない奴が多い
あと非安定だから用途によってはマージソートとか使った方が良い
0316デフォルトの名無しさん
2011/04/21(木) 23:54:41.29クイックは大域的なメモリアクセスが起こるのも良くない。
0317デフォルトの名無しさん
2011/04/21(木) 23:59:41.84たとえばソート対象はaa* 〜 zz*として。
aa - ca、 cb - fd 、fe - ma、・・・ とファイルへ分類して書き出しておき
各ファイルはメモリ上でソート可能とする。
それらをソートして連結。
前にも同じような事書いたが。
0318デフォルトの名無しさん
2011/04/21(木) 23:59:45.04ってことはCよりC++を勉強したほうがいいってことなの!?
Cがおすすめってここで教えてもらったのに超損した!
0319デフォルトの名無しさん
2011/04/22(金) 00:01:28.72Cでオケ。C++やるならもっと他の選択肢も検討した方がいい。
0320デフォルトの名無しさん
2011/04/22(金) 00:05:06.80マージソートのほうがよさげ
0321デフォルトの名無しさん
2011/04/22(金) 00:07:10.15普通マージソート使う
0322デフォルトの名無しさん
2011/04/22(金) 00:13:47.88えっ、なんでなんすか?
整列済みなら、手間が省けて余計に早くなるんじゃないん?
違うんですか?
0323デフォルトの名無しさん
2011/04/22(金) 00:23:20.770324デフォルトの名無しさん
2011/04/22(金) 00:23:23.040325デフォルトの名無しさん
2011/04/22(金) 00:26:35.76>>
___ ━┓
/ ― \
/ (●) \ヽ
/ (⌒ (●) /
/´ ___/
| \
0326デフォルトの名無しさん
2011/04/22(金) 00:32:20.12大きくも小さくも最速かどうかは証明か反証のどちらかが見つかっているということだ
驚異的とかハァハァするとかそういう主観は誰もおまえに尋ねてはいない
おまえに対する要求はただ1つ、嘘をつくな
0327デフォルトの名無しさん
2011/04/22(金) 00:36:01.94データ数Nで計算量がO(N)より縮まることはない。
質量保存則、運動量保存則と共通する原理に近い。
0328デフォルトの名無しさん
2011/04/22(金) 00:41:56.47文字列型がある言語では、例えば"TREE"や"mountain"などの文字列は
全て同じバイト数なんでしょうか?
0329デフォルトの名無しさん
2011/04/22(金) 00:42:01.990330デフォルトの名無しさん
2011/04/22(金) 00:54:52.11同じバイト数でそれら扱う言語があるかも知れませんが、スレ違いですね
0331325
2011/04/22(金) 01:09:26.27まじ糞過ぎるwwwwww
非安定は、たとえばデータに通し番号を打って比較交換のときに考慮すればいいので、大きな問題ではない。
なお私はシェルソート信者。
0333デフォルトの名無しさん
2011/04/22(金) 08:20:04.97消えろクズ
http://hibari.2ch.net/test/read.cgi/tech/1295273862/411
で懸念してるとおりですね。
0335デフォルトの名無しさん
2011/04/22(金) 12:50:55.40失せろカス
0336デフォルトの名無しさん
2011/04/22(金) 13:14:09.75それはソートにおける原理と限定しておかないと。
0337デフォルトの名無しさん
2011/04/22(金) 18:21:28.840338デフォルトの名無しさん
2011/04/22(金) 20:40:19.630339デフォルトの名無しさん
2011/04/22(金) 20:55:44.27そんなモジュールとか用意されてない?
例えばLinuxだとどうしたら・・・
0340デフォルトの名無しさん
2011/04/22(金) 20:58:20.02tcl/tk呼び出すとか
0341デフォルトの名無しさん
2011/04/22(金) 21:16:18.16Cが出来てJavaが出来ない人っていますか?
その逆もいますか?
0342デフォルトの名無しさん
2011/04/22(金) 21:18:27.94Cができれば、Javaは出来るんじゃないか?
逆は無理かも知れない。
0343デフォルトの名無しさん
2011/04/22(金) 21:19:54.61両方いるね。
書けても、形だけとかそんな感じのも多い。
0345デフォルトの名無しさん
2011/04/22(金) 21:50:22.68俺俺 C⇔C++ はOK
Java は無理
当たり前に使ってる標準関数とかの相当品をリファレンス頼りにいちいち探さないとっていう理解度なので
道具として即使えてる C/C++ で済ましてる
0346デフォルトの名無しさん
2011/04/22(金) 22:21:17.0810000000000000000000.00000000000000000000です。
例えば6323234×32342とか
0.2323×0.232453とか。
0347デフォルトの名無しさん
2011/04/22(金) 22:21:50.08両方いる。
Cがちゃんと分かっている人には、ちょっと説明すれば、Javaは
かけるようになる。あとはAPIを覚えるだけ。
Javaがちゃんと分かっている人も、説明すればCでかけるだろうけど、
Cは標準関数があまりにも質素すぎて、我慢出来ないと思う。
まぁ設計が判る人というかOOPやデザパタが判る人なら、
C⇔Javaは可能でしょ。
0348デフォルトの名無しさん
2011/04/22(金) 22:25:20.07google 任意精度演算
0349デフォルトの名無しさん
2011/04/22(金) 22:38:38.970350デフォルトの名無しさん
2011/04/22(金) 22:41:54.960351デフォルトの名無しさん
2011/04/22(金) 22:45:23.71なりたいって言ってなった奴 ってあんまり印象ないな
0352デフォルトの名無しさん
2011/04/22(金) 22:48:18.74書き方覚えてもダメってことがこのスレ見たらわかるでしょ
0353デフォルトの名無しさん
2011/04/22(金) 22:53:15.660354デフォルトの名無しさん
2011/04/22(金) 22:54:04.27漠然と聞きたければマ板へ行け
ム板で聞きたければ具体的な問題を用意しろ
0355デフォルトの名無しさん
2011/04/22(金) 23:24:55.76その精度で計算できるハードウエアを持ってくる
0356デフォルトの名無しさん
2011/04/23(土) 00:45:02.95http://yuzuru.2ch.net/test/read.cgi/ff/1298538064/l50
http://www31.atwiki.jp/fftsukurou/
・最近のFFが嫌い
・昔のFFが好き
どちらかに当てはまれば誰でも結構です。
昔ながらのFFをみんなで作りましょう。
0357デフォルトの名無しさん
2011/04/23(土) 00:55:02.100358デフォルトの名無しさん
2011/04/23(土) 06:37:13.33<前提>
例えば 0xAABBCCDD の場合、これを配列 unsigned char a[4] だと
リトル:
a[0] = DD
a[1] = CC
a[2] = BB
a[3] = AA
ビッグ:
a[0] = AA
a[1] = BB
a[2] = CC
a[3] = DD
となります。
これを
printf("%x %x %x %x", a[0], a[1], a[2], a[3]) とすると、
リトル:
DD CC BB AA
ビッグ:
AA BB CC DD
となります。
0359358
2011/04/23(土) 06:38:09.24上位番地 0xFFFF
a[3]
a[2]
a[1]
a[0]
下位番地 0x0000
となります。
だから &a[1] + 1 == &a[2] です。 配列の番号と、メモリの番地が比例関係なのは、リトルエンディアンでも、ビックエンディアンでも同様です。
(もしもリトルとビックで、配列の番号順が逆になってしまったら、 反比例の場合 &a[1] + 1 == &a[0] という現象も起こりうるはずですが、実際には起きてません。)
0xAA を2進数に直すと 10101010 です。これは
上位ビット(上位番地)
1
0
1
0
1
0
1
0
下位ビット(下位番地)
です。
これも配列同様に、ビックでもリトルでも、変化しません。
<質問>
つまり、ビックエンディアンで順序が逆転するのは、あくまで1バイト単位のブロックの並べ替え単位にすぎない。
ビット単位での逆転は起きない。ビット単位で見れば、上位ビットの高位桁、下位ビットに下位桁が記録されるというフォーマットに違いはない。
という理解で良いですか?
0360デフォルトの名無しさん
2011/04/23(土) 06:40:47.050361358
2011/04/23(土) 07:13:25.38なぜなら、『数値の位』と『メモリー番地』が対応するからです。
リトルエンディアンの場合
1 の位が、メモリー番地 0x0001 だとします。
2 の位は、メモリー番地 0x0002 です。
4 の位は、メモリー番地 0x0003 です。
8 の位は、メモリー番地 0x0004 です。
つまり、位が増加すれば、メモリー番地も増加します。
ビックエンディアンの場合
1 の位が、メモリー番地 0x0018 だとします。
2 の位は、メモリー番地 0x0019 です。
4 の位は、メモリー番地 0x001A です。
8 の位は、メモリー番地 0x001B です。
(1の位 〜 128の位までに関しては、位の増加 = 番地の増加です)
しかし、 256 の位は、メモリー番地 0x0020 ではなく、 0x0010 になります。
つまり、位の増加と、メモリーの番地の増加が、必ずしも比例しないということです。
だからビックエンディアンは不自然だと思います。
もしもビックエンディアンの目的である「下位桁よりも、上位桁を先に読んでいける」を自然に実現したいのであれば、
バイト単位の入れ替えではなく、ビット単位での入れ替えをして記録すべきだと思います。(そこまで徹底してほしいです)
つまり、
Xエンディアンの場合
1 の位が、メモリー番地 0x001F だとします。
2 の位は、メモリー番地 0x001Eです。
4 の位は、メモリー番地 0x001D です。
8 の位は、メモリー番地 0x001C です。
という具合に、メモリー番地と位が、完全に反比例します。(ビット単位で)
0362358
2011/04/23(土) 07:18:25.78361のメモリー番地は、バイト単位ではなく、ビット単位としてです。
つまり 0x0000 〜 0x0020 で4バイトという意味です。
0363デフォルトの名無しさん
2011/04/23(土) 07:18:49.52ビットにはアドレスが付いておらず、ビット単位でメモリから読むことは出来ない
バイト単位で読めば例えバイト内でビットが逆順で記録されてても読むときには通常の順序に戻る
0364デフォルトの名無しさん
2011/04/23(土) 07:23:21.03質問にたいしては、その理解で良い、かな。
エンディアンを「バイトオーダー」ともいいますが、要するに、バイト単位でのデータ配置
方法を指しています。バイトの中身のビットフォーマットについては触れていません。
というか、Cの中ではビットの具体的な配置方法を知る方法は無いから、実際の
ビットフォーマットが逆転していてもわからないと思いますよ。
0365358
2011/04/23(土) 07:38:38.05http://k.osask.jp/nosup/knzk000a.zip
#0004 : エンディアン等
の章で、ビッグエンディアンを採用するらしきことが書かれてるのですが、
気になったのは、最後の行の「これがワード列やビット列になってももちろん同様の方針
を採る。」です。
『ビット列でも同様』ということは、つまり
ビット単位で『上位アドレス=下位桁、下位アドレス=上位桁』をやろうとしてる? ということなのでしょうか?
だとしたら、これはビッグエンディアンと呼べるのでしょうか?
別物ではないでしょうか?
むしろ、さっきの例のXエンディアンに相当しませんか?(ビット単位での、全体的な、上位下位の逆転)
どうにもこの章の言わんとしてることが、いまいち理解できなくてこまってます。
ただ、思想としては、「符号ビットをまっさきに読みたい」という考えなのだろうから、
データの記録や送信や運用の方法として、「まず上位桁のバイトから転送していく」という考えなのだろうか?
0366358
2011/04/23(土) 07:40:22.54正:「まず上位桁のビットから転送していく」
0367デフォルトの名無しさん
2011/04/23(土) 07:54:16.490368デフォルトの名無しさん
2011/04/23(土) 07:59:23.95先ず第一に、スレ違い。
第二に、仕様書の問題なら当事者に聞け。
まぁ、趣旨としては「データをビット単位で扱う場合もワード単位で扱う場合も先頭データが先頭バイトに格納される」だと思うが。
データの並びと格納されるバイトの中身をごっちゃにしちゃいかんよ。
0369364
2011/04/23(土) 08:29:50.56>ただ、思想としては、「符号ビットをまっさきに読みたい」という考えなのだろうから、
>データの記録や送信や運用の方法として、「まず上位桁のバイトから転送していく」という考えなのだろうか?
メモの内容はそうですね。というか符号ビットが大事だから、先に置くというポリシーらしい。
くり返しなりますが、
Cでは「物理的なビットオーダー」を気にする場面は無いはずです。
0x0aが
MSb 0b1010 LSb でも LSb 0b0101 MSbでも
Cで扱う場合は、それを区別できないですよね。
少なくとも同一のハード上で、それを気にすることはないです。
異なるハード間の話になれば、それはプロトコルの問題になります。
0370デフォルトの名無しさん
2011/04/23(土) 09:04:22.46>0x0aが
>MSb 0b1010 LSb でも LSb 0b0101 MSbでも
それ一緒や
0372デフォルトの名無しさん
2011/04/23(土) 10:11:59.650374デフォルトの名無しさん
2011/04/23(土) 10:31:48.54上位番地 0x0000
a[0]
a[1]
a[2]
a[3]
下位番地 0xFFFF
となります。
>>って、直してあげればいいんじゃない。...
0375デフォルトの名無しさん
2011/04/23(土) 11:11:06.92だから一緒だって。
物理的な並びと、それを同解釈するかは別問題でしょ。
横書きを左から右に読むのか
一期一会
右から左に読むのかは
会一期一
決め事でしか無いわけだから。
0376369
2011/04/23(土) 11:30:30.38なんだか舌足らずですみません。
物理的なビットオーダーがどうなっていようが、意味的なビット状態が
同じならば気にならない、ということです。
そもそもCではビットオーダーがわかりません。
Cでプログラムしている上では気にしたことも無いです。
いま気づいたけど、
>362
>361のメモリー番地は、バイト単位ではなく、ビット単位としてです。
ビットにはアドレスは無い。ここから勘違いが始まっている?
0377374
2011/04/23(土) 11:51:26.620378デフォルトの名無しさん
2011/04/23(土) 16:00:12.26これだけではプログラマーになるには難しいですか?
0379デフォルトの名無しさん
2011/04/23(土) 16:05:28.25そういう事だ
0380デフォルトの名無しさん
2011/04/23(土) 16:10:32.39プログラマーとはプログラムを作る人だ
つまり何らかのプログラムを作れば、あなたはプログラマーだ
参考書を読んだだけとか参考書のソースを写しただけとかじゃ自分でプログラムを作ったとは言いにくいが
何か作ってみ
0381デフォルトの名無しさん
2011/04/23(土) 16:44:50.850382デフォルトの名無しさん
2011/04/23(土) 16:49:06.64無意味なレスしなくていいから
0383デフォルトの名無しさん
2011/04/23(土) 16:54:07.0110日でおぼえる〜を読んで自分のしたいことを実際に作れるか。
それで知識が足らないと思うんならもっと勉強する。
これでアナタも立派なプログラマー
0384デフォルトの名無しさん
2011/04/23(土) 16:56:46.690385デフォルトの名無しさん
2011/04/23(土) 16:59:57.01つまりできるやつは最初からできるしできないやつはできないまま死んでいく
努力したらできないやつができるようになるわけじゃないセンスのないやつにはどうしようもない
つまり向いてないから死ねということ
0387デフォルトの名無しさん
2011/04/23(土) 17:13:57.300388デフォルトの名無しさん
2011/04/23(土) 17:16:56.56そうですね。
C は必要になったら思い出せる程度で良いと思います。
それと SQL と JavaScript も習得すると良いと思います。
0389デフォルトの名無しさん
2011/04/23(土) 17:36:44.19C++, Java, PythonでOK?
0390デフォルトの名無しさん
2011/04/23(土) 17:38:41.170391デフォルトの名無しさん
2011/04/23(土) 17:43:38.350392デフォルトの名無しさん
2011/04/23(土) 17:48:03.010393デフォルトの名無しさん
2011/04/23(土) 17:51:18.88すでに使えるならともかく、今から覚える言語としては・・・
0394デフォルトの名無しさん
2011/04/23(土) 18:13:18.630395デフォルトの名無しさん
2011/04/23(土) 18:21:01.530396デフォルトの名無しさん
2011/04/23(土) 18:24:23.26とにかくしぶとい印象があるから
0397デフォルトの名無しさん
2011/04/23(土) 18:24:28.960399デフォルトの名無しさん
2011/04/23(土) 20:58:58.39Androidアプリをやりたいなら、Javaをやらざるを得ない。
>398
レイヤーによる。
アプリ層はJavaが多いが、下回りはCが多いのではないか。
0400デフォルトの名無しさん
2011/04/23(土) 21:35:07.830401デフォルトの名無しさん
2011/04/23(土) 21:47:03.13それともコンパイラによってC言語が使えるようになってるだけですか?
0402デフォルトの名無しさん
2011/04/23(土) 21:52:56.710403デフォルトの名無しさん
2011/04/23(土) 21:58:44.81また言語を開発するときその低級言語を理解してないと言語の開発はできないのでしょうか?
0404デフォルトの名無しさん
2011/04/23(土) 22:07:49.901行目:そんなものは存在しない
2行目:そんなことはない
0405デフォルトの名無しさん
2011/04/23(土) 22:10:08.98それより低級なアクセスはせず言語作れるだろ。
0406デフォルトの名無しさん
2011/04/23(土) 22:12:02.710407デフォルトの名無しさん
2011/04/23(土) 22:58:43.380408デフォルトの名無しさん
2011/04/23(土) 23:01:38.17雰囲気が掴めるかな〜程度だったな
0409デフォルトの名無しさん
2011/04/23(土) 23:25:49.71普通に構造体やら配列のポインタやら使いこなせないと分からん。。。
0410デフォルトの名無しさん
2011/04/23(土) 23:39:08.04全部を理解しようと思わずに、やりたいことがあればその度調べながらって割り切ってやればそんなに難しくない
ってかまともにやってられないわ
0411デフォルトの名無しさん
2011/04/23(土) 23:45:26.850412デフォルトの名無しさん
2011/04/24(日) 00:50:27.67C++
0413デフォルトの名無しさん
2011/04/24(日) 01:45:55.630414デフォルトの名無しさん
2011/04/24(日) 12:56:17.6410年やっても、どうにもならんかった。
0415デフォルトの名無しさん
2011/04/24(日) 13:19:15.380416デフォルトの名無しさん
2011/04/24(日) 14:19:46.501回目見つかったとして、2回目が見つかったとき、変数の値に1回目、2回目の値と保存させたいのですが
どうすればいいでしょうか?
0417デフォルトの名無しさん
2011/04/24(日) 14:23:21.58X += X の式で継続的に値が入っていきますか??
0418デフォルトの名無しさん
2011/04/24(日) 14:23:29.980419デフォルトの名無しさん
2011/04/24(日) 14:26:48.740420デフォルトの名無しさん
2011/04/24(日) 14:28:13.77何で自分でやってみないの?
0421デフォルトの名無しさん
2011/04/24(日) 14:32:59.38C言語でのオーバーロードのやり方を教えてください
0422デフォルトの名無しさん
2011/04/24(日) 14:49:16.890423デフォルトの名無しさん
2011/04/24(日) 15:01:37.750424デフォルトの名無しさん
2011/04/24(日) 15:12:46.50>ループ処理内で1つの条件を満たした時の値を変数に代入したいのですが
>1回目見つかったとして、2回目が見つかったとき、変数の値に1回目、2回目の値と保存させたいのですが
質問者の意図を判断しかねるんだが。
条件によるデータの検索なのか、
値を使った計算値が条件を満たすか、とか。
前者なら、同一ループ内で複数見つかる事もあるだろうし。
代入したい値というのが、満たしたときのループの条件なのか、
それとも条件を満たす、見つけたデータなのかもはっきりしない。
0425デフォルトの名無しさん
2011/04/24(日) 15:50:08.00条件によるデータの検索です
代入したい値は見つけたデータです
0426デフォルトの名無しさん
2011/04/24(日) 15:56:12.91for( ; ; ) {
if(データ発見) data[data_cnt++] = 見つけたデータ;
}
0427デフォルトの名無しさん
2011/04/24(日) 16:04:58.75ありがとうございます
配列を使用するみたいですね
配列を勉強してきます
0428デフォルトの名無しさん
2011/04/24(日) 16:06:30.930429デフォルトの名無しさん
2011/04/24(日) 16:11:16.100430デフォルトの名無しさん
2011/04/24(日) 16:37:18.70fseek関数ってファイルの先頭と末尾の両方を指定できるんだから、
現在のメモリ番地を返却できるようにしてくれれば
簡単にファイルサイズ分かる気がするのは気のせいだろうか。
0431デフォルトの名無しさん
2011/04/24(日) 16:41:43.75そうだな ftell みたいなのがあればなぁ・・・あれっ
0432デフォルトの名無しさん
2011/04/24(日) 19:54:29.210433デフォルトの名無しさん
2011/04/24(日) 20:12:47.300434デフォルトの名無しさん
2011/04/24(日) 20:23:07.000435デフォルトの名無しさん
2011/04/24(日) 20:32:07.70stat()はC標準関数じゃないよ
0436デフォルトの名無しさん
2011/04/24(日) 22:14:12.610437デフォルトの名無しさん
2011/04/24(日) 22:31:24.49ファイルサイズくらいは標準的な取得方法があってもいいよね?
0438デフォルトの名無しさん
2011/04/24(日) 22:33:49.13BCBなら _stati64, _tstati64, stati64, _wstati64
Win32ならGetFileAttributes()
0439デフォルトの名無しさん
2011/04/24(日) 22:52:32.680440デフォルトの名無しさん
2011/04/24(日) 22:53:35.92stat()のラッパーでも書けば?
win32api で既存のファイルにある内容をアペンドしようとして、
SetFilePointer(, , ,FILE_END) -> WriteFile() すると、ゴミが混入してしまいました。
SetFilePointer(f, 0, NULL, FILE_END) でも SetFilePointer(f, 1, NULL, FILE_END) でもうまくいかない。もしかして -1? まさか‥‥‥。
苦肉の策として
s1 = GetFileSize(f, &s2);
SetFilePointer(f, s1, (PLONG)&s2, FILE_BEGIN);
WriteFile(f, p, strlen(p), &n, 0);
にしてしまったんですが、正解はなんでしょうか?
0442デフォルトの名無しさん
2011/04/24(日) 23:13:43.56Win32 APIスレで聞いてください
0443デフォルトの名無しさん
2011/04/25(月) 12:05:44.75あああああ
いいいいい
ううううううう
えええええ
これを3行目のみ背景色を変更する方法はございますでしょうか?
0444デフォルトの名無しさん
2011/04/25(月) 12:16:54.000445デフォルトの名無しさん
2011/04/25(月) 12:40:36.36http://homepage2.nifty.com/c_lang/intro/no_58.htm
0446デフォルトの名無しさん
2011/04/25(月) 12:46:55.58C標準ではそんな機能はありません。Windowsなんかを使っているなら>445でもいいとして、
そうでないなら環境を明記の上、環境依存もOKのスレでどうぞ。
0447デフォルトの名無しさん
2011/04/25(月) 12:47:13.57うはw難しいですねw挫折しました
0448デフォルトの名無しさん
2011/04/25(月) 12:56:33.30難しかったらここへ行って聞いて見ろ
サンプルコードを書いてくれるかもしれん
Win32API質問箱 Build92
http://hibari.2ch.net/test/read.cgi/tech/1293326606/
>>446
C標準では色を変える機能はないよな
GUIもバリバリの環境依存だし
0449デフォルトの名無しさん
2011/04/25(月) 20:06:11.11C言語の勉強してるんだけど、
ファイル入出力(fopen,fclose等)がうまくいかない
コンパイルとその後の実行はできるんだけどファイルが生成されない
どうしてか分かる人いますか
↓ソース
0450デフォルトの名無しさん
2011/04/25(月) 20:08:19.15int main()
{
FILE *fp_r, *fp_w;
int cc;
printf("start fcopy.\n");
if((fp_r=fopen("C:\\Documents and Settings\\***\\My Documents\\Visual Studio 2010\\Projects\\file01.txt", "r"))==NULL) return(-1);
if((fp_w=fopen("C:\\Documents and Settings\\***\\My Documents\\Visual Studio 2010\\Projects\\file02.txt", "w"))==NULL) return(-1);
while((cc=fgetc(fp_r)) != EOF) fputc(cc, fp_w);
fclose(fp_r);
fclose(fp_w);
printf("end of fcopy.\n");
}
0451デフォルトの名無しさん
2011/04/25(月) 20:10:34.280452デフォルトの名無しさん
2011/04/25(月) 20:12:59.240453デフォルトの名無しさん
2011/04/25(月) 20:16:18.980454449
2011/04/25(月) 20:16:56.37実行自体失敗してました
どっかおかしいだけだ・・スルーでおねがいします
0455449
2011/04/25(月) 20:23:14.97だけだった
0457デフォルトの名無しさん
2011/04/25(月) 21:48:18.67#include <stdio.h>
int main(void)
{
printf("test");
return 0;
}
0458デフォルトの名無しさん
2011/04/25(月) 21:55:46.65気づいてないだけじゃないの?
0459デフォルトの名無しさん
2011/04/25(月) 21:56:54.66Shift+F5で実行してみろ
0460デフォルトの名無しさん
2011/04/25(月) 22:08:16.15Shift+F5押してみましたが反応しないのでF5押してみました
こういうふうにでてました
cuimenu.cpp
cuimenu.cpp(1): warning C4627: '#include <stdio.h>': プリコンパイル済みヘッダーの使用を検索中にスキップされました
ディレクティブを 'StdAfx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します
cuimenu.cpp(8): fatal error C1010: プリコンパイル ヘッダーを検索中に不明な EOF が見つかりました。'#include "StdAfx.h"' をソースに追加しましたか?
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
0461デフォルトの名無しさん
2011/04/25(月) 22:12:09.33cuimenu.cppの頭に
#include "StdAfx.h"
を追加してください
0462デフォルトの名無しさん
2011/04/25(月) 22:13:44.52だから素人はLinux+viでgccしろと言ってるんだ
0464デフォルトの名無しさん
2011/04/25(月) 22:29:14.460465デフォルトの名無しさん
2011/04/25(月) 22:34:12.72ifに書き換えずに、swtichを使う場合どうやって抜け出せばよいでしょうか?
int a = 100;
while(1){
switch(a){
case 100:
break;
}
}
0466デフォルトの名無しさん
2011/04/25(月) 22:35:13.430467デフォルトの名無しさん
2011/04/25(月) 22:36:00.20gotoで。
0468デフォルトの名無しさん
2011/04/25(月) 22:41:14.07こうだな
while(flag){
switch(a){
case 100:
flag=0;
break;
}
}
0469デフォルトの名無しさん
2011/04/25(月) 22:43:22.16switch (a) {
case 100:
break;
default:
continue;
}
break;
}
int main(void){
fuck();
}
void fuck(void){
int a = 100;
while(1){
switch(a){
case 100:
return ;
}
}
}
これで案は出尽くしたか
0471デフォルトの名無しさん
2011/04/25(月) 22:46:18.12#include <stdbool.h>
int main() {
bool f = false;
int a = 100;
while(1) {
switch(a) {
case 100:
f = true;
break;
}
if(f) break;
}
}
0472デフォルトの名無しさん
2011/04/25(月) 22:48:16.690474デフォルトの名無しさん
2011/04/25(月) 22:49:31.920475デフォルトの名無しさん
2011/04/25(月) 22:50:21.230476デフォルトの名無しさん
2011/04/25(月) 22:52:40.210477デフォルトの名無しさん
2011/04/25(月) 22:52:41.050478デフォルトの名無しさん
2011/04/25(月) 22:55:53.00>>469は汚い。
よって>>468優勝、終わり
0479デフォルトの名無しさん
2011/04/25(月) 22:57:18.710480デフォルトの名無しさん
2011/04/25(月) 22:57:23.230481デフォルトの名無しさん
2011/04/25(月) 23:01:16.18フラグよかgotoのほうがいい。
0482デフォルトの名無しさん
2011/04/25(月) 23:02:08.370483デフォルトの名無しさん
2011/04/25(月) 23:05:08.90どっちでもいいよ。
あとマジックナンバー使わないようにな。
0484デフォルトの名無しさん
2011/04/25(月) 23:07:43.920485デフォルトの名無しさん
2011/04/25(月) 23:09:18.620486デフォルトの名無しさん
2011/04/25(月) 23:15:52.880487デフォルトの名無しさん
2011/04/25(月) 23:44:55.82int sln=0; for(;str[++sln];);
}
これは何をするプログラムでしょうか?
コンパイラ: bcc32
0488デフォルトの名無しさん
2011/04/25(月) 23:46:20.23strlen
0489デフォルトの名無しさん
2011/04/25(月) 23:47:43.74正解。 2byte文字にしか対応してないが
入力されたChar配列(文字列)の文字数をカウントして返す。
0490デフォルトの名無しさん
2011/04/25(月) 23:49:44.540491デフォルトの名無しさん
2011/04/25(月) 23:50:11.79コンパイルエラー
0493デフォルトの名無しさん
2011/04/25(月) 23:51:49.560494488
2011/04/25(月) 23:51:58.98str[0]=='\0' の時の動作が違った
うーん bcc だと最適化に関わらず
sln には EAX が使われるのは確定なのかも分からん
0495デフォルトの名無しさん
2011/04/25(月) 23:52:24.350496487
2011/04/25(月) 23:56:10.67大丈夫だ、問題ない。
正解は
int slnはインラインじゃない自動変数であるから特に設定がない限りはEAXレジスタが使われる
よって、値が正常に返される
らしい
0497デフォルトの名無しさん
2011/04/25(月) 23:58:07.090498デフォルトの名無しさん
2011/04/25(月) 23:58:11.15bcc32とC言語を始めよう
0499デフォルトの名無しさん
2011/04/25(月) 23:58:52.410500デフォルトの名無しさん
2011/04/26(火) 00:00:15.26もはやShortCoderの世界だから仕方ないさ
0501デフォルトの名無しさん
2011/04/26(火) 00:00:35.34thx
規格書の該当部分が見つからないので
暇見て自分で試してみる
0502デフォルトの名無しさん
2011/04/26(火) 00:01:18.930503デフォルトの名無しさん
2011/04/26(火) 00:02:41.000504デフォルトの名無しさん
2011/04/26(火) 00:03:18.06コンパイラ(bcc)のバグなのか・・?
0505デフォルトの名無しさん
2011/04/26(火) 00:04:31.760506デフォルトの名無しさん
2011/04/26(火) 00:06:50.720507デフォルトの名無しさん
2011/04/26(火) 00:31:09.760508デフォルトの名無しさん
2011/04/26(火) 00:40:10.79トリビアが必要なコードって目にする機会がなくなってくからね
0509デフォルトの名無しさん
2011/04/26(火) 00:44:10.110510デフォルトの名無しさん
2011/04/26(火) 02:10:23.40処理系によっては、たまたま期待通り動くだけでしょ
Cリファレンスマニュアルいわく
>プログラムの制御が return 文に出会わずに関数本体の終わりに到達したときの効果は、
>式のない return 文が実行されるのと同じである。
>関数の返却値の型が void でないと、その振る舞いは未定義である。
0511デフォルトの名無しさん
2011/04/26(火) 04:44:25.48bcc55って書くならともかく。
0512デフォルトの名無しさん
2011/04/26(火) 05:14:49.03ビット順が逆だからバイト順も逆になるんだが。
0513デフォルトの名無しさん
2011/04/26(火) 07:08:34.02わざわざ古いネタ引っ張り出して馬鹿晒さなくていいから。
0514デフォルトの名無しさん
2011/04/26(火) 07:32:41.160515デフォルトの名無しさん
2011/04/26(火) 12:09:05.48コマンドプロンプトに横いっぱいに文字列を並べたいのですが
何バイト分文字列を表示できるか調べる方法ってありませんか?
0516デフォルトの名無しさん
2011/04/26(火) 12:11:18.570517デフォルトの名無しさん
2011/04/26(火) 12:29:16.80WinAPIスレ辺りへどうぞ。
0518デフォルトの名無しさん
2011/04/26(火) 12:42:31.390519デフォルトの名無しさん
2011/04/26(火) 13:20:17.63jpg画像を表示させたいのですが難しいでしょうか?
また、C#やJavaのほうが簡単でしょうか?
0520デフォルトの名無しさん
2011/04/26(火) 13:28:33.42へぇ、「難しい」って言ったらやめんの?そんな考えならJAVAだろうがC#だろうがはなっから無理じゃね?
0521デフォルトの名無しさん
2011/04/26(火) 13:29:19.070522デフォルトの名無しさん
2011/04/26(火) 13:33:34.16JAVAのほうが簡単です。
ということで、もうこのスレには用は無いでしょうから二度と来ないで下さい、以上。
0523デフォルトの名無しさん
2011/04/26(火) 13:35:23.47ただこのスレには来るなと指図される覚えはありません
0524デフォルトの名無しさん
2011/04/26(火) 13:37:24.030525519
2011/04/26(火) 13:40:37.04生意気な口を利いて本当にごめんなさいでした。
0526デフォルトの名無しさん
2011/04/26(火) 13:45:15.680527デフォルトの名無しさん
2011/04/26(火) 13:48:19.230528デフォルトの名無しさん
2011/04/26(火) 13:49:19.010529デフォルトの名無しさん
2011/04/26(火) 14:13:58.90大丈夫、>527は自覚があるようだw
0530デフォルトの名無しさん
2011/04/26(火) 14:19:38.77double pai = 3.14159;
int mon = 2;
float flt = 1.2f;
printf("%5.2hf\n", flt);
↑
これを出力させると1.20になるようなんですがなぜですか?
%5.2hfの意味がイマイチ分かりません。
hとfはいいんですが、5.2ってのがなんのこっちゃです
0531デフォルトの名無しさん
2011/04/26(火) 14:22:45.420532デフォルトの名無しさん
2011/04/26(火) 14:24:22.870533デフォルトの名無しさん
2011/04/26(火) 14:29:12.13どうでもいいけどそのhには何の意味もない。寧ろ害悪。普通に%5.2fと書くべき。
ついでに言えば、%gにももっと注目をw
0534デフォルトの名無しさん
2011/04/26(火) 14:47:27.121.20だから4文字ですよね
あと残り1文字はどうなっとりますか?
>>533
なぜですか?
0535デフォルトの名無しさん
2011/04/26(火) 14:55:45.25もう仕様を読んでくださいよw
0536デフォルトの名無しさん
2011/04/26(火) 15:00:05.03自分で読みます
0539デフォルトの名無しさん
2011/04/26(火) 15:35:08.01先頭の余った桁は空白文字を埋める。
0540デフォルトの名無しさん
2011/04/26(火) 15:44:26.37早くしてよ!
0541デフォルトの名無しさん
2011/04/26(火) 16:48:27.540542デフォルトの名無しさん
2011/04/26(火) 17:37:15.690543デフォルトの名無しさん
2011/04/26(火) 18:34:27.90鬼車とかのライブラリを用意する必要がある
0544デフォルトの名無しさん
2011/04/26(火) 18:38:44.47シェルスクリプトと勘違いしてない?
0545デフォルトの名無しさん
2011/04/26(火) 19:38:15.260546デフォルトの名無しさん
2011/04/26(火) 19:50:25.46例えばauioって書いてあったらプログラムでauioを取得したいのですが
0547デフォルトの名無しさん
2011/04/26(火) 19:54:20.57環境依存質問OKかAPIスレで。
0548デフォルトの名無しさん
2011/04/26(火) 20:45:17.22秀丸ならそういうマクロも簡単にかけるよ。
0549デフォルトの名無しさん
2011/04/26(火) 21:16:56.60というのを何処かのサイトで見たのですが忘れました
知ってる方いたら教えてください
0550デフォルトの名無しさん
2011/04/26(火) 21:31:17.000551デフォルトの名無しさん
2011/04/26(火) 21:33:17.37ミクロの逆って事は分かるのですが、C言語においてどういいう意味ですか?
0552デフォルトの名無しさん
2011/04/26(火) 21:35:15.05完全に論破されてたもんなぁ
まぁみんなも◆QZaw55cn4cを援護頼むよ
0553デフォルトの名無しさん
2011/04/26(火) 21:36:19.510554デフォルトの名無しさん
2011/04/26(火) 21:40:20.28あいつらは実力で勝てないからな
0555デフォルトの名無しさん
2011/04/26(火) 21:43:01.72コテ外してこんな所で吠えるなよ◆QZaw55cn4c
論破されてたのはお前の方だろ
モリタポ儲けという屁理屈も通用しなくなったし
負け犬◆QZaw55cn4c
0556デフォルトの名無しさん
2011/04/26(火) 21:44:26.60メモ帳を挙げましたが、テキストエディタにとらわれず取得したいと思います
0557デフォルトの名無しさん
2011/04/26(火) 21:47:49.39俺も援護する
金儲けではなくモリタポ儲けであることが運営に認められたからな
0558デフォルトの名無しさん
2011/04/26(火) 21:51:09.23例を教えてください。
マクロって重要なんですか?
0559デフォルトの名無しさん
2011/04/26(火) 21:55:29.10>金儲けではなくモリタポ儲けであることが運営に認められたからな
いつ認められたのですか?
0560デフォルトの名無しさん
2011/04/26(火) 21:58:15.99使わなくても書けるけど
知ってると何かと便利...
0561デフォルトの名無しさん
2011/04/26(火) 22:01:41.91>>519 = >>551
だとは思わないか?
0562デフォルトの名無しさん
2011/04/26(火) 22:05:31.82少しは自分で考えな
0563デフォルトの名無しさん
2011/04/26(火) 22:07:10.40答えられないからって逃げるな◆QZaw55cn4c
0564デフォルトの名無しさん
2011/04/26(火) 22:08:57.900565デフォルトの名無しさん
2011/04/26(火) 22:13:22.870566デフォルトの名無しさん
2011/04/26(火) 22:27:08.16スレ主は叩かれまくってるけどな
マゾかいな
0567デフォルトの名無しさん
2011/04/26(火) 22:40:54.42昼間荒らしてたのがお前だと思ってるよ
0568デフォルトの名無しさん
2011/04/26(火) 22:44:40.50あれだけ馬鹿にされたり叩かれまくりでも活動するんだから
根性はあるんじゃないか
いまどき珍しいよな
0569デフォルトの名無しさん
2011/04/26(火) 22:48:13.36心を病んでる方にそういう人多いです。
0570デフォルトの名無しさん
2011/04/26(火) 23:06:11.010571デフォルトの名無しさん
2011/04/26(火) 23:11:52.36あれは完全に頭が逝っとる
精神科に掛かるべきレベルだよ
0572デフォルトの名無しさん
2011/04/26(火) 23:15:17.150573デフォルトの名無しさん
2011/04/26(火) 23:17:48.68違うよ
論理学をもっと勉強しようね
頭が逝ってるPGは多いが
PGが必ずしも頭が逝っているとは限らない
逆は必ずしも真ならず
◆QZaw55cn4cはPGでないにも関わらず頭が逝ってるけどな
0574デフォルトの名無しさん
2011/04/26(火) 23:22:13.70頭が逝ってるPGには、優秀なのがいる(たまにだけど)
0575デフォルトの名無しさん
2011/04/26(火) 23:24:41.760576デフォルトの名無しさん
2011/04/26(火) 23:26:57.68でも、PGには頭が逝っているだけのが多いよな
0577デフォルトの名無しさん
2011/04/26(火) 23:36:50.93それ逆
対人関係の多い仕事に就けないから、文句を言わないコンピュータ相手に
PGするようになった人種がかなり紛れ込んでいる
0578デフォルトの名無しさん
2011/04/26(火) 23:45:59.46コーダーだろ
上から降りてきた仕様書を黙々とコードに落とす作業してるのは
0580デフォルトの名無しさん
2011/04/26(火) 23:56:14.93まぁ俺なんだけどw人と喋らなくても頭で色々考えてるから人の気持ちが
分からなくても人と共有してるものを介すとコミュニケーションが取れた
りする。
でも対人関係も得意で問題解決能力も凄い人もたくさんいる^^
0581デフォルトの名無しさん
2011/04/27(水) 00:04:50.13現場が見えてないエライ人vs周りが見えてない作業員という
協調すべきが敵対する変なねじれ構造を形成する
我が国の悪しき生産特性がここにもあるってだけだ
0582デフォルトの名無しさん
2011/04/27(水) 00:09:25.54昔はそういう時代があったそうだよ。
その代わり、仕様書が上がるまで相当期間を費やされて、コーダーはほんとに必死でコードに落とすだけ。
50代くらいのコボラーはそういった世代じゃないかな。仕様書にクソうるさい人とかいないかい。
0583デフォルトの名無しさん
2011/04/27(水) 00:13:32.67コードに落とすってどういうこと?
エンジニア プログラマー コーダーといることはわかるが
役割分担を教えてくれ。
0584デフォルトの名無しさん
2011/04/27(水) 00:36:06.36そういうのをアスペルガー症候群って言うんだよ^^
職場では嫌われ者だよ
0585デフォルトの名無しさん
2011/04/27(水) 00:56:40.03つ広辞苑
0586デフォルトの名無しさん
2011/04/27(水) 01:14:47.26仕様を設計に落とし
設計を実装に落とし
そういえば何で落とすっていうんだ?ウォーターフォールとかV字のイメージ?
0587デフォルトの名無しさん
2011/04/27(水) 01:18:26.77杮落し
落成式
一件落着
0588デフォルトの名無しさん
2011/04/27(水) 01:50:09.66トップダウンアプローチだからでないの
0589デフォルトの名無しさん
2011/04/27(水) 02:08:10.57ランクの高い方から低い方に落ちていく
0590デフォルトの名無しさん
2011/04/27(水) 02:43:17.260591デフォルトの名無しさん
2011/04/27(水) 03:12:08.68設計書がプログラムとほぼ1対1のレベルで書かれていたらしいよ。
たとえばこんな感じ。
変数Aに3を入れる。
関数Aを呼ぶ、引数は変数Aと、定義値のHOGE
戻り値が-1なら
エラーログ出力関数を呼ぶ。引数は"〜〜に失敗しました。"
-1を返却する
関数Bを呼ぶ、引数は…
コーディングから実行できるまでにかかる時間や資源が今では考えられないぐらいかかる時代があったようだよ。
0592デフォルトの名無しさん
2011/04/27(水) 10:05:41.760593デフォルトの名無しさん
2011/04/27(水) 10:58:15.59http://dvamp.blog62.fc2.com/blog-entry-22.html
今でもそういう設計書書いてるところあるみたい。
0594デフォルトの名無しさん
2011/04/27(水) 11:16:21.64設計とプログラミングは不可分ですよ。
どちらかしかしてない人は結局良いものはつくれないでしょう。
0595デフォルトの名無しさん
2011/04/27(水) 11:48:30.400596デフォルトの名無しさん
2011/04/27(水) 12:02:58.400597「初心者なのにエラそうだな]」(笑)劣等種憤死wwwwwww
2011/04/27(水) 13:02:23.00http://hibari.2ch.net/test/read.cgi/win/1298974733/420
http://hibari.2ch.net/test/read.cgi/win/1298974733/420
↑負け組・初心者に固執してたホモ精神障害者ってコイツぐらいだろwwww自爆乙wwwwwwwwwwwwwww
IP変えててもバレバレのマヌケ乙wwwwおいおい中途半端に自治気取ってんぞwwww
荒らしもしてねえのにバレる馬鹿ってコイツぐらいのもんだろwwwwwwwwwwwwww
上級者自慢とかwwwww情けねぇデブだなwwwwリアルでもやってそうwwwww必死チェッカー見ながらニヤつくキモヲタwww
頭悪すぎて勝手にファビョってることにしちゃってんだろうなw思考停止の典型wwwww
だから必死こいて顔面沸騰させてレスストップwwwクッソワロタwwww
知能低いから出る発言は突っ込み所しかない朝鮮人ぶりwwwwおもしれーーーwwww
知障レスもわざわざ読んでやる俺に感謝しろよ知的障害者wwwwwwwww
残念なのは顔だけにしとけよホモwwwwwFirefoxと初心者に劣等感抱いてる基地外wwwwwwwww
「「「エラそう」」」なんて言葉をすぐに口にする時点でコンプバレバレの自己紹介だなwwwwwwwww
普通わかんねえなら黙ってるもんなんだがなw白痴のプライド()に突き動かされてんだろなwwww「「「勘違い自称上級者」」」の社交性コンプででちゃった哀れな雑魚wwwwww
0598デフォルトの名無しさん
2011/04/27(水) 13:06:24.06羅列したって感じw
0599デフォルトの名無しさん
2011/04/27(水) 13:35:31.59長文きめえ
0600デフォルトの名無しさん
2011/04/27(水) 13:56:53.46春先は増えるねえ。
http://hibari.2ch.net/test/read.cgi/unix/1290209379/631
0601デフォルトの名無しさん
2011/04/27(水) 14:00:13.920602デフォルトの名無しさん
2011/04/27(水) 20:25:48.54うちもこんな設計書もらって実装したり
こんな設計書書いたりしてるけど
まったく意味ないよな
こんなのレビューするくらいならさっさと実装してコードレビューしたほうが
問題点もすぐわかってましなのに
0603デフォルトの名無しさん
2011/04/27(水) 20:42:31.200604デフォルトの名無しさん
2011/04/27(水) 20:51:00.12設計書を作る方が奴隷であることは明らか。
その奴隷は奴隷の割りに知恵が働き、一回コードを書いて設計書を起こしているかもしれないが、
使われないコードを書いている行為はやはり奴隷である。
0605デフォルトの名無しさん
2011/04/27(水) 21:56:41.130606デフォルトの名無しさん
2011/04/28(木) 00:21:43.350607デフォルトの名無しさん
2011/04/28(木) 02:05:29.50社内でプログラミング教育しないのはIBMの流儀らしいね
0608デフォルトの名無しさん
2011/04/28(木) 03:09:28.35コンパイルがうまくいかないのでお聞きしたいです。
DLしてから、Cドライブに直接 Lsic86 というフォルダ名で置き
その中のBINフォルダ内にあるLCCファイルの書き換えも
済みました(XA→XC LA→LC IA→IC と書き換え)
さらにシステムから、環境変数→Pathの設定から
;C:\Lsic86\bin; と書き加えて変更適用。DOS画面でpathコマンドにより
書き込まれてる事を確認。
以上を行ったうえで再起動してから
メモ帳で簡単なprint文を作成し、拡張子を.cにして保存。
Lsic86フォルダにmySrcフォルダを作成し、そこに切り貼り。
DOS画面でcdコマンドによりmySrcフォルダをカレントにしておく。
いよいよコンパイル(test.cとする)というところですが、lcc test.c としても
実行されません。エラー文も出ず、何も表示されないというかバグるというか。
exeファイルは一応作成されてますが、testで実行しても何も表示されません。
書籍のCDROMに入ってるサンプルプログラムでも無理でした。
手順に特におかしいところは無いと思うのですが、もし何か見落とし
あるいは設定などに問題があればご指摘いただけると幸いです。
OSはXPです。
0609デフォルトの名無しさん
2011/04/28(木) 03:11:49.20#include<stdio.h>
void main(){
printf("hello C \n");
}
です。
0610デフォルトの名無しさん
2011/04/28(木) 03:16:00.14>610じゃないけど、設定を元に戻してそのままLSI-C86は忘れるのが吉。
どうしてもLSI-C86を動かしたいと言うのなら原因究明に付き合ってもいいけどはっきりいって、虚しいだけ。
その手間掛けるくらいなら、素直に今時の無料コンパイラを入手した方がいい。
0612デフォルトの名無しさん
2011/04/28(木) 04:48:33.15品質落ちないと良いんだが。
>>608
悪いことは言わないから
Turbo C 2.01 にしておきなさい。
統合開発環境付きで初心者にもオススメだよ。
0613デフォルトの名無しさん
2011/04/28(木) 06:10:48.720614デフォルトの名無しさん
2011/04/28(木) 06:40:24.580615デフォルトの名無しさん
2011/04/28(木) 07:03:25.230616デフォルトの名無しさん
2011/04/28(木) 07:34:17.360617デフォルトの名無しさん
2011/04/28(木) 07:48:39.730619デフォルトの名無しさん
2011/04/28(木) 15:45:36.15windowsに限らずCの基本
これを守らないCプログラムはすべてゴミ
0620デフォルトの名無しさん
2011/04/28(木) 15:50:59.15最初からあったならmainはvoid型になっただろうね。
Javaみたいに。
0621デフォルトの名無しさん
2011/04/28(木) 15:51:40.070622デフォルトの名無しさん
2011/04/28(木) 15:53:16.880623デフォルトの名無しさん
2011/04/28(木) 16:09:16.45ふんふん、>>609はゴミプログラム、書いた>>609もゴミ人間という認定ですね。
0624デフォルトの名無しさん
2011/04/28(木) 16:15:38.83WindowsはGUIでは戻り値が何であろうと無視される
CUIの時には意味がある
0625デフォルトの名無しさん
2011/04/28(木) 16:18:09.89嘘いうな
0626デフォルトの名無しさん
2011/04/28(木) 16:18:58.44無視されねえよw
0627デフォルトの名無しさん
2011/04/28(木) 16:20:18.94main(void)って書けよ、と言いたい。4文字程度キー入力ケチったところで意味が無い。
0628デフォルトの名無しさん
2011/04/28(木) 16:45:39.05その二つは意味が違うだろ
0629デフォルトの名無しさん
2011/04/28(木) 16:49:25.44宣言時は違うが、定義時には事実上同じ。
0630デフォルトの名無しさん
2011/04/28(木) 16:57:50.64int main()とint main(void)の違い:
前者はC言語では関数呼び出しで引数のチェックをしない。
C++言語では引数が無いことを示す。
後者はC/C++言語とも引数が無いことを示す。
0631デフォルトの名無しさん
2011/04/28(木) 17:42:59.10実際こんなコード書けるプログラマは高脳なんだよなぁ
0632デフォルトの名無しさん
2011/04/28(木) 17:44:56.850633デフォルトの名無しさん
2011/04/28(木) 17:52:28.60WinMain()だぞ
0634デフォルトの名無しさん
2011/04/28(木) 17:53:08.630635デフォルトの名無しさん
2011/04/28(木) 18:00:00.710636デフォルトの名無しさん
2011/04/28(木) 18:05:57.54元来は main() だったんだよ
main(void) にしたところで main(0) みたいな呼び出しを禁止できるだけだ
たった4文字といえど手間感=文字数/意味ではやっぱり気に入らない
ただしスタートアップを main(void) 前提で作られてしまうと
main() は想定外になるのでしぶしぶその前提に従うことになる
あくまで本音とは違う
0637デフォルトの名無しさん
2011/04/28(木) 18:06:55.15ほお
じゃあGUIをmain()で書いてみろよ
0638デフォルトの名無しさん
2011/04/28(木) 18:14:28.87どうなんだろ
0639デフォルトの名無しさん
2011/04/28(木) 18:17:06.93まあ俺が言いたかったのはOpenGLではなくて普通のWin32のGDI何かで
書いたら戻り値を使う事はないって事を言いたかっただけ
お前らなんでそんなにかみつきたいんだ?
人のあら探しをする事にしか楽しみを見つけられないのか?
0640デフォルトの名無しさん
2011/04/28(木) 18:18:31.270641デフォルトの名無しさん
2011/04/28(木) 18:21:47.29#include <windows.h>
int main(){
MessageBox(NULL,TEXT("Hello"),TEXT(""),MB_OK);
return 0;
}
cl main.cpp /link /SUBSYSTEM:Windows /ENTRY:"main" user32.lib
0642デフォルトの名無しさん
2011/04/28(木) 18:24:47.99>>639
リロード位してから書き込めよ
0643デフォルトの名無しさん
2011/04/28(木) 18:25:54.270644デフォルトの名無しさん
2011/04/28(木) 18:28:37.33スレタイ読める?
0645デフォルトの名無しさん
2011/04/28(木) 18:29:06.09え? え?? おまえできないの???
0646デフォルトの名無しさん
2011/04/28(木) 18:33:25.42俺が女々しいんじゃなくてお前らがあら探しばかりする性格が悪い奴
ばかりって事だ
0647デフォルトの名無しさん
2011/04/28(木) 18:33:44.66/ENTRYでentryポイントって指定できるんだ
しらなんだ
0648デフォルトの名無しさん
2011/04/28(木) 18:34:22.13ご苦労
0649デフォルトの名無しさん
2011/04/28(木) 18:37:44.05つか引数のカンマの後にどうしてスペースを入れないかね。。
int main(void)としないのも気に入らない。
MessageBox(NULL, TEXT("Hello"), TEXT(""), MB_OK);
0650デフォルトの名無しさん
2011/04/28(木) 18:38:07.58>>647==>>638
で俺>>637じゃない
0651デフォルトの名無しさん
2011/04/28(木) 18:40:05.35win32 で普通にできるよアホ
0652デフォルトの名無しさん
2011/04/28(木) 18:43:11.950653デフォルトの名無しさん
2011/04/28(木) 18:45:44.51このほうがもっとすれ違いじゃね
0654デフォルトの名無しさん
2011/04/28(木) 18:51:48.41int main(){
MessageBox(NULL, TEXT("Hello"), TEXT(""), MB_OK);
return 0;
}
cl /Tc"main.cpp" /link /SUBSYSTEM:Windows /ENTRY:"main" user32.lib
0655デフォルトの名無しさん
2011/04/28(木) 19:01:11.000656デフォルトの名無しさん
2011/04/28(木) 19:44:03.32これってGUIっていうの?
0657デフォルトの名無しさん
2011/04/28(木) 19:53:19.82立派なGUIだよ。
0658デフォルトの名無しさん
2011/04/28(木) 19:55:55.620659デフォルトの名無しさん
2011/04/28(木) 20:27:32.51お前の方が余程女々しい
0660デフォルトの名無しさん
2011/04/28(木) 20:29:09.29>>616
WindowsはGUIでは戻り値が何であろうと無視される
CUIの時には意味がある
0661デフォルトの名無しさん
2011/04/28(木) 20:29:27.29ほんとオカマは女々しいな
0662デフォルトの名無しさん
2011/04/28(木) 20:30:30.660663デフォルトの名無しさん
2011/04/28(木) 20:34:03.25そっとしといてやれよ
0664デフォルトの名無しさん
2011/04/28(木) 20:36:44.59◆QZaw55cn4cと同じくらい糞
0665デフォルトの名無しさん
2011/04/28(木) 20:41:51.98いやもしかしたら案外>>624は◆QZaw55cn4cかもな
何となくそんな気がする
0666デフォルトの名無しさん
2011/04/28(木) 21:09:51.83宿題を家でやろうとしたのですが説明が全部学校の動作環境で説明されており分かりません
とりあえずCygwinと言うコンパイラを導入して説明どおりに「gcc ファイル名.c」と入力しコンパイラしようとしたのですが
「gcc: ファイル名.c: No such file or directory
gcc: no input files 」と出てきました
これはどういうことなのでしょうか?
ファイルやディレクトリ移動してから入力すれば宜しいのでしょうか?
0667デフォルトの名無しさん
2011/04/28(木) 21:13:47.05そのディレクトリにファイルが無い
作れ
0668666
2011/04/28(木) 21:21:31.05またディレクトリ移動系のコマンドとかはないのでしょうか?
0669デフォルトの名無しさん
2011/04/28(木) 21:25:26.72pushd
0670デフォルトの名無しさん
2011/04/28(木) 21:25:32.84cygwin のプロンプトで pwd と打てば現在いる(cygwin内の)ディレクトリ名が出ます
たぶん home の中のユーザ名のディレクトリです
移動は cd コマンドで出来ますが、cygwin ディレクトリの外に出るのは少々面倒です
0672デフォルトの名無しさん
2011/04/28(木) 21:32:25.70cd /cygdrive/c
うーん、面倒だなw
0673デフォルトの名無しさん
2011/04/28(木) 21:51:56.34mount コマンドでマウントポイントの一覧が見れますけど、C: が /cygdrive/c にマウントされてるんですよ・・・と言うだけで理解してもらえればいいんですが
0674デフォルトの名無しさん
2011/04/28(木) 21:59:49.320675デフォルトの名無しさん
2011/04/28(木) 22:09:28.96適当なサイトでCygwinのコマンド一覧を見たのですがらしきものがありませんでした
これはコマンドプロンプトのほうで作るのでしょうか?
0676デフォルトの名無しさん
2011/04/28(木) 22:14:04.00◆QZaw55cn4cの自演だなぁ
0677デフォルトの名無しさん
2011/04/28(木) 22:22:54.63バッチファイルにしちゃえよ
0678デフォルトの名無しさん
2011/04/28(木) 22:24:44.89一度ゆっくり深呼吸してから口に出してスレタイ読め。
0679デフォルトの名無しさん
2011/04/28(木) 23:07:35.36Cygwin使っている人いますか? 5
http://hibari.2ch.net/test/read.cgi/win/1175419995/
0680デフォルトの名無しさん
2011/04/28(木) 23:15:04.82すいません
コンパイルで検索かけてて見つからなかったのでありがたいです
0681デフォルトの名無しさん
2011/04/29(金) 00:57:03.310682デフォルトの名無しさん
2011/04/29(金) 01:23:25.00学習なら LCC-Win32 辺りにしときなさい。
商用利用しなければ無償だから。
0683デフォルトの名無しさん
2011/04/29(金) 01:30:24.550684デフォルトの名無しさん
2011/04/29(金) 01:36:52.270685デフォルトの名無しさん
2011/04/29(金) 01:38:54.310686デフォルトの名無しさん
2011/04/29(金) 01:39:09.51int _tmain(int argc, _TCHAR **argv)
だろ。
0687デフォルトの名無しさん
2011/04/29(金) 08:07:39.76ちなみにそういうWindowsの流儀てどこ見りゃ分かるの?
0688デフォルトの名無しさん
2011/04/29(金) 08:29:44.020689デフォルトの名無しさん
2011/04/29(金) 08:34:37.19msdnって言語仕様とかはリファレンスがあるけど
「Windowsアプリケーションたるものこうあるべき」みたいな設計思想を綴った文書って見つからなくない?
constな定数はROMを消費するんですよね定数は全部constだけにしといた方がいいんすか
0691デフォルトの名無しさん
2011/04/29(金) 10:27:48.52RAMに置かれるかROMに置かれるかは環境しだいだけど、
constがROMに置かれる環境ならstatic constもROMに置かれるんじゃないか?
0692デフォルトの名無しさん
2011/04/29(金) 12:27:23.150693デフォルトの名無しさん
2011/04/29(金) 12:31:43.190694デフォルトの名無しさん
2011/04/29(金) 12:35:14.37Games for Windowsガイドラインとかあるけど、
こういうのじゃダメ?
0695デフォルトの名無しさん
2011/04/29(金) 12:38:08.29環境依存だろ。
PCなら全部RAMだし、PS以降の最近のゲーム機もみんなRAMだよな。
0696デフォルトの名無しさん
2011/04/29(金) 12:45:34.43DialogProc関数で
「IDC_LIST1のアイテムをダブルクリックしたとき」
のウィンドメッセージを教えてください。
ダブルクリック -> ダブルクリックされたIDC_LIST1のテキストをMessageBox関数で表示
という風にしたいと思っています。
http://yokohama.cool.ne.jp/chokuto/urawaza/message/
ここを探したのですが見つかりませんでした。
どういう風に書けばよいのでしょうか
0697デフォルトの名無しさん
2011/04/29(金) 12:57:32.08名前からしてリストボックス? だとしたら LBN_DBLCLK
使い方はぐぐってください
0698デフォルトの名無しさん
2011/04/29(金) 13:51:49.60お前このスレで環境依存ばっかり書いてる奴だろ
0699デフォルトの名無しさん
2011/04/29(金) 14:24:26.73ファミコンやスーファミなら答えられるから。
0700デフォルトの名無しさん
2011/04/29(金) 15:34:07.83環境依存て言いたくて仕方ないお年頃なんだろw
0701デフォルトの名無しさん
2011/04/29(金) 15:36:47.76頭大丈夫?
環境指定したら即レスされて構ってもらえないじゃないか
0702デフォルトの名無しさん
2011/04/29(金) 16:13:46.32上のコードが、不具合ばっかりです。(c言語)
ジャンケンをするプログラムなのですが、
・変数yourとmyにおいて、「移植性のないポインタ変換」とでてエラー
・変数yourとmyの定義を*your,*myにするとコンパイルエラーは免れるが、
scanfで入力すると、exeが落ちる
正しいコードを教えてくれると嬉しいです・・・
0703デフォルトの名無しさん
2011/04/29(金) 16:17:40.390704デフォルトの名無しさん
2011/04/29(金) 16:23:34.190705デフォルトの名無しさん
2011/04/29(金) 16:30:57.85ポインタも理解してないし
入門書の最初から勉強しなおしたほうがいいと思う。
0706デフォルトの名無しさん
2011/04/29(金) 16:32:35.73文字と文字列の区別をつけてみよう。
char c;
char *p;
scanf(" %c", &c); // OK
scanf(" %s",c); // いろいろヤヴァイ
if (c == "r" ){} // OK
if (c == "r" ){} // warning: comparison between pointer and integer
p = "あばばば"; // OK
c = "あばばば"; // warning: assignment makes integer from pointer without a cast
0707デフォルトの名無しさん
2011/04/29(金) 16:33:38.46if (c == 'r'){} // OK
http://codepad.org/aq3EGeXv
どこまでしていいのかわからないけど、ほどほどっぽいものを。
0709デフォルトの名無しさん
2011/04/29(金) 16:59:54.57単純で解りやすくて使いやすいから便利。
0710デフォルトの名無しさん
2011/04/29(金) 17:02:44.78gets はもう無くなるし
http://codepad.org/nEr28M3O
ごめん、自分がチョキで相手がグーの時に勝ち判定になってたのを直した。
0712デフォルトの名無しさん
2011/04/29(金) 17:20:17.76皆様本当にありがとうございました!
c言語の文字の比較、代入など学ぶことが出来ました!
ActionScriptを使ってた身なので、文字と数値を同じように扱っちゃうんですよね;
0713デフォルトの名無しさん
2011/04/29(金) 17:32:45.50わかりやすいという理由で薦めるのはクソ野郎だ
0714デフォルトの名無しさん
2011/04/29(金) 17:36:32.20fgetsだと初心者には難しい…か?
出てきてもファイルに使ってるパターンがほとんどだよね。
0715デフォルトの名無しさん
2011/04/29(金) 17:45:02.42バカはバカで自分で痛い目みたいと分からないから
気にする必要なし
他人事だしな
0716デフォルトの名無しさん
2011/04/29(金) 18:03:22.760717デフォルトの名無しさん
2011/04/29(金) 18:15:20.36ifやforのところに代入?するやり方がいまいちピンとこないのですが・・・
0718デフォルトの名無しさん
2011/04/29(金) 18:20:28.150719デフォルトの名無しさん
2011/04/29(金) 18:36:12.330720デフォルトの名無しさん
2011/04/29(金) 18:38:53.36>scanfもgetsも入門書ではメジャーなのに非推奨と言われる現実。
著者が初心者に教えるのが面倒と思っているのでscanfやgetsを使っているだけ。
どうせdefineもincludeもmainも初心者にはワケワカメだから
fgetsもオマジナイにして矯正させても何も問題はないんだよな。
何も教える必要はない。先へ進める人はそのうち理解する。
fgetsを使わない初心者本を書かない単なるサボリだわ。
0721デフォルトの名無しさん
2011/04/29(金) 18:50:05.90小数点以下1ケタを表示する。
実行例
イニシャル:M
年齢:18歳
身長:169.2cm
#include<stdio.h>
main()
//変数の宣言
char initial; //イニシャル
int age; //年齢
double height;//身長
//代入
initial = 'M';
age = 18;
height = 169.2;
//表示
printf("イニシャル:%5c\n,initial);
printf("年齢 :%5d才\n",age);
printf("身長 :%7.1fcm\n,height);
}
↑
この%5、%5、%7.1の意味を教えて下さい
0722デフォルトの名無しさん
2011/04/29(金) 18:50:50.87http://archive.linux.or.jp/JM/html/LDP_man-pages/man3/printf.3.html
0723デフォルトの名無しさん
2011/04/29(金) 18:53:54.115とか7とかは幅
.1は精度
最後のcとかdとかfとかが変換指定子
0724デフォルトの名無しさん
2011/04/29(金) 18:54:20.98あー、初心者本に自分の理想像がありながら
それを見つける能力がない&自分でも書かないわけね
> fgetsを使わない初心者本
あるよ普通に
おまえが知らないだけ
もしくはおまえの言う初心者とレベルが違いすぎて認識できないだけ
0725デフォルトの名無しさん
2011/04/29(金) 18:57:21.43ありがとうございます
参考書に載ってなかったので助かりました
0726デフォルトの名無しさん
2011/04/29(金) 19:04:42.51ありがとうございました。
無事実装することができました。
0727デフォルトの名無しさん
2011/04/29(金) 19:07:40.04機嫌悪すぎだろw
ここの奴ら殺伐としすぎ
0728デフォルトの名無しさん
2011/04/29(金) 19:16:31.92ちゃんと読みなよ。
0729デフォルトの名無しさん
2011/04/29(金) 19:20:42.750730デフォルトの名無しさん
2011/04/29(金) 19:44:26.75普通にあるなら、そのうちの一冊で良いからここで上げてみなよ。
0731デフォルトの名無しさん
2011/04/29(金) 19:44:36.58scanf()が簡単って言うけど、ちょっと進んで、エラーチェックしようとか
ループの中で繰り返そうとかって処理を書こうとするととたんに難しく
なるしな。
0732デフォルトの名無しさん
2011/04/29(金) 20:13:32.79http://www.nicovideo.jp/watch/sm12986538
0733デフォルトの名無しさん
2011/04/29(金) 20:26:07.590734デフォルトの名無しさん
2011/04/29(金) 20:28:01.88文字と文字の間のマスの数を固定したいのですが
その文字の間にランダムに☆が入るときどうすればよいでしょうか?
1:☆☆☆ :
2:☆☆☆☆ :
3:☆ :
上記のようにしたいのですが
後ろの:の位置を固定できません。
0736デフォルトの名無しさん
2011/04/29(金) 20:37:55.00例えば printf("%-15s:", s); とする。
但し、上記例であれば strlen(s) <= 15であること。
更に出力は固定幅フォントが使われていること。
0737デフォルトの名無しさん
2011/04/29(金) 20:39:45.290738734
2011/04/29(金) 21:09:27.82等幅フォントかはわかりませんができませんでした。
>>737
\tのことでしょうか?やってみましたができませんでした。
質問の内容は少しかわっていますが以下のようなプログラムです。
じゃんけんで出した手の頻度を*の数であらわしています。
#include<stdio.h>
int rn(int n);
int main(){
int n=1,i,m,kaisuu[3],max,max_n;
for(i=0;i<3;i++)
kaisuu[i]=0;
printf("じゃんけんする回数を入力してください>");
scanf("%d",&m);
printf("1=ぐー、2=パー、3=ちょき\n");
for(i=0;i<m;i++){
++kaisuu[rn(n)];
n=(48359*n+253611)%3233348;
}
0739734
2011/04/29(金) 21:10:20.14max=kaisuu[0];
max_n=0;
for(i=1;i<3;i++){
if(max<kaisuu[i]){
max=kaisuu[i];
max_n=i;
}
}
for(i=0;i<3;i++){
printf("%5d: ",i+1);
int counter=0;
while(counter!=10*kaisuu[i]/max){
printf("*");
counter++;
}
printf("%d\n",kaisuu[i]);
}
return 0;
}
int rn(int n){
int d;
d=(48349*n+2531341)%3;
return d;
}
0740734
2011/04/29(金) 21:12:12.66連投、わかりにくいプログラム失礼しました。
0741デフォルトの名無しさん
2011/04/29(金) 21:17:28.960742デフォルトの名無しさん
2011/04/29(金) 21:34:02.87一文字づつ printf って最初から言ってくれれば良かったのに (ry
0743734
2011/04/29(金) 21:35:52.17printf("%c", counter < 10 * kaisuu[i] / max ? '*' : ' ');
は?の前が正しければ*,誤りなら空欄ってことですか?
0744734
2011/04/29(金) 21:50:32.18わかりにくい質問ですいません。
0745デフォルトの名無しさん
2011/04/29(金) 21:54:04.600746デフォルトの名無しさん
2011/04/29(金) 22:04:55.930747デフォルトの名無しさん
2011/04/29(金) 22:08:02.080748デフォルトの名無しさん
2011/04/29(金) 22:09:58.97なんだ、やっぱり無いんだな。
0749デフォルトの名無しさん
2011/04/29(金) 22:28:18.66>>732
0750デフォルトの名無しさん
2011/04/30(土) 00:37:13.30>fgetsを使わない初心者本がないといってるのは>>730だけ
全ての初心者本はfgetsを使うといってるのは>>730だけ
二重否定わずらわしい。上の表現でほぼ一致してると思う。
0751デフォルトの名無しさん
2011/04/30(土) 01:05:34.370752デフォルトの名無しさん
2011/04/30(土) 01:12:26.80コンピュータの場合最も低級な言語はトランジスターなどの部品の電気信号
を直接支配する規約的言語があるんですよね?新しいプログラミングを作る
時はその規約的言語をリファレンスして作るんですか?
0753デフォルトの名無しさん
2011/04/30(土) 02:01:27.86我々がさわれる最も低級なものは機械語
CPUは機械語コードを解釈して回路を動かす
新しい言語を作るときは、その言語自体は、紙の上で鉛筆でも使いながらどんな言語にするかをじっくり検討すればいい
言語の仕様が決まったらコンパイラなりインタプリタなりを作る
コンパイラはCとかのプログラミング言語で書かれたソースコードを機械語に変換するプログラム
その新しい言語のコンパイラは、Cで作ってもいいし、Javaで作ってもいいし、とにかく動きさえすれば何で作ってもいい
コンパイラが出来れば、その新しい言語を機械語に変換できる
機械語に変換できれば、CPUはそれを実行できる
新しい言語が機械語に近ければ、変換が簡単だからコンパイラを作るのが楽になるかもしれないが、
別にコンパイラ作るのを楽するために言語を作るわけではないのだから、特にそうある必要はない
機械語の構造とかけ離れた言語でもいいんだ
変換が大変、つまりコンパイラ作るのが大変になるかもしれないが、それだけだ
0754デフォルトの名無しさん
2011/04/30(土) 02:07:03.78・コンピュータの処理は演算装置を使って行われます
・演算装置の操作は機械語と呼ばれる数値列を使って行われます
・機械語の命令は、より人間の言葉に近いアセンブリ言語という言語から翻訳して作成します
・アセンブリ言語の命令は、より人間の言語に近い高級言語と呼ばれる言語から翻訳して作成します
つまり、高級言語>アセンブリ言語>機械語という様に何度も変換して、コンピュータに
理解出来る命令に変換しているという事です。
プログラミング言語を作るというのは、アセンブリ言語に翻訳出来る高級言語を作成する事です。
新しい高級言語からアセンブリ言語への翻訳は、既存の高級言語を使ったプログラムを使って
実行します。
また、実際のコンピュータの代わりに、プログラムで仮想的なコンピュータを作成して、
その上で動く様なプログラムに翻訳する為の言語というのも存在しています。
最近のプログラミング言語は殆どが仮想的なコンピュータをターゲットにしています。
0755デフォルトの名無しさん
2011/04/30(土) 02:08:46.59失せろ
0756デフォルトの名無しさん
2011/04/30(土) 02:23:52.34参考書によってさまざまで混乱しています。
調べた感じでは、以下の全てが同じ構造体変数aを
宣言する方法らしいのですが、
どれを使うのがセオリーとかありますか?好みでいいんでしょうか。
1.
struct tag { メンバ... } a;
2.
struct tag { メンバ... };
struct tag a;
2.
struct { メンバ... } a;
3.
typedef struct { メンバ... } z;
z a;
int k = kaisuu[i] * 10 / max;
for( counter = 0; counter < 10; counter++ ) {
if( counter < k )
putchar('*');
else
putchar(' ');
}
0758デフォルトの名無しさん
2011/04/30(土) 02:33:44.38公開する様なデータ型じゃないけど、何度か使うなら 2 の上
再利用しないなら 2 の下
隠蔽する必要が無くて、再利用したいなら 3
とかかな。
0759デフォルトの名無しさん
2011/04/30(土) 08:27:42.28Borland C++Compilerの使い方ってbcc32 の後にあらかじめ作成したファイル名入れてエンターキー押して使うんでしたっけ?
0760デフォルトの名無しさん
2011/04/30(土) 08:31:34.950761デフォルトの名無しさん
2011/04/30(土) 08:36:47.72これから勉強する者です。
使い方教えて下さい。
0762デフォルトの名無しさん
2011/04/30(土) 08:37:51.12なんだ、やっぱり無いんだな。
0763デフォルトの名無しさん
2011/04/30(土) 08:38:07.63デスクトップに bcc32.exe のショートカット作って
そこにソースファイルをドラッグ'nドロップ。
0764デフォルトの名無しさん
2011/04/30(土) 08:38:18.73鼬害です。Windowsの使い方ならWindows板に。
いっそ、教えて○○とかなんとか知恵袋とかで聞いては如何でしょう。
手取り足取りフレンドリー、プログラムの書き方から中身まで全て教えてくれるかもしれません。
0765デフォルトの名無しさん
2011/04/30(土) 08:44:32.15ファイル名を入れるだけでいいんですか?コンパイルした後に実行するにはtestなんとかって入れるんでしたっけ?
0766デフォルトの名無しさん
2011/04/30(土) 08:48:50.71LCC-Win32 がお薦めだよ。
非商用に使うなら無償だから安心だし。
エディター等の統合開発環境もセットになってるからそのまま使える。
http://www.cs.virginia.edu/~lcc-win32/
0767デフォルトの名無しさん
2011/04/30(土) 08:49:01.89そうやってグズグズ聞き続けるつもりなんだろ?
ぐぐればすむ事を他人に尋ねるな。
0768デフォルトの名無しさん
2011/04/30(土) 08:52:32.460769デフォルトの名無しさん
2011/04/30(土) 08:59:50.950770デフォルトの名無しさん
2011/04/30(土) 08:59:56.180771デフォルトの名無しさん
2011/04/30(土) 09:01:16.110772デフォルトの名無しさん
2011/04/30(土) 09:01:42.60初心者本には用が無いからわざわざ検索する必要性はない。それに検索して出てくる情報とも思えんな。
やっぱりないと結論せざるを得ない。
0773734
2011/04/30(土) 09:08:40.41解決しましたありがとうございます。
0774デフォルトの名無しさん
2011/04/30(土) 09:11:38.560775デフォルトの名無しさん
2011/04/30(土) 09:12:24.34はあああああああああ????
「bcc32 使い方」でぐぐった結果の二件目、
簡単な使い方
http://park6.wakwak.com/~wmasa/prog/bcc/index.htm#marker002
っていいながらここまで書いて気が付いたわ。
お前勘違いしてんだな。>>767は>>765へのレスだぞw
0776デフォルトの名無しさん
2011/04/30(土) 09:22:58.49リソースバインダーも正常に動かないのに。
0777デフォルトの名無しさん
2011/04/30(土) 09:27:34.000778デフォルトの名無しさん
2011/04/30(土) 09:30:09.87と思ってたけどそういうことか
0779デフォルトの名無しさん
2011/04/30(土) 09:44:28.35意外に侮れない。「;がありません」とか
そこまで分かってるんなら自動で補えよとか思わなくもないがw
0780デフォルトの名無しさん
2011/04/30(土) 09:46:43.120781デフォルトの名無しさん
2011/04/30(土) 09:48:57.630782デフォルトの名無しさん
2011/04/30(土) 09:53:31.540783デフォルトの名無しさん
2011/04/30(土) 09:54:14.280784デフォルトの名無しさん
2011/04/30(土) 09:57:33.650785750
2011/04/30(土) 09:58:28.67gets_s の解説があれば十分。
>fgetsを使わない初心者本を書かない単なるサボリだわ。
fgetsを解説してない初心者本が有るとしたら単なるサボリだわ。
二重否定わずらわしい。上の表現でほぼ一致してると思う。
0786デフォルトの名無しさん
2011/04/30(土) 10:00:16.01>>766
0787デフォルトの名無しさん
2011/04/30(土) 10:30:19.24アレの日本語メッセージ誰が保守してんだろ?
0788デフォルトの名無しさん
2011/04/30(土) 10:55:21.79というかそういうのやってる人いますか?
0789デフォルトの名無しさん
2011/04/30(土) 11:13:53.810790デフォルトの名無しさん
2011/04/30(土) 11:15:11.35出来るけど、processing とか html5 canvas とかを使ってグラフィカルな
教材を作ってあげた方が効果的だと思うよ。
数学とプログラムの話題では、このブログが面白いです。
http://parametron.blogspot.com/
0791デフォルトの名無しさん
2011/04/30(土) 11:29:03.14先生もここは数学科だから数学がらみのほうが嬉しいと言ってたので。
0792デフォルトの名無しさん
2011/04/30(土) 11:33:00.44そう言う事なら、C で SDL や OpenGL を使うと良いかも。
0793デフォルトの名無しさん
2011/04/30(土) 12:05:47.96よくありそうなのは、素数表作成や素因数分解、最大公約数の求め方
などといった整数論まわりのツール・教材かな。
次の本(UBASICによる整数論)のC言語版を作れば喜ぶ人は多いと思う。
ttp://www.rkmath.rikkyo.ac.jp/~kida/kimaall1.1.pdf
あとは電卓とか、数式処理用のプログラミング言語を作ってみるとか。
0794デフォルトの名無しさん
2011/04/30(土) 12:09:52.82目を引きそうなものならグラフィカルなもの
フラクタル画像とか
0795デフォルトの名無しさん
2011/04/30(土) 12:26:28.890796デフォルトの名無しさん
2011/04/30(土) 12:33:10.990797デフォルトの名無しさん
2011/04/30(土) 16:29:36.620799デフォルトの名無しさん
2011/04/30(土) 16:52:34.640800デフォルトの名無しさん
2011/04/30(土) 17:04:46.06グラフィック表示してくれるとかそういうの?
0801デフォルトの名無しさん
2011/04/30(土) 17:07:21.68配列に代入した変数の中身を出力したいのですがうまくいきません
↑ここでは変数nに入ってる値を出力したいです
どうすればできますか
0802デフォルトの名無しさん
2011/04/30(土) 17:10:25.32作図や統計での絶大な威力は
俺がコンピュータにはまった大きな動機の1つだった
0803デフォルトの名無しさん
2011/04/30(土) 17:15:27.630804デフォルトの名無しさん
2011/04/30(土) 17:18:20.37Mac だと何の問題も無く動くよ
最後に return 0; を加えてもダメかな?
0805デフォルトの名無しさん
2011/04/30(土) 17:33:33.94もしかして:
p[i][n] = '0' + n;
0806デフォルトの名無しさん
2011/04/30(土) 17:41:39.23なるほどthx
0807デフォルトの名無しさん
2011/04/30(土) 17:45:59.790808デフォルトの名無しさん
2011/04/30(土) 18:21:56.500809デフォルトの名無しさん
2011/04/30(土) 18:40:29.990810デフォルトの名無しさん
2011/04/30(土) 19:34:35.550811デフォルトの名無しさん
2011/04/30(土) 23:20:31.58仮想メモリがあるから実用上は無限じゃないですか?
0812デフォルトの名無しさん
2011/04/30(土) 23:22:26.35無限ループで確保し続けてみなよ
0813デフォルトの名無しさん
2011/04/30(土) 23:25:48.97あるよ。
仮想メモリと言っても、空きメモリを使い尽くせばメモリは確保出来ない。
32bit プロセスならアドレス空間は 32bit だから、通常は 4GB までしか
メモリを扱えない上に、アドレス空間の全てを使える訳じゃないから、
3GB 前後でエラーになる。
簡単に実験出来るから、試してみると良いよ。
0814デフォルトの名無しさん
2011/04/30(土) 23:34:15.65>>811
無限ループで確保し続けてみなよ
813 名前:デフォルトの名無しさん [sage]: 2011/04/30(土) 23:25:48.97
>>811
あるよ。
仮想メモリと言っても、空きメモリを使い尽くせばメモリは確保出来ない。
32bit プロセスならアドレス空間は 32bit だから、通常は 4GB までしか
メモリを扱えない上に、アドレス空間の全てを使える訳じゃないから、
3GB 前後でエラーになる。
簡単に実験出来るから、試してみると良いよ。
0815デフォルトの名無しさん
2011/04/30(土) 23:39:56.980816デフォルトの名無しさん
2011/04/30(土) 23:47:39.810817デフォルトの名無しさん
2011/04/30(土) 23:55:53.470818デフォルトの名無しさん
2011/04/30(土) 23:57:27.33知らないほうがいい。忘れろ。
0819デフォルトの名無しさん
2011/04/30(土) 23:57:31.460820デフォルトの名無しさん
2011/05/01(日) 00:26:24.1832bit プロセスは 64bit OS 上でも動くし、32bit プロセスとして動かした方が
性能がいい場合もあるよ。ポインタ幅が半分で済むので、その分だけ性能を稼げるから。
0821デフォルトの名無しさん
2011/05/01(日) 00:34:09.43>>811の質問には関係なくね?
0822デフォルトの名無しさん
2011/05/01(日) 00:38:50.10>32bit プロセスは 64bit OS 上でも動くし
それ、Windowsだけの話だって事をよく覚えておいた方がいいよ。
0823デフォルトの名無しさん
2011/05/01(日) 00:41:51.75>>820
>32bit プロセスは 64bit OS 上でも動くし
それ、Windowsだけの話だって事をよく覚えておいた方がいいよ。
0824デフォルトの名無しさん
2011/05/01(日) 00:43:21.190825デフォルトの名無しさん
2011/05/01(日) 00:44:55.0464bit版Windowsなら32bitアプリが動くみたいに読めるから中途半端な指摘はやめた方が。
0826デフォルトの名無しさん
2011/05/01(日) 00:45:27.980827デフォルトの名無しさん
2011/05/01(日) 00:47:56.26http://wiki.bit-hive.com/linuxkernelmemo/pg/64bit%B4%C4%B6%AD%A4%C7%A4%CE32bit%A5%D7%A5%ED%A5%BB%A5%B9%A4%CE%C6%B0%BA%EE
0828デフォルトの名無しさん
2011/05/01(日) 00:48:19.65じゃ、厳密に言うとWOW64によって32bitアプリケーションを実行可能にしているWindows、と言えば文句ない?
0829デフォルトの名無しさん
2011/05/01(日) 00:49:03.340830デフォルトの名無しさん
2011/05/01(日) 00:50:00.85それでいいと思う。
他のOSについては他の人が指摘してるとおりかと。
0831デフォルトの名無しさん
2011/05/01(日) 00:50:43.820832デフォルトの名無しさん
2011/05/01(日) 00:52:59.030833デフォルトの名無しさん
2011/05/01(日) 00:53:00.320834デフォルトの名無しさん
2011/05/01(日) 00:55:22.35>WOW64無しの環境ぐらい作っておくべき
ならOffice2007やVisualStudio2008とかは動かないな。
0835デフォルトの名無しさん
2011/05/01(日) 01:01:06.080836デフォルトの名無しさん
2011/05/01(日) 01:02:21.55北米における2011年4月11日時点のシェア、Windows7(32.5%) WindowsXP(32.4%)
そんな事言うとアメリカ人に怒られるぞw
0837デフォルトの名無しさん
2011/05/01(日) 01:04:33.42なんていうか、確認だけど、そのほかにWindows7(x64)とかってのがあるんだよね
0838デフォルトの名無しさん
2011/05/01(日) 01:04:34.79プロセスが64bitで動作してるか32bitで動作してるかなんて
プロセスマネージャで見ればいいだけだから、WOW64無しの環境を作るなんてバカものしかやらんだろ。
つまりお前だけだバカ。
0839デフォルトの名無しさん
2011/05/01(日) 01:13:39.23http://image.itmedia.co.jp/l/im/nl/articles/1104/12/l_ah_osus.jpg
32bit/64bitの区別はないが WindowsXP 64bit より Windows7 32bitの方が多いだろうね
0840デフォルトの名無しさん
2011/05/01(日) 01:27:56.09XP(32) > 7(64) > 7(32) > XP(64)
の順かなぁ
0841デフォルトの名無しさん
2011/05/01(日) 01:28:50.43タスクマネージャとプロセスエクスプローラが混ざってるよ
0842デフォルトの名無しさん
2011/05/01(日) 01:36:33.930843デフォルトの名無しさん
2011/05/01(日) 01:44:48.80コンソールでです。
0844デフォルトの名無しさん
2011/05/01(日) 01:51:57.15一般的な端末エミュレータのことなら、エスケープシーケンスを利用するなどでできる場合もあります。
お使いの端末エミュレータの資料を当たってみてください。
つーか、C言語には殆ど関係ない話のでスレ違いだがや。
0845デフォルトの名無しさん
2011/05/01(日) 02:13:46.58いや、c言語のソースでどう書けばって話なんだが。そこは割愛しても通じると思ったんだが。
0846デフォルトの名無しさん
2011/05/01(日) 02:16:31.24あとそれだとWindowsでは設定を弄らないとダメだった気がする。それじゃ、ダメだから他の手を探してるところなんだけど。
0847デフォルトの名無しさん
2011/05/01(日) 02:18:30.12いや、Windows なんて使ってないしw
0848デフォルトの名無しさん
2011/05/01(日) 02:37:36.080849デフォルトの名無しさん
2011/05/01(日) 02:40:22.33curses 使えば出来るよ
Windows は知らんけどw
0850デフォルトの名無しさん
2011/05/01(日) 03:01:18.730851デフォルトの名無しさん
2011/05/01(日) 03:03:55.53あー、君は使ってても良いよ。
0852デフォルトの名無しさん
2011/05/01(日) 03:31:49.47変な宗教にハマると大変だねw
0853デフォルトの名無しさん
2011/05/01(日) 03:42:19.55OS 買うのにお金払って、
IDE 買うのにお金払って、
バージョンアップしたらまたお金払って、
大変ですなあw
0854デフォルトの名無しさん
2011/05/01(日) 03:47:16.990855デフォルトの名無しさん
2011/05/01(日) 03:48:10.370856デフォルトの名無しさん
2011/05/01(日) 03:50:18.55お前ら面白いなw
貨幣取引だけが全てじゃないんだぜ・・・
俺はどちらかというと供給する側の人間だし。
0857デフォルトの名無しさん
2011/05/01(日) 03:52:27.450858デフォルトの名無しさん
2011/05/01(日) 04:21:36.81n桁になるように0を追加する方法がわからない
誰か教えて
例:6桁に揃える場合
15→000015
205→000205
0859デフォルトの名無しさん
2011/05/01(日) 04:22:59.320860デフォルトの名無しさん
2011/05/01(日) 04:27:15.54printf("%06d¥n", num);
0861デフォルトの名無しさん
2011/05/01(日) 04:39:04.000862デフォルトの名無しさん
2011/05/01(日) 04:39:50.060863デフォルトの名無しさん
2011/05/01(日) 04:47:22.560864デフォルトの名無しさん
2011/05/01(日) 04:49:39.590865デフォルトの名無しさん
2011/05/01(日) 04:50:46.78質問と解答だけなら殺伐とはしないと思われ。
0866デフォルトの名無しさん
2011/05/01(日) 04:57:46.51gets_sがほとんどの環境で有効だったらありだけど、
C言語の教育としては外れているだろうな。
特に、企業で未だにC言語を使わなきゃいけない層にとっては。
0867デフォルトの名無しさん
2011/05/01(日) 05:53:07.280868デフォルトの名無しさん
2011/05/01(日) 08:47:44.06たぶんどこもWindowsですよ
組み込み用のツールがWindows用ですから
0869750
2011/05/01(日) 09:28:16.30間違って書いていたので訂正します。これで>>724が読み違えしてることがわかります。
>>720
>fgetsを使わない初心者本を書かない単なるサボリだわ。
全ての初心者本がfgetsの使い方を解説しているのは単なるサボリだわ。
二重否定わずらわしい。上の表現でほぼ一致してると思う。
0870デフォルトの名無しさん
2011/05/01(日) 09:55:26.69できたありがとy
0871デフォルトの名無しさん
2011/05/01(日) 10:43:58.69このスレってか板全体的に空気悪いよね
多分みんな普段の仕事のストレスで性格ひねくれちゃってるんだと思う
そこにIDがでないという板の匿名性が後押ししてストレスをぶつけようと攻撃的になる
0872デフォルトの名無しさん
2011/05/01(日) 10:56:04.88みんなじゃなくて、ここに煽る相手を捜しに来ている人だけ。
このスレでも大抵の質問には親切に答えてくれる人がいると思うけど、
そういう人の事も忘れないで欲しい。
0873デフォルトの名無しさん
2011/05/01(日) 11:14:17.680874デフォルトの名無しさん
2011/05/01(日) 11:15:46.16あれって一体、何をどうしたいんだろう。
0876デフォルトの名無しさん
2011/05/01(日) 11:24:01.132chでなにがふつうかも、ひとそれぞれ
あおってもいいやとおもっちゃうひともいれば、そうじゃないひともたくさんいる
0877デフォルトの名無しさん
2011/05/01(日) 11:51:30.200878デフォルトの名無しさん
2011/05/01(日) 11:53:22.67スレが荒れたりすることで楽しむ。
0879デフォルトの名無しさん
2011/05/01(日) 11:57:18.24天才だね
0880デフォルトの名無しさん
2011/05/01(日) 12:32:53.840881デフォルトの名無しさん
2011/05/01(日) 12:39:29.11ようするに回答するお前ら「知らない、わからない」と思われることが嫌なんだろ?
だから毎度毎度、アホに釣られてんだよ。
本当にスレが荒れんのが嫌だってんなら、間抜けな質問はスルーしろ。
そして、間抜けな質問に、いかにももっともらしく、アホな回答してるレスもスルーしろ。
0882デフォルトの名無しさん
2011/05/01(日) 12:43:17.280883デフォルトの名無しさん
2011/05/01(日) 12:45:35.240884デフォルトの名無しさん
2011/05/01(日) 12:45:40.760885デフォルトの名無しさん
2011/05/01(日) 12:46:57.14しねくず
0886デフォルトの名無しさん
2011/05/01(日) 12:49:35.81統合失調症の典型的な初期症状のひとつとも言える。
0887デフォルトの名無しさん
2011/05/01(日) 12:51:24.41医師免許の無い者は、「病気診断」「病名告知」出来ません。
0888デフォルトの名無しさん
2011/05/01(日) 12:53:49.370889デフォルトの名無しさん
2011/05/01(日) 12:55:03.950890デフォルトの名無しさん
2011/05/01(日) 12:55:21.240891デフォルトの名無しさん
2011/05/01(日) 12:56:41.290892デフォルトの名無しさん
2011/05/01(日) 12:59:11.48誘導
『スレ立てるまでもない質問はここで 111匹目』
http://hibari.2ch.net/test/read.cgi/tech/1302963535/
0893デフォルトの名無しさん
2011/05/01(日) 13:03:30.57だから必死に排除にかかる
0894デフォルトの名無しさん
2011/05/01(日) 13:06:02.042ちゃんをどう使うかなんて人それぞれでしかないのに。
0895デフォルトの名無しさん
2011/05/01(日) 13:13:21.37関係ないカキコをする特権が与えられてる。
0896デフォルトの名無しさん
2011/05/01(日) 13:16:21.570897デフォルトの名無しさん
2011/05/01(日) 13:32:03.22というスタンスで場違いなことをみんなに聞こえるように言うのはなんていう病気?
0898デフォルトの名無しさん
2011/05/01(日) 13:42:18.33思考の二極化というあなたの症状から病名が特定出来ないのと同じで
自己顕示欲が強いというだけで病名を特定出来る人はいない
0899750
2011/05/01(日) 13:59:37.59ANSWER>http://www.libroworks.co.jp/support/index.html
>>720
fgetsを使わない初心者本を書かない単なるサボリだわ。
>fgetsを使わない初心者本を、紹介しなさいよサボってないで。
0900デフォルトの名無しさん
2011/05/01(日) 14:47:35.580901デフォルトの名無しさん
2011/05/01(日) 17:57:47.89>>887
しねくず
0902デフォルトの名無しさん
2011/05/01(日) 18:00:23.21bot みたいなもんかな
色んなスレに同じ単語を書き込んだり、脈絡無くレスをコピペして回ったり
0903デフォルトの名無しさん
2011/05/01(日) 18:16:30.43キチガイにならないとC言語は使えない
0904デフォルトの名無しさん
2011/05/01(日) 18:26:44.67普通の感覚でやると頭壊れるから
0905デフォルトの名無しさん
2011/05/01(日) 18:31:44.930906デフォルトの名無しさん
2011/05/01(日) 19:24:40.640907デフォルトの名無しさん
2011/05/01(日) 20:25:00.02つまりプログラムをやっていいのはプロだけってこと?
0908デフォルトの名無しさん
2011/05/01(日) 20:34:25.960909デフォルトの名無しさん
2011/05/01(日) 20:59:01.49()付きって何か意味あるんでしょうか?
0910デフォルトの名無しさん
2011/05/01(日) 21:01:15.250911デフォルトの名無しさん
2011/05/01(日) 21:06:37.75そんなだから、頭が壊れる人がいる。
0912デフォルトの名無しさん
2011/05/01(日) 21:36:23.58関数っぽく見えていいねという程度。
0913デフォルトの名無しさん
2011/05/01(日) 21:38:54.36例えばさ、11>x>15の論理否定(!)みたいな
0〜27の座標で組まれた四角形に小さな四角形(11~15)の穴を空けたいんだ・・・
つまり「11>x15 かつ 11>y>15でない場合」という事なんだが
0914デフォルトの名無しさん
2011/05/01(日) 21:40:33.750915デフォルトの名無しさん
2011/05/01(日) 21:42:37.44いいねっていうか、良くはないけどな。
0916デフォルトの名無しさん
2011/05/01(日) 21:43:40.580917デフォルトの名無しさん
2011/05/01(日) 21:48:18.09if(!(((11>x)||(x>15))&&((11>y)||(y>15))))
動くかどうかは知らん
0918デフォルトの名無しさん
2011/05/01(日) 21:51:58.80if( x>=0 && x<11 || x>15 && x<=27)
リロードは、した。
0919デフォルトの名無しさん
2011/05/01(日) 21:54:48.39ありがと。
見栄えの意味しか持たないということなんですね。
0920913
2011/05/01(日) 21:55:21.36しかし、どれもダメだった
>>918に関しては半分が穴になった。おしい
参考にして式をいじってみようかな
0921デフォルトの名無しさん
2011/05/01(日) 22:48:11.68!(x >= 11 && x <= 15 && y >= 11 && y <= 15)
0922デフォルトの名無しさん
2011/05/01(日) 23:04:10.46ほしいのは四角いドーナツ型でしょ?なら
「(0<x<27かつ0<y<27かつ)11<x<15でない かつ 11<y<15でない」
でしょ
あーわかりにくい
( x>=0 && x<11 || x>15 && x<=27 ) && ( y>=0 && y<11 || y>15 && y<=27 )
0923デフォルトの名無しさん
2011/05/01(日) 23:06:53.710924デフォルトの名無しさん
2011/05/01(日) 23:39:28.61どうせ口ばっか野郎だろうけど
0925デフォルトの名無しさん
2011/05/01(日) 23:42:35.660926デフォルトの名無しさん
2011/05/01(日) 23:43:04.510927デフォルトの名無しさん
2011/05/01(日) 23:43:23.350928デフォルトの名無しさん
2011/05/01(日) 23:45:12.06質問 → 解答 → お礼
このスレ
質問 → 解答 → 揚げ足取り
何でだろうね・・・
0929デフォルトの名無しさん
2011/05/01(日) 23:51:32.660930デフォルトの名無しさん
2011/05/01(日) 23:53:25.56マジで?
そっか・・・
じゃ、仕方が無いな
0931デフォルトの名無しさん
2011/05/01(日) 23:54:31.32自分より頭のいい奴がいる現実に気付いて逆ギレしてるニートが
たくさんいるから
0932デフォルトの名無しさん
2011/05/02(月) 00:05:28.97たくさんじゃなくて二人だけ
0933デフォルトの名無しさん
2011/05/02(月) 00:20:11.990934デフォルトの名無しさん
2011/05/02(月) 00:23:49.51逆ギレって言ったら相手が先にきれているみたいじゃないか
0935デフォルトの名無しさん
2011/05/02(月) 00:33:16.210936デフォルトの名無しさん
2011/05/02(月) 00:52:27.260937デフォルトの名無しさん
2011/05/02(月) 01:13:48.790938デフォルトの名無しさん
2011/05/02(月) 01:34:38.900939デフォルトの名無しさん
2011/05/02(月) 01:37:01.140940デフォルトの名無しさん
2011/05/02(月) 01:39:57.280941デフォルトの名無しさん
2011/05/02(月) 07:39:41.491文字でも間違えたらコンパイラに「揚げ足」とられるだろ
文字はあっていても結果に「揚げ足」とられることも多々ある
いやなら間違えるな、それができない不適格者はどうぞ消えてくださいということだ
0942デフォルトの名無しさん
2011/05/02(月) 08:11:09.73との言及がありますが、その書籍ではどのような方法で単語をカウントしているのでしょうか?
C言語で英文から各単語の出現回数を表示するプログラム - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1061250180
0943デフォルトの名無しさん
2011/05/02(月) 08:27:25.56・英単語を数えるツールは日本人にとって余り身近でない。
・文字列の取り扱い、可変長データの取り扱いはCは得意ではない。
0944デフォルトの名無しさん
2011/05/02(月) 08:36:39.02(x, y) (13, 0) とかは。
(0 <= x && x <= 27) && (0 < y && y <= 27) && !( (11 <= x && x <= 15) && (11 <= y && y <= 15) );
マスの中 かつ 穴じゃない
に床を書けばいいのか
(0 <= x && x <= 27) && (0 < y && y <= 27) && (11 <= x && x <= 15) && (11 <= y && y <= 15)
マスの中 かつ 穴
に穴をあければいいのか
どっちかわからん
0945デフォルトの名無しさん
2011/05/02(月) 08:47:59.82二分木にいれてた。
0946デフォルトの名無しさん
2011/05/02(月) 08:53:23.26っていうか何をどうやってやろうとしてるわけ?
普通の描画では矩形を使うだろうからこんなドット打つなんてしないし
穴かそうでない部分かどっちを判定するかはその場合によって好きな方選べばいいし
0947デフォルトの名無しさん
2011/05/02(月) 08:58:56.07なるほど、二分木ですか。
ありが�d
0948デフォルトの名無しさん
2011/05/02(月) 09:01:39.270949デフォルトの名無しさん
2011/05/02(月) 09:05:08.83ありがとうございます。
その書籍では何か斬新な方法で解決してるのかなと思い質問しました。
0950デフォルトの名無しさん
2011/05/02(月) 09:16:57.35どうしたいのか知らんから質問したんだ。
この時期だし2次元配列に入れてコンソール出力とかそんな程度じゃないの。
状況によっては前の条件要らないし
>>947
あとはバイナリサーチも例として。
K&Rは持っとくといいよ。
0951デフォルトの名無しさん
2011/05/02(月) 09:22:45.83あ、元の質問者じゃなかったのか、すまん
0952デフォルトの名無しさん
2011/05/02(月) 09:23:34.39あんなのを1行で書かれたくらいで音を上げる誰かさんはそれ以下だが何か?
0953デフォルトの名無しさん
2011/05/02(月) 09:29:10.95int s = sizeof(textfilesize);
int text(s);
for (i = 0; i < s; i++){
if(text(i) == 'e'){
c++
}
}
0954デフォルトの名無しさん
2011/05/02(月) 09:35:53.32この方が圧倒的に条件分から早く抜けてくる。
int r = 0;
do
if (0 <= x && x <= 27) && (0 < y && y <= 27) {
if (11 <= x && x <= 15) && (11 <= y && y <= 15){
r = 1;
}else{
break;
}
}else{
break;
}
while(0)
if (r == 1){
//穴の中
}
0955デフォルトの名無しさん
2011/05/02(月) 09:40:10.520956デフォルトの名無しさん
2011/05/02(月) 09:41:55.820957デフォルトの名無しさん
2011/05/02(月) 09:45:45.43#define foreach(a, b) for(int i = 0; i < sizeof(b) / sizeof(b[0]); i++) { a;
int arr[10];
foreach (int x in arr)
printf("%d\n", x);
}
0958デフォルトの名無しさん
2011/05/02(月) 09:46:59.92int r = 0;
if (0 <= x && x <= 27) && (0 < y && y <= 27) {
if (11 <= x && x <= 15) && (11 <= y && y <= 15){
r = 1;
}
}
if (r == 1){
//穴の中
}
でいいだろ?普通。
0959デフォルトの名無しさん
2011/05/02(月) 09:47:58.62コンパイルエラー
0960デフォルトの名無しさん
2011/05/02(月) 09:48:51.35x,yが宣言されてないって事?
0961デフォルトの名無しさん
2011/05/02(月) 09:50:09.20if の括弧がおかしいだけ
0962デフォルトの名無しさん
2011/05/02(月) 09:51:27.86なるなるwほいよ。
int r = 0;
int x,y;
if ((0 <= x && x <= 27) && (0 < y && y <= 27)) {
if ((11 <= x && x <= 15) && (11 <= y && y <= 15)){
r = 1;
}
}
if (r == 1){
//穴の中
}
0964デフォルトの名無しさん
2011/05/02(月) 09:57:54.17for (x = 0; x <= 27; x++)
if ((11 < x && x < 15) && (11 < y && y < 15)) { /* いしのなかにいる */ }
0965デフォルトの名無しさん
2011/05/02(月) 09:58:33.970966デフォルトの名無しさん
2011/05/02(月) 10:02:46.63俺は単に954を引用しただけ。
0967デフォルトの名無しさん
2011/05/02(月) 10:04:43.940968デフォルトの名無しさん
2011/05/02(月) 10:06:29.560969デフォルトの名無しさん
2011/05/02(月) 10:07:32.390970デフォルトの名無しさん
2011/05/02(月) 10:08:46.94拡張性へのキャパを適度な範囲にとどめておくという見切りは難しい
0971デフォルトの名無しさん
2011/05/02(月) 10:13:22.88#define inRect(left, right, bottom, top, x, y) (left <= x && x <= right && bottom <= y && y <= top)
if(inRect(0, 27, 0, 27, x, y) && !inRect(11, 15, 11, 15, x, y)) {
......
}
0972デフォルトの名無しさん
2011/05/02(月) 10:15:23.55if(inRect(0, 27, 0, 27, x, y) {
!inRect(11, 15, 11, 15, x, y)) {
......
}
}
こうしないと仕様変更に弱いからアマチュアらしいよ
0973デフォルトの名無しさん
2011/05/02(月) 10:15:47.350974デフォルトの名無しさん
2011/05/02(月) 10:16:38.09仲がいいねー
0975デフォルトの名無しさん
2011/05/02(月) 10:24:26.390976デフォルトの名無しさん
2011/05/02(月) 10:27:25.420977デフォルトの名無しさん
2011/05/02(月) 10:28:12.13後2行は、、色々想定できるのでわからん
0978デフォルトの名無しさん
2011/05/02(月) 10:29:26.750979デフォルトの名無しさん
2011/05/02(月) 10:32:10.16>!inRect(11, 15, 11, 15, x, y)) {
┐(´-`)┌ <こんな事やってるようじゃーねぇw
0980デフォルトの名無しさん
2011/05/02(月) 10:34:10.900981デフォルトの名無しさん
2011/05/02(月) 10:38:34.160982デフォルトの名無しさん
2011/05/02(月) 10:41:16.000983デフォルトの名無しさん
2011/05/02(月) 10:43:10.150984デフォルトの名無しさん
2011/05/02(月) 10:44:32.90AMD64で動作するのが条件なー。
0985デフォルトの名無しさん
2011/05/02(月) 10:47:00.94>>http://www.konpira.or.jp/
まじおススメ
0986デフォルトの名無しさん
2011/05/02(月) 10:54:05.720987デフォルトの名無しさん
2011/05/02(月) 10:56:18.760988デフォルトの名無しさん
2011/05/02(月) 10:58:02.03ターゲットは?
0989デフォルトの名無しさん
2011/05/02(月) 11:01:14.19現世利益
0990デフォルトの名無しさん
2011/05/02(月) 11:02:54.37http://img4.cookpad.com/recipe/p/248/58/595DEEF2EB594DCBA7C83A80F03C0179.jpg?1214213105
0991デフォルトの名無しさん
2011/05/02(月) 11:45:38.80C言語なら俺に聞け(入門編)Part 83
http://hibari.2ch.net/test/read.cgi/tech/1304304298/
0992デフォルトの名無しさん
2011/05/02(月) 11:55:41.32さいきん覚えた流行語「復興」
0993デフォルトの名無しさん
2011/05/02(月) 12:55:55.81君は何と戦ってるの?
人間はコンパイラじゃないし、もっと自分と相手を許してあげた方が、
楽しく健康的に生きられると思うんだけど。
0994デフォルトの名無しさん
2011/05/02(月) 13:28:18.35人間は正確無比なコンピュータとは違って間違いをおかす生き物だろ
それをいちいち揚げ足を取っていたら意地の悪い小姑と同じだぞ
0995デフォルトの名無しさん
2011/05/02(月) 13:49:31.400996デフォルトの名無しさん
2011/05/02(月) 13:55:21.56知らなかったのか? コンピュータも確率現象で「間違える」
0997デフォルトの名無しさん
2011/05/02(月) 13:56:34.15エラー処理が入ってないとか、変数名がダメだとか細かいどうでも
いいこと言うようなのばっかりじゃん。
揚げ足とりたくてしかたないんだろ。
0998デフォルトの名無しさん
2011/05/02(月) 13:58:56.58揚げ足取りの揚げ足取りの揚げ足取り
0999デフォルトの名無しさん
2011/05/02(月) 14:02:01.021000デフォルトの名無しさん
2011/05/02(月) 14:03:57.3310011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。