Viết chương trình xuất mảng sau khi đã xóa các số chính phương .

on Thursday, January 1, 2015
Viết chương trình xuất mảng sau khi đã xóa các số chính phương .



#include < stdio.h>
#include < conio.h>
#include< math.h>
#define MAX 100


void NhapMang(int[], int &);
void XuatMang(int[], int);
int KiTuCuoiCung(int[], int, int);

void NhapMang(int a[], int &n)
{
for (int i = 0; i < n; i++)
{
printf("\nNhap vao a[%d] = ", i);
scanf("%d", &a[i]);
}
}

void XuatMang(int a[], int n)
{
for (int i = 0; i < n; i++)
{
printf("%4d", a[i]);
}
}

void XoaPTMang(int a[], int &n, int vitri){
for (int i = vitri; i < n; i++){
a[i] = a[i + 1];
}
n--;
}


bool KTChinhPhuong(int n){
float x = sqrt((float)n);
int y = x;
if (y == x) return true;
return false;
}

void XoaSoCP(int a[], int &n){
for (int i = 0; i < n; i++){
if (KTChinhPhuong(a[i]) == true){
XoaPTMang(a, n, i);
i--;
}
}
}

int main()
{
int a[MAX], n, k, pos;

// Nhập vào số lượng phần tử của mảng.
do{
printf("\nNhap vao so luong phan tu cua mang: ");
scanf("%d", &n);

if (n < 0 || n > MAX)
{
printf("\nSo luong phan tu khong hop le. Xin kiem tra lai !");
}
} while (n < 0 || n > MAX);

NhapMang(a, n);
XuatMang(a, n);
XoaSoCP(a, n);

printf("Mang luc sau la \n");
XuatMang(a, n);

getch();
return 0;
}

0 comments:

Post a Comment