前提・実現したいこと
プログラミング初心者です。
学校の授業の実習で、乱数を発生させたのち挿入ソートを行って整列させるプログラミングを扱いました。
paiza.ioにて実行したのですが、エラーメッセージはなく、画面上部に以下のような文章が表示されます。
発生している問題・エラーメッセージ
Runtime error(Exit status:139(Invalid memory reference))
該当のソースコード
C
1#include <stdio.h> 2#include <stdlib.h> 3int BubSort(int x[ ], int n); 4void ShowData(int x[ ], int n); 5 6#define NUM_DATA 100 7int count = 0; 8 9 /* 挿入ソート */ 10int InsertionSort(int a[ ], int n) 11{ 12 int i, j; 13 14 for (i=1; i<n; i++){ 15 int tmp = a[i]; 16 for (j=i; j>0&&a[j-1]>tmp; j--) 17 a[j]=a[j-1]; 18 a[j]=tmp; 19 } 20 /* ソートの途中経過を表示 */ 21 ShowData(a, NUM_DATA); 22 printf("\n"); 23} 24 25 /* ソート対象のデータを表示 */ 26void ShowData(int x[ ], int n) 27{ 28 int i; 29 30 for (i = 0; i < n ; i++){ 31 printf("%d\t", x[i]); 32 } 33} 34 35int main(void) 36{ 37 38 int i; 39 int x[100]; 40 for (i=0; i<150; i++){ 41 x[i]=rand()%99+1; 42 } 43 44 /* ソート前のデータを表示 */ 45 printf("ソート前:\n"); 46 ShowData(x, NUM_DATA); 47 printf("\n\n"); 48 49 InsertionSort(x, NUM_DATA); 50 51 /* ソート後のデータを表示 */ 52 printf("\n\nソート後:\n"); 53 ShowData(x, NUM_DATA); 54 55 printf("交換回数"); 56 printf("\n\n%d\n", count); 57 58 return 0; 59 60} 61 62
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/10/03 14:44
2018/10/03 14:56 編集
2018/10/03 15:06