/*title: Ct nhap mang,in mang,tim max,tim min,in so nguyen to,dem so nguyen to
tong so nguyen to, trung binh cong cac so nguyen to,tong phan tu chan chia het cho 3
trung binh cong cac phan tu le,tong so chinh phuog,liet ke so chinh phuong
sap xep mang theo thu tu tang,kiem tra mang doi xung */
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
#include"math.h"
void taomang(int A[100],int n)
{
randomize();
for(int i=0;i<n;i++)
A[i]=random(100);
}
void inmang(int A[100],int n)
{
for(int i=0;i<n;i++)
printf("%3d",A[i]);
}
int max(int A[100],int n)
{
int max=A[0];
for(int i=1;i<n;i++)
if(max<A[i])
max=A[i];
return max;
}
int min(int A[100],int n)
{
int min=A[0];
for(int i=1;i<n;i++)
if(min>A[i])
min=A[i];
return min;
}
int ktnt(int n)
{
for(int i=2;i<n;i++)
if(n%i==0)
return 0;
return 1;
}
void insnt(int A[100],int n)
{
for(int i=0;i<n;i++)
if(A[i]>0 && ktnt(A[i])==1)
printf("%3d",A[i]);
}
float dem(int A[100],int n)
{
float dem=0;
for(int i=0;i<n;i++)
if(A[i]>0 && ktnt(A[i])==1)
++dem;
return dem;
}
float tongsnt(int A[100],int n)
{
float t=0;
for(int i=0;i<n;i++)
if(A[i]>0 && ktnt(A[i])==1)
t=t+A[i];
return t;
}
void tbc(int A[100],int n)
{
printf("%f",tongsnt(A,n)/dem(A,n));
}
int tongchan(int A[100],int n)
{
int t=0;
for(int i=0;i<n;i++)
if(A[i]>0 && A[i]%2==0 && A[i]%3==0)
t=t+A[i];
return t;
}
float tongle(int A[100],int n)
{
float dem=0;
float t=0;
for(int i=0;i<n;i++)
if(A[i]>0 && A[i]%2!=0)
{
++dem;
t=t+A[i];
}
return t/dem;
}
int ktcp(int n)
{
int j=1;
while(j*j<n)
++j;
if(j*j==n)
return 1;
return 0;
}
int tongcp(int A[100],int n)
{
int t=0;
for(int i=0;i<n;i++)
if(A[i]>0 && ktcp(A[i])==1)
t=t+A[i];
return t;
}
void lietke(int A[100],int n)
{
for(int i=0;i<n;i++)
if(A[i]>0 && ktcp(A[i])==1)
printf("%3d",A[i]);
}
void sapxep(int A[100],int n)
{
int tamp;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
if(A[i]>A[j])
{
tamp=A[i];
A[i]=A[j];
A[j]=tamp;
}
}
int ktdx(int A[100],int n)
{
for(int i=0;i<n/2;i++)
if(A[i]!=A[n-1-i])
return 0;
return 1;
}
void menu(void)
{
clrscr();
printf("****************************************** \n\n");
printf(" menu tui tu lam do \n\n");
printf("****************************************** \n\n");
printf("1. nhap mang \n");
printf("2. in mang \n");
printf("3. tim max \n");
printf("4. tim min \n");
printf("5. in so nguyen to \n");
printf("6. dem so nguyen to \n");
printf("7. tong snt \n");
printf("8. tbc cac so nguyen to \n");
printf("9. tong phan tu chan chia het cho 3 \n");
printf("10.tbc cac phan tu le \n");
printf("11.tong so chinh phuog \n");
printf("12.liet ke so chinh phuong \n");
printf("13.sap xep tang \n");
printf("14.kiem tra doi xung \n");
printf("15.thoat \n");
}
void main(void)
{
int A[100],n,chon;
do{ menu();
printf("Moi chon 1 trong cac chuc nang tren \n");
printf("Moi thac mac xin lien he
atoanpr0@deptrai.com\n");
scanf("%d",&chon);
switch(chon){
case 1: printf("nhap n:");
scanf("%d",&n);
taomang(A,n);
break;
case 2: inmang(A,n);
getch();
break;
case 3: printf("%d",max(A,n));
getch();
break;
case 4: printf("%d",min(A,n));
getch();
break;
case 5: insnt(A,n);
getch();
break;
case 6: printf("%f",dem(A,n));
getch();
break;
case 7: printf("%f",tongsnt(A,n));
getch();
break;
case 8: tbc(A,n);
getch();
break;
case 9: printf("%d",tongchan(A,n));
getch();
break;
case 10:printf("%d",tongle(A,n));
getch();
break;
case 11:printf("%d",tongcp(A,n));
getch();
break;
case 12:lietke(A,n);
getch();
break;
case 13:sapxep(A,n);
break;
case 14:printf("%d",ktdx(A,n));
getch();
break;
case 15:exit(0);
}
}while(chon>0 && chon <16);
getch();
}