
A 回答 (4件)
- 最新から表示
- 回答順に表示

No.4
- 回答日時:
直接の原因かどうかは、入力ファイルが提示されていないので、判りませんが、危ないところを指摘しておきます。
while(fscanf(fp2,"%d",&i) != EOF){
cw[i]++; ・・・iは0<=Nの範囲内でないと、メモリ破壊を起こします。
そのチェックがされていません。
for (c = 1; c <=ww ; c++){ ・・・wwはN以内でないといけないが、Nを越えている可能性があります。
fprintf(fp1,"%d ",rw[c]);
}
1.上記の2点で、もし、正常範囲を逸脱したら、画面にその内容を表示して、プログラムを停止するように、してください。
2.もし、1で停止した場合は、iとwwを正常範囲に強引に書き換えて、継続するように、プログラムを修正してください。
No.1
- 回答日時:
ソースコードを見せてください。
この回答への補足
ソースコードです。
ちなみにSolarisでは問題なかったです。
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
int i,m,ww,temp,c,rm,cm,rmt,cmt;
int N;
int *rw,*cw;
FILE *fp1,*fp2;
N=atoi(argv[1]);
rw = (int*)malloc(sizeof(int)*(N+1));
cw = (int*)malloc(sizeof(int)*(N+1));
for (m = 0; m <= N; m++){
rw[m]=cw[m]=0 ;
}
temp=0;
ww=1;
if ((fp2 = fopen("test.txt","r")) == NULL){
exit(-1);
}
while(fscanf(fp2,"%d",&i) != EOF){
cw[i]++;
if(temp<i){rw[ww]=rw[ww]+1;}
if(temp>=i){ww++;rw[ww]=rw[ww]+1;}
temp=i;
}
fclose(fp2);
rm=rw[1];
for (m = 2; m <= ww; m++){rmt=rw[m];
if(rm<rmt){rm=rmt;}
}
cm=cw[1];
for (m = 2; m <= N; m++){cmt=cw[m];
if(cm<cmt){cm=cmt;}
}
fp1 = fopen("result.txt","w");
fprintf(fp1,"%d %d\n",N,ww);
fprintf(fp1,"%d %d\n",rm,cm);
for (c = 1; c <=ww ; c++){
fprintf(fp1,"%d ",rw[c]);
}
fprintf(fp1,"\n");
for (c = 1; c <=N ; c++){
fprintf(fp1,"%d ",cw[c]);
}
fprintf(fp1,"\n");
fclose(fp1);
return (0);
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
分割コンパイルの#defineについて
-
この問題のファイルを読み込ん...
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
csvファイルを開かずに文字を検...
-
SGファイルって何ですか?
-
C言語について
-
FileOpen 関数で既にファイル...
-
graph.hない。
-
バイナリーデータをCSV変換して...
-
mmap()を使ったファイルへの書...
-
バッチで118項目のCSVを処理し...
-
XMLのメリット デメリットを教...
-
ハッシュの計算時間について
-
テキストファイルの最終行を削...
-
どんなプログラムを書いても指...
-
コンパイルするときに、ファイ...
-
C言語を用いたファイルの一括削...
-
バッファとは何ですか
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
VB.NETによるプロセス間通信
-
営業秘密の漏洩について
-
Thunderbirdでemlファイルを開...
-
ドラッグアンドドロップでファ...
-
CSVファイルへの保存の際、デー...
-
バッチで118項目のCSVを処理し...
-
SGファイルって何ですか?
-
ファイルの結合
-
分割コンパイルの#defineについて
-
VBAにてEXCEL以外のファイル(テ...
-
2つのCSVファイルの比較
-
ShellExecuteEx→WaitForSingleO...
-
VBに、Cのincludeのようなもの...
-
RPGでファイル名(もしくはレコ...
-
マウスポインタの変更
-
Excelマクロでの再読込み方法
-
関数の呼び方について
おすすめ情報