[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 18:47 / Filesize : 239 KB / Number-of Response : 921
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C統合・質問スレッド



1 名前:デフォルトの名無しさん mailto:sage [03/11/09 15:37]
いろんなスレが乱立していますが、統合的なスレッドがないので立てました。
質問もOK

関連スレ
C#って死滅する理由がないよね! Part4
pc2.2ch.net/test/read.cgi/tech/1042464104/
C#最強伝説
pc2.2ch.net/test/read.cgi/tech/1061208152/
C#とJava、どっちをおぼえればいいの?
pc2.2ch.net/test/read.cgi/tech/1006715468/
C#Builder Professional 質問箱
pc2.2ch.net/test/read.cgi/tech/1062433418/

関連リンク
dir.yahoo.co.jp/Computers_and_Internet/Software/Programming_Tools/Programming_Languages/C_Sharp/


528 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 23:01:34 ]
> floatが整数かどうかの判定ってどうします?

移植可能な方法で、判定する方法はない。

529 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 23:09:40 ]
>>528
こら。modfがあるだろ。
ちなみにfloat版はmodff。

530 名前:デフォルトの名無しさん mailto:sage [2006/01/15(日) 23:36:58 ]
>>529
modf(...) == 0 とするのか?
>>527 とたいして変わらんぞ、それ。

浮動小数点に対して == 演算子を使う奴は、大抵バカ
であることがまたもや実証されたな...。

531 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 02:46:27 ]
>527だとintの範囲を超えたときに何が起こるかわからんからmodfの方がまし。
そもそも整数かどうかの判定が必要な値にfloatを使っていることがおかしい気がするが。

532 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 09:20:37 ]
>>531
整数というか、小数の位が存在するかどうかで処理を変更したかったので。
modfで誤差を考慮しとけば良さそうですね。

533 名前:デフォルトの名無しさん mailto:sage [2006/01/17(火) 17:17:00 ]
>>523
スレタイだけで >>1 を読まない間抜けが多いって事です。

534 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 12:41:38 ]
配列の初期化について質問です。

int test[4] = {10, 100, 50, 1};
などの様に初期化したいのですが、
宣言した後で、このように一気に初期化する方法は無いのでしょうか?

具体的には、配列をクラスのメンバに持っていて、
コンストラクタで初期化したいのですが、
test[0] = 10;
test[1] = 100;



などのように、一つずつ初期化していくしかないのでしょうか?

535 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 12:52:00 ]
>>534
それしかありません。

536 名前:534 mailto:sage [2006/01/24(火) 14:38:34 ]
コンストラクタでローカル変数
int l_test[4] = {10, 100, 50, 1};
を作って、それをメンバの配列にmemcpyすることで解決しました。

あまりキレイな解決策ではないですが、
実際は2次元配列で要素が多かったので、どうしても一気に初期化したかったのでした。



537 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 22:06:31 ]
> コンストラクタでローカル変数
> int l_test[4] = {10, 100, 50, 1};
> を作って、

まあ、最近のマシンなら気にすることではないのだろうが、
static const をつけておいた方がちと早くなるかもし
れない。

538 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 06:19:38 ]
何故vectorかなにかのコンテナを使わないのだろう。

539 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 07:40:22 ]
>538
それはさすがにスレ違い。

540 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 17:51:24 ]
このスレで「スレ違い」って言われてもな

541 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 16:02:03 ]
スレタイに半角の#を入れようとしたのが問題

542 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 22:59:12 ]
>>541
これってCすれじゃなかったのか!!!!

543 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 23:08:23 ]
気付いてない子がいたのか・・・

544 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 23:17:53 ]
for(;;);
for(;;)
といった文を見たんですがこういう文はどういう働きをするんでしょうか?

545 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 23:27:06 ]
ループ・ザ・インフィニット! ・・・とかって言うとスタンドっぽくね?

546 名前:デフォルトの名無しさん mailto:sage [2006/02/02(木) 23:41:02 ]
>>544
forの括弧の中の3つのそれぞれの部分は省略できる。
2つのセミコロンの間の継続条件を省略すると無限ループになる。



