デバッグなら俺に任せろ!
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG不安なコードとかあったら、投げてみ。
色々指摘してあげよう。
第3者の目ってのはバグの発見に非常に役立つと思われ。
つーわけで、C/C++,C#でヨロ
その他のコードでも他の人が見てくれるかもよ。
0002デフォルトの名無しさん
NGNG0003デフォルトの名無しさん
NGNGprintf("Hello World")
}
あっているとおもうんですが なぜかえらーがでます!!!!
げいいんがわかりません 教えてください!!!!!!!!!
0004デフォルトの名無しさん
NGNG0006デフォルトの名無しさん
NGNGもう一行改行すべきだな。細かいことだけど。
0007デフォルトの名無しさん
NGNGmainでreturn 0は邪道。
0009デフォルトの名無しさん
NGNGだめなら
#include <iostream>
int main()
{
std::cout << "Hello World\n";
return (0);
}
これは?
.cppね。
0011デフォルトの名無しさん
NGNGその為の関数を作ったのですが、先輩から「バグがある」と言われてしまいました。
どこが悪いのか検討もつきません。教えてください。
int flag1 = 0, flag2 = 0, turn = 1;
void a(void)
{
while (1){
for (flag1 = 1, turn = 2;flag2 && turn == 2;)
;
critical_area_a();
flag1 = 0;
}
}
void b(void)
{
while (1){
for (flag2 = 1, turn = 1;flag1 && turn == 1;)
;
critical_area_b();
flag2 = 0;
}
}
0012デフォルトの名無しさん
NGNG{
return 0;
}
これだけなのにうごきません。
0013デフォルトの名無しさん
NGNG一例として、a()を呼び出し、直後にb()が呼び出されたとき、
flag1=1;
flag2=1;
turn=1;
turn=2;
の順に実行されたらどうなりますか?
0014デフォルトの名無しさん
NGNGa は flag2 && turn == 2 でブロック。
b は flag1 && turn == 1 から抜ける。
↓
critical_area_b();
flag2 = 0; //b
↓
a は flag2 && turn == 2 から抜ける。
critical_area_a();
flag1 = 0;
でつ。
0015デフォルトの名無しさん
NGNGpertersonのアルゴリズムをやろうとしてんだったら
それで正しいような気がする。ていうかturnの使い方をぎゃくにしろよ。
なんでそんな分かりずらく書くん?
0016デフォルトの名無しさん
NGNG0017デフォルトの名無しさん
NGNGソース公開したくないし・・・w
うーむ、迷うなぁw
0018デフォルトの名無しさん
NGNG0019デフォルトの名無しさん
NGNG迷うのは心の贅肉
感じるんだ
0020デフォルトの名無しさん
NGNG0021デフォルトの名無しさん
NGNG0022名無しさん@そうだ選挙に行こう
NGNG0023デフォルトの名無しさん
NGNG作ることだけに専念したいので。
0024デフォルトの名無しさん
NGNGここで質問していいのか分からないんですけど、 Insert キーのプログラムを作りたいんです。
もしInsert on ならカーソルの横文字がの一つ右へ移動してそこに新しい文字を出すみたいな。
例
ABCDEF上に カーソルがCとDの間にあって Bを打つと ABCBDEF (Insert on 時)
(Insert off 時) ABCDEF→ABCBEF。
MOV AH,12H
INT 16H
AND AL,100000000B
JZ exit
最初に↑のように打って INSERT KEYがONかOFFかを確かめた後、
どうやってこのプログラムを作ったらいいんでしょうか?
0025デフォルトの名無しさん
NGNG当然読み込んだデータの末端に余計な改行が入るのですけど、
不要な改行を付加することなく、スマートに
テキストファイルを読み込む方法はないでしょうか?
Open TextFilePath For Input As #1
Do Until EOF(1)
Line Input #1, Temp
ReadData = ReadData & Temp & Chr(13) & Chr(10)
Loop
Close #1
Text1.Text = ReadData
0026デフォルトの名無しさん
NGNGここへ行け
http://pcsoft-os.ten.thebbs.jp/1080442856/e10
0027デフォルトの名無しさん
05/02/05 10:30:160028デフォルトの名無しさん
2005/06/30(木) 23:23:03int a_data;
int main()
{
int i,select;
for(i=0; i<3; i++) {
scanf("%d",&select);
data_input(select);
}
}
void data_input(int a)
{
if(a==1){
scanf("%c",&a_data);
return;
}
return;
}
0029デフォルトの名無しさん
2005/09/01(木) 19:53:31カレンダークラスの動作チェックと最適化(デバッグしながら作ってたら妙なコードになってしまいました)
お願いします。
0030デフォルトの名無しさん
2005/09/01(木) 20:24:14003129
2005/09/01(木) 20:25:28while(true)無限ループ
0032デフォルトの名無しさん
2005/09/01(木) 20:28:35003329
2005/09/01(木) 20:33:08知らんけど省略されてるとこでif()break;でもしてるんじゃない。
0034デフォルトの名無しさん
2005/09/01(木) 20:36:350035デフォルトの名無しさん
2005/09/01(木) 20:39:07003629
2005/09/01(木) 20:49:49省略じゃなかった。for文はロック。a()b()はそれぞれ別スレッドから呼んでいるのかな?
0038デフォルトの名無しさん
2005/09/01(木) 22:40:37> int DofM[13];
いきなり意味不明の略語。しかもpublic。
Day of monthかなんかだと推測はできるが、なぜ13個あるのだろうか?コメントは一切ない。
Init()とSetup()があるのはどういう意味だろう?当然のごとく何の説明もない。
int GetWeek(int y,int m,int d); y,m,dからWeekを取得するらしい。意味がわからない。
void Now(); たぶんこの関数を呼ぶとオブジェクトを現在の時刻に初期化するのだろう。
こういうのってstaticにしてCalender型を返すようにするのが定石だと思うけど違ったっけ?
関数の糞実装に関しては特にコメントしない(読みたくないので)
003929
2005/09/01(木) 23:09:50コメントを付け足しました。
//ad日進める
void operator+=(int ad);
//差は何日か
int operator-(Calendar& rh);
ここら辺が不安です。
operator+=()
の//ここら辺怪しい//なぜかSum2=-1になってしまった
operator-()
の//ret=sum+(prgny_this-prgny_rh);にしたかった
これがよく分からないです。
>>38
DofMは月が1〜12の範囲なのでDofM[0]はダミーです。
p.s.
非常に失礼しましてごめんなさい。
0040デフォルトの名無しさん
2005/09/01(木) 23:17:47void Init()
{
DofM[0]=0;
DofM[1]=31;
DofM[2]=28;
DofM[3]=31;
DofM[4]=30;
DofM[5]=31;
DofM[6]=30;
DofM[7]=31;
DofM[8]=31;
DofM[9]=30;
DofM[10]=31;
DofM[11]=30;
DofM[12]=31;
}
こんな風にしてくれないと読みにくいわけよね。
0041デフォルトの名無しさん
2005/09/01(木) 23:23:31・同じ閏判定のコードがあちこちにあってキモイ
・DofMをpublicにする意味は?
・Weekは「曜日」という意味ではないと思うんですが
004229
2005/09/01(木) 23:33:57int Calendar::operator-(Calendar& rh)
{
//省略
//閏チェック
if(((ty%4==0)&&(ty%100!=0))||(ty%400==0)){DofM[2]=29;add=366*sgn;}
else{DofM[2]=28;add=365*sgn;}
//結果の年になったか
if(nowy_this==rh.Year)break;
else
{
//1年分加算
sum-=add;
nowy_this+=sgn;
}
}
//日数を返す
ret=sum+(prgny_this-prgny_rh);
//省略
これは出来ました。
//ad日進める
void Calendar::operator+=(int ad)
{
//省略
//なぜかSum2=-1になってしまった
sum2=-1;k=1;
//省略
これはよく分かりません。
004529
2005/09/02(金) 02:48:51助言を参考に直しました。
//ad日加算
Calendar Calendar::operator+(int ad)
{
//省略
//閏チェック
if(IsLeap(ty)){DofM[2]=29;add=366*sgn;}
else{DofM[2]=28;add=365*sgn;}
//結果の年になったか
if((0<sgn)&&((ad-sum)<add))
{
//なぜかSum2=-1になってしまった
sum2=-1;k=1;
//省略
ここは相変わらずです。
0046デフォルトの名無しさん
2005/09/03(土) 12:52:48Releseでビルドして実行ときのみ突然止まります。
どうしたら直りますか?
0047デフォルトの名無しさん
2005/09/03(土) 13:05:50それとも一気に500ファイルコンパイルしようとするんじゃなくて
50ファイルくらいに制限するとか
0048デフォルトの名無しさん
2005/09/03(土) 13:09:270049デフォルトの名無しさん
2005/09/03(土) 13:59:18printf("ここまできてる1\n");
,,,
printf("ここまできてる2\n");
,,,
printf("ここまできてる3\n");
こんなんでみつけなよ
あなたの情報だけじゃ誰もどうしようもない。
他のコンパイラでは問題がなければあなたが使っているコンパイラのバグの可能性もある。
■ このスレッドは過去ログ倉庫に格納されています