Tải bản đầy đủ (.docx) (70 trang)

toàn bộ các bài tập về lập trình nhúng căn bản, nto, cp, chan,le,max, min,chèn, xóa,tách với mảng 1 chiều....

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (89.96 KB, 70 trang )

#include <stdio.h>
#include <conio.h>

//============ nhap mang ============
void nhap(int a[],int n)
{
int i;
for(i=0;i{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
}

}
//============ xuat mang =============================
void xuat(int a[],int n)
{
int i;
for(i=0;iprintf("\t %d",a[i]);
}

//============== ham kiem tra so chan le ===============
int ktchan_le(int n)
{


if(n%2==0)
return 1;
return -1;
}


//=========== ham tim so chan nho nhat ==============
int chan_min(int a[],int n)
{
int i,chan_min,dem = 0;
for(i=0;iif(ktchan_le(a[i])==1)
{
chan_min = a[i];
dem++;
}
for(i=0;i{
if((ktchan_le(a[i])==1)&&(a[i]chan_min = a[i];
}
if(dem != 0)
printf("\n so chan nho nhat la: %d ",chan_min);
}
// CAU 2 ========== ham kiem tra so nguyen to ============
int ktsnto(int n)
{


int i,dem=0;
for(i=1;i<=n;i++)
{
if(n%i==0)
dem++;
}
if(dem==2)

return 1;
return -1;
}
//============ ham tim so nguyen to lon nhat ==================
int nto_max(int a[],int n)
{
int i,nto_max,dem=0;
for(i=0;iif(ktsnto(a[i])==1)
{
nto_max = a[i];
dem++;
}
for(i=0;i{
if((ktsnto(a[i])==1)&&(a[i]>nto_max))
nto_max = a[i];
}


if(dem!=0)
printf("\n so nguyen to lon nhat la: %d ",nto_max);
}
// CAU 3 ================ ham kiem tra so chinh phuong ====================
int ktscp(int n)
{
int i;
for(i=1;i<=n;i++)
if(n==i*i)
return 1;

return -1;
}
//CAU3============= ham tim so chinh phuong lon nhat trong mang =================
int cp_max(int a[],int n)
{
int i,dem=0,cp_max;
for(i=0;iif(ktscp(a[i])==1)
{
cp_max = a[i];
dem++;
}
for(i=0;i{
if((ktscp(a[i])==1)&&(a[i]>cp_max))


cp_max = a[i];
}
if(dem !=0)
printf("\n so chinh phuong max la: %d " ,cp_max);
}
//=CAU4========== ham tim so chinh phuong chan lon nhat==============
int cpchan_max(int a[],int n)
{
int i,dem=0,cpchan_max;
for(i=0;iif((ktscp(a[i])==1)&&(a[i]%2==0))
{
cpchan_max = a[i];

dem++;
}
for(i=0;i{
if((ktscp(a[i])==1)&&(a[i]>cpchan_max)&&(a[i]%2==0))
cpchan_max = a[i];
}
if(dem !=0)
printf("\n so chinh phuong chan max la: %d " ,cpchan_max);
}
// CAU 5 ============== ham tim so fuong lon nhat trong mang =============
int duong_max(int a[],int n)


{
int i,duong_max,dem=0;
for(i=0;iif(a[i]>0)
{
duong_max = a[i];
dem++;
}
for(i=0;i{
if((a[i]>0)&&(a[i]>duong_max))
duong_max = a[i];
}
printf("\n so duong max : %d ",duong_max);
for(i=0;i{

if(duong_max == a[i])
printf("\n vi tri cua so duong lon nhat trong mang la: %d ",i);
}
}
// CAU 7 ============ ham tim so chinh phuong chan nho nhat ==================
int cpchan_min(int a[],int n)
{
int i,cpchan_min,dem=0;
for(i=0;i

if((ktscp(a[i])==1)&&(a[i]%2==0))
{
cpchan_min = a[i];
dem++;
}
for(i=0;i{
if((ktscp(a[i])==1)&&(a[i]%2==0)&&(a[i]cpchan_min = a[i];
}
for(i=0;iif((a[i]==cpchan_min)&&(dem != 0))
printf("\n vi tri so chinh phuong chan nho nhat la: %d ",i);
}
//CAU 8 ====== ham tim vi tri chinh phuong chan lon nhat ============
int vtcpchan_max(int a[],int n)
{
int i,vtcpchan_max,dem=0;
for(i=0;i

if((ktscp(a[i])==1)&&(a[i]%2==0))
{
vtcpchan_max = a[i];
dem++;
}
for(i=0;i

{
if((ktscp(a[i])==1)&&(a[i]%2==0)&&(a[i]>vtcpchan_max))
vtcpchan_max = a[i];
}
for(i=0;iif((a[i]==vtcpchan_max)&&(dem != 0))
printf("\n vi tri so chinh phuong chan lon nhat la: %d ",i);
}
//CAU 9 ============= tim vi tri so chinh phuong lon nhat ==============
int vtcp_max(int a[],int n)
{
int i,dem=0,vtcp_max;
for(i=0;iif(ktscp(a[i])==1)
{
vtcp_max = a[i];
dem++;
}
for(i=0;i{
if((ktscp(a[i])==1)&&(a[i]>vtcp_max))
vtcp_max = a[i];

}
for(i=0;iif((a[i]==vtcp_max)&&(dem != 0))


printf("\n vi tri cac so chinh phuong lon nhat la: %d " ,i);
}
//CAU 10 ======= tim vi tri cac so chinh phuonng be nhat trong mang =========
int vtcp_min(int a[],int n)
{
int i,dem=0,vtcp_min;
for(i=0;iif(ktscp(a[i])==1)
{
vtcp_min = a[i];
dem++;
}
for(i=0;i{
if((ktscp(a[i])==1)&&(a[i]vtcp_min = a[i];
}
for(i=0;iif((dem !=0)&&(a[i]==vtcp_min))
printf("\n cac vi tri so chinh phuong nho nhat la: %d ",i);
}
//CAU 11 ===tim vi tri nguyen to le nho nhat dau tien ======
int vtntole_mindt(int a[],int n)
{
int i,dem=0,vt;



for(i=0;iif((ktsnto(a[i])==1)&&(a[i]%2 != 0))
{
vt = a[i];
dem ++;
}
for(i=0;iif((ktsnto(a[i])==1)&&(a[i]%2 !=0)&&(a[i]vt = a[i];
for(i=0;iif((dem != 0)&&(a[i]==vt))
{
printf("\n vi tri so nguyen to le nho nhat dau tien la: %d",i);
break;
}
}
//CAU 12 ===== tim vi tri cac phan tu nguyen to lon nhat trong mang =====
int vtnto_max(int a[],int n)
{
int i,nto_max,dem=0;
for(i=0;iif(ktsnto(a[i])==1)
{
nto_max = a[i];
dem++;


}

for(i=0;i{
if((ktsnto(a[i])==1)&&(a[i]>nto_max))
nto_max = a[i];
}
for(i=0;iif((dem !=0)&&(a[i]==nto_max))
printf("\n vi tri so nguyen to lon nhat trong mang la: %d ",i);
}
//CAU 13 ===== tim vi tri so chinh phuong cuoi cung ==================
int cp_cuoi(int a[],int n)
{
int i;
for(i=n;i>=0;i--)
if(ktscp(a[i])==1)
{
printf("\n vi tri so chinh phuong cuoi cung la: %d",i);
break;
}
}
// CAU 14 ======tim vi tri cac phan tu nguyen to le trong mang ======
int vtnto_le(int a[],int n)
{
int i;


for(i=0;iif((ktsnto(a[i])==1)&&(a[i]%2 != 0))
printf("\n vi tri so nguyen to le trong mang la: %d ",i);
}

// CAU 15========dem phan tu nto trong mang cac phan tu nguyen ========
int dem_nto(int a[],int n)
{
int i,dem=0;
for(i=0;iif(ktsnto(a[i])==1)
dem++;
if(dem !=0)
printf("\n so phan tu nguyen to trong mang la: %d",dem);
}
// CAU 16 ===== dem phan tu ngto lon nhat cua mang ==========================
int demnto_max(int a[],int n)
{
int i,nto_max,dem=0;
for(i=0;iif(ktsnto(a[i])==1)
nto_max = a[i];
for(i=0;i{
if((ktsnto(a[i])==1)&&(a[i]>nto_max))
nto_max = a[i];


}
for(i=0;i{
if(a[i]==nto_max)
dem++;
}
printf("\n so phan tu nguyen to max la: %d ",dem);

}
// CAU 17 ==== dem cac phan tu chinh phuong =====
int demsocp(int a[],int n)
{
int i,dem=0;
for(i=0;iif(ktscp(a[i])==1)
dem++;
if(dem !=0)
printf("\n so phan tu chinh phuong trong mang la: %d",dem);
}
//CAU 18 ==== dem cac phan tu nto trong mang ===========================
// giong cau 15
// CAU 19 ==== tinh tong cac phan tu nto trong mang =====================
int tong_nto(int a[],int n)
{
int i,tong=0;
for(i=0;i

if(ktsnto(a[i])==1)
tong = tong + a[i];
printf("\n tong cac phan tu nguyen to trong mang la: %d",tong);
}
// CAU 20 ===== tinh trung binh cong cac phan tu nguyen to ===========
int tbcong_nto(int a[],int n)
{
int i,dem=0;
float tong=0,tb=0;
for(i=0;i

if(ktsnto(a[i])==1)
{
dem ++;
tong = tong + a[i];
}
tb = tong/dem;
printf("\n gia tri tb: %10.2f ",tb);
}
//CAU 21==== tinh trung binh cong cac phan tu chinh phuong trong mang =====
int tbcong_cp(int a[],int n)
{
int i,dem=0;
float tong = 0,tb;
for(i=0;iif(ktscp(a[i])==1)


{
dem ++;
tong = tong + a[i];
}
tb = tong/dem;
printf("\n trung binh cac phan tu chinh phuong trong mang la: %10.2f",tb);
}
//CAU 22 ===== tinh tong cac phan ttu chinh phuong trong mang ======
int tong_cp(int a[],int n)
{
int i,tong =0,dem =0;
for(i=0;iif(ktscp(a[i])==1)

{
tong = tong +a[i];
dem ++;
}
if(dem !=0)
printf("\n tong cac phan tu chinh phuong trong mang: %d",tong);
}
//============ main chinh ===========
int main()
{
int i,n,a[50],A,B;
do


{
printf("\n so phan tu cua mang la: ");
scanf("%d",&n);
}
while(n<0 || n>50);
nhap(a,n);
printf("\n mang vua nhap la: ");
xuat(a,n);
chan_min(a,n);
nto_max(a,n);
//cp_max(a,n);
//cpchan_max(a,n);
//duong_max(a,n);
//cpchan_min(a,n);
//vtcpchan_max(a,n);
//vtcp_max(a,n);

//vtcp_min(a,n);
//vtntole_mindt(a,n);
//vtnto_max(a,n);
//cp_cuoi(a,n);
//vtnto_le(a,n);
//dem_nto(a,n);
//demnto_max(a,n);
//tong_nto(a,n);
//demsocp(a,n);


//tbcong_cp(a,n);
//tbcong_nto(a,n);
//tong_cp(a,n);
//xapxepam_duong(a,n);
printf("\n ket thuc chuong trinh \n ");
return 1;
}
//=================================================================
#include <stdio.h>
#include <conio.h>
//============ nhap mang ============
void nhap(int a[],int n)
{
int i;
for(i=0;i{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
}


}
//============ xuat mang =============================
void xuat(int a[],int n)
{
int i;


for(i=0;iprintf("\t %d",a[i]);
}
//======================================================
void doicho(int &A,int &B)
{
int temp;
temp = A;
A = B;
B = temp;
}
// CAU 23---------- sap xep theo thu tu tang dan phan tu am giam duong-----------------int sapxep_cau23(int a[],int n)
{
int i,j;
for(i=0;ifor(j=i+1;jif((a[i]>0)&&(a[j]<0))
doicho(a[i],a[j]);
for(i=0;ifor(j=i+1;jif(((a[i]<0)&&(a[j]<0)&&(a[i]>a[j]))||((a[i]>0)&&(a[j]>0)&&(a[i]doicho(a[i],a[j]);

}
//CAu 24---- sap xep mang theo thu tu tang dan -----------------


int sapxep_cau24(int a[],int n)
{
int i,j;
for(i=0;ifor(j=i+1;jif(a[i]>a[j])
doicho(a[i],a[j]);
}
//---------kiem tra so nguyen to-----------int ktsnto(int n)
{
int i;
if(n<2)
return -1;
if(n==2)
return 1;
for(i=2;iif(n%i==0)
return -1;
return 1;
}
// CAU 25---sap xep tang dan cac phan tu nto giam dan cac phan tu khong nto-----int sapxep_cau25(int a[],int n)
{
int i,j;


for(i=0;i

for(j=i+1;jif((ktsnto(a[i])==-1)&&(ktsnto(a[j])==1))
doicho(a[i],a[j]);
for(i=0;ifor(j=i+1;jif(((ktsnto(a[i])==1)&&(ktsnto(a[j])==1)&&(a[i]>a[j]))||((ktsnto(a[i])==-1)&&(ktsnto(a[j])==1)&&(a[i]doicho(a[i],a[j]);
}
// CAU 26---sap xep mang giam dan nto tang dan khong nto --------------int sapxep_cau26(int a[],int n)
{
int i,j;
for(i=0;ifor(j=i+1;jif((ktsnto(a[i])==-1)&&(ktsnto(a[j])==1))
doicho(a[i],a[j]);
for(i=0;ifor(j=i+1;jif(((ktsnto(a[i])==1)&&(ktsnto(a[j])==1)&&(a[i]<a[j]))||((ktsnto(a[i])==-1)&&(ktsnto(a[j])==1)&&(a[i]>a[j])))
doicho(a[i],a[j]);
}
//CAU 27---giong cau 26----------//CAU 28---sap xep phan tu am ve dau mang va phan tu duong ve cuoi mang-------


int sapxep_cau28(int a[],int n)
{

int i,j;
for(i=0;ifor(j=i+1;jif((a[i]>=0)&&(a[j]<0))

doicho(a[i],a[j]);
}
//CAU 29--sap xep mang chan ben phai le ben trai----------int sapxep_cau29(int a[],int n)
{
int i,j;
for(i=0;ifor(j=i+1;jif((a[i]%2==0)&&(a[j]%2!=0))
doicho(a[i],a[j]);
}
//CAU 30---sap xep mang tang dan phan tu chan gian dan phan tu le-------int sapxep_cau30(int a[],int n)
{
int i,j;
for(i=0;ifor(j=i+1;jif((a[i]%2!=0)&&(a[j]%2==0))


doicho(a[i],a[j]);
for(i=0;ifor(j=i+1;jif(((a[i]%2==0)&&(a[j]%2==0)&&(a[i]>a[j]))||((a[i]%2!=0)&&(a[j]%2!=0)&&(a[i]doicho(a[i],a[j]);
}
//================= ham kiem tra so chinh phuong =================
int ktscp(int n)
{
int i;
for(i=1;i<=n;i++)
if(n==i*i)

return 1;
return -1;
}
//CAU 31---sap xep cac ptu chinh phuong ve dau mang theo thu tu giam dan-----------int sapxep_cau31(int a[],int n)
{
int i,j;
for(i=0;ifor(j=i+1;jif((ktscp(a[i])==-1)&&(ktscp(a[j])==1))
doicho(a[i],a[j]);
for(i=0;ifor(j=i+1;j

if((ktscp(a[i])==1)&&(ktscp(a[j])==1)&&(a[i]doicho(a[i],a[j]);
}
//CAU 32---sap xep mang theo thu tu tang dan cac phan tu chinh phuong-----int sapxep_cau32(int a[],int n)
{
int i,j;

for(i=0;ifor(j=i+1;jif((ktscp(a[i])==-1)&&(ktscp(a[j])==1))
doicho(a[i],a[j]);
for(i=0;ifor(j=i+1;jif((ktscp(a[i])==1)&&(ktscp(a[j])==1)&&(a[i]>a[j]))
doicho(a[i],a[j]);
}

//CAU 33---sap xep mang theo tt tang dan chinh phuong giam dan khong chinh phuong--int sapxep_cau33(int a[],int n)
{
int i,j;
for(i=0;ifor(j=i+1;jif((ktscp(a[i])==-1)&&(ktscp(a[j])==1))
doicho(a[i],a[j]);


for(i=0;ifor(j=i+1;jif(((ktscp(a[i])==1)&&(ktscp(a[j])==1)&&(a[i]>a[j]))||((ktscp(a[i])==-1)&&(ktscp(a[j])==1)&&(a[i]doicho(a[i],a[j]);
}
//============ main chinh ===========
int main()
{
int i,n,a[50], chan ,A,B;
printf("\n so phan tu cua mang la: ");
scanf("%d",&n);
nhap(a,n);
xuat(a,n);
printf("\n mang sau khi sap xep la: ");
//sapxepcp(a,n);
//sapxep_amduong(a,n);
//sapxep_tangdan(a,n);
//sapxep_cau25(a,n);
//sapxep_cau26(a,n);
//sapxep_cau28(a,n);
//sapxep_cau29(a,n);

//sapxep_cau30(a,n);
//sapxep_cau31(a,n);
//sapxep_cau32(a,n);
sapxep_cau33(a,n);


xuat(a,n);
printf("\n ket thuc chuong trinh \n ");
return 1;
}
//=========================================================
#include<stdio.h>
#include<conio.h>
//---------- ham nhap ----------------void nhap(int a[], int n)
{
int i;
for(i=0;i{
printf("a[%d]= ",i);
scanf("%d",&a[i]);
}
}
//--------- ham xuat------------------void xuat(int a[], int n)
{
int i;
for(i=0;iprintf("\t %d",a[i]);
}
//---------ham kiem tra so nguyen to----------------



×