547 名前:デフォルトの名無しさん [2006/02/03(金) 16:06:33 ]
>>546
すいません、ちょっと言葉足らずでした。

for(初期条件;終了条件;加算);
for(初期条件;終了条件;加算){
文;
}

こんな感じの文だったのですが、
最初のfor文の最後に ; が入った形をみたことがなかったので、
この2個のfor文がどのように動くのかを教えてほしいです。

548 名前:デフォルトの名無しさん [2006/02/03(金) 16:16:08 ]
rr

549 名前:デフォルトの名無しさん mailto:sage [2006/02/03(金) 16:21:58 ]
>>547
↓こう書いたら解る?
for(初期条件;終了条件;加算)
  ;

550 名前:デフォルトの名無しさん mailto:sage [2006/02/03(金) 16:23:07 ]
>>549
何もしないんですね。orz
理解できました。ありがとうございます。

551 名前:デフォルトの名無しさん [2006/02/03(金) 21:35:03 ]
#include <stdio.h>
int main(){
int *pa[500],*pb[500],*pc[500],*pd[500],*pe[500],*pf[500];
int i;
for(i-0;i<500;i++){
*pa[i]=5;
*pb[i]=5;
*pc[i]=5;
*pd[i]=5;
*pe[i]=5;
*pf[i]=5;
printf("%d,%d,%d,%d,%d,%d\n",*pa[i],*pb[i],*pc[i],*pd[i],*pe[i],*pf[i]);
}
return 0;
}
このプログラムってかなりやばいよな;

552 名前:デフォルトの名無しさん mailto:sage [2006/02/03(金) 21:35:49 ]
>>551
マルチうざい

553 名前:デフォルトの名無しさん [2006/02/04(土) 16:45:57 ]
構造体についての質問です。

#include<stdio.h>
struct string{
char *a;};
struct string data[]={
"a","b","c","d",};

int main(){
struct string *p;
char *s;
int i;
scanf("%s",&s);
p=data;
for(i=0;i<=3;i++){
if(s==(p+i)->a){
printf("%s\n",(p+i)->a);}}
return 0;
}
以上をコンパイルして実行した場合、scanfで入力した値がa~dのどれかでも
if(s==(p+i)->a)が真と判断されないのですが、間違いについての教唆をお願いします。

554 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 16:57:35 ]
>>553
>間違いについての教唆をお願いします。

教え唆すのか?


555 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 17:13:29 ]
そそのかされてどうする俺…
普通に間違いについて教えてほしいです

556 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 17:23:21 ]
たとえば、scanf で "abc" という文字列を読み込んで、
それらの文字一つ一つ( 'a' とか 'b' とか 'c' とか '\0' とか・・・)は
メモリの何処に保管されるのさ?

今、値を記憶できる変数の領域は string 構造体のアドレスを保持する p と
char のアドレスを保持する s と
int の値を保持する i しかないぞ?




557 名前:582 mailto:sage [2006/02/04(土) 18:00:29 ]
>>553
よーし、パパそそのかしちゃうぞ。

よくコンパイル通ったな。 構造体のメンバが char へのポインタ1つだけと判っていれば、
構造体配列 = { char*その1, char*その2, ・・・ , char*そのn }
なんて初期化が許されるのか ・・・ 知らなかった (マジ
ここは、
struct string data[]={
{"a"}, {"b"}, {"c"}, {"d"}
};
じゃなきゃ い神埼だと オモテタ。

でも、バグの本質は、>>556 の指摘のとおり。
scanf() で、ポインタ変数にコンソール入力しようとしているが、おまえには特定の
char の場所を示すポインタ ( アドレス ) が判るのか? メモリの中身に詳しいヤツ
だな。

558 名前:デフォルトの名無しさん mailto:sage [2006/02/04(土) 18:23:12 ]
本当に唆しているだけだなお前ら。

559 名前:553 mailto:sage [2006/02/04(土) 19:25:32 ]
>>556-557
charで*でなく適当な長さの配列を宣言して
if()で照会するのは2つの配列[0]に格納した値…ってことですね。
どうみても俺の勉強不足です。本当にありがとうございました

560 名前:デフォルトの名無しさん [2006/02/13(月) 03:43:09 ]
関数を定義するときに
void xxx(int yyy)
int A;
char B;
{
〜〜〜
}
こんなふうに書かれたものを良く見かけるのですが
このときAとBは何か特別なものなんですか?

561 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 08:39:53 ]
>>560
void xxx(int yyy)
{
...;
}
ならば、古いスタイルで
void xxx(yyy)
int yyy;
{
...;
}
となるがそのことだろうか。
それならばプロトタイプ宣言のなかった時代の名残だ。

