Untitled
unknown
plain_text
3 years ago
1.5 kB
2
Indexable
Never
#include<stdio.h> #include<stdlib.h> void NhapMang(int* a, int n) { for (int i = 0; i < n; i++) { printf("\na[%d]= ", i); scanf_s("%d", &a[i]); } } void XuatMang(int* a, int n) { for (int i = 0; i < n; i++) { printf("%4d", a[i]); } printf("\n"); } void XoaPhanTu(int*& a, int &n, int vitrixoa) { for (int i = vitrixoa + 1; i < n; i++) { a[i - 1] = a[i]; } n--; a = (int*)realloc(a, n * sizeof(int*)); } void ThemPhanTu(int*& a, int& n, int vitrithem, int phantuthem) { a = (int*)realloc(a, (n + 1) * sizeof(int)); for (int i = n - 1; i >= vitrithem; i++) { a[i + 1] = a[i]; } a[vitrithem] = phantuthem; n++; } void XoaPhanTuTrong1Khoang(int*& a, int &n, int chisox, int chisoy) // xóa phần tử từ vị trí x đến vị trí y-1. { if (chisox > chisoy) { printf("\ngia tri khong hop le, vui long kiem tra lai !"); exit(0); } int h = chisoy - chisox; // h là hiệu của chỉ số y trừ cho chỉ số x. for (int i = chisoy; i < n; i++) { a[i - h] = a[i]; } n -= h; a = (int*)realloc(a, n * sizeof(int*)); } int main() { int n; printf("\nnhap vao so luong phan tu cua mang: "); scanf_s("%d", &n); int* a = (int*)malloc(n*sizeof(int)); NhapMang(a, n); XuatMang(a, n); /*XoaPhanTu(a, n, 3); XuatMang(a, n);*/ XoaPhanTuTrong1Khoang(a, n, 1, 3); printf("\nmang sau khi xoa phan tu 1 den 3 la: "); XuatMang(a, n); printf("\n%d %d", a[4], a[5]); free (a); return 0; }