01/10/2018, 00:37

Sữa lỗi giúp e với , chèn phần tử bị lỗi

// 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 ("
Mang vua nhap la :
");
	for (i=0; i <n ; i++)
	{
		printf ("%5d", arr[i]);
	}
	//xoa phan tu
	int phantuxoa;
	int j;
	printf ("
Nhap 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 ("
Mang sau khi xoa phan tu can xoa la: 
");
	for (i=0;i<n;i++)
	{
	printf ("%5d",arr[i]);
	}
	printf ("
");
	//nhap gia tri vao phan tu can chen
	int vitri;
	int giatri;
	printf ("Nhap vao phan tu can chen:
");
	scanf ("%d",&giatri);
	printf ("nhap vao vi tri can chen:
");
	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 ("
Mang sau khi chen phan tu la : 
" );
	for (i=0;i<n+1; i++)
	printf ("%5d",arr[i]);
	
}
viết 02:37 ngày 01/10/2018

Mình thấy dòng 60: for (j<n+1;j=i;j--) lạ quá :D, j < n + 1 là sao bạn?

Đào Thành Đạt viết 02:41 ngày 01/10/2018

thế là mình sai chỗ đấy hả bạn

pơ phếc viết 02:45 ngày 01/10/2018

chèn mình nghĩ dùng code như sau là ok

Đào Thành Đạt viết 02:53 ngày 01/10/2018

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

pơ phếc viết 02:41 ngày 01/10/2018

ý mình nói là phần vòng lặp for thôi

Người bí ẩn viết 02:50 ngày 01/10/2018

for (j<n+1;j=i;j–)

Cái câu for này tào lao rồi

viết 02:46 ngày 01/10/2018

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!

Đào Thành Đạt viết 02:44 ngày 01/10/2018

e sửa đc lỗi r a , e cảm ơn a hihe

Đào Thành Đạt viết 02:48 ngày 01/10/2018

e cảm ơn a, e đã sửa đc

Đào Thành Đạt viết 02:53 ngày 01/10/2018

à vâng , e sửa đc r a

Bài liên quan
0