562 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 10:34:29 ]
Borland C Compilerのエラーメッセージについて詳しく解説している
『bcc32_messages』というファイルがあるのですが(中には数百のHTMLが
入っていて、エラーと警告1つ1つに細かい説明が書かれている)、どなたか
これの英語版がどこにあるかご存じないでしょうか?

563 名前:デフォルトの名無しさん mailto:sage [2006/04/21(金) 23:47:15 ]
COMMAND getCommand(char *c)
{
       int i, j, k, l, len;
       char comtmp[128], fileNametmp[128], comExtmp[128];
       COMMAND command;

       len = strlen(c);
       for(i=0; i<len+1; i++){
             if(c[i] == '-'){
                     for(j=0; c[i]!='\0'; j++){
                            i++;
                            if(c[i] == '@'){
                                   comtmp[j] = '\0';
                                   for(k=0; c[i]!='\0'; k++){
                                          i++;
/*printf("\nc[%d] = %c\n", i, c[i]);*/
                                          if(c[i] == '>'){
/*printf("\n>>in\n");*/
                                                 for(l=0; c[i]!='\0'; l++){
                                                        i++;
                                                        comExtmp[l] = c[i];
printf("\nc[%d] = %c\n", i, c[i]);
                                                 }
                                          }

564 名前:デフォルトの名無しさん mailto:sage [2006/04/21(金) 23:48:36 ]
                                          if(c[i] == '\0'){
                                                 comExtmp[k] = '\0';
                                                 command.com = malloc(sizeof(char)*(strlen(comtmp)+1));
                                                 command.fileName = malloc(sizeof(char)*(strlen(fileNametmp)+1));
                                                 command.comEx = malloc(sizeof(char)*(strlen(comExtmp)+1));
                                                 strcpy(command.com, comtmp);
                                                 strcpy(command.fileName, fileNametmp);
                                                 strcpy(command.comEx, comExtmp);

                                                 return command;
                                          }
                                          fileNametmp[k] = c[i];
                                   }
                            }else if(c[i]!='\0'){
                                   comtmp[j] = c[i];
                            }
                     }
              }else if(c[i]=='\0'){
                     break;
              }


565 名前:デフォルトの名無しさん mailto:sage [2006/04/21(金) 23:52:41 ]
       }

       command.com = NULL;
       command.fileName = NULL;
       command.comEx = NULL;

       return command;
}

質問です。
このプログラム、-xxxxxx@yyyyyy>zzzzzz  (x, y, z は不定)
という文字列から command.com = xxxxxx
            command.fileName = yyyyyy
            command.comEx = zzzzzzz
に文字列を分けて入れるプログラムです。
printfが変なところに3つあるのはデバッグのためなのですが、上から3つ目のprintfをコメントアウトするとバグが起こり、
コメントアウトしないでprintf出力するとバグが起こりません。なぜでしょうか?

-insert@123.bmp>rgb と入力した時、fileNameにstrlen()で文字列数を調べたところ、
3番目のprintf()をコメントアウトしなかった場合、7文字と正確に入っていて。
コメントアウトした場合、11文字とでます。
コンパイラーはbccの5.5で、windowsXPを使用しています。

Σ( ゜д゜)うわ
プログラム超見づらい。
すみません;;

566 名前:542 mailto:sage [2006/04/22(土) 00:08:46 ]
ほら、皆間違えるw




567 名前:デフォルトの名無しさん mailto:sage [2006/04/22(土) 18:37:12 ]
実行ファイル(***.exe)の作成の仕方がわからないのですが…。

