C++程序运行后,出现好多error C2143: 语法错误 : 缺少“)”(在“常量”的前面)两种错误
还有errorC2143:语法错误:缺少“;”(在“常量”的前面)、errorC2059:语法错误:“)”、errorC2447:“{”:缺少函数标题(是否是老式的形式表...
还有error C2143: 语法错误 : 缺少“;”(在“常量”的前面) 、error C2059: 语法错误 : “)”、error C2447: “{”: 缺少函数标题(是否是老式的形式表?)这两种错误
展开
4个回答
2013-04-01
展开全部
那个我把代码改了一下, 不影响程序的逻辑,只是把一些常规错误比如多个符号,或者符号错误之类的
然后还有一个跟程序有关的错误,这个只有写这个程序的人才知道这是这个错误怎么解决,虽然我也可以解决,但是带麻烦了,所以你自己看看那个错误怎么解决把!
#include<iostream>
#include <cstdlib>
#include <ctime>
#define N 50
using namespace std;
void InsertSort(int r[])
{ int x=0,y=0;
for(int i=1;i<N;i++)
{
int s=r[i];
int low=0;
int high=i-1;
x++;
while(low <= high)
{
int mid=(low+high)/2;
x++;
if(s < r[mid])
{
high=mid-1;
y++;
}
else
{
low=mid+1;
y++;
}
}
for(int j=i-1;j>=high+1;i++,j--)
{
r[j+1]=r[j];
y++;
}
r[high+1]=s;
y++;
}
cout<<"插入排序:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
void BubbleSort(int r[] )
{ int x=0,y=0;
for(int i=0;i<N-1;i++)
{
for(int j=0;j<N-1-i;j++)
{ i++;
if(r[j]>r[j+1])
{
int temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
y+=3;
}
}
}
cout<<"冒泡法:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
void ShellSort(int r[] )
{
int step=N/2;
int x=0,y=0;
while(step >= 1)
{
for(int i=step;i<N;i+=step)
{
for(int j=i-step,s=r[i];s<r[j] && j>=0;j-=step,x++)
{
r[j+step]=r[j];
y++;
}
r[j+step]=s;
y++;
}
step/=2;
}
cout<<"希尔排序:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
void SelectSort(int r[] )
{
int x=0,y=0;
for(int i=0;i<N-1;i++)
{
int s=i;
for(int j=i+1;j<N;j++)
{
if(r[s] > r[j])
{
x++;
s=j;
}
}
if(small_loc != i)
{
int temp=r[i];
r[i]=r[s];
r[s]=temp;
y+=3;
}
}
cout<<"选择排序:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
int Partition(int r[],int low,int high,int d[])
{
int pivotkey=r[low];
int i=low;
int j=high;
while(i<j)
{
while(i<j && r[j]>pivotkey) {
j--;d[0]++;
}
if(i<j){
r[i]=r[j];i++;d[1]++;
}
while(i<j && r[i]<pivotkey) {
i++;d[0]++;
}
if(i<j){
r[j]=r[i];j--;d[1]++;
}
}
r[j]=pivotkey;d[1]++;
return j;
}
void QuickSort(int r[],int low,int high,int d[])
{
if(low<high)
{
int pivot=Partition(r,low,high,d);
QuickSort(r,low,pivot-1,d);
QuickSort(r,pivot+1,high,d);
}
cout<<"快速排序:";
cout<<endl<<"共进行比较"<<d[0]<<"次,进行交换"<<d[1]<<"次"<<endl<<"***************************"<<endl;
}
int main()
{
int a[N];int d[2];
srand((unsigned)time(NULL));
a[N]=rand();
InsertSort(a);
BubbleSort(a);
ShellSort(a);
SelectSort(a);
QuickSort(a,0,N,d);
return 0;
}
然后还有一个跟程序有关的错误,这个只有写这个程序的人才知道这是这个错误怎么解决,虽然我也可以解决,但是带麻烦了,所以你自己看看那个错误怎么解决把!
#include<iostream>
#include <cstdlib>
#include <ctime>
#define N 50
using namespace std;
void InsertSort(int r[])
{ int x=0,y=0;
for(int i=1;i<N;i++)
{
int s=r[i];
int low=0;
int high=i-1;
x++;
while(low <= high)
{
int mid=(low+high)/2;
x++;
if(s < r[mid])
{
high=mid-1;
y++;
}
else
{
low=mid+1;
y++;
}
}
for(int j=i-1;j>=high+1;i++,j--)
{
r[j+1]=r[j];
y++;
}
r[high+1]=s;
y++;
}
cout<<"插入排序:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
void BubbleSort(int r[] )
{ int x=0,y=0;
for(int i=0;i<N-1;i++)
{
for(int j=0;j<N-1-i;j++)
{ i++;
if(r[j]>r[j+1])
{
int temp=r[j];
r[j]=r[j+1];
r[j+1]=temp;
y+=3;
}
}
}
cout<<"冒泡法:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
void ShellSort(int r[] )
{
int step=N/2;
int x=0,y=0;
while(step >= 1)
{
for(int i=step;i<N;i+=step)
{
for(int j=i-step,s=r[i];s<r[j] && j>=0;j-=step,x++)
{
r[j+step]=r[j];
y++;
}
r[j+step]=s;
y++;
}
step/=2;
}
cout<<"希尔排序:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
void SelectSort(int r[] )
{
int x=0,y=0;
for(int i=0;i<N-1;i++)
{
int s=i;
for(int j=i+1;j<N;j++)
{
if(r[s] > r[j])
{
x++;
s=j;
}
}
if(small_loc != i)
{
int temp=r[i];
r[i]=r[s];
r[s]=temp;
y+=3;
}
}
cout<<"选择排序:";
cout<<endl<<"共进行比较"<<x<<"次,进行交换"<<y<<"次"<<endl<<"***************************"<<endl;
}
int Partition(int r[],int low,int high,int d[])
{
int pivotkey=r[low];
int i=low;
int j=high;
while(i<j)
{
while(i<j && r[j]>pivotkey) {
j--;d[0]++;
}
if(i<j){
r[i]=r[j];i++;d[1]++;
}
while(i<j && r[i]<pivotkey) {
i++;d[0]++;
}
if(i<j){
r[j]=r[i];j--;d[1]++;
}
}
r[j]=pivotkey;d[1]++;
return j;
}
void QuickSort(int r[],int low,int high,int d[])
{
if(low<high)
{
int pivot=Partition(r,low,high,d);
QuickSort(r,low,pivot-1,d);
QuickSort(r,pivot+1,high,d);
}
cout<<"快速排序:";
cout<<endl<<"共进行比较"<<d[0]<<"次,进行交换"<<d[1]<<"次"<<endl<<"***************************"<<endl;
}
int main()
{
int a[N];int d[2];
srand((unsigned)time(NULL));
a[N]=rand();
InsertSort(a);
BubbleSort(a);
ShellSort(a);
SelectSort(a);
QuickSort(a,0,N,d);
return 0;
}
展开全部
建议你下一个插件,这种错就是符号不对称导致的,有插件看对称会明了一些
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样的就是静态编译下你的语法有问题,类似于语句后没有分号,括号不匹配等,就是这些问题,再遇到可以把代码贴上我可以告诉你具体问题,要学会看这些错误提示并会调试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-04-01
展开全部
你不如把源代码发出来大家分析一下,看你这错误提示,应该是括号不对称,也就是少了括号,或者少了分号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询