私は次のエラーを持っている - エラーを見つけるために私を助けてください:不当なエラーソート
9 IntelliSense: expected a '}' 70 4
それは、コードの末尾にポイント - しかし、どこでも{何のオープンはありません!なぜ??
8 IntelliSense: expected a ';' 57 1
これは{void mainの後に置かれますが、なぜ置きますか?ボイド主の後??
Error 7 error C1075: end of file found before the left brace '{' at 70 1
コードのbeginigを指し示す - なぜ???
ここ#include <stdio.h>
#include <stdlib.h>
void merge(int *a,int p,int q,int r)
{
int i=p,j=q+1,k=0;
int* temp=(int*)calloc(r-p+1, sizeof(int));
while ((i<=q)&& (j<=r))
if(a[i]<a[j])
temp[k++]=a[i++];
else
temp[k++]=a[j++];
while(j<=r) // if(i>q)
temp[k++]=a[j++];
while(i<=q) // j>r
temp[k++]=a[i++];
for(i=p,k=0;i<=r;i++,k++) // copy temp[] to a[]
a[i]=temp[k];
free(temp);
}
void merge_sort(int *a,int first, int last)
{
int middle;
if(first < last)
{
middle=(first+last)/2;
merge_sort(a,first,middle);
merge_sort(a,middle+1,last);
merge(a,first,middle,last);
{
}
void main()
{
int a[] = {9, 7, 2, 3, 5, 4, 1, 8, 6, 10};
int i;
merge_sort(a, 0, 9);
for (i = 0; i < 10; i++)
printf ("%d ", a[i]);
常に中カッコを使用して、これらのようなエラーを自分で入れてください。あなたはこれがコンパイル時のエラーであることは幸いです。 –
おそらくあなたのコードをインデントするエディタを使用しますか? –
なぜあなたは問題の悪いコードを変更しましたか?それは明らかに問題が何であったか、そして今あなたは基本的にQとAsを無関係にしています。それを元に戻し、説明を保留しています。 – paxdiablo