30/09/2018, 21:00

Chèn 1 số vào mảng trong C

Mọi người giải thích cho em ý nghĩa đoan code mà em đánh dấu với ạ, suy nghĩ hoài mà không biết nó như thế nào cả.

#include<stdio.h>
#include<conio.h>
int a[100], b[100];
void main()
{
	int i,j, n,k,x;
	printf("nhap so phan tu cua mang: ");
	scanf("%d", &n);
	for (i = 0; i < n; i++)
	{
		printf("a[%d]=", i + 1);
		scanf("%d", &a[i]);
	}
	printf("mang da nhap la: 
");
	for (i=0;i < n;i++)
	{
		printf(" %d ", a[i]);
	}
	printf("
nhap vi tri muon chen k=");
	scanf("%d", &k);
	printf("gia tri cua phan tu, x=");
	scanf("%d", &x);
	for (i=0; i < k-1;i++) 
	{
		b[i]=a[i];
	}
	b[k-1]=x;
/*???	for (j=i; j < n ;j++) 
	{
		k++;
		b[k-1]=a[j];
	}
	for (i = 0; i < n + 1; i++)
	{
		a[i] = b[i];
	}
	printf("mang sau khi chen them la:
");
	for (i = 0; i < n + 1; i++) 
		printf(" %d ", a[i]);      ??????*/
	getch();
}
invi viết 23:02 ngày 30/09/2018
  • Tạo 2 mảng a, b chứa tối đa 100 phần tử
  • Nhập giá trị mảng a rồi in ra;
  • Nhập vị trí muốn chèn k và giá trị chèn x
  • a[0] đến a[k-2] gán sang b[0] đến b[k-2]
  • Gán b[k-1] = x; // gán x vào vị trí thứ k
  • a[k-1] tới a[n] gán sang b[k] đến b[n+1] // n+1 vì đã chèn thêm 1 phần tử x tại b[k-1]
  • Gán lại mảng b trả về mảng a
  • In ra mảng a
Chính viết 23:01 ngày 30/09/2018

Cảm ơn bác, em đã hiểu rồi

Bài liên quan
0