568 名前:デフォルトの名無しさん mailto:sage [2006/04/23(日) 15:38:33 ]
>567
一行目に
#!/bin/sh
って書いて
chmod +x
してから、ファイル名に.exeをつけるだけだよ。


569 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 21:47:48 ]
今日はじめてc言語のテキストを買いました。
初心者です。
コンパイル時?に
インクルードファイル ’stdio.h’をおーぷんできない
とエラーメッセージが出てきました

テキスト読んでもわかりません
解決方法があれば教えてください

570 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 22:20:47 ]
>>569
きちんとインストールしたか?
特にBorland C++ならbcc32.cfgなど。

571 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 22:41:25 ]
>>570
どもです
cfgファイルを作ったんですが
コンフィグレーションファイル中の オプションの間違い と
難しいですね

572 名前:デフォルトの名無しさん [2006/04/28(金) 07:22:00 ]
コンパイルするとstudio.hが見つからないと出るのですが、バグですか?


573 名前:デフォルトの名無しさん [2006/04/28(金) 07:29:26 ]
stdio.hだよ。studioじゃない。

574 名前:デフォルトの名無しさん [2006/04/28(金) 11:15:51 ]
stdioがスタンダードI/Oだって知らないのかな

575 名前:デフォルトの名無しさん [2006/04/28(金) 17:05:46 ]
Cmachineと言うフリーソフト持っている方いませんか?
公開終了してたので・・・orz
持ってる方うpお願いします…

576 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 17:08:37 ]
>>575
C のスレと間違うならまだしも、まるっきりスレ違い。
阿呆は帰れ。



577 名前:575 [2006/04/28(金) 17:19:26 ]
>>576
書き忘れましたが、C言語のソフトです・・・
あほですいません・・・orz

578 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 21:19:52 ]
初心者で本当にすみません
scanf関数を使っていたときに、パラメータに"&"を付け忘れました
俺のPCはあぼーんですか?

579 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 21:30:13 ]
>>578
心配なら再起動しろ。

580 名前:578 mailto:sage [2006/04/28(金) 23:13:51 ]
>>579
ありがとうございます。
さっき電源落としたんで、後で立ち上げてみます。
授業でscanf習った時に先生に死ぬほど脅されてたんで正直ガクブルです

581 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 00:34:50 ]
ワロタ

582 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 01:04:58 ]
-|"c:\Borland\Bcc55\include"
-L"c:\Borland\Bcc55\lib"
bcc32.cfg

コンフィグレーションファイル中の オプション間違い:-|"c:\Borland\Bcc55\include"
というエラーが出てしまいます

どうすればいいでしょうか?
教えてください。

583 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 02:22:18 ]
|とIが区別出来るフォントを使えばいいと思うよ

584 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 12:16:12 ]
>>583
ホントですか?
半角入力にですか。

テキストでは |とl の区別がなく書いてあるのでわかりずらいです。


585 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 12:28:03 ]
>>583
ありがとうございました
|とiの違いですね。

586 名前:デフォルトの名無しさん mailto:sage [2006/04/29(土) 15:13:16 ]
warota



587 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 11:27:23 ]
>>580
死ぬほど脅すくらいなら、最初っから教えなきゃいいのになぁ。

588 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 13:47:17 ]
LSI C-86 Ver.3.30 試食版のことでお尋ねします、OSはWindows2000です
エスケープシーケンスを使いたいと思ってなんとか使えるようにはなりました。
しかし、カーソルを全角用の2文字分の長い方に変えるのはどうやってやったらいいでしょうか


589 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 15:34:00 ]
↑同じ質問を違うスレでしていますが、いろいろ試行錯誤した結果での話です
決してマルチをしようとしたつもりはございません
何なら無視して頂いてもかまいません

590 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 16:20:17 ]
それ以前にスレ違いだ。
>>1を読んでいないことがバレバレだぞ。

591 名前:デフォルトの名無しさん [2006/05/08(月) 16:23:18 ]
>>1よりもスレタイが重要だと思う。

