// viet ct nhap vao mang gom n so nguyen , xuât mang vua nhap ra man hinh , nhap vao phan tu can xoa
#include <stdio.h>
int main ()
{
int arr [100];
int n,i,a, dem =0;
printf ("Nhap so phan tu mang:");
scanf ("%d",&n);
for ( i= 0; i <n; i++)
{
printf ("Nhap phan tu thu %d :",i);
scanf ("%d",&arr[i]);
}
printf ("\nMang vua nhap la :\n");
for (i=0; i <n ; i++)
{
printf ("%5d", arr[i]);
}
//xoa phan tu
int phantuxoa;
int j;
printf ("\nNhap phan tu can xoa :");
scanf ("%d",&phantuxoa);
for ( i=0 ; i <n ; i++ )
{
while (arr[i]==phantuxoa)
{
if (i==n-1)
{
n--;
break ;
}
else
{
for (int j=i;j<n-1;j++)
arr[j]=arr[j+1];
n--;
}
}
}
printf ("\nMang sau khi xoa phan tu can xoa la: \n");
for (i=0;i<n;i++)
{
printf ("%5d",arr[i]);
}
printf ("\n");
//nhap gia tri vao phan tu can chen
int vitri;
int giatri;
printf ("Nhap vao phan tu can chen:\n");
scanf ("%d",&giatri);
printf ("nhap vao vi tri can chen:\n");
scanf ("%d",&vitri);
n++;
for (i=0;i<n;i++)
{
if (i==vitri)
{
for (j<n+1;j=i;j--)
arr[i]=arr[j-1];
arr[i] = giatri;
break;
}
}
printf ("\nMang sau khi chen phan tu la : \n" );
for (i=0;i<n+1; i++)
printf ("%5d",arr[i]);
}
Sửa code chèn phần tử bị lỗi
Mình thấy dòng 60: for (j<n+1;j=i;j--)
lạ quá :D, j < n + 1
là sao bạn?
1 Like
thế là mình sai chỗ đấy hả bạn
cảm ơn a …code của a e còn khó hiểu 1 tí , vì e chỉ mới học C cơ bản a
1 Like
ý mình nói là phần vòng lặp for thôi
1 Like
Cái câu for này tào lao rồi
2 Likes
Cấu trúc một vòng for:
for (init; condition; increment ) {
statement(s);
}
init: là giá trị khởi đầu, bước này được thực hiện trước.
condition: điều kiện để vòng lặp xảy ra.
increment/decrement: bước này cập nhật giá trị của biến.
Chỗ j<n+1
là điều kiện.
Chúc bạn học tốt!
1 Like
e sửa đc lỗi r a , e cảm ơn a hihe
e cảm ơn a, e đã sửa đc
à vâng , e sửa đc r a
1 Like