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


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

C言語なら俺に聞け(入門篇) Part 27



1 名前:デフォルトの名無しさん [2008/04/29(火) 09:44:57 ]
言語の入門者向け解説スレです。
・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 26
pc11.2ch.net/test/read.cgi/tech/1206196600/
過去スレ
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++の宿題を片付けます 105代目
pc11.2ch.net/test/read.cgi/tech/1208268461/


596 名前:584 mailto:sage [2008/05/11(日) 21:13:39 ]
>>595
了解しました。
なにからなにまでありがとうございます。

597 名前:584 mailto:sage [2008/05/11(日) 21:24:18 ]
>>595
すみません、もうひとつ。

今解読中なのですが、理解の手助けに
・処理の流れ
・このプログラムの入力と、出力値
など、簡単に教えていただけませんか?
本当の初心者ですみません。

598 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 21:26:57 ]
HTMLの使用も理解できない馬鹿がいる。

599 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 21:31:20 ]
>>598
それを言うならHTMLの仕様だろ、と。
まぁ、変数宣言の変数名を揃えようとする辺りでお察しだから。

600 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 21:34:46 ]
灯台や鏡台の先生からは sed の使い方とかは習わなかったんでしょうかね?

601 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 21:50:09 ]
>>597
自分がどういうプログラム要求したか覚えてる・・?
見ていくと何となく流れがつかめるでしょ
どこまで理解したか言わないと答え丸写しで理解した気になる子になるよ

初心者≠免罪符

602 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 22:39:49 ]
(っ´▽`)っ
/*
*戻り値:
*エラーなし:0
*エラーあり:エラーがある行番号(見出し行を除く)
*/
int existInMaster(void)
{
  int    returnCode = -1; /*戻り値*/
  FILE  *fp = NULL; /*ファイルポインタ*/
  char  line[1024]; /*ファイル読み込みバッファ*/
  int    lineCount = 0; /*行番号*/
  shohinMaster *sm = NULL; /*商品マスタ配列*/

  /*以下、売上ファイルレコード格納用変数*/
  char  shohinCode[256]; /*商品コード*/
  char  kokyakuCode[256]; /*顧客コード*/
  int    suryo; /*数量*/

  int    count = 0; /*商品マスタ配列サイズ*/
  int    i; /*ループカウンタ*/

  /*商品コードマスタを全て読み込み、商品マスタ配列に格納する*/
  fp = fopen("./商品コードマスタ.csv", "r");
  fgets(line, sizeof(line), fp);  /*1行目は見出し*/
  while(fgets(line, sizeof(line), fp) != NULL){
    sm = (shohinMaster *)realloc(sm, sizeof(sm[0]) * (count + 1));
    sscanf(line, "%[^,],%[^,],%d", sm[count].shohinCode, sm[count].shohinName, &(sm[count].tanka));
    count++;
  }
  fclose(fp);


603 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 22:40:30 ]
  /*商品マスタ配列を商品コードの昇順に並べる*/
  qsort(sm, count, sizeof(sm[0]), cmp);
  /*売上ファイルを1行ずつ読み込み、商品コードを商品マスタ配列と照合する*/
  fp = fopen("./売上ファイル.csv", "r");
  fgets(line, sizeof(line), fp);  /*1行目は見出し*/
  while(fgets(line, sizeof(line), fp) != NULL){
    lineCount++;
    sscanf(line, "%[^,],%[^,],%d", kokyakuCode, shohinCode, &suryo);
    for(i = 0; i < count; i++){
      if(strcmp(sm[i].shohinCode, shohinCode) == 0){
        break;
      }
      /*商品マスタ配列は商品コードの昇順に並べている*/
      if(strcmp(sm[i].shohinCode, shohinCode) > 0){
        returnCode = lineCount;
        goto END;
      }
    }
    /*商品マスタ配列にない場合、行番号を返す*/
    if(i == count){
      returnCode = lineCount;
      goto END;
    }
  }
END:
  return returnCode;
}
/*商品マスタ配列を並べる時、商品コードの昇順に並ぶようにする*/
int cmp(const void *elem1, const void *elem2){
  return strcmp(((shohinMaster *)elem1)->shohinCode, ((shohinMaster *)elem2)->shohinCode);
}


604 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 22:44:43 ]
>>597
(っ´▽`)っ>>602-603
これで満足か?



