int nho(int a[],int n)
{
int min=a[1],vt=0;
for(int i=1;i<=n;i++)
{
if(a[i]<min) {min=a[i];vt=i;}
}
return vt;
}
void xoa(int a[],int &n,int vt)
{
vt=nho(a,n);
for(int i=vt;i<=n;i++)
{
a[i]=a[i+1];
}
n--;
}
Tìm lỗi sai của chương trình con xóa phẩn tử nhỏ nhất trong xâu
chương trình không hoàn thiện , chả có lỗi gì để tìm cả
Tại sao là a[1]
mà không phải a[0]
? Chỉ số phần tử của mảng bắt dầu từ mấy?
Bạn thấy gì bất ổn không? Sao lại i<=n
rồi i+1
sẽ truy xuất phần tử bao nhiêu khi i = n
?
2 Likes