592 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 17:36:16 ]
だから間違えたって言ってるだろ

593 名前:デフォルトの名無しさん mailto:sage [2006/05/08(月) 20:57:59 ]
ttp://cgi.2chan.net/up2/src/f137696.txt

このコードをCygwinでコンパイルした結果
$ gcc -o client client.c
client.c: In function `main':
client.c:14: error: storage size of `server_adrs' isn't known

とエラー吐かれたのですが、修正方法が分かりません
修正方法教えていただけませんか?

594 名前:593 mailto:sage [2006/05/08(月) 22:09:10 ]
すいません、ソースURL間違えてました
ttp://namihei.zone.ne.jp/upup/up/56166.txt
です、お願いします

595 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 11:45:14 ]
>>593
だから激しくスレ違いなんだってばさ。
書き込む前に>1を読むとか直前の数レスを眺めるってこともできないのか?
cygwinスレかネットワークスレ辺りで聞いて味噌。

596 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 20:49:10 ]
スペースで区切られた文字列を分割する関数を作ります。

・連続するスペースはひとつの区切りとしない
・スペースがない場合は全ての文字列を返す
・頭や後ろにつくスペースは無視
・返す文字列がない場合はNULLを返す
・初期値の文字列はNULLを引数に与えている間に変更されないもとする
・#include<string.h>は使わない

ですが、さっぱりわかりません。
どうか教えてください。



597 名前:596 [2006/05/09(火) 20:57:45 ]
引数は( char * , const char * )です。
第1引数は区切られた文字列の格納先
第2引数はスペースで区切られた文字列(次の文字列を探す時はNULLを指定)
です。

598 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 20:59:26 ]
宿題なら宿題のスレッドへ行くが吉。

599 名前:デフォルトの名無しさん [2006/05/10(水) 00:11:15 ]
#include <stdio.h>
main(){
float x=0.0;
double xx=0.0;
long i,n=100000;
for(i=1;i<=n;i++){
x=x+1/(float)(i*i);
xx=xx+1/(double)(i*i);
}
printf("from 1/1^2 to 1/%d^2, x(dbl)=%f, x(flt)=%lf\n",n,xx,x);

x=0.0;
xx=0,0;
for(i=n;i>=1;i--){
x=x+1/(float)(i*i);
xx=xx+1/(double)(i*i);
}
printf("from 1/%d^2 to 1/1^2, x(dbl)=%f, x(flt)=%lf\n",n,xx,x);
}
1/1^2+1/2^2+・・・+1/100000^2を計算するプログラムを作成せよという問題で、1/1から加えたときと1/100000から加えたときとそれぞれフロートとダブル型の4パーターン
比較する課題なんですが、実行するとバグってしまします。このプログラムのどこおかしいですか?コンパイラはborlandgccです





600 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:16:41 ]
>>599
まずおかしいのはスレッドの選び方。ここはC♯のスレッドです。
次におかしいのは日本語。パーターンってなんです?
またおかしいのはコミュニケーション能力。バグってしまうだけでは何も通じません。
更におかしいのはコンパイラ。borlandなのかgccなのかはっきりなさい。


601 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:18:13 ]
>>600
すげー眠いのでもうだめです。今日はねます。すいませんでした

602 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:18:31 ]
>>599
>>595は見えてますか?

603 名前:デフォルトの名無しさん [2006/05/10(水) 00:23:46 ]
ここをC言語のスレとして扱っちゃ駄目なのか?
>>599
iが65536以上の時、i*iは32ビットでは表現できないので、オーバーフローしているんだろう。
(double)(i*i)の代わりに(double)i*iとすればいい。

604 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:31:29 ]
>>603
動作するようになりましたが、結果がおかしくなりました


605 名前:デフォルトの名無しさん [2006/05/10(水) 00:54:51 ]
>>604
ごめん、括弧が要る。
((double)i*i)

606 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 00:57:38 ]
>>603
>ここをC言語のスレとして扱っちゃ駄目なのか?
じゃ、重複スレなわけね。



607 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 01:01:02 ]
そういうことになるな。