605 名前:側近中の側近 ◆0351148456 [2008/05/11(日) 22:52:56 ]
(っ´▽`)っ
売上ファイルも商品コードの昇順に並べると
もっといい感じになるかもね。

606 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 23:32:17 ]
次の様に、単語毎に空白で区切られた文字列があり、一単語ずつ取ってくる処理を
行いたいと考えてます。文字列の中に入っている単語数は不定とします。

char str_str[] = "str1 str2 ・・・・ strN";


今現在、次に書き込むソースの様な処理で、一つずつ単語を読み込んでいます。
ここで、質問なのですが、sscanf等を使用してもっと上手に処理することはできないでしょうか?
以下の様にダミー変数を利用する方法は考えたのですが、入っている単語数が不定
なため、どうも不恰好なソースになってしまいます。

sscanf(str_str,"%s %s %s %s %s",str1, str2, str3, dummy, dummy);

すいませんが、アドバイスよろしくお願いします。


607 名前:606 mailto:sage [2008/05/11(日) 23:33:02 ]
現在使っているソースコードは以下になります。
int main(void)
{
char src_str[]="str1 str2 str3 str4 str5";
char *next;
char *buff=src_str;

while((next=strsplit(buff, " "))!=NULL){
// 空白文字が2個以上続いた場合はbuffにはナル文字が入っている
if(buff[0] != '\0')
fprintf(stderr, "buff=%s, next=%s\n",buff, next);

buff=next;
}
return 0;
}

// 文字列をdelimstrを区切り文字列として分割し、区切後の文字列へのポインタを返す
char *strsplit(char* str,const char* delim_str)
{
char* delim_point = strstr(str,delim_str);
const size_t delim_len = strlen(delim_str);
size_t i;

if(delim_point == NULL) return NULL;
else {
*delim_point = '\0';
for(i=0;i<delim_len;i++) delim_point++;
}
return delim_point;
}


608 名前:606 mailto:sage [2008/05/11(日) 23:35:17 ]
すいません、書き込んだ後、インデントがされてないのに気がついつきました。同じソースですが
int main(void)
{
  char src_str[]="str1 str2 str3 str4 str5";
  char *next;
  char *buff=src_str;

  while((next=strsplit(buff, " "))!=NULL){
  // 空白文字が2個以上続いた場合はbuffにはナル文字が入っている
    if(buff[0] != '\0')
      fprintf(stderr, "buff=%s, next=%s\n",buff, next);

    buff=next;
  }

  return 0;
}

// 文字列をdelimstrを区切り文字列として分割し、区切後の文字列へのポインタを返す
char *strsplit(char* str,const char* delim_str)
{
  char* delim_point = strstr(str,delim_str);
  const size_t delim_len = strlen(delim_str);
  size_t i;

  if(delim_point == NULL) return NULL;
  else {
    *delim_point = '\0';
    for(i=0;i<delim_len;i++) delim_point++;
  }
  return delim_point;
}

609 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 23:38:06 ]
なんというstrtok

610 名前:デフォルトの名無しさん mailto:sage [2008/05/11(日) 23:38:19 ]
>>608
sscanf(str, "%s%n", ...)

611 名前:606 mailto:sage [2008/05/11(日) 23:40:42 ]
 実際に処理をしている部分は冗長になってしまうため、以下のコードが
入っている部分で、処理を実施していると考えてください。

fprintf(stderr, "buff=%s, next=%s\n",buff, next);


 また、src_strの内容が変わってしまう点は仕様として、その様にしてます。
よろしくお願いします。

612 名前:606 mailto:sage [2008/05/11(日) 23:59:40 ]
>609
 確かに、この処理内容だと、strtokで十分ですね・・・。文字列群で区切るstrでは
不便な事が多く、strsplitという文字列パターンで区切る関数を作成しており、何も考えず
そのまま使用していました。ご指摘ありがとうございます。

>610
 すいません、その処理はダミー変数を利用する方法とは異なる方法なのでしょうか?
つまり、下記の様な処理とは別の処理ということなのでしょうか?

sscanf(str_str,"%s %s %s %s %s",str1, str2, str3, dummy, dummy);




613 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:39:57 ]
rand関数は合同乗算法ですか?

614 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:42:50 ]
仕様上特に決まってない。

最近は lagged Fibonacci なこともあるようだ。



615 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:45:03 ]
>>613
どういう方法でなければならないという規定はない。
現実には線形合同法がよく使われている。

616 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:48:45 ]
>>613
大概そうですよ

617 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:50:38 ]
>>614-615
レスありがとうございます。

c言語で書くと
a[i+1]=a[i]*j%10*10*10*10
で良いのですか?(a[i+1]=j*a[i] (mod10^4))

618 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:54:19 ]
数学板から飛んできたか
a[i+1]=a[i]*j%(10*10*10*10)
というか
a[i+1]=a[i]*j%10000
でいいんじゃないのか

619 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:55:54 ]
すみません質問を変えます。
0から1の範囲の乱数を合同乗算法で書くにはどのように書けばいいですか?

>>618 ばれたか・・・正直kingはウザイと思っています。

620 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:58:13 ]
数学板でも思ったんだが、前の質問に答えてもらってるのに、
それに何の反応もせずに「質問を変えます」はないだろ。社会常識的な意味で。

621 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 00:59:29 ]
>>620
すみません・・・

622 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:00:11 ]
整数の 0〜(n-1) の乱数を発生させて
double にキャストして n で割ればいいんじゃない

623 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:02:03 ]
>>622
レスありがとうございます
a=rand()/(RAND_MAX+1.0);
としてもいいのですが>>618さんの方法で書くことはできませんか?

624 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:04:35 ]
a[i+1]=a[i]*j%10000;
b[i+1]=a[i+1]/(10000.0);



625 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:32:58 ]
>>624 ありがとうございます
一応書いてみたのですがエラーが出てしまいます
どこがおかしいですか?ちなみに円周率を求めるプログラムです
#include <stdio.h>
int main(void)
{
double i,max;
double x,y,pi;
int a[1000],j;
double b;
double c=0,d=0;
max=100;
a[0]=9454;
j=9456;
for(i=0;i<=max;i++) {
a[i+1]=a[i]*j%10000;/*ここでエラーが出ます。*/
b[i+1]=a[i+1]/(10000.0);
if((b[i+1]*b[i+1]+b[i]*b[i])<=1.0) {
c+=1.0;

}
else{
d+=1;
}

}
pi=4*c/(c+d);

printf("%f\n",pi);

return 0;
}

626 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:36:24 ]
数字を渡したら曜日を表示する関数を作ったのですが、関数内に
char youbi[7][] = {"日曜日", "月曜日",....}
と書きました。
これだと関数が呼ばれるたびに変数を作って文字列を入れてることになりますよね?
頻繁に呼ぶ関数にこういうことすると速度などに悪い影響ありますか?

627 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:36:32 ]
double i

628 名前:626 mailto:sage [2008/05/12(月) 01:37:21 ]
すみません訂正します。
char youbi[][7] です。

629 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:38:28 ]
>625
iをintで宣言すること。

>626
ある場合もあるし、無い場合もあるが、大抵の場合気にするほどの差ではない。

630 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:38:30 ]
&はアンパサンドだけど
|はなんていうんだっけ?
なかなか検索ひっかからないんだよね

631 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:39:40 ]
>>627
そうですね・・・すみません
でも、 配列または、ポインタでない変数に添字が使われました。とエラーがでます・・・
どこを直せばよいですか?


632 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:39:53 ]
パイプ

633 名前:626 mailto:sage [2008/05/12(月) 01:41:06 ]
>>629
ありがとうございます
気にしないことにします

634 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:41:24 ]
>>631
そこまでエラーメッセージ読んでてわからないほうがどうかしてる



635 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:42:22 ]
>>631
それくらいコンパイラが懇切丁寧に教えてくれてるだろうに無視すんなよ
頼むからエラーをこぴぺしてくれ

636 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:42:39 ]
>631
配列でもポインタでもないものに添え字が使われたから。あとは行番号を見ること。

念のために言っておくが添え字とは[?]の部分のこと。

637 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:43:07 ]
>631
double b;


638 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:44:55 ]
せめてエラーメッセージの意味を考えることくらいはしてほしいよまったく
ただのcharの配列にしか過ぎないのかっての

639 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:45:36 ]
>>634
あ、bを配列で宣言するのを忘れてました・・・
ありがとうございます
やっぱりプログラムは苦手だなあ

数学板の回答者に戻ります

640 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 01:46:40 ]
オーバーフロー・・・

641 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 02:46:41 ]
数学板ってあんなんでも回答側になれんの?

642 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 05:18:50 ]
わざわざ自称している時点で…

643 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 06:01:05 ]
↓聖徳太子知ってる?知らない?

644 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 06:28:38 ]
乗算合同法や線形合同法の利点ってメモリ使わないことなのに、
配列に保存してどうすんだよw



645 名前: mailto:sage [2008/05/12(月) 06:56:00 ]
ttp://jp.youtube.com/watch?v=RIL28wqOQGA

646 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 07:36:33 ]
>>626
staticを付けるといい。
ついでにconstも付けるとさらにいい。

647 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 07:49:12 ]
>>612
%nの仕様は調べた?

>>626
static const char * const youbi[] = {"sunday", "monday", ...}

648 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 09:15:06 ]
リテラル参照はこっちのほうがいいかも?
char *youbi[7] = {"日曜日", "月曜日",....}

好みの問題ですかねぇ・・・

649 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 11:15:18 ]
>>648
それだと毎回youbiを更新するコストが発生するし、constによる保護ができない。
ついでに言えば、態々7という定数を埋め込む意義が全くない。

650 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 12:37:55 ]
確かにスタックに積む場合にはその分の手間がかかるけど、staticのほうがデータ参照は遅くなるんじゃないかったっけ?

651 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 12:44:16 ]
const だけつけとけばコンパイラが何とかしてくれそうな気がするんですがどうなんですか?

652 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 12:50:33 ]
抽象的な質問しないで、具体的に質問してくれ。
つーか、入門者がパフォーマンスを気にするな。

653 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 13:07:40 ]
曜日文字列を使うような関数が、パフォーマンス気にするほど頻繁に呼ばれてるとは思えないねぇ
そうだとしても実測してみなきゃわかんないしね

654 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 13:11:25 ]
>>653
もし頻繁に呼んでるとしたら、いっそ廃止して
その上の(おそらくループの本体がある)関数で文字列をautoに積んで
インラインで処理させたほうが速いだろうね



655 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 13:19:00 ]
>>629で終わった話をいつまでグダグダやってるんだ

656 名前:デフォルトの名無しさん [2008/05/12(月) 13:22:59 ]
TEST.Cをコマンドプロンプトで指名してコンパイルする時、拡張子が.Cだとコンパイルできなくて.cだとコンパイルできたんだけど、.Cと.cって違うの?

657 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 13:26:35 ]
>>656
少なくともそのコンパイラにとっては違うからコンパイルできなかったのだろう。

658 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:05:58 ]
ファイル名の指定を間違ってたんじゃないの
ファイル名の大文字小文字を区別する環境としない環境があるから、それも書いてくれ

659 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:16:09 ]
Sun辺りは.CはC++の拡張子だった希ガス。

660 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:24:22 ]
上の
static const char * const youbi[]
って何でconst2つも付けるのかが分からないんですが
static const char * youbi[] じゃあダメなんですか?

あと、普通の変数でも
static const int const とかやる必要はあるんですか?

661 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:30:52 ]
static const char *youbi[]
youbiの先の文字列が書き換え不可能

static char * const youbi[]
youbiが書き換え不可能

static const char * const youbi[]
両方

662 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:36:31 ]
static const char *youbi[]
 は "火曜日" って文字列を "火曜"

663 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:38:16 ]
途中で書いてしまった

static const char *youbi[]
 は "火曜日" って文字列を "火曜" に変えたりするのが不可能で
static char * const youbi[]
 は youbi[1] に別の文字列のポインタを渡すのが不可能になる

って事なんですか?

664 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 15:54:23 ]
const char *youbi[] は
const char 型のポインタ(文字列定数)を入れる youbi配列で、新たに文字列定数のポインタを入れることは出来て、
char * const youbi[] は
youbiの中のポインタ変数固定だから、文字列そのものは書き変えられてもポインタの指す先は変えられないって事なんですね

やっと理解出来ました
ありがとうございます



665 名前:デフォルトの名無しさん [2008/05/12(月) 16:40:42 ]
#include<stdio.h>
double f(double x)
{
double y;
y=(((3.1*x-1.8)*x+5.7)*x+1.0)*x-6.2;
return (y);
}
main()
{
double x,y;
int i;
for(i=-20;i<=20;i++){
x=0.5*i;
y=f(x);
printf("x=%7.3f y=%12.3f\n",x,y);
}
}
このプログラムのyの値の総和を計算するプログラムを作れ。
これをだれかお願いします。


666 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 16:42:08 ]
>>665
わかりましたちょっとまっててください

667 名前:デフォルトの名無しさん [2008/05/12(月) 16:46:32 ]
>>657  なるほど〜 コンパイラの仕様か〜
>>658  指定の仕方は大丈夫なはず コンパイラはMinGW これでいいのかな?
>>659  Sunってコンパイラ名・・? コンパイラによって違うってこと?

668 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 16:55:13 ]
宿題丸投げは宿題スレへ

669 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 17:15:43 ]
>>667
>>659  Sunってコンパイラ名・・? コンパイラによって違うってこと?
Javaを開発し、OpenOfficeを提供している世界最大級のコンピュータソフト・ハード兼業企業。
古くから、SunOSというUnix系のOSを作っている。

670 名前:デフォルトの名無しさん [2008/05/12(月) 17:55:41 ]
あ〜 なるほど OSによって違うってことか〜
勉強になりました

671 名前:デフォルトの名無しさん [2008/05/12(月) 19:47:16 ]
配列に配列を足すことってできないの?
a += b; みたいな

672 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 19:58:27 ]
Linux上では問題なく動作したのですが、
windows(BCC Developer)だと、ファイルをオープンする事ができなくなりました
ファイルパスを絶対パスにしたりと、試行錯誤しましたが解決しません
どうか、解決法をお願いします

ソース
void read_area(struct prefecture *are)
{
   int i;
   FILE  *fpa;  
   if(( fpa = fopen("menseki.txt" , "rw")) == NULL)  
   {
      printf("ファイルが見つかりませんでした\n");
      exit(1);                                      
   }
   for(i=0;i<47;i++)
   {
     fscanf(fpa,"%s %d",are->name,&are->area);
     are++;
   }
}

txtファイルは、Debugフォルダとその上のファルダに置いています

673 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:00:38 ]
>>672
ソースファイルと同じ場所に置けばいけるはずだけど

674 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:01:55 ]
exeと同じ場所



675 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:05:20 ]
>>673
日本語読めますか?

>>672
それが原因かどうかは判らんが、"rw"は間違い。
実装によってはファイルが空になってもおかしくない。

>>671
できません。配列の要素ごとの足し算ならループから書くことになります。
配列の連結と言うことなら、malloc(), realloc()を使うことになるのでその辺りを先ず勉強する必要あり。

676 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:06:59 ]
>>671
それだけの日本語ではさっぱりですよ。
たぶんこういうこと?
for ( int i = 0; i < SIZE; i++ ) {
a[ i ] += b[ i ];
}

677 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:07:58 ]
>>673-674
ファイルの置き場所に問題があるのかと思い、ソースがある場所を含め、
プログラムに関係ありそうなフォルダ全てに置いたのですが、解決しませんでした…

これは、BCCの環境設定?を変更・追加する必要があるのでしょうか?

>>675
Linuxで動いたのは運が良かったからかもしれません…
指摘していただいた点について、もう一度解決法を探してみます


678 名前:677 mailto:sage [2008/05/12(月) 20:16:39 ]
"rw"を"r"にした所、正常に動作しました!
よく考えてみれば、書き込みする必要がないので、"w"は不要ですね…

>>673-675
つまらない質問にも関わらず、素早い対応して頂き、
本当にありがとうございます

679 名前:デフォルトの名無しさん [2008/05/12(月) 20:27:05 ]
>>676
そうだけど

構造体のときは不便だなって思った

680 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:28:31 ]
そう思ったんならC++へ旅立ってしまえ

681 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 20:54:06 ]
>>679
そんなのラッパー関数かいときゃ次からは楽じゃないか。

682 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 21:25:44 ]
>>641
なれるよ
数学なんて実に簡単なことだ

683 名前:デフォルトの名無しさん [2008/05/12(月) 22:34:04 ]
C言語勉強したいのですがフリーソフトはないんでしょうか?

684 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:34:47 ]
>>683
ぐぐれ



685 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:39:47 ]
>>683
マイクロソフトが無料で配布してるよ

686 名前:デフォルトの名無しさん [2008/05/12(月) 22:52:43 ]
www.microsoft.com/japan/msdn/vstudio/express/default.aspx
これですか?どれをダウンロードすればいいんでしょうか

687 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:53:37 ]
>>686
visualC++だ
そしてとっととうせろ

688 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 22:54:42 ]
>>686
登録とかめんどくさいからBCC使うといいよ
俺はvisual C++使ってるけど

689 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:01:50 ]
BCC もメルアド登録必要じゃね?

690 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:02:36 ]
デバッガは登録必要だったような気がするけど
コンパイラは要らなかったような…

691 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:03:17 ]
>>689
いらない

692 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:06:20 ]
あれ? メルアド変わるまでスパムのように来てたんだが。

693 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:12:22 ]
VC++も登録いらんだろ
isoを落とせば

694 名前:デフォルトの名無しさん mailto:sage [2008/05/12(月) 23:13:13 ]
それめんどい



695 名前:デフォルトの名無しさん [2008/05/13(火) 08:04:28 ]
C++のプログラム作ろうと思ったらVBの作成画面みたいなんですけど
単純にC言語のプログラムを作りたい時はどうしたらいいんですか?

696 名前:デフォルトの名無しさん mailto:sage [2008/05/13(火) 08:08:04 ]
>>695
お使いのソフトウェアのスレへどうぞ。






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

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

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