Yêu cầu:
– Chèn phần tử X vào vị trí đầu của mảng 1 chiều.
Thuật toán:
– Để chèn phần tử vào mảng, chúng ta thực hiện phép dồn: A[i+1] = A[i]. Phép dồn phần tử được thực hiện đến vị trí k cần chèn giá trị mới. Gán A[k] = X.
Code:
/************************************************************ * Author: VNCODING * History * 2014/10/27 first create VNCODING *************************************************************/ #include <stdio.h> #include <conio.h> #include <math.h> #define N 100 void import_arr(int A[], int n); void print_arr(int A[], int n); void insert_first_arr(int A[], int* n, int x); void main() { int A[N]; int n; do { printf("\nNhap n = "); scanf("%d", &n); }while(n <= 0 || n >= N); import_arr(A, n); insert_first_arr(A, &n, 5); printf("\nMang sau khi chen"); print_arr(A, n); getch(); } void import_arr(int A[], int n) { int i; for(i = 0; i < n; i++) { printf("\nA[%d] = ", i); scanf("%d", &A[i]); } } void insert_first_arr(int A[], int* n, int x) { int i; for(i = *n - 1; i >= 0; i--) { A[i+1] = A[i]; } A[0] = x; (*n)++; } void print_arr(int A[], int n) { int i; printf("\n========================="); for(i = 0; i < n; i++) { printf("\nA[%d] = %d", i, A[i]); } printf("\n========================="); }
Kết quả:
Nhap n = 5 A[0] = 9 A[1] = 0 A[2] = -8 A[3] = 5 A[4] = 3 Mang sau khi chen ========================= A[0] = 5 A[1] = 9 A[2] = 0 A[3] = -8 A[4] = 5 A[5] = 3 =========================
Leave a Reply
You must be logged in to post a comment.