C言語なら俺に聞け(入門編)Part 87
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2011/07/19(火) 07:00:19.71★前スレ
C言語なら俺に聞け(入門編)Part 86
http://hibari.2ch.net/test/read.cgi/tech/1309089793/
★過去スレ
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++の宿題片付けます 150代目
http://hibari.2ch.net/test/read.cgi/tech/1308749241/
★C++言語については避けてください。C++対応明記スレへどうぞ
★分からない事をなるべく詳しく書いて下さい。
★ソースコードを晒すと答えやすくなるかもしれません。
# 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
# サイズが大きい場合は宿題スレのアップローダ等を利用してください
★開発環境や動作環境も晒すと答えが早いかもしれません。
★質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。
★ぬるぽ。
長くなりそうなコードはcodepadに貼り付けてもいいでしょう
http://codepad.org/
0153143
2011/07/23(土) 23:07:11.80やっぱりそうなんですか…JAVAの学習自体あまりやってなかったもので
どう手をつけていいのか、教科書を読んでも何を書いてあるのか、まるでさっぱりです。
だからその貼り付けたコードもところどころ
JAVAからのデータをそのまま登用してあったりするんですよね…
0154デフォルトの名無しさん
2011/07/23(土) 23:34:47.08基本的に this とは何かがわかっていれば、あとはひたすら作業ゲーのくだらん問いだ
おまけで関数ポインタや malloc が出てくるくらい
「this とは何か?」という1つの問いに必要以上の負担をかけているパワハラに後で腹が立つはず
0155デフォルトの名無しさん
2011/07/23(土) 23:44:50.76public staticはどうしますか?とか以前に
C言語の基礎ぐらい勉強してから来るべき
0156デフォルトの名無しさん
2011/07/23(土) 23:59:13.47もしくは自分で実装可能でしょうか?実装可能であれば、どんな流れの関数になるでしょうか?
0157デフォルトの名無しさん
2011/07/24(日) 00:01:33.84if(kbhit()) getch();
0158デフォルトの名無しさん
2011/07/24(日) 00:12:34.89ありがとうございます!
windows用のようですが、手がかりにして調べられそうです
0159デフォルトの名無しさん
2011/07/24(日) 00:22:22.99画像編集のプログラムを作りました。ppmファイルを編集するものです
回転処理を行った時、左下の隅に黒い線が入り、一番下の配列にいたっては途中まで黒い線が入るような状況です
これについて考えられる原因を教えていただけませんか。よろしくお願いします
0160デフォルトの名無しさん
2011/07/24(日) 00:26:47.11Alt+PrtSc
を覚えよう
0161デフォルトの名無しさん
2011/07/24(日) 00:29:44.36行を見ていくループの変数の初期値もしくはソース側の初期値がおかしいんでしょ
0162デフォルトの名無しさん
2011/07/24(日) 00:31:11.75なるほど初期値ですか。見てみますありがとう
でも途中までおかしいのに途中から正しくなるのが何故かわからないのですが
0163デフォルトの名無しさん
2011/07/24(日) 00:31:16.370164デフォルトの名無しさん
2011/07/24(日) 00:32:04.770165デフォルトの名無しさん
2011/07/24(日) 01:19:51.75ソース曝すのが一番手っ取り早いよ。
0166デフォルトの名無しさん
2011/07/24(日) 10:15:32.26ttp://www.dmm.co.jp/digital/videoa/-/detail/=/cid=33dphc00002/
0167デフォルトの名無しさん
2011/07/24(日) 10:44:41.590168デフォルトの名無しさん
2011/07/24(日) 12:04:08.25どうしたらいいですか?
0169デフォルトの名無しさん
2011/07/24(日) 12:07:40.320170デフォルトの名無しさん
2011/07/24(日) 12:10:21.62激しく同意
0171デフォルトの名無しさん
2011/07/24(日) 14:00:24.63何分何秒まで正確にだしたいです
0172デフォルトの名無しさん
2011/07/24(日) 14:03:27.45幼稚園児かよwwwwwwwwwww
0173デフォルトの名無しさん
2011/07/24(日) 14:16:09.13標準ライブラリにあるようなのそのまんま聞かれてもなぁ
少しは調べろよゴミ野郎
0174デフォルトの名無しさん
2011/07/24(日) 14:46:16.970175デフォルトの名無しさん
2011/07/24(日) 14:50:19.55質問の日本語がちょっと変。その部分のソースを晒せ
0176デフォルトの名無しさん
2011/07/24(日) 14:53:05.37fscanf(data,"%d",val);
val+=10;
0177デフォルトの名無しさん
2011/07/24(日) 15:02:17.19落第。おそらくSEGV
0178デフォルトの名無しさん
2011/07/24(日) 15:14:41.62なら
fscanf(data,"%d",&val);
int *val
なら
fscanf(data,"%d",val);
こう?
0179デフォルトの名無しさん
2011/07/24(日) 15:20:23.85適当に書いてる
#include <stdio.h>
int main(){
FILE *data;
int val;
data= fopen("data.txt", "r+");
if (data == NULL) {
fprintf(stderr,"Can't open\n");
return 0;
}
fscanf(data,"%d",&val);
printf("1:[%d]\n",val);
val+=10;
rewind(data);
fprintf(data,"%d",val);
rewind(data);
fscanf(data,"%d",&val);
printf("2:[%d]\n",val);
fclose(data);
return 0;
}
0180デフォルトの名無しさん
2011/07/24(日) 15:31:46.47付録(val+=10;)があることを誤魔化さないように。
0181デフォルトの名無しさん
2011/07/24(日) 18:07:14.29落第。おそらくコンパイルエラー
0182デフォルトの名無しさん
2011/07/24(日) 20:21:45.98毎回フルパス記述しないと駄目なの?
0183デフォルトの名無しさん
2011/07/24(日) 20:27:37.67コンパイラのオプションでヘッダファイルの置いてある場所を指定出来るよ
gcc だったら -I とか
0184デフォルトの名無しさん
2011/07/24(日) 20:53:57.080185デフォルトの名無しさん
2011/07/24(日) 22:05:37.530186デフォルトの名無しさん
2011/07/24(日) 22:06:29.130187デフォルトの名無しさん
2011/07/24(日) 23:27:56.920188デフォルトの名無しさん
2011/07/24(日) 23:47:28.620189デフォルトの名無しさん
2011/07/25(月) 00:42:34.74WM_TIMERで処理量を多くして発生間隔を短くした場合
WM_TIMER処理中にWM_TIMERが再度呼ばれてしまって
ループするとかあったりする?
0190デフォルトの名無しさん
2011/07/25(月) 00:48:10.97逆にタイマが遅れて処理されるよ
0191デフォルトの名無しさん
2011/07/25(月) 00:48:50.24メッセージを処理し終わるまで、ほかのメッセージはメッセージキューにたまってるんじゃないの?
0192デフォルトの名無しさん
2011/07/25(月) 00:56:14.83割り込みの処理時間がかかるのは
遠かれ近かれいずれ破綻する兆候
ハンドラでしか絶対に無理な処理と
ハンドラやらなくても main のコンテキストに委譲できる処理が
うまく切り分けられていないとそうなる
0193デフォルトの名無しさん
2011/07/25(月) 01:12:03.32ひたすらメッセージがキューにたまっていくだけで
多重割り込みにはならないんだね
0194デフォルトの名無しさん
2011/07/25(月) 01:39:41.84typedef struct tagDATA_ST
{
char cData[4];
unsigned int iData;
unsigned short sData0;
short sData1;
} DATA_ST;
int main( void )
{
DATA_ST data;
int* pPtr = ( int* )&data;
}
質問があります。
上記みたいに、構造体のアドレスをint型のポインタにキャストした場合
pPtrはどこの領域を指し示すのでしょうか?
0195デフォルトの名無しさん
2011/07/25(月) 01:42:28.55data.cData[0]
だろ?
0196デフォルトの名無しさん
2011/07/25(月) 01:54:04.92位置は、ポインタに代入されたアドレス。
位置をいじるとき(ポインタ演算)、キャストした型のサイズが影響。
struct D {char c[256];}
D d;みたいなとき、
char *p = (char *)&d; // p[0]→d.c[0], p[1] = d.c[1]
int *q = (int *)&d; // q[0]→d.c[0], q[1] = d.c[4]
間違ってたらごめんw
0197デフォルトの名無しさん
2011/07/25(月) 02:11:08.90ありがとうございます!
>位置をいじるとき(ポインタ演算)、キャストした型のサイズが影響。
始めて知りました。勉強になります!
0198デフォルトの名無しさん
2011/07/25(月) 11:32:37.54「16bit環境だと(ry」と重箱の隅を(ry
0199デフォルトの名無しさん
2011/07/25(月) 14:19:05.16○ タイマー
0200デフォルトの名無しさん
2011/07/25(月) 14:50:26.160201デフォルトの名無しさん
2011/07/25(月) 19:06:54.19ファイルポインタの宣言はひとつで
fopenを何度も使えばいいの?
0202デフォルトの名無しさん
2011/07/25(月) 19:13:20.93fclose しないと同時に fopen できる数の限界突破して fopen に失敗するようになるかも
0203デフォルトの名無しさん
2011/07/25(月) 19:17:06.58わかりました
0204デフォルトの名無しさん
2011/07/25(月) 20:13:04.890205デフォルトの名無しさん
2011/07/25(月) 20:46:35.370206デフォルトの名無しさん
2011/07/25(月) 20:49:57.450207デフォルトの名無しさん
2011/07/25(月) 20:51:21.880208デフォルトの名無しさん
2011/07/25(月) 20:55:37.51(1)全試行回数と結果を表示する間隔をscanf()で読みそれにしたがって処理が進むようにする。
(2)各途中経過で求めたπの近似値のうち最もπの真値(=3.14159)に近い値とその時の試行回数を最後に表示させる。
という2つの点を加えて改良しなければならないのですがどなたか教えていただけませんか?
0209デフォルトの名無しさん
2011/07/25(月) 20:59:37.14#include<stdlib.h>
int main(){
int i,CircleCount=0;
float x,y;
for(i=1;i<=100000;i++){
x=(double)rand()/(double)0x7fff;
y=(double)rand()/(double)0x7fff;
if(x*x+y*y<=1.0)
CircleCount++;
if(i%10000==0)
printf(“%7d回 n=%f\n”,i,4.0*CircleCount/(float)i);
}
return(0);
}
0210デフォルトの名無しさん
2011/07/25(月) 21:01:30.75仕様を満たしてないって怒られたいの?
0211デフォルトの名無しさん
2011/07/25(月) 21:04:34.160212デフォルトの名無しさん
2011/07/25(月) 21:10:41.02載せたプログラムは先生の方から送られてきたものを
丸写ししたもので初心者なんで
どこがおかしいとか言われても分からない点が多いです。
0213デフォルトの名無しさん
2011/07/25(月) 21:12:23.520214デフォルトの名無しさん
2011/07/25(月) 21:21:00.15言葉が足りていませんでした。
上の2点を加えて改良しなさい
という課題でした。
0215デフォルトの名無しさん
2011/07/25(月) 21:24:00.940216デフォルトの名無しさん
2011/07/25(月) 21:25:28.150217デフォルトの名無しさん
2011/07/25(月) 21:27:19.28まず100000のところを変数にかえて
その変数はscanfで
0218デフォルトの名無しさん
2011/07/25(月) 21:46:24.14>>215
c言語得意な友人も同じ事ようなことを言ってましたが
先生いわく
「授業でやった範囲内で」
との事らしいです。
その友達もかなり苦労してるみたいです。
0219デフォルトの名無しさん
2011/07/25(月) 21:50:08.90宿題スレで聞いたら?
http://hibari.2ch.net/test/read.cgi/tech/1311089619/
C/C++の宿題片付けます 151代目
0220デフォルトの名無しさん
2011/07/25(月) 21:57:01.8810000のところ変数にかえて
その変数はscanfで
>>217とあわせて(1)終わり
0221デフォルトの名無しさん
2011/07/25(月) 21:59:27.440222デフォルトの名無しさん
2011/07/25(月) 22:41:56.75(2)はどうすればいいのでしょうか
0223デフォルトの名無しさん
2011/07/25(月) 22:44:41.030224デフォルトの名無しさん
2011/07/25(月) 22:49:05.940225デフォルトの名無しさん
2011/07/25(月) 22:53:34.01アドバイス、というよりもソースプログラムを
書いていただけると助かります。
質問スレのほうでは
長すぎるのでリンクを使って貼ろうとしたら
なぜかリンク先に飛ぼうとするとエラーになってしまってちゃんと質問できません。
ヨロシクお願いします。
0226デフォルトの名無しさん
2011/07/25(月) 22:53:47.620227デフォルトの名無しさん
2011/07/25(月) 23:06:14.890228デフォルトの名無しさん
2011/07/25(月) 23:12:12.260229デフォルトの名無しさん
2011/07/25(月) 23:21:34.57出てくる文字列が、記号と、数字と、アルファベットだけなので、想像していた以上に簡単でした。
自分で書いたソースコードをコンパイルして、実行形式のアプリにするって面白いですね。
簡単なゲームソフトぐらいは作れるレベルになりたいと思う。
0230デフォルトの名無しさん
2011/07/25(月) 23:57:17.20日本語でどういう状態なのか説明していただけないでしょうか。
横に書いてはあるのですが、いまいち意味を理解できません。
http://ideone.com/Vglan
0231デフォルトの名無しさん
2011/07/25(月) 23:59:50.64主にifの中身の意味が理解できていません。
>if(fu>=1 && jimen[fu-1]>=4){
もしも踏んだ数が1より大きいまたは等しく、
かつ、配列のうちの1つ踏んだ部分を消して、それが小さければ4?と
段々意味が解らなくなってきてしまいます、どなたかお願いします…
0232デフォルトの名無しさん
2011/07/26(火) 00:05:39.14change_huge_pmd() のような、ありがちな名前の関数が、staticも付けずに宣言されてたりする。
static を付けずに関数を宣言したら、
以後、どんなことをしても、
リンクされる全てのソースコードへ名前のスコープが通ってしまうのを防止できないかと思ってたのだが、
違うのだろうか?
こんな単純な名前が、数百万行のソースコードで、一度も被らないのが不思議でならない。
なにか、公開を一部のソースだけに限定する方法でもあるのですか?
0233デフォルトの名無しさん
2011/07/26(火) 00:24:42.74fu>=1 : fuが1以上
&& : かつ
jimen[fu-1]>=4 : jimen[fu-1]が4以上
0234デフォルトの名無しさん
2011/07/26(火) 00:25:16.54リンクしなきゃいい
0235デフォルトの名無しさん
2011/07/26(火) 00:28:20.55ありがとうございます
jimen[fu-1] の部分も実はよく解ってないのですが
これはどういう事なんでしょうか?
配列が10個に設定してあるので配列が1個減るよみたいな感じなんでしょうか
0236デフォルトの名無しさん
2011/07/26(火) 00:29:33.01hoge[5-2]
0237デフォルトの名無しさん
2011/07/26(火) 00:31:22.05すいませんhogeを見たことがないのですが
どう解釈したらよろしいでしょうか…本当に知識が無くて申し訳ないです
0238デフォルトの名無しさん
2011/07/26(火) 00:33:57.89行き当たりばったりでやっていても身につかないよ
0239デフォルトの名無しさん
2011/07/26(火) 00:38:05.28時間のムダだから他のことやったほうがいいよ。
0240デフォルトの名無しさん
2011/07/26(火) 00:41:00.240241デフォルトの名無しさん
2011/07/26(火) 00:41:06.11学生なもので…再試に向けて学習していたところでした…
0242デフォルトの名無しさん
2011/07/26(火) 00:41:13.130243デフォルトの名無しさん
2011/07/26(火) 00:43:26.413,000行くらい書けば分かってくる事もある
10,000行くらい書けば、多分独りで何とか出来る様になる
0244デフォルトの名無しさん
2011/07/26(火) 00:44:19.99配列の何番目の要素を使うかを[]内で指定している
例えばfuに3が入っていたらfu-1は2になり、
インデックスは0から始まるので、配列の3番目の要素って意味になる。
0245デフォルトの名無しさん
2011/07/26(火) 00:55:57.90なるほど、ぼんやりとですが理解できました。
例文どおり行けば3番目の要素になるということはわかりましたが
その後の>=4というのは
3番目の要素と4が等しい?ということですか?
0246デフォルトの名無しさん
2011/07/26(火) 01:01:06.23<= は ≦ と同じ意味。
0247デフォルトの名無しさん
2011/07/26(火) 01:08:16.370248デフォルトの名無しさん
2011/07/26(火) 02:35:41.410249デフォルトの名無しさん
2011/07/26(火) 04:14:55.360250デフォルトの名無しさん
2011/07/26(火) 05:19:56.640251デフォルトの名無しさん
2011/07/26(火) 09:56:51.550252デフォルトの名無しさん
2011/07/26(火) 10:28:10.51■ このスレッドは過去ログ倉庫に格納されています