608 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 13:23:27 ]
じゃ削除だね

609 名前:デフォルトの名無しさん mailto:sage [2006/05/10(水) 15:33:33 ]
そういえば3月・4月のスレ削除依頼がまだ処理されてないな。

610 名前:デフォルトの名無しさん [2006/06/03(土) 01:37:14 ]
f (x) = cos (x) - x2 = 0 の根のうち、0 < x < 1 を満たすものを2分法で求める  
初期値 a, b が入力でき、 6桁推定された解と関数 f (x) を呼びだした回数を出力する方法を教えてください。  


611 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 11:03:53 ]
>>610
細かな調整は勝手にやれ
#include <iostream>
using namespace std;

double f(double x){
double fx;
fx = cos(x) - x*x ;
return fx ;
}

double bisection(double a, double b,double (*)(double),int prc);
int main(){
double a,b;
double k;
cout << " a : " ;
cin >> a ;
cout << " b : " ;
cin >> b ;
k = bisection(a,b, f,100);
cout<<"cos(x) - x^2 := " << f(k) << " at " << k << endl;
return 0;
}
(2分法は次)

612 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 11:04:35 ]
続き

double bisection(double a, double b, double (*func)(double ),int prc){
if (func(a)*func(b) >= 0) return a; //意味ないし a で十分w
double up, lo , m;
if( func(a) > func(b) ){ up = a; lo = b ;}
else { up = b ; lo = a; }

double workprod;
int workint ;
int counter=0;

while(1){
m= (up + lo)/2;
workprod = func(m);
workint = ((int)(workprod * 1000000)); // /100.0;
if(workint==0){
cout << "counter value = "<< counter <<endl;
return m;
}
if(workint > 0) up=m;
if(workint < 0) lo=m;
counter++;
if (counter > 20000) break;
}
return 0.0;
}



613 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 19:55:14 ]
>>611-612
1.宿題に答えるのはスレ違い
2.>>1も読めないカスは失せろ

614 名前:デフォルトの名無しさん mailto:sage [2006/06/03(土) 23:02:06 ]
>>613
1?
笑わせるなヨ
ここは元々利用価値のないクズスレ
悔しかったら削除依頼出して来いヤw

612も読めねえクズが

615 名前:デフォルトの名無しさん [2006/06/03(土) 23:14:16 ]
カススレ晒しage

616 名前:デフォルトの名無しさん [2006/06/03(土) 23:20:45 ]
すいません、初心者なのですがdupという関数について教えてください。
openしたファイルポインタAをdupで複製?した場合というのはAをclose
すれば複製したファイルポインタもcloseされるのでしょうか?
dupの認識が違っていたらすいません



617 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 01:27:25 ]
単利計算と複利計算を行うプログラムについて、質問させてください。
環境はWindowsXP.VS.NET2003。Win32コンソールアプリケーションです。
void main()
{
float a,r,c;/*r:金利c:複利*/
int i,y,method; /*預ける年数*/
printf("いくら預けますか?");
scanf("%lf",&a);
printf("何年間預けますか?");
scanf("%d",&y);
printf("運用方法を設定してください。単利なら0,複利なら1を入力してください。");
scanf("%d",&method);
if(method==0){
printf("金利はいくら(%%)ですか?");
scanf("%f",&r);
for(i=1;i<=y;i++){
a +=a*(r/100);
}
printf("元本は%f円になります\n",a);
}
else if(method==1){
printf("複利はいくら(%%)ですか?");
scanf("%f",&c);
for(i=1;i<=y;i++){
a = a*(1+r/100);
}
printf("元本は%f円になります\n",a);
}
else printf("終了します。\n");
}
ですが、いざ元本を出そうとすると、Stack around the variable 'a' was corrupted.
と表示されてしまいます。お力添えの程出来たらよろしくお願いいたします。

618 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 10:03:00 ]
>>617
> scanf("%lf",&a);
scanf系において%lfはdobuleを意味する。

floatを使う必要なんてない。全部doubleでいい。
そもそもお金が絡むのに浮動小数点数を使ってよいのかという問題もあるが。
void main()を使う必要もない。int main()でいい。

