C言語なら、俺に聞け! <24>
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
NGNG・C FAQ 日本語訳
http://www.catnet.ne.jp/kouno/c_faq/c_faq.html
・comp.lang.c FAQ(英語の原文)
http://www.eskimo.com/~scs/C-faq/top.html
Cプログラマ必読 ・プログラミング言語C(通称 K&R)
http://www.amazon.co.jp/exec/obidos/ASIN/4320026926/
推薦図書/必読書のためのスレッド PART4
http://pc.2ch.net/test/read.cgi/tech/1022961238/l50
・前スレ
<23> http://pc.2ch.net/test/read.cgi/tech/1023024817/l50
コンパイラなどのリンクは>>2-3
0002デフォルトの名無しさん
NGNGgcc
http://gcc.gnu.org/
タダで使えるBorland C++!
http://pc.2ch.net/test/read.cgi/tech/1002377328/l50
【Win32用の開発環境のみ。】
gcc-cygwin
http://www.redhat.com/software/tools/cygwin/
gcc-mingw
http://www.mingw.org
Digital Mars C++
http://www.digitalmars.com/
Open Watcom
http://www.openwatcom.com/
Borland C++ Compiler 5.5.1
http://www.borland.co.jp/cppbuilder/freecompiler/
【製品版。有料】
Microsot C/C++ 13.0.9466(VC.NET)
http://www.microsoft.com/japan/msdn/netframework/downloads/
LCC-Win32
http://www.cs.virginia.edu/~lcc-win32/
CINT
http://root.cern.ch/root/Cint.html
めじろ++98
http://www.vector.co.jp/soft/win95/prog/se075910.html
【その他】
http://www.cmt.phys.kyushu-u.ac.jp/~M.Sakurai/prog/progf.html
http://www.bloodshed.net/index.html
0003デフォルトの名無しさん
NGNG0004デフォルトの名無しさん
NGNG:::::::::::::::/ /::::::::::::: : ,ヘ ::::::::::::::::::::::: : ヽ
:::::::::::/ /::::::::::::::::::: ● ::::::::::::::::: : : :,/
::::::::/ /:::::::::::r(:::::::::`'::::::::::::::::::::::く
:::::/ /::::::::::::::`(::::::: ,ヘ:::::::::::::::::::::: ヽ
::::::し ::::::::::::::::::::::::: :●::::::::::::::::::::::: : : :_>
:::::::::::::::::::::::::::::::::::::: `' ::::::::::::-‐ ´
ハァ…ハァ…
0005デフォルトの名無しさん
NGNG0007デフォルトの名無しさん
NGNG0008デフォルトの名無しさん
NGNGそんな書き方はせんでよろしい。
0009デフォルトの名無しさん
NGNGカーニハンかな?
0010デフォルトの名無しさん
NGNG0011デフォルトの名無しさん
NGNG地獄の苦しみ。
そんなあなたはVBとかObjectPascalとかを使って悔い改めて下さい。
0012デフォルトの名無しさん
NGNG「Aの値に1を加えたものをAに代入する」とは考えない。
++や+=は、人間の思考に沿った良い記述方法なのだ。
0013デフォルトの名無しさん
NGNG0014デフォルトの名無しさん
NGNG純粋にタイプ量が増えるというのも上げてみたい。
0015デフォルトの名無しさん
NGNG自分は数学系の人間だけど、=とか配列の使い方とか、最初はかなり戸惑った。
コンパイルのたびに何度もエラーメッセージを出して、繰り返すうちに慣れた。
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGvoid test_strdup(char **string)
{
string[0] = strdup("test");
fprintf(stderr, "%s\n", string[0]);
}
void main(int argc, char *argv)
{
char **string;
test_strdup(string);
fprintf(stderr, "%s\n", string[0]);
}
とはできますよね。
で、この場合に文字列の配列ではなくて、文字列へのポインタを関数の呼出の引数
に与えて、呼出された側で文字列へのポインタのアドレスを変更する場合には
どうしたらいいんでしょうか?
void test_strdup(ここはどうしたらいいんですか?)
{
ここはどうしたらいいんですか? = strdup("test");
fprintf(stderr, "%s\n", string);
}
void main(int argc, char *argv)
{
char *string;
test_strdup(ここはどうしたらいいんですか?);
fprintf(stderr, "%s\n", string);
}
以上、よろしくおねがいします。
0018デフォルトの名無しさん
NGNG?
0019デフォルトの名無しさん
NGNGつか、test_ って…
0020デフォルトの名無しさん
NGNG呼び出し元にfreeを強要するのってあり?
0021デフォルトの名無しさん
NGNGつまり、こうしたいとでも?
もっとポインタ型の勉強が必要だと思われ。
void test_strdup(char **str) {
*str = strdup("test");
fprintf(stderr, "%s\n", *str);
}
int main(void) {
char *str;
test_strdup(&str);
fprintf(stderr, "%s\n", string);
}
0022デフォルトの名無しさん
NGNG0023デフォルトの名無しさん
NGNGfprintf(stderr, "%s\n", string);
適当に直しといて>17
0024デフォルトの名無しさん
NGNGstrdupが呼び出し元にfreeを要求してますが、なにか?
0025デフォルトの名無しさん
NGNG上の方もできてないという罠。
mainの中の1行目の宣言は char *string[1]; の間違いか?
test_strdupはそのままで合ってるから、mainの方を
char *string;
test_strdup(&string);
のようにするよろし。
test_strdupの中の string[0] を *string に直すとなおよろし。
002617
NGNG>>25さん
ありがとうございます(^^;
呼出した方でアドレスを与えて、呼出された方で、配列と同じように
処理すればいいんですね。
mainの方で(&str)として、test_strdupの方で(*str)として(たり色々
試して) たのでうまくいきませんでした。
#構造体を確保したかった時にも同じようなことがあった。
こういうのって、どこで学んだらいいんでしょう?
0027デフォルトの名無しさん
NGNG0029デフォルトの名無しさん
NGNGK&R以外ならどれでも
0031デフォルトの名無しさん
NGNG最終的に理解できてプログラムが書ければ良し。。
0032デフォルトの名無しさん
NGNGできるんならいいよ
0034デフォルトの名無しさん
NGNG実戦から学べば良し。
オリジナルで数本何か書いてみればいい。
0035デフォルトの名無しさん
NGNG解凍ソフト作りたいんですが・・・
0036デフォルトの名無しさん
NGNGLoadLibrary
GetProcAddress
0037デフォルトの名無しさん
NGNG*p=(char *)calloc(2,sizeof(char));
*temp=(char *)calloc(10,sizeof(char));
*p[0]=1;
*p[1]=2;
このpの中の1と2をtempにコピーできる関数はありますか?
temp=p;
だとアドレスをコピーしてしまうので,
temp[0]=5;
とやってしまうと,*pのないようまで変更してしまうので。
0038デフォルトの名無しさん
NGNG*p[1]=2;
↓
p[0]=1;
p[1]=2;
char temp[2];
temp[0] = p[0]; //1のピーコ
temp[1] = p[1]; //2のおすぎ
0039デフォルトの名無しさん
NGNG*temp=(char *)calloc(10,sizeof(char));
↓
p=(char *)calloc(2,sizeof(char));
temp=(char *)calloc(10,sizeof(char));
0040デフォルトの名無しさん
NGNG3行目と4行目で警告。char型にchar *型を入れるな。
0041デフォルトの名無しさん
NGNGともっち!大好き!
0042デフォルトの名無しさん
NGNGそれをもとに,配列を確保したいのですが
0043デフォルトの名無しさん
NGNGvoid (void *a)
{
}
0044デフォルトの名無しさん
NGNGそろそろC++の初めどきです。
004542
NGNG0046デフォルトの名無しさん
NGNG> 関数に型を送りたいのですが,可能ですか?
そもそも、この「関数に型を送る」の意味が分からんよ。やりたいことを明記せい。
0047デフォルトの名無しさん
NGNG>>42
自分で型を(名前などで)管理すれば可能だが
面倒だね。C言語自体にその機能は無い
0048デフォルトの名無しさん
NGNG{
return new T[count];
}
0049デフォルトの名無しさん
NGNGtemplate<typename Type, int n>void f(){Type ta[n];} //当然動的確保じゃなくてもOK
f<int, 256>(); //int型256個の配列ができた
0050デフォルトの名無しさん
NGNGどう理解したの?
>>48
「型を元に配列を確保したい」と言ってるから、実は
if (型 == Player)
プレイヤー用の配列を確保 & 初期化
else (型 == Cell)
セル用の配列を確保 & 初期化
だったりしないか。分からんが。
単にメモリブロックを確保したいだけなら、それこそ malloc() に sizeof(配列要素) *
要素数で終わりだしねぇ。
0051デフォルトの名無しさん
NGNGC++ 的には配列捨て捨てで vector<T> で良いかと。
0052デフォルトの名無しさん
NGNGだよねぇ
型を渡してってのが意味不明、
Cじゃメモリ確保に型なんか必要ないし
0053デフォルトの名無しさん
NGNG0054デフォルトの名無しさん
NGNG0055デフォルトの名無しさん
NGNGついでにこの亀のような形のものがセグメントアドレスです
005653
NGNG持ってるけど分からない・・・
0057デフォルトの名無しさん
NGNG0058デフォルトの名無しさん
NGNGまさかたかだか1〜2冊というわけではあるまいな。
0059デフォルトの名無しさん
NGNG歳はいくつぐらい?
0060デフォルトの名無しさん
NGNGわからん人にはわからんみたい。
って言うか実戦で使ってみないことには完全には理解できないでしょ。
メリットとかそもそもの使い方とか。
本だけ読んで自己満足してその知識だけでここでなれ合っているというなら問題だけどな。
0061デフォルトの名無しさん
NGNGじゃあ、ミルクみたいな奴はなんというのでしょうか?
0062デフォルトの名無しさん
NGNG習うより慣れろ
0063デフォルトの名無しさん
NGNG故Dr.パソコンに合掌
006442
NGNGcallocを使って関数で任意の型を作りたいのですが,
(char *)の部分は,型を送らないと任意の型を作れないので,型を送りたいんです。
0065デフォルトの名無しさん
NGNGまださっぱりわからん
型を作るって何?
型を送れないと・・・って何?
0066デフォルトの名無しさん
NGNGtypedefと構造体か素直にC++か。
0067デフォルトの名無しさん
NGNG演算をしないならCのキャストは無敵だから何の心配もいらない。
サイズだけ分かればよい。でもやっぱり多態とRTTIが最強
0068日本語を勉強したいです。
NGNGvoid *yattekure(size_t count,size_t size){
return malloc(count * size);
}
sonohennokansu(){
int *pi;
char *pc;
pi = (int *)yattekure(10,sizeof(int));
pc = (char*)yattekure(16,sizeof(char));
・・処理・・
free(pi);
free(pc);
}
とか。
0069デフォルトの名無しさん
NGNGvoid ( void * a,size_t count,size_t size,?? kata )
{
a=(kata *)malloc(count * size);
}
のようにしたいのですが,kataの部分がどうやって送っていいのかわかりません。
void *ではないですしね。
0070名無しさん@カラアゲうまうま
NGNG> わかりずらくてすみません。
すげーわかりずらい。
#define allocate(n, type) (type *)calloc((n), sizeof(type))
0071デフォルトの名無しさん
NGNGその微塵も意味のない
(kata *)へのキャストはなんですか?
何か根本的に間違ってませんか?
0072デフォルトの名無しさん
NGNGありがとうございます
それをつかえば,できますね。
defineがあったのか。
0073デフォルトの名無しさん
NGNGmoji[0]=?; //a?
moji[1]=?; //あ?
moji[2]=?; //a?
moji[3]=?; //あ?
全角文字も半角文字も一つの配列に入るのですか?
0074デフォルトの名無しさん
NGNGSJISと仮定して全角文字は2Byteです。
プログラムも良いけどコンピュータアーキテクチャとかも学ぶと吉。
0075デフォルトの名無しさん
NGNG0076デフォルトの名無しさん
NGNG俺が知ってる限りで3個以上意味がある。
0077デフォルトの名無しさん
NGNG0078デフォルトの名無しさん
NGNGむむむ・・・。
0079デフォルトの名無しさん
NGNG0080デフォルトの名無しさん
NGNG奇怪語ONLYの最大64KBの実行可能ファイルよ
0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG0083デフォルトの名無しさん
NGNGどうでもいいな・・・。
0084デフォルトの名無しさん
NGNG>>80
Turbo C/C++だとタイニーモデルで作れたよ。
0085デフォルトの名無しさん
NGNG唐揚げはわさびがあうぞ
0086デフォルトの名無しさん
NGNGだめでした
allocate(10, char);
と使いましたが
0087デフォルトの名無しさん
NGNGかなりのハクチのようですな、、、
0088デフォルトの名無しさん
NGNGオーバーフローして未定義だけど、
unsignedな数に同じことをした時にはどうなるの?
オーバーフローしないとか書いあったんだけど、
それは、勝手に最大値に丸められるということ?
0089デフォルトの名無しさん
NGNGいや、単にオーバーフローしたビットが省かれる。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNGC言語、わかってたつもりなのに全然わかってなかったです
関数に二次元配列を渡す方法がわかりません
大きさ不定の二次元配列を渡す方法がわかりません
それからポインタのこともわかってなかったです
配列のポインタのことをよく書いてあるHP教えて下さい
それからポインタのことを語って下さい 語りつくして下さい
お願いします!!!
0092デフォルトの名無しさん
NGNGunsigned int a=-1;
a+=2;
printf("%d",a);
0093デフォルトの名無しさん
NGNG0094デフォルトの名無しさん
NGNGvoid hoge(DATA **dat)
{
}
0095デフォルトの名無しさん
NGNGそろそろ「型を送る」人は放置で良いかと……。自分の置かれている状況と解決
すべき問題を明確に示せない人には、掲示板でアドバイスするのは無理だよ。
0096デフォルトの名無しさん
NGNG自前に2次元的にアクセスするとか?
0097デフォルトの名無しさん
NGNGもう諦めてvector<T>を使いなさい。
009891
NGNGポインタのポインタと二次元配列は違うのでは???
0099デフォルトの名無しさん
NGNGそうなんか…Thx!
>>92
printf("%d");
つうのは、signedじゃなかったけ?
010191
NGNG0102デフォルトの名無しさん
NGNGvector<T>?
0103デフォルトの名無しさん
NGNGポインタに配列の先頭アドレスを代入してるってことだよ。
0104デフォルトの名無しさん
NGNG0105デフォルトの名無しさん
NGNGではない
0106デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?hl=ja&ie=UTF8&oe=UTF8&q=%E9%96%A2%E6%95%B0+%E4%BA%8C%E6%AC%A1%E5%85%83%E9%85%8D%E5%88%97+%E6%B8%A1%E3%81%99%E6%96%B9%E6%B3%95&lr=
0107デフォルトの名無しさん
NGNG配列の先頭要素はメモリのアドレスではなかったですか?
違いましたでしょうか?
0108デフォルトの名無しさん
NGNGはもう推奨されないんですか?
0109デフォルトの名無しさん
NGNGそれはchar* argv[]の別表記じゃん、2次元配列じゃないっしょ
0110デフォルトの名無しさん
NGNG二次元配列というのはつまり、
その中の一次元配列の先頭アドレスを格納したポインタの、配列ってことだよ。
0111110
NGNG関数に渡せば言いわけ。
ただ、out of rangeになるという危険性をはらむが。
0112デフォルトの名無しさん
NGNG00 01 02 03
10 11 12 13
20 21 22 23
0113デフォルトの名無しさん
NGNGchar argv[][]
って書き方も出来ますよね。
0115デフォルトの名無しさん
NGNGできないんじゃねぇの?
0116112
NGNG勘違い、スマソ
0117110
NGNGchar *a;
前のは、配列として宣言してしまっているから、大きさが自動的に決定してしまい、
書き換えできない。後ろのならばできる。
0118デフォルトの名無しさん
NGNGDOSのQuick Cでは出来たよ。
0120デフォルトの名無しさん
NGNGポインタでアドレス指定して操作すればいいのではないの?
ポインタ、ポインタというと帰って分からなくなりそうです。
0122デフォルトの名無しさん
NGNG0126俺に日本語を教えれ!
NGNG意味不明だが、
とくに
>*pのないようまで変更してしまうので。
memcpyを使ってからもう一度。
>>86
char *p;
p = allocate(10,char);
で何の問題も無い気が…。
呼び出しをチェックしれ。
あとCではvoid*はいちいちキャストしなくてもいいし。
というかまったく意味ないし。
>>91
多次元配列だと、
void kansu(int matari[][]);
のようにはできない。
void kansu(int sastubastu[][10]);
のように一番上以外を定数として宣言しないとダメ(配列の宣言のときを考え)。
自由にやるには多重ポインタしかない。
0127110
NGNG119は間違い。
配列の配列は結局、一次元の配列の先頭アドレスを格納したポインタ、の配列だから、
ポインタということは、サイズをコンパイラは知ることができないわけ。で、無理。
鬱だ。逝ってきます。
0128デフォルトの名無しさん
NGNG0129デフォルトの名無しさん
NGNGK&R見る。
0130ANSI工作員
NGNGアソシから今すぐ規格書を買って詳細を調べれ
0131デフォルトの名無しさん
NGNGとりあえず
> 先頭アドレスを格納したポインタ、の配列だから、
は間違ってると思われ
0132110
NGNG配列の先頭アドレスとともに、配列のサイズを渡さなければならないわけ。
そうしないと配列のサイズが見えないから範囲外にアクセスして、
悪けりゃ、Winごとおさらば…
大体、こんな感じ
void hoge(int **v, int x_size, int y_size)
{
for (int x = 0; i < x_size) {
for (int y = 0; c < y_size) {
v[x][y] = 17;
}
}
}
int main()
{
int foo[9][7];
hoge(foo, 9 , 7);
}
0134デフォルトの名無しさん
NGNGだめ。2次元配列はポインタのポインタではなく長さの情報をもった型
省けるのは一つだけだからエラー
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNGint v[][7]
0137デフォルトの名無しさん
NGNG0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNG以上。
0140デフォルトの名無しさん
NGNG同意(鬱)
0141デフォルトの名無しさん
NGNGmatrix[ y*y_len + x ] とかアクセスすれば〜
0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNGint main()
{
int foo[9][7];
int *p[7];
for(int i=0;i<7;++i)p[i] = foo[9] + i;
hoge(p, 9 , 7);
}
0144デフォルトの名無しさん
NGNG0145110
NGNGΛ||Λ
( / ⌒ヽ
| | |
∪ 亅|
| | |
∪∪
0146デフォルトの名無しさん
NGNG0147134
NGNGΛ||Λ
( / ⌒ヽ
| | |
∪ 亅|
| | |
∪∪
014891
NGNGFAQみながら↓みたいにやったらできました
void f(int n,double **x){
}
int main(){
int i,n=3;
double **x;
x = (double **)malloc(sizeof(double *) * n);
for(i=0; i<n; i++)
x[i] = (double *)malloc(sizeof(double) * n);
f(x);
return 1;
}
0149デフォルトの名無しさん
NGNG0150デフォルトの名無しさん
NGNGタイトル読もうな。
0151デフォルトの名無しさん
NGNG後には、110と134の死体が揺れていた…。
FIN
015291
NGNGdouble **x;
x = (double **)malloc(sizeof(double) * n * n);
だとダメらしいのですがなんでダメなのかわからない
0153デフォルトの名無しさん
NGNGxは2重ポインタ。
0154デフォルトの名無しさん
NGNG0155デフォルトの名無しさん
NGNGdouble *の正体がないから。
double ** -> double * -> double って具合に2段にわたって参照するので、
途中通過する double * も必要。
015691
NGNG上のレス見たらよけいわからんなった
ちなみに自分は連立方程式の数値解を求める関数を書きたかったのです
fortran90ならこんなのちょろいのになー C言語むづすぎ
0157デフォルトの名無しさん
NGNGこれこそ、>>110の言ってたポインタのポインタの話じゃないか?
0158デフォルトの名無しさん
NGNG2chはいきなり初心者モード無視して答えを書いてくるヤシが多い
ので、かえって混乱するかも。でもいつか理解できる。
015991
NGNGそういうのを専門でやってる人いませんかねえ
いたらポインタと配列についてコンパイラ実装者の立場から説明して欲しい
016091
NGNG関数に二次元配列を渡せないのでしょうかね?
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNGint a[4][5]ならint (*b)[5]
0163デフォルトの名無しさん
NGNGアセンブラを覚えれば分かるよ。
0164デフォルトの名無しさん
NGNG016591
NGNG関数を書けないですかね?
ポインタつかわんでmalloc使わんで
0166デフォルトの名無しさん
NGNGPerlでも使えよ・・・
0167デフォルトの名無しさん
NGNGC++使え
0168デフォルトの名無しさん
NGNGポインタを使わないって時点で無理。
0169デフォルトの名無しさん
NGNG0170デフォルトの名無しさん
NGNG0171デフォルトの名無しさん
NGNGこーぞーたいのメンバーにすれば渡せないこともない。
0172デフォルトの名無しさん
NGNG支離滅裂
017391
NGNGそれは無駄にメモリ使う上に柔軟性がないでしょ > 164
0174デフォルトの名無しさん
NGNG0175デフォルトの名無しさん
NGNGUNIX板からの刺客?
0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGだから最初の要素以外の大きさはコンパイル時に
決定していなければならないわけで、>>152はよくて
#define N 100
double (*hoge(int n))[N]
{
double (*x)[N] ;
x = (double(*)[N])malloc(sizeof(double)*n*N) ;
return x ;
}
のようにしかできない
017891
NGNG0179デフォルトの名無しさん
NGNGなんでCにこだわるの?
0180デフォルトの名無しさん
NGNGこういうのばっかりだから
0181デフォルトの名無しさん
NGNG好きな大きさのメモリを確保してほしい。
0182デフォルトの名無しさん
NGNG0183デフォルトの名無しさん
NGNG0184177
NGNG最初がいらないのは受け渡しのときだけだ
0185デフォルトの名無しさん
NGNG018691
NGNGCむづかしすぎ
みんなもよくわかってないっぽいし
0187デフォルトの名無しさん
NGNGわかってないのはおまえと110だけだと思われ
0188デフォルトの名無しさん
NGNG分かっているから無理だと言っているんだろ(ワラ
018991
NGNGでわaはなんですか?
0190デフォルトの名無しさん
NGNG考えがスマートに書ける。
0191デフォルトの名無しさん
NGNG0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG配列名だよ!
019491
NGNGむづかしすぎたかな
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG> ポインタと配列についてコンパイラ実装者の立場から説明して欲しい
以前に書いたヤツだと、こんな感じやねぇ。
| l_value '[' expr_ ']' {
struct comp_node *offnp;
struct cast_info *cast;
if (!cast_is_array($1->cn_cast))
yynotice(COMP_ERRMSG_ELEM_NOARRAY);
else if (!cast_equal(node_get_cast($3), CAST_INT))
yynotice(COMP_ERRMSG_INDEX_NOTINT);
cast = cast_element($1->cn_cast);
/* offset <- expr_ '*' size */
offnp = node_create_op2(CAST_INT, $3,
node_create_valint(cast_size(cast)), OPR_MUL);
$$ = node_create_lv_off(cast, $1, offnp);
}
| '*' l_value %prec PREC_DEREF {
if (!cast_is_pointer($2->cn_cast))
yynotice(COMP_ERRMSG_DEREF_NONPTR);
$$ = node_create_rlv(cast_deref($2->cn_cast), $2);
}
0197デフォルトの名無しさん
NGNG0198デフォルトの名無しさん
NGNGint a[n]はint型をn個持つ配列。
int a[n][m]はint型をm個持つ配列をn個持つ配列。
0199デフォルトの名無しさん
NGNG0200デフォルトの名無しさん
NGNG識別子です。
そろそろやめたら(ボソ
020191
NGNG0202デフォルトの名無しさん
NGNGそして日本語すらよく分かっていないな。
>むづかしすぎたかな
0203198
NGNG0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNG91にはCは無理だ、あきらめな
0206デフォルトの名無しさん
NGNGそれだ!それを91は理解しないと
0207デフォルトの名無しさん
NGNG0208デフォルトの名無しさん
NGNG二次元配列諦めて、ポインタのポインタにしたら?
double **d;
d = (double **)malloc(sizeof(double *) * 100);
for (i = 0; i < 100; i++)
d[i] = (double *)malloc(sizeof(double) * 100);
で、見かけ上d[100][100]まで使えるから。ただし、これを受け取る関数も
double **で受け取ること。それに、xとyの次元も指定しなければならない
から、
struct dd {
int x, y;
double **d;
};
のように構造体にした方が柔軟性が増す。
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNGそれを91は嫌がっているんだよ(笑)
0211デフォルトの名無しさん
NGNG>ポインタむづかしすぎ!C言語挫折しそうですわ
.,/ ̄ ̄\.
.,/ ____ \.
/ /川〃ノ\. ヽ.
( (ミ/⌒ヽ三) ) / ̄ ̄ ̄ ̄ ̄
ヽ. ヽ| ´∀` |ノ .ノ < オマエダケー
 ̄| .::| ̄ \_____
|____|
0212デフォルトの名無しさん
NGNGふーん。何でこんなにもめているのか理解できたっすよ。(藁
0213110
NGNG021491
NGNG上に貼ったソース まさにそのやりかたです。
いちいちそんなめんどくさいことしないとできないのかあ
ポインタのこと考えないで配列の受渡ししたい
0215デフォルトの名無しさん
NGNG0216デフォルトの名無しさん
NGNGもうほっときなって。
0217デフォルトの名無しさん
NGNGPerlを薦めるよ。
0218デフォルトの名無しさん
NGNG頭固すぎ
他言語使えって
0219デフォルトの名無しさん
NGNG022091
NGNG0221デフォルトの名無しさん
NGNGJava使えるならJava使えよ!!(;_;)
0222デフォルトの名無しさん
NGNGあれはポインタのポインタと同じ
0223デフォルトの名無しさん
NGNGそれをしたかったら、もっと高級な言語を使え。
メモリアドレスが1次元である以上、どこかで行と列の計算をする必要があるだろ。
そんなことまでCは面倒見てくれない。
0224デフォルトの名無しさん
NGNG022591
NGNG0226デフォルトの名無しさん
NGNGそりゃおまえがネタだと見抜かれてるからね
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGCは配列の扱いについて、極端に単純化して、一次元配列しか
基本的には使えなくなっていると思われ。
022991
NGNG↑Javaだとこんな感じで配列の大きさ指定しないで関数に渡せて便利ですな
0230デフォルトの名無しさん
NGNG配列もオブジェクトの一種ですからな。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGポインタ変数の宣言ってどうやるの?
0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNG*
023591
NGNGdouble *p;
0236デフォルトの名無しさん
NGNG親切度が半端
0237デフォルトの名無しさん
NGNG今日はしたい気分なんだ、いいだろ。
023891
NGNG0239デフォルトの名無しさん
NGNGはげどー
91みたいなどうしようもないやつを生んでしまうもんな。
0240デフォルトの名無しさん
NGNG禿同
024191にとっては
NGNG0242デフォルトの名無しさん
NGNGうん、糞だ。
しかし、その糞さえもろくに(略
0243デフォルトの名無しさん
NGNGそれを「便利」と思うか「余計なお世話」と思うかは、微妙なところだ。少なくとも
処理系を実装する立場から言えば C は、適度に小さく強力で、良い言語だろう。
ところで 91 は >>196 へのコメントはないの?
0244デフォルトの名無しさん
NGNGちょっと同感ついでに>>91も糞
0245デフォルトの名無しさん
NGNG0246デフォルトの名無しさん
NGNGさしてきた様子。迷わずFORTRANやjavaに逝ってよし。
0247デフォルトの名無しさん
NGNG理解できるわけないじゃん
0248デフォルトの名無しさん
NGNGもっと落ち着け
0249デフォルトの名無しさん
NGNG付き合ってあげるこのム板住人のやさしさ。
0250デフォルトの名無しさん
NGNG0251デフォルトの名無しさん
NGNGROMっている人のため。
0252デフォルトの名無しさん
NGNG語りつくしてくださいというから語っているのさ(w
0253デフォルトの名無しさん
NGNG0254デフォルトの名無しさん
NGNGいまいちF1だとかがよくわかんない。
お馬鹿でスマソ
0255デフォルトの名無しさん
NGNGすれ違いだぞー
とりあえずCでは0xを先頭につけろ。
0256デフォルトの名無しさん
NGNGF1=241
0257デフォルトの名無しさん
NGNG0258デフォルトの名無しさん
NGNG0259デフォルトの名無しさん
NGNGハァ?と思ったが、-は区切りか。
0260デフォルトの名無しさん
NGNG0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG0263デフォルトの名無しさん
NGNG0264デフォルトの名無しさん
NGNG0265デフォルトの名無しさん
NGNG0266デフォルトの名無しさん
NGNG0267デフォルトの名無しさん
NGNG間違って押してしまって糞重いヘルプが・・・
026891
NGNG196って何言語なのかもわからん
0269デフォルトの名無しさん
NGNG0270デフォルトの名無しさん
NGNG2桁目は16の1乗を表すから。
0271デフォルトの名無しさん
NGNGこのスレの消費速度が速いんだよな、、
0272デフォルトの名無しさん
NGNGF2の隣にF1置いたの誰だよ!
0273デフォルトの名無しさん
NGNG0274デフォルトの名無しさん
NGNG0275デフォルトの名無しさん
NGNGごめんなさい。
0276デフォルトの名無しさん
NGNG027791
NGNG今回はC言語のお勉強だったのです
普段はmatlab使ってます
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNGライブラリのある関数を乗っ取りたいのですが
ldのオプションでENTRYを指定すればいいらしい
というところまではわかりました。
でも、実例を示してくださるとありがたいです。
0280デフォルトの名無しさん
NGNGことをする必要があるの?
オーバーロードでしょ?
0281デフォルトの名無しさん
NGNG0282デフォルトの名無しさん
NGNG0283デフォルトの名無しさん
NGNGできねえって
0284デフォルトの名無しさん
NGNG0285デフォルトの名無しさん
NGNG0286279
NGNGライブラリにある関数と同じ名前の関数を作ったから
ライブラリの方じゃなくて自分の作った関数の方を
リンクしてくれ、と ldに指示を出したいわけです。
0287279
NGNG028891
NGNGお前レベル低すぎるよ
死んでくれよ
0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG0291デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNGC++スレへ来なさい
パパが誠意を持って体中で教えてあげるから
0294デフォルトの名無しさん
NGNG自分の関数の名前をちょっと変えて#defineで見た目をごまかすとかは
どう?
0295デフォルトの名無しさん
NGNGライブラリをリンクしない。
0296デフォルトの名無しさん
NGNG0297デフォルトの名無しさん
NGNGしれ
0298デフォルトの名無しさん
NGNG0299デフォルトの名無しさん
NGNGあるライブラリをリンクしたいが、それに含まれるいくつかの
関数だけは自分バージョンを同じ名前で使いたいってこと?
0300279
NGNG0302デフォルトの名無しさん
NGNGプリロード、って言葉を聞いたことがあるけどな……
0303デフォルトの名無しさん
NGNG0304299
NGNGいま急いで調べたから違っているかもしれないけど、ldの--entryオプションは
プログラムのエントリーポイントを設定するだけで、関数の乗っ取りは
少なくともこのオプションではできないと思うよ。
0305279 ◆bislCqN.
NGNGわざわざありがとうございます。
そうですね、関係なかったみたいですみません。
プリロードうんぬんって、動的リンクさせるときに読み込むライブラリを
順番指定するとかして自分の思い通りにライブラリをリンクさせる手法
でしたっけね。
静的リンクでも同様のことがこれで出来るのかな?
調べてみます。
0306デフォルトの名無しさん
NGNG>>294のいうとおり
#if use_custom_printf
#define getchar printf__
#include <stdio.h>
#undef printf__
#endif
とかじゃだめ?ヘッダファイルの内容次第では死ぬけど。
0307デフォルトの名無しさん
NGNG講義で習ったんですが忘れてしまいますた。
別に宿題というわけではありませんが、教えてください。おねがいします。
0308デフォルトの名無しさん
NGNGdy = rand() % N;
if(dx * dx + dy * dy < N * N)
{
出力(x, y, dx, dy);
}
の繰り返しじゃだめなの?
0309デフォルトの名無しさん
NGNGx と y を -N〜Nまで乱数で求め、x^2+y^2<=N^2となる(x,y)を出力しなされ。
0310308
NGNG>309さんのがいいね。
0311デフォルトの名無しさん
NGNG設問にxとyが負でもいいのか条件が欲しいところだね。
0312デフォルトの名無しさん
NGNGfor(int i=0;i<15000;i++){
int a,b;
for(;;){
a=rand()%200-100;
b=rand()%200-100;
if( a*a + b*b <= 100*100)
break;
}
shige[i].SetPosition(200+a,200+b);
}
どうもありがとうございました。
0313デフォルトの名無しさん
NGNG無駄撃ちが無くなるし。
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNG分布が一様じゃなくなるんじゃない?
0316デフォルトの名無しさん
NGNG298 で答え出てる気が。もし実行ファイルで、実行時リンカが解決するシンボルを
上書きしたいなら、共有ライブラリを作って LDPRELOAD 環境変数で指定、かね。
(man ld.so)
ただ、よーく理解して使わんと死ぬぞ。詳しい話を知りたければ、書籍「Linkers &
Loaders」でも買って読むべし。
0317デフォルトの名無しさん
NGNG関数書く時、最大何行超えると駄目ってのありますか?
0318デフォルトの名無しさん
NGNG行数とは無関係だと思う
0319279 ◆bislCqN.
NGNGどうも。その本買いに行ってきます。
0320デフォルトの名無しさん
NGNGコンパイラに、いろいろヤヴァイ部分が出てくるとおもう。
角度とか。
0321デフォルトの名無しさん
NGNGいやでも1関数で何千行とかあったら引きませんか?
0322デフォルトの名無しさん
NGNG引くけど、
でも50行でもその中に複数の処理が混ぜ混ぜに詰め込まれてたらダメでしょ
逆に何千行でも分割不可能な最小の処理(ありえるか?)なら仕方がないし
(何千行の関数がコンパイルできるかどうかは知らんけど)
0323デフォルトの名無しさん
NGNG現実派そんなことあるのですか?
0324
NGNG0325デフォルトの名無しさん
NGNGw->sp0->x_pos = 0;
なんですか -> って。見たこともない表記に混乱しています。助けてください。
0326デフォルトの名無しさん
NGNGa->b == (*a).b
0327デフォルトの名無しさん
NGNG構造体Aが構造体bへのポインタ型のメンバを持っている。
で、構造体Aのポインタから構造体bのメンバを参照している。
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNG1000を越えることはないだろうけど、出力するものが多いプログラム(CGIとか)の場合は一つの関数の行数が多くなりそう。
0330デフォルトの名無しさん
NGNGそうならないようにデザインとコードはわけろとあれほど・・・。
と言うアンチ最近の風潮な俺は逝ってきます。
0331デフォルトの名無しさん
NGNGあー、思い出しました。完全に忘れてた。なんで忘れてたんだろう。
ありがとうございました。
0332デフォルトの名無しさん
NGNGファイルサイズが260KBにもなったが・・・
0333デフォルトの名無しさん
NGNG目盛り関数のmalloc()は型の指定がないようなのですが
自分でサイズを確保しておけばどの型のデータも格納できるのでしょうか
0334デフォルトの名無しさん
NGNG???????
戻り値のvoid *のこと?適切な型にキャストすれば?
もっとも、mallocのプロトタイプが有れば必要ないけど。
0335デフォルトの名無しさん
NGNG?
まぁ、そう言うことやね。
変数も所詮は数バイトのメモリ領域。
でも、ちゃんと然るべき型のポインタに入れてやるように。
0336デフォルトの名無しさん
NGNG例えば戻り値void*が返ってきて
その番地に何か値を代入するとしたら
charとかintとか関係無くどの種類の値も代入できるのかと思いまして
0337デフォルトの名無しさん
NGNGできる。
mallocはメモリを確保するだけ。
それをどう扱うかは変数次第。
0338デフォルトの名無しさん
NGNG問題ない。
このスレの少し上のほうにそれを知らなかったのか意味不明な質問があったが。
0339デフォルトの名無しさん
NGNG一応代入は出来たのですが、型の指定とかしなくていいのかな?と
疑問に思いまして・・
みなさん有り難うございます
0340デフォルトの名無しさん
NGNG大きささえ合えばね。
余る分にはいいが少ない場合は危険。
共用体とかC自体結構そう言うことを想定してる。
0341デフォルトの名無しさん
NGNG>ap が va_arg(ap,type) の形で関数に渡されると、 ap の値は関数から返って来た後は不定となる。
という記述の意味が分かりません。
va_list型のapを「va_arg(ap,type)の形で関数(何の?)に渡す」とは具体的どういうことでしょうか?
user_func(va_arg(ap, char *));
のように渡す場合のことかと思ったのですが...。
(これでapが不定になる筈が無いとも思いますけど...)
0342shige
NGNG英語で読んだ方が明解でないか?
>If ap is passed to a function that uses va_arg(ap,type)
> then the value of ap is undefined after the return of that function.
つーか、酷い訳だな。それ。
0343デフォルトの名無しさん
NGNG酷いつーか誤訳?
0344shige
NGNG関係ないが、 http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/c/C-faq/C-faq-15.html
> 可変個数の実引数リストの可変個数の部分には、古い「省略時の引数格上げ」が適応される。
> つまりfloatの引数は必ずdoubleに格上げされ(幅を広げられ)、charとshort intの引数はintに
> 格上げされる。よってva_arg(argp, float);と書くのは常に誤りである。代わりにva_arg(argp, float)
> と常に書かなければならない。
何も変わってません。Rうbyさいこー
0345デフォルトの名無しさん
NGNGwarata
0346デフォルトの名無しさん
NGNG動的に確保したいのですが、どうすればいいのでしょうか?
0347デフォルトの名無しさん
NGNG燃料投入だな。
それは無理。代わりにポインタと[]演算子を使う
0348346
NGNG□演算子?これは初めて聞きました
どのようなものでしょうか?
0349デフォルトの名無しさん
NGNG0350デフォルトの名無しさん
NGNGダランベリアンじゃなくてだな
[と]。ポインタをint *pとしてmallocで確保した後
p[3]とかやってアクセス
0351デフォルトの名無しさん
NGNG0352346
NGNG大変お恥ずかしい話ですが
mallocを使ったことがありません
失礼ですが、どうのように使えばよいのか
教えていただけませんでしょうか?
0353デフォルトの名無しさん
NGNG0354346
NGNG本を買ったら使えるようになるのでしょうか?
やっぱり使い方を知らないと使えないと思うのですが。
0355デフォルトの名無しさん
NGNG何度もでてるが、例えば一次元なら
int *p ;
p = (int*)malloc(sizeof(int)*n) ;/* nは確保したい個数 */
使い終わったら
free(p) ;
0356デフォルトの名無しさん
NGNG知らないのはいいとして調べないのが問題だ。
powered by google
http://bi.appi.keio.ac.jp/seminar/c/node53.html
http://homepage1.nifty.com/MADIA/vc/C/c_lang_ansi2.htm
http://www.microsoft.com/JAPAN/developer/library/vccore/_crt_malloc.htm
http://www.ice.nuie.nagoya-u.ac.jp/~l94334/c/malloc_calloc.html
http://cai.cs.shinshu-u.ac.jp/sugsi/Lecture/c/e_04-02-01.html
一番下の信州大 Flash まで使って無駄に豪華だ。
0357デフォルトの名無しさん
NGNG本買ったら使い方くらい書いてあると思うのですが。
0358デフォルトの名無しさん
NGNG0360346
NGNG確かに・・・
失礼しました
これからは自分で調べてから質問します
お手数かけてすいませんでした
0361デフォルトの名無しさん
NGNG┐(´ー`)┌
0362デフォルトの名無しさん
NGNG0363デフォルトの名無しさん
NGNGhttp://piza2.2ch.net/tech/kako/992/992588535.html
NULLって
http://pc.2ch.net/test/read.cgi/tech/1014987555/
「False」を「ファール」って発音してる人の数→
http://pc.2ch.net/test/read.cgi/tech/1005578173/
0364デフォルトの名無しさん
NGNG0365デフォルトの名無しさん
NGNG0366Dennis M.Ritchie
NGNG0367Dennis M.Ritchie
NGNG0368デフォルトの名無しさん
NGNG0369デフォルトの名無しさん
NGNGプログラミング言語の一種。
C++ や Java などといったプログラミング言語に比べて、
特定の目的に特化されており、
プログラマではなくても記述できる(ことを目的としている)。
より広い範囲では、コンパイルなどの煩雑な作業が必要ない
手軽に使える簡易言語といったところ。
0370デフォルトの名無しさん
NGNG特定のビットが0なのか1なのかは論理積を使って読めるようになりました。
書き込むのも論理和なり排他等を使えば可能なのですが、
ビットイメージ(2進数)で書き込みたいのですが、
手持ちの書籍、インターネットでの検索で見つけることができませんでした。
現在はWindowsの関数電卓を使って2進数を10進数に変換して
それをコピーアンドペーストしているのですが、
面倒で仕方がありません。何とかならないものでしょうか?
ちなみに、Borland-C++ エディターはC言語をはじめよう を使っております。
0371デフォルトの名無しさん
NGNGint x = /* ここに2進数表記で整数を書く */;
ってことがやりたいってことか?
それならCだと無理。16進か8進で我慢じゃ。
0372Dennis M.Ritchie
NGNGむり
Cの開発者がいってるんだからムリ
0373デフォルトの名無しさん
NGNG読み込むときに、10進を2進に変換して
2進からデータを読み込むってのはダメ?
0374デフォルトの名無しさん
NGNGめんどいけど、どうしてもやりたいなら(w
0375デフォルトの名無しさん
NGNGモニタの横に、0からFまでの16進⇔2進変換表でも貼っとけ。
そのうち覚える。
0376デフォルトの名無しさん
NGNGint i ;
asm mov i, 10101010101B
0377デフォルトの名無しさん
NGNG0378デフォルトの名無しさん
NGNG簡単なプリプロセッサ自作すればいいんでは?
プリプロセッサといっても、実際にコンパイラ
に組み込まなくて、単に標準入力の2進数入り
ソースを、10進数なり16進数に置き換えるだけ
でいいと思う。mypp < foo.cbb > foo.cpp みたい
な感じで。2進は 0b ではじめる、とか決めとけ
ばいいんでないの?
漏れは大昔、漢字変数名や漢字関数名が使える
ようなのを作って遊んでたよ。コンパイルエラー
表示を戻すことは考えていなくて、エラーが出る
と意味不明な英数字が表示されることになった
けどな(w。
0379デフォルトの名無しさん
NGNGunsignedなら表現できるのか?
0380デフォルトの名無しさん
NGNG#define B0000000000000010 2
以下略
0381デフォルトの名無しさん
NGNGパッチをざっと眺めた限り、思ったよりは複雑なことしてなかった。
コロンブスのエッグって感じだったな。
0382デフォルトの名無しさん
NGNGそんな対応は
#define START {
#define END }
とするぐらい、無意味でやっちゃならん事だと思うが。
0383デフォルトの名無しさん
NGNGprintfで %b を追加した方がまだマシかな
0384デフォルトの名無しさん
NGNG0385デフォルトの名無しさん
NGNGそうです。そうです。
そういうことがやりたいんです。
頭の中で2進にできなくて。
16進にしろ8進にしろ一度変換しないとだめなんですね。
16進だとどういう手段で可能なのかは分かりかねますが(汗
>>372
標準で不可能なようですね。
ありがとうございます。
>>373
371さんの書いてあることがしたいので、
残念ながら373の方法では、
コマンドラインから入力する場合なら可能ですね。
後の374さんが書かれていますが、
charで処理と言うのは、
CUIに2進表記するために、
10進をcharで2進表記しようとしましたが、
化け化けで失敗。一筋では通らなかった。
まだまだ精進が足りないようです。
>>374
上記の通りですm(__)m
>>375
そうですね。
371さんのいう16進でと言うのをやるためには、
暗記して、頭の中で処理できるようにならないとだめですね。
まだまだ精進が足りないようです。
>>376
はじめ見て何のことか分かりませんでしたが、
辞書で調べてみたところ、
アセンブラとC言語を組み合わせるためのような
ちょっと不明ですが、試してみたいと思います。
一手間かかりますが、それで可能なら見た目的にやりやすくて
ちとうれしいです。
>>377
なるほど。
文字列を2を基数にして変換してしまうのですか。
long型に変換してint型に入れてしまって良いものなのかは
ちょっと謎ですが(現在のPCなら問題ないだろうけど)
私にはまったく思いつきませんでした。
結構基本的な関数なのに、まだまだ頭が固いようです。
精進します。
>>378
拡張子cppと言うことはC++ですね?
ちょっと無理なようです。
>>379
現在はintでやっていますが、
将来的にはunsinged longまで拡張する可能性があります。
というか、そこまで使うかどうかは分かりませんが(w
>>380
それはちょっと・・・
0386378
NGNG>拡張子cppと言うことはC++ですね?
>ちょっと無理なようです。
こういうResになるということは、確かに無理だろうな(w
拡張子は何だって構わないんだが。因みに漏れが昔書いた
ヤシは、C++でなくCで書いてある。当時はC++なんて、存在
すら知らなかったんだよ(w
0387デフォルトの名無しさん
NGNG暗にスレ違いってことでは。
0388デフォルトの名無しさん
NGNG#define bit(b,n) ((b)<<(n))
#define bin4byte(b7,b6,b,b4,b3,b2,b1,b0) \
(bit(b7,7)|bit(b6,6)|bit(b5,5)|bit(b4,4)\
|bit(b3,3)|bit(b2,2)|bit(b1,1)|bit(b0,0))
#define bin4short(\
b15,b14,b13,b12,b11,b10,b9,b8,\
b7,b6,b5,b4,b3,b2,b1,b0) \
((bin4byte(b15,b14,b13,b12,b11,b10,b9,b8)<<8)\
|bin4byte(b7,b6,b5,b4,b3,b2,b1,b0))
以下略。
>>377はマクロで隠蔽すれば(実行効率以外は)けっこういいかも。
0390デフォルトの名無しさん
NGNGたった16種類の一対一対応。簡単に覚えられる。
0391デフォルトの名無しさん
NGNG一度身に付けるとスゲー楽だよ
0392デフォルトの名無しさん
NGNG>それをコピーアンドペーストしているのですが、
8進法や16進法ならだいぶ簡単だよ。
0 1 2 3 4 5 6 7
0000 0001 0010 0011 0100 0101 0110 0111
8 9 a b c d e f
1000 1001 1010 1011 1100 1101 1110 1111
だから16進法だと4桁づつ区切って
0010 0111 1100
2 7 c
int x = 0x27c;
ってやれば
printf("%d\n", x);
でちゃんとコンパイラが10進法に変換してくれる。
0393デフォルトの名無しさん
NGNGそこで10進法に変換してるのはコンパイラではなくprintfだったりする(笑)
0394デフォルトの名無しさん
NGNGgcc (x86) あたりだと、コンパイラが 10 進数に変換してアセンブリコードを
出力してたり。もっともアセンブラがバイナリに変換するから、そこはどうでも
良いんだが。
0395デフォルトの名無しさん
NGNG0396デフォルトの名無しさん
NGNGんですが、どこかわかりやすいHPありませんか?
教えてください。
0397デフォルトの名無しさん
NGNGあまり環境に依存することはここでは聞かないでね。
0398名無しさん@カラアゲうまうま
NGNGUnix板で聞いたほうがよろし。
ただし、「XWindowシステム」という妙な表記は避けたほうが無難。
0399デフォルトの名無しさん
NGNG0400shige
NGNG0401デフォルトの名無しさん
NGNG0402デフォルトの名無しさん
NGNG0403デフォルトの名無しさん
NGNG0404デフォルトの名無しさん
NGNG402の言うように
a, b, c;
なら評価順はa => b => cになることが保証されている。&&や||でも同様。
func(a, b, c)
はどこから評価されるかわからない。
0405デフォルトの名無しさん
NGNGSJISからEUCへ変換させるプログラムを作りたいのですが,
まったく分かりません。どなたか教えていただけないでしょうか。
お願いします。
0406デフォルトの名無しさん
NGNGgoogle 逝け。探せば文字コードの解説、ソース公開しているサンプルプログラムとも
山のように見つかる。
(文字コードの解説は、ここで書くには長すぎるし)
0407デフォルトの名無しさん
NGNGvsprintfにパッチ当てようぜ。
0408デフォルトの名無しさん
NGNGsystem関数でnkfを呼び出す。
0409401
NGNGそうなんですか。
じゃあv=(a,b,c);という構文があったとしたら、必ずa -> b -> cの順に評価され、vにはcの結果が入ると見てよいのですね?
0410デフォルトの名無しさん
NGNGv = (a, b, c); の , はカンマ演算子だけど、v = func(a, b, c); の , は
カンマ演算子でなくてただのセパレータ。
0411デフォルトの名無しさん
NGNG---
Sub Test()
Dim ff As Object
Set ff = CreateObject("Shell.Application"). _
BrowseForFolder(0, "フォルダを選択してください", 0, "c:\\")
If Not ff Is Nothing Then
MsgBox ff.Items.Item.Path
'選択したフォルダ名を表示
End If
End Sub
---
これで出てくるフォルダ選択ウィンドウで、
一番上の階層であるデスクトップを選ぶとエラーになっちゃうんですけど
エラーにならない方法ってありますかね?
ちなみに"c:\\"のパラメータを0(デスクトップ)にしても同じでした。
0412デフォルトの名無しさん
NGNG>エクセルVBAなんですけど
良い根性してるな。
0413デフォルトの名無しさん
NGNGもしかして絨毯爆撃ですか?
0414デフォルトの名無しさん
NGNG0415デフォルトの名無しさん
NGNG変数宣言・定義の","モナー
0416デフォルトの名無しさん
NGNGつーことは、int a = 0, b = a; とやっても b は 0になることは
保証されない訳だよね?
0417デフォルトの名無しさん
NGNGどっちにしろtpりっきーすぎ
0418デフォルトの名無しさん
NGNGと
int a = 0;
int b = a;
は等価じゃなかったでしたっけ。
0419Dennis M.Ritchie
NGNG私はあなたより日本語が上手い。
0420デフォルトの名無しさん
NGNG変な日本語すまそ。
0421名無しさん@カラアゲうまうま
NGNG0422415
NGNG0423Dennis M.Ritchie
NGNGなんで糞だと思うんですか?
0424デフォルトの名無しさん
NGNGステレオタイプなアフォなので無視するアル。
0425Dennis M.Ritchie
NGNG0427C初心者の名無しさん
NGNG↑このソフトがベーマガの投稿であってよくわからない部分がいくつかあったので教えてください
・printf("\x1b[2J") このようなprintfの使い方をしているのですが
具体的にどういうことをしているのですか?
・unionは共用体を指定するやつでそのメンバは同じアドレスを参照するってのは知っているのですが
union REGS reg;このような宣言(?)の仕方はあるのですか?
それともプログラム中では宣言されていなくてヘッダファイルとかで
REGSっていう共用体が定義されているのですか?
0428デフォルトの名無しさん
NGNG0429名無しさん@カラアゲうまうま
NGNG> ・printf("\x1b[2J") このようなprintfの使い方をしているのですが
> 具体的にどういうことをしているのですか?
(テキスト)画面のクリア。ただし、ANSI互換のターミナルじゃないとだめ。
> それともプログラム中では宣言されていなくてヘッダファイルとかで
> REGSっていう共用体が定義されているのですか?
DOS用の処理系だと定義されてるものが多い。
0430デフォルトの名無しさん
NGNG・エスケープシーケンスじゃないの?
・ヘッダファイルもプログラム
04311
NGNG0432玉三郎
NGNG0433デフォルトの名無しさん
NGNG一つ目:DOSのエスケープシーケンス
二つ目:そういうのがある
0434デフォルトの名無しさん
NGNG腕のいい師匠について、10年も修行すればモノになるかな。
でも、だめな奴は30年やってもダメだから、自分に向かないと
思ったら、早めに見切りをつけなよ。
0435デフォルトの名無しさん
NGNGwhile{
while{
}
}
}
}
ってなってるやつをある特定の条件になったら
初期のwhileの状態に戻したいのだが、どうやったらいいですかね?
分かりやすくいうと、ゲームオーバーしたらファミコンで言うリセット
した状態にしたいのですが。。
0436デフォルトの名無しさん
NGNG意味が。
0437C初心者の名無しさん
NGNGちょっと難しい… いろいろ調べてみようと思います ありがとうございました
0438C初心者の名無しさん
NGNGこれっぽいですね \x1bってのはエスケープシーケンスを使いますよって
定義みたいなものですか?
0439デフォルトの名無しさん
NGNGゲームオーバーしたらファミコンをリセットするには
どうやったらいいですかね?
0440manko_chinko
NGNGリセットボタンを押せばいいのでは?
0441名無しさん@カラアゲうまうま
NGNGエスケープコードで始まるからエスケープシーケンスと呼ぶ。
0442デフォルトの名無しさん
NGNGじゃあ通じてるじゃないですか。。
0443デフォルトの名無しさん
NGNGつくりかけでいいから、ソースの一部分を見せてや。
0444manko_chinko
NGNG0445名無しさん@カラアゲうまうま
NGNG0447デフォルトの名無しさん
NGNG{
while () {
while() {
if (特定の条件を満たした) return true;
}
}
return false;
}
main()
{
while (foo());
}
0448デフォルトの名無しさん
NGNGあってます。変数を初期化して最初のオープニングの状態に戻したいってことです
0449デフォルトの名無しさん
NGNG0450デフォルトの名無しさん
NGNGほぉーこういう手もあったか。
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNGlabel: goto label;
0453デフォルトの名無しさん
NGNGこれは何パターンなんですか?
0454デフォルトの名無しさん
NGNG多重ループ脱出のために、ループ内を関数に追い出すのは昔からある手段
0455デフォルトの名無しさん
NGNG役に立つかな?仕事以外で役に立ったことありますか?
今18でプ〜な俺・・・
0456デフォルトの名無しさん
NGNG0457デフォルトの名無しさん
NGNG趣味が何かの役に立つと考えてはいけないかと。
俺は結果的に役に立ってるけど。
0458デフォルトの名無しさん
NGNG言われてみれば・・・
独学じゃきついだろうが、頑張ります。
・・・どうでもいいな・・・
0459デフォルトの名無しさん
NGNG役に立つとか立たないとかじゃなくて、
自分が楽しいと思えることが何よりじゃないのか。
役に立つ・立たないを基準にするようなやつは、
所詮、底が見えてると思わないか。
とマジレスしてみる。
0460デフォルトの名無しさん
NGNG#include <stdio.h>
main()
{
int a,n;
for(i=1; i<=n; i++){
n[i]=i*i;
}
printf("a= %d\n",n[i]);
scanf("%d",&n[i]);
}
これでイイのでしょうか?
ドキュソな質問でゴメンなさい
0461デフォルトの名無しさん
NGNG0462デフォルトの名無しさん
NGNGint i, j = 0;
for (i = 1; i <= n; i++) j += i * i * i * i;
0463デフォルトの名無しさん
NGNG0464ドキュ460
NGNGアリガト
0465デフォルトの名無しさん
NGNG好きこそモノの上手なれ。
だがしかしセクースは上手くならないのはナゼか。
0466デフォルトの名無しさん
NGNG本当は嫌いだから
0467デフォルトの名無しさん
NGNGマウスの座標(x,y)=(100,200)みたいなデータがchar型の変数に
char grid[128]="100,200"
のように入っているときxとyの値を個別に取り出して別の変数に入れたい時は
どんな感じでプログラミングすればよいですか?できればint型やPOINT型で入れたいんですが。
>148 名前:デフォルトの名無しさん 投稿日:02/06/16 01:56
>>>146
>どうせstdio.hをincludeするなら、
>int x,y;
>sscanf(grid,"%d,%d",&x,&y);
>がスマートかも。
>すれ違いなのでSEGA。
stdio.hはincludeしてませんが、sscanfを使うためだけにincludeするのは
なんかアレですが仕方ないですかね?
0468デフォルトの名無しさん
NGNGなんで文字列として格納するの?
0469名無しさん@カラアゲうまうま
NGNG0470デフォルトの名無しさん
NGNG有無ってどうやって確認したらよいデスか?
0471デフォルトの名無しさん
NGNG試しにッ!開くッ!
0472名無しさん@カラアゲうまうま
NGNG0473467
NGNG文字列として格納してるのは通信で受け取ったデータをバッファに
入れてるので。
>>469
stdio.hをincludeしないとエラーが出たんですよね。
おかしいな、もう一回確認してみます。
0474デフォルトの名無しさん
NGNGおまえC++でコンパイルしてるだろ
0476デフォルトの名無しさん
NGNGいや、そうでなく。
言語仕様を把握してないだろってことで。
それから、どうしてもstdio.hをincludeしたくないなら、
自前でパースしろ。
0478デフォルトの名無しさん
NGNGそれ以前に、なぜ stdio.h を include したくないのかと小一時間問いつめたく
ないか? ワケあって標準 C ランタイムライブラリをリンクしたくない、とかなら
話は分かるが sscanf() は使うんだよな…(謎すぎ)
0479え ◆CvWntcsM
NGNGあれだ。カンマでcharを区切って別々のバッファに保存してatoiを使え。
0480476
NGNG0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGスタックオーバーフローとかされても困るし
第一使わねぇよなぁ と思ってcvsの肥やしになった。
7行ネタになるかと思ったけど大して難しくないしな。
7行コンバータにかけたら何もせずに10行になったし・・・
0483デフォルトの名無しさん
NGNG一行の文字数に制限を付けなければ、いくらでも行数は減る(w
0484デフォルトの名無しさん
NGNG余所のスレでも展開するなよ。
改行込み80*7の560文字だ。
0485デフォルトの名無しさん
NGNG一応7行規定では79x7文字だよ
0486デフォルトの名無しさん
NGNG0487デフォルトの名無しさん
NGNGその罠の使い方にはやや違和感があるんだが、
最近でははやっているのか?
0488デフォルトの名無しさん
NGNG普通に(勿論最小の記述で)コードを書いて、
後から行連結等をして短くするのが普通だと思うが。
1スレ目の頃の勇者でも、79*xの状態で編集はしないだろ
0489デフォルトの名無しさん
NGNG俺はこういう書き方だと今まで思っていた罠(w
>>488
いや、物の例えですよ。いかに短くするか頭をひねるんだ
ろうなって。
0490名無しさん@カラアゲうまうま
NGNG0491デフォルトの名無しさん
NGNG0492デフォルトの名無しさん
NGNGはただたんに”〜だわな”を変換してしまっただけでは?
0493デフォルトの名無しさん
NGNG正しい罠の使い方って?
0494デフォルトの名無しさん
NGNG誰も知らない罠
0495スパイスガール図
NGNG0496罠師はマ板へ逝け
NGNG ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
@
492 :デフォルトの名無しさん :02/06/18 03:27
>486
はただたんに”〜だわな”を変換してしまっただけでは?
493 :デフォルトの名無しさん :02/06/18 03:45
>>492
正しい罠の使い方って?
494 :デフォルトの名無しさん :02/06/18 03:52
>>493
誰も知らない罠
495 :スパイスガール図 :02/06/18 04:10
罠ビー
0497デフォルトの名無しさん
NGNGがんがれ
0498デフォルトの名無しさん
NGNGhttp://ton.2ch.net/test/read.cgi/gline/1021935708/
0499デフォルトの名無しさん
NGNGchar s[] = "abc";
char *p;
とすると、p=sは通るのですが、p=&sとすると
warning: assignment from incompatible pointer type
となります。別に困ることは無いのですが、理由が分からないのは
気持悪いです。誰か理由の分かる方はいませんか?
0500デフォルトの名無しさん
NGNG0501愛子
NGNGやっぱり、数学が出来ないと駄目なんでしょうか?
0502デフォルトの名無しさん
NGNG金
0503愛子
NGNG0504デフォルトの名無しさん
NGNGやる気があれば誰でもそこそこは身に付く技術。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNG書かなきゃ覚えないと思うが.....
評論家になったらおしめぇょ!
まぁ、(評論家 == 優秀) が真という会社もあるが、クソ。
0507デフォルトの名無しさん
NGNGはじめてのC 最強.
0508デフォルトの名無しさん
NGNG&s は char へのポインタでなく char[3] へのポインタだから。
ポインタとしての値は同じだけど型が違う。
0509デフォルトの名無しさん
NGNGC++Builder6 で、
typedef struct {
WORD a;
WORD b;
WORD c;
DWORD d;
DWORD e;
}TEST;
と構造体を定義して
sizeof(TEST);
とすると、サイズが16byteになってしまいます。
メンバ変数の合計値は14byteなのに、何故なんでしょうか?
色々と試してみたんですが、4byte境界に強引に合わせられてしまっているようです。
正しく(?)14byteにするには、どの様にしたら良いのでしょうか?
お教え下さい。
0510デフォルトの名無しさん
NGNGtypedef struct {
DWORD d;
DWORD e;
WORD a;
WORD b;
WORD c;
}TEST;
0511デフォルトの名無しさん
NGNGコンパイラオプションである場合がある
0513デフォルトの名無しさん
NGNG2byteくらいよいのでは?
0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG育児教育系の書棚の近くでそれ見つけて思わず買っちゃったよ。ナイスな店長さん。
0516デフォルトの名無しさん
NGNGC++Builder6のデフォルトのパディング数は8だからこういうことに
なります。
プロジェクト→オプション→コンパイラ(詳細)で、データの配置境界
が8になっていると思います。
これを1や2に変えれば、14バイトになると思いますが、そうすると
VCLとの互換性が取れなくなりますので、そのままにしておいて
下さい。
0517デフォルトの名無しさん
NGNG#pragma pack(1)
元に戻すなら
#pragma pack(push, 1)
typedef struct {
:
}TEST;
#pragma pack(pop)
0518shige
NGNG0519名無しさん@カラアゲうまうま
NGNGつーか、なぜ14バイトであることに拘ってる?
0520509
NGNGうおっ!色々ありがとうございます。すごい沢山のアドバイスを頂くことができ、ビクーリしました。
大変恐縮です。。。
>>519
グレースケールとかモザイクとか合成ができる、ちょっとしたグラフィックソフトを
本を見ながら作っているんですが、最初はとにかくエフェクトの効果を楽しみたいと思い、
手抜きして、Graphics::TBitmapを使って書き、ひと通り楽しんだ後に
ファイルの読み書き→fopen、描画→StretchDIBitsにしたんですが
fread(&bmfh, sizeof(BITMAPFILEHEADER), 1, fp);
fread(&bmih, sizeof(BITMAPINFOHEADER), 1, fp);
switch(bmih.biSize)
{
case sizeof(BITMAPINFOHEADER);
break;
case sizeof(BITMAPCOREHEADER);
break;
default:
goto err;
}
のswitch文でdefaultを通過してるので、何故?
fread(&bmfh, sizeof(BITMAPFILEHEADER), 1, fp);
ftell(fp);
fread(&bmih, sizeof(BITMAPINFOHEADER), 1, fp);
とファイルポインタの位置を確認したところ、16でした。
でもBITMAPFILEHEADERのメンバの合計は14byteじゃ…と>>509の様に自分で定義しても、
やはり16byteだったので、不思議に思いカキコさせて頂きました。
お邪魔して申し訳ありませんでした。m(_ _)m
0521デフォルトの名無しさん
NGNGの変換をするプログラムを教えていただきたいのですが。
当方ゲリゲリの初心者なので、できるだけ簡単な関数でおながいします。もちろん「printfの変換文字」というのは無しで...
0522デフォルトの名無しさん
NGNG文字列?
0523デフォルトの名無しさん
NGNGintは10進数しか保持しない とか思ってるんじゃない?
どっちにせよこのくらい小学生だって自分で解決するけどね。
0524デフォルトの名無しさん
NGNGむしろ普通2進数でしか保持しないよね(笑)
0525デフォルトの名無しさん
NGNGCPU内部表現から10,16進数文字列は、sprintfが便利。
2進数文字列へは、自分
0526デフォルトの名無しさん
NGNGWindows付属の電卓
0527デフォルトの名無しさん
NGNG0528デフォルトの名無しさん
NGNGまず読み込み。(^はべき)
納i=0,n-1]a_ib^iを上位の桁から解析するなら
上位の桁から数値が入っている配列をs[i]とすれば
sum *= b ; sum += s[i] ;をiについて繰り返せばよいだろう。
書き出しは下位からが簡単だが上位から行うなら桁数の
最大をnとすれば順にs[i] = sum / b^(n-i+1) ; sum -= s[i] * b^(n-i+1) ;
をiについて繰り返せばよい。
0529デフォルトの名無しさん
NGNG8進数も仲間に入れてやれよ
0530デフォルトの名無しさん
NGNG0531デフォルトの名無しさん
NGNGdouble **d;
d = (double **)malloc(sizeof(double *) * 100);
for (i = 0; i < 100; i++)
d[i] = (double *)malloc(sizeof(double) * 100);
の書き込みがありますが、このメモリを全て解放するときは
free(d);で良いのですか?
0532デフォルトの名無しさん
NGNGだめ。iそれぞれにfree(d[i])のあとfree(d)
0533デフォルトの名無しさん
NGNGそれをやりたいならこうする
/* x[n][m]を確保 */
int i ;
double **x ;
int n=100,m=100 ;
x = (double**)malloc(n*sizeof(double*)+n*m*sizeof(double)) ;
x[0] = (double*)x+n ;
for(i=1;i<m;i++) x[i] = x[i-1]+m ;
0534533
NGNGx = (double**)malloc(n*sizeof(double*)+n*m*sizeof(double)) ;
x[0] = (double*)(x+n) ;
for(i=1;i<m;i++) x[i] = x[i-1]+m ;
0535デフォルトの名無しさん
NGNGこれだと開放はfree(x); だけでいいんですか?
0536533
NGNGx = (double**)malloc(n*sizeof(double*)+n*m*sizeof(double)) ;
x[0] = (double*)(x+n) ;
for(i=1;i<n;i++) x[i] = x[i-1]+m ;
0537デフォルトの名無しさん
NGNGやろうとされている事はわかります。double *[]とdouble[]を同時に確保
して、アドレス計算によりdouble *[]を作成するのですね。
0538デフォルトの名無しさん
NGNG先に構造体の中にポインタ変数を用意して
mallocで確保したメモリのアドレスをそのポインタに割り当てる
みたいな方法でできます?
0539デフォルトの名無しさん
NGNGstruct ss {
double *d;
};
で、
ss.d = (double *)malloc(sizeof(double) * 100);
みたい奴か?普通にできるよ。
0541デフォルトの名無しさん
NGNGss.d = malloc(sizeof *ss.d * 100);
とやるのも一法。
0542デフォルトの名無しさん
NGNGdouble d[1];
};
pss = (ss*)malloc(sizeof(ss) + sizeof( double ) * (100-1) );
0543デフォルトの名無しさん
NGNGsizeof ss.d * 100でしょ。
0544543
NGNG0545デフォルトの名無しさん
NGNGプログラムはあるので細かく解説お願いします。
void hanoi(int , char, char, char);
と関数を定義して
int n; scanf("%d %d",&a,&b);
hanoi(n,'a','b','c');
void hanoi(int n, char a, char b, char c)
{
if(n>0){ このif文の中身がどう動くのか教えてください
hanoi(n-1,a,c,b);
printf("%d番の円盤を %c から %cに移動\n",n,a,b);
hanoi(n-1,c,b,a);
}
}
0546デフォルトの名無しさん
NGNGどなたか助けてください。
課題は
10次元のベクトルa,bを配列に作成してa,bの内積を求めなさい。
配列を使わなくていいなら出来そうなんですけど、
配列を使うとなるといまいち分かりません。
0547g
NGNG-------風俗の総合商社・MTTどこでも-------
〇デリバリーヘルス〇デートクラブ〇女性専用ホストクラブ〇
〇ハードSM奴隷クラブ〇レズビアン倶楽部〇ホモ・オカマ倶楽部
〇変態痴女と遊ぶ会〇痴漢・覗き趣味の会〇変態同好会・各種!
●楽しく遊べます! 090-8002-8356番
-----------美男・美女会員など多数在籍中-----------
http://www.mttdocomo.jp/
-----女性アルバイト随時募集・高収入(日払い)月100万円可能-----
-----レズビアン・スタッフ●ホモスタッフ●女性専用ホストスタッフ同募-----
http://www.mttdocomo.jp/
------------------------------------------------
0548デフォルトの名無しさん
NGNGデバッガでステップ実行してみれや。
0549デフォルトの名無しさん
NGNGまず内積の計算の仕方を教えなさい。
0550デフォルトの名無しさん
NGNGあらあら、宿題なのね?
http://pc.2ch.net/test/read.cgi/tech/1020785918/l50
0551U-名無しさん
NGNGたぶん、やっぱり、
「10次元」「ベクトル」「内積」っていうタームの定義が
わからんちんなのだろう。
てか、めちゃめちゃ簡単なんですけど。
(´-`).。oO( 入力がリストだから配列は不要なんでぇ )
とか、そういう状況でもなさそう。
0553デフォルトの名無しさん
NGNG|a|[b]cosθとかほざいたら叩かれますよね?俺。
0554デフォルトの名無しさん
NGNG当然
0555デフォルトの名無しさん
NGNGそれでも良いが、ふつーは
a = (a1, a2, ..., an)
b = (b1, b2, ..., bn)
として
___
a・b = Σai * bi
で定義するだろう。(そもそも空間が Kn じゃないと話が別だが)
0556デフォルトの名無しさん
NGNGそうそう、この式がなぜか出てこなかった・・・。
0557デフォルトの名無しさん
NGNGfatal error C1004: 予期せぬ EOF が検出されました。
VC6.0++です。
extern 構造体 Abc;
付近でエラーが出ます。
ちゃんと型をインクルードしてるんですが
0558デフォルトの名無しさん
NGNG#include <stdafx.h>
0559デフォルトの名無しさん
NGNG0560デフォルトの名無しさん
NGNGで、チョソの掲示板による組織投票でえらいことに!
「レフェリーを非難しますか?」(右下の方)YESに投票を!!
今のところ95:5ぐらいで負けてます
[緊急]CNNで韓国:イタリア審判判定投票!!
http://asia.cnn.com/2002/WORLD/europe/06/18/italy.korea.reaction/index.html
コピペ推奨!
2ちゃんねらーの力を見せてやれ!!!
0561デフォルトの名無しさん
NGNG最低・・・
0562デフォルトの名無しさん
NGNG0564デフォルトの名無しさん
NGNG0565デフォルトの名無しさん
NGNGttp://www.netsphere.jp/osaru/lv2/error.htm
0566デフォルトの名無しさん
NGNGそのページは間違ってる。忘れろ・・・忘れるんだ・・・
0567デフォルトの名無しさん
NGNGファイルないで宣言したらうまくいった・・・。
0568デフォルトの名無しさん
NGNGこの辺りにまともな2ちゃんねらが・・。
0569デフォルトの名無しさん
NGNG0570デフォルトの名無しさん
NGNGhttp://corn.2ch.net/test/read.cgi/news/1024502993/
0571デフォルトの名無しさん
NGNG{
static char *x_men[3] = {"氏ねよ(≧▽≦)","(´-`)bナイス","<丶`∀´>ニダ"};
return &x_men;
}
char *(*(*ret())())[3] {return &::ret_dummy;}
int main(int ,char **)
{
char *(*(*addr)())[3] = ::ret();
cout<<(*(*addr)())[rand()%3]<<endl;
return 0;
}
0572デフォルトの名無しさん
NGNGglVertex3f(-1.5,-1.5,0.0);
glColor3f(0.0,1.0,0.0);
glVertex3f(1.5,-1.5,0.0);
glColor3f(0.0,0.0,1.0);
glVertex3f(0.75,0.75,0.0);
こうやって三角形を頂点で与えてるんだけどこれを
三角錐にするにはどうしたらいいんですか?
0573デフォルトの名無しさん
NGNG0574デフォルトの名無しさん
NGNG聞いてみたんですが。。
0575デフォルトの名無しさん
NGNGワラタ
0576デフォルトの名無しさん
NGNG逝ってきます(´・ω・`)
0577572
NGNGZ軸に頂点をもう一個足して、あとは投影処理で△にしたら良いのですか?
サパーリわからん
0578デフォルトの名無しさん
NGNGちゃんと3次元で処理しろよ、先ずはワイヤフレームからだな(藁
OpenGLのサンプル(MSDN付属)にあったと思うが...
0579デフォルトの名無しさん
NGNGどうかを判別するにはどう書いたらいいですか?
0580デフォルトの名無しさん
NGNGループで配列を舐めて、ifで判定すればいいじゃん。
そうじゃなくて?
0581デフォルトの名無しさん
NGNGたいのですが、キーボード割込みハンドラの登録
はどのシステムコールを使えばいいのでしょうか?
VC++のWin32 Console Applicationでプロジェクト
つくってコンパイルしてます。
0582名無しさん@カラアゲうまうま
NGNG0583デフォルトの名無しさん
NGNG0584デフォルトの名無しさん
NGNG0585デフォルトの名無しさん
NGNG0586デフォルトの名無しさん
NGNG0587デフォルトの名無しさん
NGNG矢印キーが押されたことを割込みハンドラで
処理したい。
kbhit()で拾っていたのではレスポンスが
悪すぎたので。
0588デフォルトの名無しさん
NGNGワラタ
0589デフォルトの名無しさん
NGNG割り込みじゃなくてイベントハンドラじゃないの?
0590デフォルトの名無しさん
NGNG0591デフォルトの名無しさん
NGNG0592デフォルトの名無しさん
NGNG割り込みベクタを書き換えるんだろうけど
手もとにAT互換機の資料が無い
0593デフォルトの名無しさん
NGNG0594デフォルトの名無しさん
NGNG0595デフォルトの名無しさん
NGNG0596初心者
NGNG合格人数、不合格人数、受験者合計、最高得点、最低得点、平均点を出力する
プログラムを設計・開発せよ。なお、999が入力されたらループを抜け、
999はカウントしない。
これの最高・最低得点ができません。
お願いします。
0597みんみ ◆Hk7UCbL.
NGNGWindowsもCなんですか?
0598デフォルトの名無しさん
NGNGあらあら、宿題なのね?
http://pc.2ch.net/test/read.cgi/tech/1020785918/l50
0599初心者
NGNGよろしくお願いします。
0600デフォルトの名無しさん
NGNG0601という噂があるんだけどね
NGNGWindowsはPascalです。
0602デフォルトの名無しさん
NGNG0603みんみ ◆Hk7UCbL.
NGNG噂ですか。ゲイツさんなら知ってるんですかね。
0604デフォルトの名無しさん
NGNG本家(本当の本家はIBMか?)に仕様書がある。要レジストだが無料。
http://www.oadg.or.jp/
0605デフォルトの名無しさん
NGNG0606名無しさん@カラアゲうまうま
NGNG0607デフォルトの名無しさん
NGNGWindowsはC++です。
0608デフォルトの名無しさん
NGNGNTに限ってはな。
0609デフォルトの名無しさん
NGNG0610デフォルトの名無しさん
NGNG0611デフォルトの名無しさん
NGNG0612デフォルトの名無しさん
NGNGワラタヨ
0613デフォルトの名無しさん
NGNG0614あん
NGNG0617デフォルトの名無しさん
NGNGWindowsはベーシックとちごたんか?
0618Pennis M.Ritchie
NGNG0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNG0621デフォルトの名無しさん
NGNG0622デフォルトの名無しさん
NGNG教えてください。
0623デフォルトの名無しさん
NGNG0624デフォルトの名無しさん
NGNG0625デフォルトの名無しさん
NGNG0626デフォルトの名無しさん
NGNG君なら河西本だな。
0627デフォルトの名無しさん
NGNG0628デフォルトの名無しさん
NGNGint i;
int num[5]={10,3,7,18,5};
for(int i=0;i<5;i++){
printf("num[%d]=%d\n",i,num[i]);
}
for(int i=0;i<5;i++){
printf("num[%d]=%d\n",i,num[i]);
}
}
なぜエラー?
int iは,別々じゃないの?
for文抜けたら,なくなるんじゃないの?
0629デフォルトの名無しさん
NGNG0630デフォルトの名無しさん
NGNGお勉強レベルな私ですが。
WAVE関係を勉強しようとサンプル組もうとしたのですが、
まずは読み込み関係を省略しようとターゲットを直接
埋め込もうとしました。
unsigned char test[] = {
#include "test.wav"
};
・・・なーんて事したら、
test.wav:1: stray '\' in program
scream.wav:1: syntax error before `{'
みたいなエラーが、沢山出てくれました。
バイナリなんだから、当然ですが。
で質問ですが、バイナリのソース埋め込みってどうやるんですか?
アセンブラなら、.include で十分だったはずなのに。
環境は関係ないと思いますが、MinGWです。
0631デフォルトの名無しさん
NGNGVC++6だろ。古いC++の文法なので、エラーになります。
VC++.NETを買いなせえ。
0632デフォルトの名無しさん
NGNG0633デフォルトの名無しさん
NGNG0634デフォルトの名無しさん
NGNGWAVE関係とやらを勉強する前に(以下略)
0635632
NGNG0636デフォルトの名無しさん
NGNG・・・・・・
0637j
NGNGうまい!
0638デフォルトの名無しさん
NGNGコンソール上に出力するときに
三桁毎にカンマなりドットなりを入れたいんですが、
標準でそういう、書式で出力できますか?
やっぱり、関数作らないとダメですか?
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNG関数作ったほうがいいかも
0642デフォルトの名無しさん
NGNG標準にはないから、sprintfでchar[]化してから","を入れなされ。
0643デフォルトの名無しさん
NGNGif の形で書き直すとどうなるんですか?
0644デフォルトの名無しさん
NGNGif (!a) y = D;
else if (!b) y = C;
else if (!c) y = B;
else y = A;
0645デフォルトの名無しさん
NGNG分かりましたサンクス
0646638
NGNGやっぱ標準ないですよね〜
お世話になってる先輩から
標準であるよ〜って言われたんで
新たに関数領域を作っていたんですが
注意されてから必死こいて探したんですけど
なくて(笑
とりあえず、何もなかったことにします(笑
ありがとうございました。。。
0647デフォルトの名無しさん
NGNG(゚д゚)ぽかーん
0648デフォルトの名無しさん
NGNGあんなんロケール依存だから標準で入れるのは難しいだろう。
0649デフォルトの名無しさん
NGNGlocale で、
char *decimal_point
金額以外の数量の小数点文字。
char *thousands_sep
金額以外の数量の、小数点の左にある数字のグループを分離するのに
使う文字。
char *grouping
金額以外の数量の各グループの桁数。
char *mon_decimal_point
金額書式の小数点文字。
char *mon_thousands_sep
金額書式の、小数部の左にある数字のグループの分離記号。
char *mon_grouping
金額書式の各グループの桁数。
とか定義されてるから、難しくはないと思う。需要が少ないだけと思う。
0650デフォルトの名無しさん
NGNG使ったことなかった…
0651デフォルトの名無しさん
NGNGさすがローカル。
0653デフォルトの名無しさん
NGNG0654shige
NGNG0655デフォルトの名無しさん
NGNG0656デフォルトの名無しさん
NGNG好きにしろゴミ人間。
0657デフォルトの名無しさん
NGNGああああああああおああああああrrrっらロおおおおおおおおおおおおkじゃ尾krじゃお子rじゃぎじゃえrがぇrgjrsじjrs
0658デフォルトの名無しさん
NGNG0659デフォルトの名無しさん
NGNGitoa()は標準の関数じゃないから移植性がないぞな。便利なんだけどね。
0660デフォルトの名無しさん
NGNG僕が使ったことのあるアセンブラは、バイナリファイルをincludeなんてできなかった気がするんですが、
Cコンパイラ付属のリンカで扱える形式ではき出せるなら、名前の付け方に注意すればアセンブラとCのリンクはできるはずです。
実は僕も同じような状況になったことがあるんですが、そのときは、
バイナリファイルをCの形式にコンバートするツールを作りました。
ファイル1バイトずつを読んで、fprintfで
char testwav[]="\x00x\00\x00\x00\x00\x00
と書き出すだけという簡単なものです。
makefileにも書いておけばそんなに面倒ではありません。
>>655
sprintfはあまり安全じゃない面があります。
僕はitoaは使ったことないけど、snprintfを使います。
0661デフォルトの名無しさん
NGNGなるほど〜。
0662デフォルトの名無しさん
NGNG0663デフォルトの名無しさん
NGNG人生の敗北者が使うファイルです
0664デフォルトの名無しさん
NGNG0665デフォルトの名無しさん
NGNG0666デフォルトの名無しさん
NGNG0668デフォルトの名無しさん
NGNGUNIXプログラミング質問すれ
http://pc.2ch.net/test/read.cgi/tech/992057422/l50
0669630
NGNG愚か者なのは認めますが(^^;
>>660
なるほど、テキスト化ですか。
しかし手間を考えると、素直に自分で開いて確保して読み込んだ方が早いかなあ・・・。
でも、テクニックとして面白い事を覚えた気がします。
道を示された気がします、ありがとうございました!
新たな環境で目的を急ぎすぎました。 あはは。
0670デフォルトの名無しさん
NGNGこの文章読んでも、「ネタだか真性馬鹿」としか思えない。
0671デフォルトの名無しさん
NGNG#include "test.wav"
};
凄い発想だ。
>>669で言い訳しているようだが、何の弁解にもなっとらん
0672デフォルトの名無しさん
NGNGでもこれくらい柔軟な発想が出来た方が(略
>>669
面倒かなあ・・・・ファイルサイズ分freadするだけだろ?
0673デフォルトの名無しさん
NGNGエラー出なくなる方法ハケーンしたよ!
unsigned char test[]={
// #include "test.wav"
}
0674デフォルトの名無しさん
NGNGつまらんこといちいち書くな。だいいちエラーなくならないし。
0675デフォルトの名無しさん
NGNG0676デフォルトの名無しさん
NGNGtest.wav
01 02 03
なバイナリファイルを
test_wav.c
unsigned char test_wav[] = {
0x01, 0x02, 0x03
}
に変換するツールの作成なんて入門レベルだぞ。
5分で書け。
それからこの方法はそれほど特殊というわけではないよ。
もちろんメリット・デメリットをよく理解しておく必要はあるけど。
0677デフォルトの名無しさん
NGNG0678_
NGNGint a;
char b;
int c;
};
void func(){
int a;
char b;
int c;
other_func((Stack*)&a);
}
void other_func(Stack* stack) {
printf("%d %d %d\n", stack->a, stack->b, stack->c);
}
ローカル変数を別の関数に渡したいです。
これで家では一応動いたのですがマシンによっては
int a; char b; int c;のアドレス配置って変わってしまいますか?
0679デフォルトの名無しさん
NGNG危険なかほりがぷんぷんする
0680デフォルトの名無しさん
NGNG0681デフォルトの名無しさん
NGNGそれを渡せば吉
0682デフォルトの名無しさん
NGNGCで10年プログラムをしてますが、そういう組み方を
発想したことがありませんでした。
0683デフォルトの名無しさん
NGNGあるいみスタック。
0684デフォルトの名無しさん
NGNG禿同
0685デフォルトの名無しさん
NGNG論外
っつか、なんで素直に
struct foo {
int a;
char b;
int b;
};
void func () {
struct foo foo;
other_func(&foo);
}
としないのかと小一時間…。
0686デフォルトの名無しさん
NGNGこの人並み外れた発想力と工夫。
こいつに論理とアーキテクチャをたたき込んだら驚異になる存在だ。
バカにするのではなく認める方向で行こう。
0687デフォルトの名無しさん
NGNGさらに禿同
0688デフォルトの名無しさん
NGNGう〜ん。なんとか禿同。
変に思わないでね。ホントに禿同なんだよなぁ。
0689デフォルトの名無しさん
NGNGstruct foo {
int a;
int b;
char c;
};
つーか>>685はコンパイルエラー出るね。
ごめんね、つついて。
0691デフォルトの名無しさん
NGNG0692デフォルトの名無しさん
NGNG> int a; char b; int c;のアドレス配置って変わってしまいますか?
それどころか、最適化によっては b とか c がレジスタ変数になるかも知れん
ぞ。
>>686
> けど、こいつは大物になると思うぞ。
んなわけねーだろ。
0693デフォルトの名無しさん
NGNG絶対止めろ。死んでもやめろ。
0694デフォルトの名無しさん
NGNG0695デフォルトの名無しさん
NGNG0696デフォルトの名無しさん
NGNGまずは、普通に組め。どうしても速くしたい所があったら、ここで聞け。
そうすれば、みんなハッピーになれる。
あまりにも、バカバカしい書き込みはスレが荒れるから止めてくれ。
0697デフォルトの名無しさん
NGNG0699デフォルトの名無しさん
NGNG速度を求めてるのに、最適化を防いでどうするのよ?
0700デフォルトの名無しさん
NGNGに落として、ステート数などを自分で計算するのもよろし。
0701デフォルトの名無しさん
NGNG最適化されないようにしたら遅くなるじゃん。
つーか、「速くなりそう」とか勘でやるんじゃない。ちゃんと計測しろ。
0702デフォルトの名無しさん
NGNG無駄な抵抗な罠。
0703デフォルトの名無しさん
NGNG0704_
NGNGほんとだw;。。。やっぱり駄目か。。。
素直にstruct Stack{ int* a; char* b; int* c };としてother_func()
前に代入して見ます。
(他の関数にもローカル変数を渡す可能性があるので)
さすがム版煽りが激しいですね>_< 逝ってきます。。。
0705デフォルトの名無しさん
NGNG全然素直じゃない罠。
0706700
NGNGそれで行こう!
ま、プログラム容量は増えるけど。
0707デフォルトの名無しさん
NGNGまだ何か考え違いをしている
0708700
NGNG0709デフォルトの名無しさん
NGNG素直に>>685にしとけって。その方法は遅くなるだけだぞ。
0711デフォルトの名無しさん
NGNGわかった。お前の性格が常に煽りモードなのか。
人間関係築け。こんなところで遊んでないで。
0714デフォルトの名無しさん
NGNGa[0]='~';
a[1]='M';
a[2]='g';
a[3]='!';
a[4]='-';
a[5]='p';
a[6]='v';
a[7]='4';
a[8]='l';
a[9]='R';
a[10]='@';
a[11]='}';
a[12]='-';
a[13]='\';
a[14]='/';
a[15]='X';
a[16]='h';
a[17]=':';
a[18]='r';
a[19]='?';
a[20]='c';
a[21]='<';
a[22]=']';
0715デフォルトの名無しさん
NGNGなに命令してんだよ。
土下座して教えを乞う立場だろうが。
バカ学生は死んでろ。
0716デフォルトの名無しさん
NGNG0717デフォルトの名無しさん
NGNG0719デフォルトの名無しさん
NGNG配列を昇順に並び替える ? できないよ、そんなこと。配列の中身じゃ
ねーのか ? とりあえず、qsort() あたりを調べたらどうよ。
0720700
NGNGforとifで!
0721デフォルトの名無しさん
NGNG0722デフォルトの名無しさん
NGNG0723デフォルトの名無しさん
NGNG0724デフォルトの名無しさん
NGNGつーか、「昇順」って何を基準に「昇順」なんだ?
誰だ、そんな超下流でタコな問題を出した禿げは?
0725デフォルトの名無しさん
NGNG厨房は大概ゲイツな罠。
0726デフォルトの名無しさん
NGNG0727デフォルトの名無しさん
NGNG荒れるのも分かる気がするけど。
0728デフォルトの名無しさん
NGNG何バイト確保されるか答えなさい。
0729デフォルトの名無しさん
NGNG0730デフォルトの名無しさん
NGNG0731デフォルトの名無しさん
NGNGダメな問題ばっかり。
0732デフォルトの名無しさん
NGNG0733デフォルトの名無しさん
NGNGO(n/2)のソート知ってるよ。
0734デフォルトの名無しさん
NGNG0735732
NGNG0736デフォルトの名無しさん
NGNG0737デフォルトの名無しさん
NGNGおまえqsortとクイックソートを混同してないか?
0738デフォルトの名無しさん
NGNGせんせーできましたあ
#include <stdio.h>
int main(void)
{
int i, j;
int count[256];
char a[] = "~Mg!-pv4lR@}-\\/Xh:r?c<]";
for(i = 0; i < 256; i++) count[i] = 0;
for(i = 0; a[i] != '\0'; i++) ++count[a[i]];
for(i = j = 0; i < 256; i++)
while(count[i]--)
a[j++] = i;
printf("%s\n", a);
return 0;
}
0739デフォルトの名無しさん
NGNGqsortはクイックソートじゃないのか?
0740デフォルトの名無しさん
NGNG実はバブルソートでもばれない罠。
0741デフォルトの名無しさん
NGNG実は、正確にはクイックソートじゃない。
0742デフォルトの名無しさん
NGNG一般的にっていうこと?
0743デフォルトの名無しさん
NGNG0744デフォルトの名無しさん
NGNG区間が短くなったら挿入ソートとか選択ソートに切り替える方式の
多段ソートって事だろ
0745デフォルトの名無しさん
NGNG#include <stdlib.h>
#include <time.h>
int try_sort(unsigned int challange, char* array, size_t size)
{
int i;
srand(time(0));
for (i = 0; i < challange; i++) {
int a1 = rand() % size, a2 = rand() % size;
if (a1 > a2) {
int tmp = a2;
a2 = a1;
a1 = tmp;
}
if (array[a1] > array[a2]) {
char tmp = array[a2];
array[a2] = array[a1];
array[a1] = tmp;
}
}
for (i = 0; i < size - 1; i++) {
if (array[i] > array[i + 1])
return -1;
}
return 0;
}
int main()
{
char a[23];
a[0]='~'; a[1]='M'; a[2]='g'; a[3]='!'; a[4]='-'; a[5]='p'; a[6]='v'; a[7]='4'; a[8]='l';
a[9]='R'; a[10]='@'; a[11]='}'; a[12]='-'; a[13]='\\'; a[14]='/'; a[15]='X'; a[16]='h';
a[17]=':'; a[18]='r'; a[19]='?'; a[20]='c'; a[21]='<'; a[22]=']';
if (try_sort(1000, a, sizeof(a)) == 0)
printf("成功しました\n");
else
printf("失敗しました\n");
}
0746742
NGNG0747デフォルトの名無しさん
NGNGソートーあほですべ。
0748名無しさん@カラアゲうまうま
NGNG0749名無しさん@カラアゲうまうま
NGNGxxd -i
0750738
NGNGここは悪いインターネットですね。
0751デフォルトの名無しさん
NGNGどこにも ? VC++ とかなら書いてあるぞ。
0752742
NGNG実装は実装者依存だったはず。
0753ANSl
NGNG0754デフォルトの名無しさん
NGNG750ゲトオメ。
ここは凄いインターネットですな。
0755デフォルトの名無しさん
NGNG0756デフォルトの名無しさん
NGNG#include <conio.h>
void main()
int su1,su2,kekka1;
float kekka2;
char enzansi;
printf("2つの整数と演算子を入力してください\n");
printf("1つ目の値を入力 =");
scanf("%d\n",&su1);
printf("2つ目の値を入力 =");
scanf("%d\n",&su2);
printf("演算子を入力 =");
scanf("%c\n",&enzansi);
if(enzansi == '+'){
kekka1=su1+su2;
printf("%d+%d=%d",su1,su2,kekka1);
}
else if(enzansi == '-'){
kekka1=su1-su2;
printf("%d-%d=%d",su1,su2,kekka1);
}
else if(enzansi == '*'){
kekka1=su1*su2;
printf("%d*%d=%d",su1,su2,kekka1);
}
else if(enzansi == '/'){
if(su2 == 0){
printf("kekka1=0");
}
else{
kekka2=su1/su2;
printf("%d/%d=4.1%f",su1,su2,kekka2);
}
}
else if(enzansi == '%'){
if(su2 == 0){
printf("計算できません");
}
else{
kekka1=su1%su2;
printf("%d%%d=%d",su1,su2,kekka1);
}
}
else{
printf("演算子がおかしいです");
getch();
}
}
0757デフォルトの名無しさん
NGNG少なくとも、char は unsigned char にしとけ。
後は、悪いけど見る気にもならない。
0758756
NGNG以外でおかしいところあったら教えてください
0759デフォルトの名無しさん
NGNG#include <conio.h>
void main()
int su1,su2,kekka1;
float kekka2;
char enzansi;
printf("2つの整数と演算子を入力してください\n");
printf("1つ目の値を入力 =");
scanf("%d\n",&su1);
printf("2つ目の値を入力 =");
scanf("%d\n",&su2);
printf("演算子を入力 =");
scanf("%c\n",&enzansi);
if(enzansi == '+'){
kekka1=su1+su2;
printf("%d+%d=%d",su1,su2,kekka1);
}
else if(enzansi == '-'){
kekka1=su1-su2;
printf("%d-%d=%d",su1,su2,kekka1);
}
else if(enzansi == '*'){
kekka1=su1*su2;
printf("%d*%d=%d",su1,su2,kekka1);
}
else if(enzansi == '/'){
if(su2 == 0){
printf("kekka1=0");
}
else{
kekka2=su1/su2;
printf("%d/%d=4.1%f",su1,su2,kekka2);
}
}
else if(enzansi == '%'){
if(su2 == 0){
printf("計算できません");
}
else{
kekka1=su1%su2;
printf("%d%%d=%d",su1,su2,kekka1);
}
}
else{
printf("演算子がおかしいです");
getch();
}
}
0760デフォルトの名無しさん
NGNG#include <conio.h>
void main()
int su1,su2,kekka1;
float kekka2;
char enzansi;
printf("2つの整数と演算子を入力してください\n");
printf("1つ目の値を入力 =");
scanf("%d\n",&su1);
printf("2つ目の値を入力 =");
scanf("%d\n",&su2);
printf("演算子を入力 =");
scanf("%c\n",&enzansi);
if(enzansi == '+'){
kekka1=su1+su2;
printf("%d+%d=%d",su1,su2,kekka1);
}
else if(enzansi == '-'){
kekka1=su1-su2;
printf("%d-%d=%d",su1,su2,kekka1);
}
else if(enzansi == '*'){
kekka1=su1*su2;
printf("%d*%d=%d",su1,su2,kekka1);
}
else if(enzansi == '/'){
if(su2 == 0){
printf("kekka1=0");
}
else{
kekka2=su1/su2;
printf("%d/%d=4.1%f",su1,su2,kekka2);
}
}
else if(enzansi == '%'){
if(su2 == 0){
printf("計算できません");
}
else{
kekka1=su1%su2;
printf("%d%%d=%d",su1,su2,kekka1);
}
}
else{
printf("演算子がおかしいです");
getch();
}
}
0761デフォルトの名無しさん
NGNG0762デフォルトの名無しさん
NGNG何故に 10 % 0 なら "計算できません" と表示するのに 10 / 0 なら
kekka1 = 0 と表示するのか小1時間...
それはさておき、悪いことは言わんから...
1. switch() 文を覚えろ。
2. scanf() は使うな。
0763735
NGNG0764デフォルトの名無しさん
NGNGqualityless sort
0765デフォルトの名無しさん
NGNG0766デフォルトの名無しさん
NGNG0767デフォルトの名無しさん
NGNG0768735
NGNG0769742
NGNG0770756
NGNG何で宿題ってわかった?来週までに出さないとやばいんです
0771デフォルトの名無しさん
NGNGあなたにこんなもん作れるわけがない。
0774デフォルトの名無しさん
NGNGint a, b, c;
char d;
printf("式 > ");
scanf("%d %c %d", &a, &d, &c);
if((c=='/' || c=='%') && b==0) d=0;
switch(d){
case '+': c=a+b; break;
case '-': c=a-b; break;
case '*': c=a*b; break;
case '/': c=a/b; break;
case '%': c=a%b; break;
default': d=0; break;
}
if(d){
printf("%d %c %d = %d\n", a, d, b, c);
} else {
printf("計算できん\n");
}
return 0;
}
0775デフォルトの名無しさん
NGNG↓
if((d=='/' || d=='%') && b==0) d=0;
0776デフォルトの名無しさん
NGNG0777デフォルトの名無しさん
NGNG%ld
0778デフォルトの名無しさん
NGNG0779デフォルトの名無しさん
NGNGint なら "%d" でいいよ。たとえそれが long int と同じでも。
0780デフォルトの名無しさん
NGNGあほ!
0781デフォルトの名無しさん
NGNG他の方法を使う奴は馬鹿だと思うけど。
0782デフォルトの名無しさん
NGNGsigned char, short, long, etc. → signed long
unsigned char, short, long, etc. → unsigned long
float → double
に自動的にキャストされる。
これが理由でprintf系はintだろうとcharだろうと%dでOK。
scanf系は%ldとか使い分けなきゃならない。
・・・で、OK?
0783デフォルトの名無しさん
NGNGintのサイズと%d,%ldの違いに何か関係あるの?
0784デフォルトの名無しさん
NGNG使い分ける必要があるんだよね。
0785デフォルトの名無しさん
NGNGだって4バイトの変数を2バイトしか読まず評価したらだめっしょ。
0786デフォルトの名無しさん
NGNGこれはいいんだが、size_tのようにどんな型にtypedefされているのか分からない型はどうすればいいんだろ・・
0787デフォルトの名無しさん
NGNGintが4バイトの環境なら%dも4バイト読みそうなもんだけど、違うの?
0788デフォルトの名無しさん
NGNG評価先でもintの大きさは同じだぞ(笑)
0789デフォルトの名無しさん
NGNGlongで読んどいて後で代入・・・とかになるかな?
0790デフォルトの名無しさん
NGNG何にtypedefされてるか調べれ。
char型に%dで読み込んだらその変数以下が壊れたことはあった。
0791デフォルトの名無しさん
NGNGヘッダーファイルを見るというのはあまりよくないような・・・
sizeofで調べるだけでは符号ありか符号なしか分からないし・・・
0792デフォルトの名無しさん
NGNG昔それやって帰り先のアドレス壊して、
関数の最後にfprintf突っ込んでも
呼出元で関数の次にfprintf突っ込んでも
何も表示されなくて悶絶したことがある(藁)
0793デフォルトの名無しさん
NGNG0794デフォルトの名無しさん
NGNGハァ?
0795デフォルトの名無しさん
NGNG0796デフォルトの名無しさん
NGNG4バイト入力とは解釈しないのかな。
0797デフォルトの名無しさん
NGNGsize_tは符号無しと決まってると思う。
intかlongかはき待ってなかったと思う。
0798デフォルトの名無しさん
NGNGa = (条件式)?(-30):(30) +5;
とやると、条件式がfalse のときは a=35 になるんですが、trueのときは a=-30 になってしまいます。
VCでしか試していませんが、条件演算子(?:)のこういう使い方って NGなんでしょうか?
0799デフォルトの名無しさん
NGNG標準関数が戻り値に使っちゃっていたりするし。strlenとか。
まあscanf系で使うことはないから問題ないけど。
0800デフォルトの名無しさん
NGNGsizeof(long) == sizeof(int) ならそうなる「可能性はある」。
でも保証されていない。
0801デフォルトの名無しさん
NGNGなんで?(笑)
0802デフォルトの名無しさん
NGNGrule(int l,int r,int h){ rule(0,8,3)から初めて
int m=(l+r)/2; rule(0,4,2)
if(h>0){ rule(0,2,1)
rule(l,m,h-1); rule(0,1,0)
mark(m,h); mark(1,1)
rule(m,r,h=1);} rule(1,2,0)
}という定規の目盛をつける問題なのですが・・mark(2,2)
rule(2,4,1)
というような感じで動くんですが、mark(2,2)のあたりから分かり
ません。 お・た・す・け〜〜〜
0803デフォルトの名無しさん
NGNG優先順位の問題なんじゃねーの?
0804デフォルトの名無しさん
NGNG優先順位覚えれ。
0805デフォルトの名無しさん
NGNG?:演算子は+演算子よりも優先順位が低いから、
a = ((条件式)?-30:30) + 5;
とやりなせえ。
0806デフォルトの名無しさん
NGNGa=-30になってしまいますって、当たり前だと思うけど。
0807デフォルトの名無しさん
NGNGケコーンしようよ
0808806
NGNGそういうことしたかったのか
0809デフォルトの名無しさん
NGNG0810798
NGNG0811デフォルトの名無しさん
NGNGそれ以上は処理系依存ということなのかな。
0812デフォルトの名無しさん
NGNGどこがコードでどこがコメントで何をする関数で何がおかしいのかわからないので
誰もわからないと思われ。
0813デフォルトの名無しさん
NGNGintのサイズが処理系依存なだけで、sizeof(int)バイト分まで確実に読み込める。
0814デフォルトの名無しさん
NGNG%dはintを読み込む。
0815デフォルトの名無しさん
NGNGまず少なくとも;がないからエラーになるな。
0816デフォルトの名無しさん
NGNGということは sizeof(int) == 4 でも、%d で OKということか。
0817デフォルトの名無しさん
NGNG0818デフォルトの名無しさん
NGNGsizeof(int)==256でもな。
0819デフォルトの名無しさん
NGNG0820デフォルトの名無しさん
NGNG0821デフォルトの名無しさん
NGNG0822デフォルトの名無しさん
NGNG0823デフォルトの名無しさん
NGNG0824デフォルトの名無しさん
NGNG0825デフォルトの名無しさん
NGNG0826デフォルトの名無しさん
NGNG(だから何だよ)
0827デフォルトの名無しさん
NGNG0828デフォルトの名無しさん
NGNG0829デフォルトの名無しさん
NGNG実行すると大変なことに(((( ;゚Д゚))))ガクガクブルブル
0830デフォルトの名無しさん
NGNG{
printf("hello world.\n");
}
実行すると大変なことに(((( ;゚Д゚))))ガクガクブルブル
0831デフォルトの名無しさん
NGNGだいじょぶ? 熱あるみたいだし、今日はもう寝なさい。
0832デフォルトの名無しさん
NGNGwarning: unused parameter `fe'
英語よくわからんけど警告してくれますた。
0833デフォルトの名無しさん
NGNG違うかもしれないけど。
0834デフォルトの名無しさん
NGNG日本語に訳すと、「潮吹くほどケツ穴は使い込まれてません」てこと。
0835デフォルトの名無しさん
NGNGうちはまだまだです。
0836デフォルトの名無しさん
NGNG0837Cは無敵です。
NGNGどう扱うんだ?
多分出来ると思うけど。
0838デフォルトの名無しさん
NGNGunlink("hoge.wav");
とか。
0839デフォルトの名無しさん
NGNG日本語の「あ」「い」「う」「え」「お」「か」・・・と一つずつ
音の入ったファイルがあって、打った文字の音が出るようにしたいんですけど・・・。
たとえば、キーボードから「いってよし」と打ったら
その文字に合う音のファイルを探して、つないで出力するっていう感じです。
音のファイル扱えるならできますよね?
0840デフォルトの名無しさん
NGNGremove()にしろよ。
0841デフォルトの名無しさん
NGNGできる。
0842デフォルトの名無しさん
NGNGできるのですね。
ありがとうございます。
0843デフォルトの名無しさん
NGNGできることだけ知ってどうするのだろう...。誰も「お前には」と言って
ないんだけど...。
0844デフォルトの名無しさん
NGNG音に関するC言語のプログラムってやったことなかったんで、
出来るかどうか知りたかっただけです。
私が出来るのかっていうことを聞きたかったわけではないです。
0845デフォルトの名無しさん
NGNGこれができるかどうかも自分で調べられないようなやつにはできない。
0846デフォルトの名無しさん
NGNGint choice;
char *select;
select = (char *)malloc(10);
printf("1.氏名と電話番号と住所の入力\n");
printf("2.電話番号から検索\n");
printf("3.氏名から検索\n");
printf("4.電話帳をディスクに保存する\n");
printf("5.ディスクから電話帳を読み込む\n");
printf("6.終了\n");
while( choice < 1 || choice > 6){
printf("選択してください: ");
fgets( select, 1, stdin);/*ここのfgetsが効かない。
choice = atoi(select);
printf("\n");
}
free(select);
return choice;
}
電話帳のプログラムくんでたんですが、実行してみると選択してくださいの無限ループになってしまい、DEBUGしたらfgetsが実行されていないんです。そこをgetsにするとできるんですが。。
なんでだめなのか教えてください
0847デフォルトの名無しさん
NGNGchar *fgets( char *string, int n, FILE *stream );
...
あるいは読み込んだ文字数が n - 1 になるかのいずれかに最初に遭遇する
まで続きます。
これでわからなきゃ、あきらめろ。
あと、while() で参照する前に choice を初期化しとかないとそのうち
はまるぞ。あと、malloc() なんてなんで使う ? 普通の配列で良いと思
うが。
0848デフォルトの名無しさん
NGNG引数と返り値の型だけが違って、中で行う数値計算は同じ関数
を、ひとつにまとめることはできるのでしょうか?
double kakezan1(double a, double b)
{
return a*b;
}
int kakezan2(int a, int b)
{
return a*b;
}
0849デフォルトの名無しさん
NGNGリファレンスマニュアル読めよ。
数字読み込むだけなら、
scanf("%d", &choice);
とかのほうが素直と思われ。
0850デフォルトの名無しさん
NGNGマクロにするとかはだめ?
#define kakezan(a, b) (a * b)
0851デフォルトの名無しさん
NGNGtemplate
0852デフォルトの名無しさん
NGNGscanf() は止めた方が良いと思う。
0853デフォルトの名無しさん
NGNGなんで?遅いから?メモリ食うから?
0854デフォルトの名無しさん
NGNG挙動が理解しにくいから。
>>864 の fgets() + atoi() を >>849 のように scanf() に変えてから
プログラム実行して、入力に "A" + 改行 を入力したら、無限ループに
なるよ。
最低 fgets() + sscanf() にしとくべき。
0855デフォルトの名無しさん
NGNGFAQ読めや
0856デフォルトの名無しさん
NGNGコンパイルできないんですけど・・・
class Customer{
int id;
char name[20];
};
0857デフォルトの名無しさん
NGNG頼むから、「コンパイルできないんですけど・・・」じゃなくて、
エラーメッセージとか書いてくれ。
0858デフォルトの名無しさん
NGNGクラス使いたいならCじゃなくてC++でしょ。
0859デフォルトの名無しさん
NGNGなる殻。そいや最近fscanfしかつこてなかったからscanfの動き忘れとった。
余談だけどprintfとかscanfとかって内部でヒープからメモリ確保しよるよな?
前これしらんくてエライ目にあった。
>>855
よんどくよ。
0860デフォルトの名無しさん
NGNG0861デフォルトの名無しさん
NGNG外部からクラスメンバにアクセスするときはpublicメンバにしないとだめ。
0862デフォルトの名無しさん
NGNG> 前これしらんくてエライ目にあった。
具体的には ?
0863デフォルトの名無しさん
NGNGとあるマシンで自作のメモリマネージャ動かす為に、
プログラム起動直後にめいっぱいのメモリをmallocしたら、
意味不明のハングが起き始めた。
結局printfがヒープからの確保ヘコッてたみたい。
0864デフォルトの名無しさん
NGNGなるほど、そう言うこともあるんだね。了解。
0865デフォルトの名無しさん
NGNG0866デフォルトの名無しさん
NGNG0867デフォルトの名無しさん
NGNGfgets+strtol
0868デフォルトの名無しさん
NGNG0869デフォルトの名無しさん
NGNG時と場合による。
0870デフォルトの名無しさん
NGNGgets() は論外として、エラー処理をマジメにやるなら入力と解析は別にするのが
無難。
>>869
そうだね。場合によっては lex + atoi とか言い出すかもしれん。
0871デフォルトの名無しさん
NGNGscanf() 系なんていらねーよ。どうせ使いもんにならないし。
0872デフォルトの名無しさん
NGNG使い方による。
いらねーなら使わなければよい。
0873デフォルトの名無しさん
NGNG0874デフォルトの名無しさん
NGNG決まった書式のデータファイルとかを読み込むときで、
読み込みルーチン作るのが面倒なとき?
0875デフォルトの名無しさん
NGNGバッファオーバーフローが絶対におきないとき。
0876デフォルトの名無しさん
NGNGロボットがキーボードを叩く時。
0877デフォルトの名無しさん
NGNGパッと見ただけだけど。
誤 char *select;
正 char select[1024];
配列のサイズは適当に変えて。
0878877
NGNG877 はなかったことに。
0879デフォルトの名無しさん
NGNGかわいそうなくらい痛い
0880877
NGNG0881中学生
NGNGAまでで押さえといた方がいい?
0882デフォルトの名無しさん
NGNGそゆことじゃなくて、その下のレスたちは見てないのかよ
0883877
NGNG名誉挽回。
入力文字列を読みこむのに十分な大きさの領域が確保されている場合、
fgets で読みこまれるのは、改行文字まで。その後にヌル文字を付加する。
$ abc[return]
とした場合、用意した領域には
'a', 'b', 'c', '\n', '\0'
と格納される。
の場合だと、
$ 1[return]
とした場合は、
'1', '\n', '\0'
と格納されるはず。
が、 >>846 のコードでは 1 文字分しか取られていない( fgets の第2引数 )。従って、
誤: fgets(select, 1, stdin);
正: fgets(select, 10, stdin);
とすれば良い。
一般的には fgets の第2引数は確保した領域の大きさを使う。
後は >>847 も参考に。
0884manko_chinko ◆c2rpKRNM
NGNG俺中学生だけどCやってるよ。
AってAPL?それにしても彼女と一緒にやるって事は本気なんだね。
がんばって。
0885デフォルトの名無しさん
NGNGALGOLだと思われ。
0886中学生
NGNGでもDが恐いよ〜
0887デフォルトの名無しさん
NGNGDelphiなめんな。クソ人間。
0888manko_chinko ◆c2rpKRNM
NGNGごめん俺寡聞だからDってのしらない。(言語はAからZまであると誰か言っていた。)
もしかしてDelphiのことかな。Delphiってこわいかな?Vbとかわらんじゃん
0889デフォルトの名無しさん
NGNGあんなクソ言語と一緒にしないで・・・おねがい。
0890manko_chinko ◆c2rpKRNM
NGNG0891manko_chinko ◆c2rpKRNM
NGNGRADという点で変わらないと言っただけ
0892デフォルトの名無しさん
NGNGC#とかもっとましなたとえがあるだろう・・・。
VBが簡単!ってじだいは終わったし。
0893デフォルトの名無しさん
NGNG0894f
NGNG0895デフォルトの名無しさん
NGNG0896f
NGNG卒業研究にしたいぐらいです。
0897デフォルトの名無しさん
NGNGやめてくれ
0898デフォルトの名無しさん
NGNGこれ買え。
0899デフォルトの名無しさん
NGNG取り出したいんですけど良い方法はありますか?
0900899
NGNG100
100
1000
2000
10
10
の順番に。
0901デフォルトの名無しさん
NGNGふつーにループ回して、チェックすれば?
0902名無しさん@カラアゲうまうま
NGNGstrchr()かstrcspn()
0903デフォルトの名無しさん
NGNG0904デフォルトの名無しさん
NGNGNの範囲は?
0905デフォルトの名無しさん
NGNGやっぱこれが一番良かった。
0906f
NGNGすれ違いだけどワラタ
俺持ってるよフォーメーションゼット。
0908847
NGNGつーか、一文字だけ入力したいからと言って fgets(..., 2, ...) なんて普通
書かないぞ。改行コードが入力バッファに残ってしまうからな。
>>883 も書いてるけど、入力バッファーを越えないための制限値と思うべきだよ。
0909デフォルトの名無しさん
NGNG400*400=16KBの配列をグローバルでひとつ
確保していますが,まだまだ大丈夫でしょうか?
業務用アプリとかプロのゲームとかでは,こんなの序の口でもっと確保してるよゴラァって感じなんでしょうか?
0910デフォルトの名無しさん
NGNG組み込みかな?
にしても、業務用とかプロのゲームだとなんで(略
あと、100*100は1Kじゃねーぞ。
0911ミスった
NGNG400*400=160KBの配列をグローバルでひとつ
確保していますが,まだまだ大丈夫でしょうか?
業務用アプリとかプロのゲームとかでは,こんなの序の口でもっと確保してるよゴラァって感じなんでしょうか?
0912デフォルトの名無しさん
NGNG組込みやってる奴ならこんなバカな質問しないだろう。
>>909
そのマシンにメモリーはいくつ積んでんだよ。
0913デフォルトの名無しさん
NGNG今のWindowsだったら1MBや10MBくらいまで確保しても別にOKだ。
さらにいうなら確保しても使わなければOSが無視してくれる。
0914デフォルトの名無しさん
NGNG夕飯はまだ早すぎじゃないか?
0915デフォルトの名無しさん
NGNG0916デフォルトの名無しさん
NGNGstrtok()とかでいいんじゃない?
0917初C者
NGNG#include <conio.h>
void main(){
int b,c,d;
char a;
printf("機種名を入力してね\n");
scanf("%s",&a);
printf("支出を入力しろや\n");
scanf("%d",&b);
printf("収入は?\n");
scanf("%d",&c);
d=c-b;
printf("収支は%d円だよ!",d);
if (d > b) {
printf("今日は勝ちですね。良かった良かった\n");
}
else if(d == b){
printf("トントンだね。負けよりはマシだな。\n");
}
else{
printf("負けちゃったね。%sなんかやるから・・・\n",a);
}
getch();
}
実行すると、if文実行する手前で、強制終了されます。
なんでですか?
0918デフォルトの名無しさん
NGNGaに機種名は入れられん
0919初C者
NGNG半角英数字でも?
0920デフォルトの名無しさん
NGNGためしにchar a[80]にしてみなされ
0921920
NGNG0922デフォルトの名無しさん
NGNG0923デフォルトの名無しさん
NGNGいいかげん、scanf() 使うのヤメレ。
0924デフォルトの名無しさん
NGNGウィンドウズなプログラムは猫でもとかは?
(http://www.kumei.ne.jp/c_lang/)
DirectXはSDKのサンプルを見たらどうでしょう?
0925デフォルトの名無しさん
NGNGかいてあるとおりにやっても動作しないのです。微妙になにかがちがうんでしょうけど。
SDKってのはMSにおかれてるんでしょうか?
0926デフォルトの名無しさん
NGNGscanfを馬鹿にするな
Scanf擁護委員会一同より。
0927初C者
NGNGできました!ありがとうございます。
[80]って、80文字入れれるって事ですか?
0928デフォルトの名無しさん
NGNG0929初C者
NGNGなぜ、 char a; ではだめなんでしょうか?
文字列の場合は [ ]を使って文字数を指定しないとだめなんですか?
0930デフォルトの名無しさん
NGNG0931manko_chinko ◆c2rpKRNM
NGNGあなたBASICやってたでしょ?
0932初C者
NGNGすごいコテハンすね。
BASICやってないですよ。プログラム言語はCが初めてです。
もうそろそろ学校でVB習うと思いますが。
なんでそう思われました?
0933manko_chinko ◆c2rpKRNM
NGNGべつに。俺もBASICやってて、C始めたとき最初文字列配列のところで??だったから
0934デフォルトの名無しさん
NGNG文字は数値を読み替えてるだけだってことをきちんと理解しろよ
0935デフォルトの名無しさん
NGNGfprintf(fp,text);
でEUCが混じった文字列を書き込もうとすると落ちるのですが
どうすればいいのでしょうか?
0936デフォルトの名無しさん
NGNG0937935
NGNGありがとうございます。一発で動きました。
しかし、printf()系の関数で、別に表示したい変数が存在しない場合
fprintf(str);と書くのは文法違反なのですか?
今までのコードにたくさん存在するのですが・・・。
0938デフォルトの名無しさん
NGNG表示する文字列に%とかが入っていると死ぬ
0939デフォルトの名無しさん
NGNGstdio.hを(以下略
0940935
NGNGなるほろ・・・。
それで引数を探しに行って死んでたわけですね。
htmlを適当に読んで吐き出す仕様なのでそういう文字列が入ると
やばいのですね。
今からやばいところ書き直します・・・。
0941名無しさん@カラアゲうまうま
NGNG0942デフォルトの名無しさん
NGNG「tan2(1,1)*4」で書いてあるのがありました(というか,「atan2(1,1)*4*2」というのがあって
最初なにをやっているか分からなかった).
これっってマクロのM_PIを使わないで,「tan2(1,1)*4」でπの値を求めるのは,なんか
メリットってあるのでしょうか?
googleで"tan2(1,1)*4"で検索したら約177件もひっかかったことから,なんか意味が
あるような気がするのですが,なんでしょう?
0943デフォルトの名無しさん
NGNG俺は数学を知ってるぞ、と見せ付けることが出来ます。
0944デフォルトの名無しさん
NGNGtan2→atan2
遅いだけ。しかし標準ではPIの値はdefineされてないから便利な
こともある。
0945デフォルトの名無しさん
NGNGところで、tan2( ) とか atan2( ) って初めて見るんだけど
これって標準ライブラリに入ってるの?
0946942
NGNG>>944
M_PIのマクロって標準じゃなかったのですね.
たしかにdefineされてなかったら,atan2(1,1)*4でπの値を出すという
のは便利ですね.
>>945
tan2()はtypoです.atan2()はmath.hに入ってますよ.
0947デフォルトの名無しさん
NGNG#define M_PI (atan2(1,1)*4)
#endif
とやろうと思ったが、M_PIってmath.hにあるし。
0948名無しさん@カラアゲうまうま
NGNG古い処理系でもコンパイルできるようにするためだろう。
0950デフォルトの名無しさん
NGNG速くならないですか?
0951デフォルトの名無しさん
NGNG0952デフォルトの名無しさん
NGNGNの平方根以下の素数で割り切れなければNは素数
多分これが一番計算少ない
0953デフォルトの名無しさん
NGNGそれなら
#include <math.h>
#ifndef M_PI
#define M_PI 3.14〜
#endif
とすればいいだけなので、単にM_PIを知らなかっただけではないかと
0954846
NGNGすみません、見逃してました(;´Д`)
第2引数を10にするのは、\nと\0を入れるためと解釈していいですか?
>>908
入力バッファに残ると後のfgetsとかscanfとかに影響してしまうためですか?
0955デフォルトの名無しさん
NGNGC言語なら、俺に聞け! <25>
http://pc.2ch.net/test/read.cgi/tech/1024918442/
0957デフォルトの名無しさん
NGNG0958デフォルトの名無しさん
NGNG0959デフォルトの名無しさん
NGNG0960デフォルトの名無しさん
NGNG0961デフォルトの名無しさん
NGNG0962デフォルトの名無しさん
NGNG0963デフォルトの名無しさん
NGNG0964デフォルトの名無しさん
NGNG0965デフォルトの名無しさん
NGNG0966デフォルトの名無しさん
NGNG0967デフォルトの名無しさん
NGNG0968デフォルトの名無しさん
NGNG0969デフォルトの名無しさん
NGNG0970デフォルトの名無しさん
NGNG0971デフォルトの名無しさん
NGNG0972デフォルトの名無しさん
NGNG0973デフォルトの名無しさん
NGNG0974デフォルトの名無しさん
NGNG0975デフォルトの名無しさん
NGNG0976デフォルトの名無しさん
NGNG0977デフォルトの名無しさん
NGNG0978デフォルトの名無しさん
NGNG0979デフォルトの名無しさん
NGNG0980デフォルトの名無しさん
NGNG0981デフォルトの名無しさん
NGNG0982デフォルトの名無しさん
NGNG0983デフォルトの名無しさん
NGNG0984デフォルトの名無しさん
NGNG0985デフォルトの名無しさん
NGNG0986デフォルトの名無しさん
NGNG0987デフォルトの名無しさん
NGNG0988デフォルトの名無しさん
NGNG0989デフォルトの名無しさん
NGNG0990デフォルトの名無しさん
NGNG0991デフォルトの名無しさん
NGNG0992デフォルトの名無しさん
NGNG0993デフォルトの名無しさん
NGNG0994デフォルトの名無しさん
NGNG0995デフォルトの名無しさん
NGNG0996デフォルトの名無しさん
NGNG0997デフォルトの名無しさん
NGNG0998デフォルトの名無しさん
NGNG0999デフォルトの名無しさん
NGNG1000デフォルトの名無しさん
NGNG□□□□□■□□□■□□□■□■□□□□□■□□□□■■□□■□■□□□■□□□
□□□□□■□□□■■■■■□■■■■□□■■■■□■□■□■□■□□□■□□□
□□□□□■□□□■□□□■□■□□□□□■□□□□■□□■■□■□□□■□□□
□□□□□■□□□■□□□■□■■■■□□■■■■□■□□□■□■■■■□□□□
10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。