visual studio 2013でC言語を用いてヒープの学習をしています。
初心者なのでわかりやすく教えていただけると幸いです。
学習を進めるうえでexitが使えずに進めることができなくなってしまいました。
どうすればよいのでしょうか
下のエラーが出ます
error C3861: 'exit': 識別子が見つかりませんでした
IntelliSense: 識別子 "exit" が定義されていません
C
1#pragma warning(disable: 4996) 2 3#include <stdio.h> 4 5#define MAX_N 65535 6#define NUM 20000 7 8 9void swap(int data[], int v, int w) 10{ 11 int tmp; 12 13 tmp = data[v]; 14 data[v] = data[w]; 15 data[w] = tmp; 16} 17 18void downheap(int *data, int v, int n) 19{ 20 int w; 21 22 if (v > (n / 2)) return; /*子ノードを持たないノードであれば何もしない*/ 23 24 w = 2 * v; 25 if (w + 1 <= n && data[w] < data[w + 1]) w++; 26 27 if (data[v] < data[w]){ 28 swap(data,v,w); 29 downheap(data,w,n); 30 } 31} 32 33int main(int argc, char *argv[]){ 34 int data[MAX_N],*p; 35 int n, i = 1, j; 36 FILE *fp; /*読み込み用のファイルポインタ*/ 37 38 p = data + 1; 39 40 /*引数チェック*/ 41 if (argc != 2){ /*引数が1つでなければエラー終了*/ 42 fprintf(stderr, "Usage: %s <data-file>\n", argv[0]); 43 exit(1); 44 } 45 46 /*ファイルオープン&エラー処理*/ 47 if ((fp = fopen(argv[1], "r")) == NULL){ 48 fprintf(stderr, "File not found: %s\n", argv[1]); 49 exit(1); 50 } 51 52 /*fファイルからのデータ読み込み*/ 53 while (fscanf(fp, "%d",p++) != EOF) i++; 54 n = i - 1; 55 56 /*printf ("before heap...\n"); */ 57 58 for (i = n / 2; i >= 1; i--){ 59 swap(data, 1, i); 60 downheap(data, 1, i - 1); 61 } 62 63 /* printf("after sort...\n");*/ 64 return 0; 65}
回答3件
あなたの回答
tips
プレビュー