Untitled
unknown
plain_text
4 years ago
1.5 kB
8
Indexable
#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;
}Editor is loading...