619 名前:デフォルトの名無しさん mailto:sage [2006/06/04(日) 21:18:38 ]
>>618
ありがとうございました。
単利の計算が間違っていた(複利と一緒だったorz)。
ので直しましたが、それ以外はうまくいきました。

小数点以下は二桁まで取ることにしました。
ありがとうございました。

620 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 09:02:45 ]
scanf("%d",&r);
scanf("%d",&h);
A=ff (r,h);
ff=f2;
V=ff (r,h);
printf ("表面積=%f 体積=%f",A,V);
return 0;
}(後は省略)

この問題でhとrをよみこみたいんですけど
こういうふうに書くとどんな数字を読み込んでも答えが0になって
しまうんですけどどこが間違ってますかね・
ちなみにscanfのかわりにh=1とかって定義すればしっかり値はでます。

621 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 09:03:58 ]
すいません途中しかコピペしてませんでした。こんな感じです
#include <stdio.h>
#define PAI 3.14159
double a,b,r,h,A,V;
double f1 (double r2,double h2);
double f2 (double r2,double h2);
main(void)
{

double (*ff)(double r2,double h2);


ff=f1;
scanf("%d",&r);
scanf("%d",&h);
A=ff (r,h);
ff=f2;
V=ff (r,h);
printf ("表面積=%f 体積=%f",A,V);
return 0;
}


622 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 09:14:35 ]
うはぁ、突込みどころが満載だ。
・doubleで計算したいならPAIは精度が足りない。
・そもそもPAIってなんだよw
・変数は極力グローバルに置かない方がいい。
・f1()とf2()が外部にあるなら、宣言はインクルードファイルで行なう方がいい。
・関数名は特別な理由でもない限り、中身が判る名前にしよう。
・main()の戻り値型は書くべき。
・実験的にやってみたいだけなら止めないが、関数ポインタを使う必然性がない。
・scanf()で型指定子を%dにするならint *を渡す必要がある。
・逆に、double *を渡したいなら型指定子は%lfだ。
・そもそもここはC♯の立て損なったネタスレだ。

623 名前:デフォルトの名無しさん mailto:sage [2006/06/29(木) 09:19:13 ]
ほんと、ごめんなさい
でも解決しました><

624 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 00:23:44 ]
愚かな俺に教えて下さいまし、みなさま・・・

BYTE byData = 0x0f;
byData = byData << 4;
  (VC .net SP 適用なし)

これ実行すると byData が 0 になる。
3 ビットシフトだとちゃんと 0x78 になるのに・・・。

なぜだぁぁぁぁぁ!!

625 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 00:47:36 ]
>>624
自己解決

VC .net のシンボルウォッチのバグですた・・・
おぃおぃ、VC6 から劣化してどーすんのよ MSさん〜〜orz

626 名前:デフォルトの名無しさん mailto:sage [2006/07/19(水) 05:49:05 ]
2つ整数を入力して商と剰余を求めるんですが・・・
20-6=14 14-6=8 8-6=2 3回引いたので商が3、剰余は2、というふうに求めろ、という問題です。
商は4、剰余4と出てしまいます。
#include <stdio.h>
void main(void)
{
int a,b,c,d,e,f;
printf("2個の正の整数を入力\n");
scanf("%d %d",&a,&b);
if (b>=a)
{
c=b;
b=a;
a=c;
}

d=a-b;
e=1;
while (d>=0)
{
d=d-b;
e=e+1;
}
printf("商%d 剰余%d",e,d);
}



627 名前:デフォルトの名無しさん [2006/07/19(水) 07:17:44 ]
d>=0だったら一回余分に計算しちまいますね・・・
自己解決しました。スレ汚しすんません。

628 名前:デフォルトの名無しさん [2006/08/15(火) 08:13:19 ]
巨大な乱数ファイルの後ろから1文字ずつ消していき、
ファイルサイズを2GByteにすることってできますか?
ファイルサイズを取得するまではいけたのですが、
1文字ずつ消す方法がわかりません。
消す方法はありませんか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<239KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef