
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- HTML・CSS HTMLエディタBracketsの文字化け 3 2022/04/28 14:50
- 画像編集・動画編集・音楽編集 inkscapeで作成した図の保存の仕方とその保存したファイルの編集の仕方 1 2022/09/22 09:33
- Google Drive 【Googleドライブ】ドライブ上内でのフォルダ移行について 4 2022/11/30 12:50
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- HTML・CSS docxをmht形式で保存したファイルをedgeで開くと文字化けする 1 2022/07/29 13:14
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
動画処理のライブラリについて
-
分割コンパイルの#defineについて
-
ファイル名の先頭にアンダース...
-
csvファイルを開かずに文字を検...
-
テキストファイルの最終行を削...
-
ASP .NETでファイル選択ダイア...
-
バッチで118項目のCSVを処理し...
-
iniファイルに追記がしたいです。
-
バッチシステムの処理時間
-
cvSnakeImageのエネルギー表示...
-
識別子の外部結合について
-
ファイルの結合
-
XMLファイルの表示について
-
ドラッグアンドドロップでファ...
-
【C#】リソースファイルの埋め...
-
「VBScript」ADODB.Streamにお...
-
VB.NETのサンプルコードが知りたい
-
C#で、フォームのタイトル名を...
-
VBAにてEXCEL以外のファイル(テ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語初心者の質問失礼します。
-
dataファイルをxtxファイルにす...
-
csvファイルを開かずに文字を検...
-
ファイル名の先頭にアンダース...
-
CSVファイルへの保存の際、デー...
-
グローバル変数のよくない使い...
-
バッチで118項目のCSVを処理し...
-
テキストファイルの最終行を削...
-
VBAにてEXCEL以外のファイル(テ...
-
VBに、Cのincludeのようなもの...
-
分割コンパイルの#defineについて
-
RPGでファイル名(もしくはレコ...
-
SGファイルって何ですか?
-
マウスポインタの変更
-
Excelマクロでの再読込み方法
-
【C#】リソースファイルの埋め...
-
ダイアログボックスで複数フォ...
-
C言語のfopenについて教えてく...
-
ドラッグアンドドロップでファ...
-
「VBScript」ADODB.Streamにお...
おすすめ情報