PHẦN II : MẢNG
Câu 1: viết chương trình nhập một mảng một chiều a gồm n số thực. hãy tính
và in ra màn hình trung bình cộng của các phần tử trong mảng.
#include <conio.h>
#include <stdio.h>
void nhap(float a[],int n)
{int i;
for (i=0;i{printf ("a[%d]=",i);
scanf("%f",&a[i]);
}
}
void xem(float a[],int n)
{int i;
for (i=0;iprintf("%5.2f",a[i]);
}
float tbc(float a[],int n)
{int i; float s;
for(i=0;ireturn (s/n);
}
void main()
{clrscr();
float a[50];int n;
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n xem mang:");
xem(a,n);
printf("\n trung binh cong cac phan tu cua mang=%5.2f",tbc(a,n));
getch();
}
Câu 2: viết chương trình nhập một mảng một chiều n số nguyên. Sắp xếp
mảng theo thứ tự giảm dần. In ra màn hình mảng trước và sau khi sắp xếp.
#include <conio.h>
#include <stdio.h>
void nhap(int a[],int n)
{int i;
for (i=0;i
{printf ("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void xem(int a[],int n)
{int i;
for (i=0;i
printf("%5d",a[i]);
}
void sap_xep(int a[],int n)
{int i,j,tg;
for (j=0;j
for (i=j+1;i
if (a[i]
{tg=a[i];
a[i]=a[j];
a[j]=tg;
}
}
void main()
{clrscr();
int a[50], n;
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n mang truoc khi sap xep la:");
xem(a,n);
sap_xep(a,n);
printf("\n mang sau khi sap xep la:");
xem(a,n);
getch();
}
Câu 3: viết chương trình nhập một mảng một chiều n số thực. Sắp xếp mảng
theo thứ tự giảm dần. In ra màn hình mảng trước và sau khi sắp xếp.
#include <conio.h>
#include <stdio.h>
void nhap(float a[],int n)
{int i;
for (i=0;i
{printf ("a[%d]=",i);
scanf("%f",&a[i]);
}
}
void xem(float a[],int n)
{int i;
for (i=0;i
printf("%5.2f",a[i]);
}
void sap_xep(float a[],int n)
{int i,j; float tg;
for (j=0;j
for (i=j+1;i
if (a[i]>a[j])
{tg=a[i];
a[i]=a[j];
a[j]=tg;
}
}
void main()
{clrscr();
int n;
float a[50];
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n mang truoc khi sap xep la:");
xem(a,n);
sap_xep(a,n);
printf("\n mang sau khi sap xep la:");
xem(a,n);
getch();
}
Câu 4: viết chương trình nhập một mảng một chiều n số thực. Đếm và thông
báo ra màn hình trong mảng có bao nhiêu phần tử âm.
#include <conio.h>
#include <stdio.h>
void nhap(float a[],int n)
{int i;
for (i=0;i
{printf ("a[%d]=",i);
scanf("%f",&a[i]);
}
}
void xem(float a[],int n)
{int i;
for (i=0;i
printf("%7.2f",a[i]);
}
int dem(float a[],int n)
{int i=0,d=0;
while (i
{if (a[i]<0) d++;
i++;
}
return d;
}
void main()
{clrscr();
int n;
float a[50];
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n xem mang:");
xem(a,n);
printf("\n so phan tu am cua mang: %5d",dem(a,n));
getch();
}
Câu 5: viết chương trình nhập một mảng một chiều n số thực. Đếm và thông
báo ra màn hình trong mảng có bao nhiêu phần tử dương.
#include <conio.h>
#include <stdio.h>
void nhap(float a[],int n)
{int i;
for (i=0;i
{printf ("a[%d]=",i);
scanf("%f",&a[i]);
}
}
void xem(float a[],int n)
{int i;
for (i=0;i
printf("%7.2f",a[i]);
}
int dem(float a[],int n)
{int i=0,d=0;
while (i
{if (a[i]>0) d++;
i++;
}
return d;
}
void main()
{clrscr();
int n;
float a[50];
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n xem mang:");
xem(a,n);
printf("\n so phan tu duong cua mang: %5d",dem(a,n));
getch();
}
Câu 6: viết chương trình nhập một mảng một chiều n số thực. Tìm và in ra
màn hình giá trị lớn nhất của mảng.
#include <conio.h>
#include <stdio.h>
void nhap(float a[],int n)
{int i;
for (i=0;i
{printf ("a[%d]=",i);
scanf("%f",&a[i]);
}
}
void xem(float a[],int n)
{int i;
for (i=0;i
printf("%5.2f",a[i]);
}
float tim_max(float a[],int n)
{int i=1,max=a[0];
while (i
{if (max
i++;
}
return max;
}
void main()
{clrscr();
float a[50];
int n;
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n xem mang:");
xem(a,n);
printf("\n phan tu lon nhat cua mang: %5.2f",tim_max(a,n));
getch();
}
Câu 7: viết chương trình nhập một mảng một chiều n số nguyên. Tính và in
ra màn hình tổng của các phần tử trong mảng.
#include <conio.h>
#include <stdio.h>
void nhap(int a[],int n)
{int i;
for (i=0;i
{printf ("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void xem(int a[],int n)
{int i;
for (i=0;i
printf("%5d",a[i]);
}
int tong(int a[],int n)
{int i,s=0;
for(i=0;i
return s;
}
void main()
{clrscr();
int a[50],n;
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n xem mang:");
xem(a,n);
printf("\n tong cac phan tu cua mang=%5d",tong(a,n));
getch();
}
Câu 8: viết chương trình nhập một mảng một chiều n số nguyên dương. Tính
và thông báo ra màn hình tổng các phần tử có giá trị chẵn trong mảng.
#include <conio.h>
#include <stdio.h>
void nhap(int a[],int n)
{int i;
for (i=0;i
{nhap: printf ("a[%d]=",i);
scanf("%d",&a[i]);
if (a[i]<=0)
{printf(" nhap lai a[%d] \n",i);
goto nhap;
}
}
}
void xem(int a[],int n)
{int i;
for (i=0;i
printf("%5d",a[i]);
}
int tong(int a[], int n)
{int i=0,s=0;
while (i
{if (a[i]%2==0) s=s+a[i];
i++;
}
return s;
}
void main()
{clrscr();
int a[50], n;
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n xem mang:");
xem(a,n);
printf("\n tong cac phan tu chan trong manng: %5d",tong(a,n));
getch();
}
Câu 9: viết chương trình nhập một mảng một chiều n số nguyên dương. Tính
và thông báo ra màn hình tổng các phần tử có giá trị lẻ trong mảng.
#include <conio.h>
#include <stdio.h>
void nhap(int a[],int n)
{int i;
for (i=0;i
{nhap: printf ("a[%d]=",i);
scanf("%d",&a[i]);
if (a[i]<=0)
{printf(" nhap lai a[%d] \n",i);
goto nhap;
}
}
}
void xem(int a[],int n)
{int i;
for (i=0;i
printf("%5d",a[i]);
}
int tong(int a[], int n)
{int i=0,s=0;
while (i
{if (a[i]%2!=0) s=s+a[i];
i++;
}
return s;
}
void main()
{clrscr();
int a[50], n;
printf("\n nhap so luong phan tu cua mang n= ");
scanf("%d",&n);
nhap(a,n);
printf("\n xem mang:");
xem(a,n);
printf("\n tong cac phan tu le trong manng: %5d",tong(a,n));
getch();
}
Câu 10: viết chương trình nhập và xem mảng một chiều n số nguyên bằng
cách sử dụng con trỏ.
#include <conio.h>
#include <stdio.h>
void nhap(int a[],int n)
{int i,*p;
p=a;
for (i=0;i
{printf("a[%d]= ",i);
scanf("%d",p);
p++;
}
}
void xem(int a[],int n)
{int i,*p;
p=a;
for (i=0;i
{printf("%5d",*p);
p++;
}
}
void main()
{clrscr();
int a[50],n;
printf("\n nhap so phan tu cua mang n= ");
scanf("%d",&n);
printf("\n nhap mang nho con tro:\n");
nhap(a,n);
printf("\n xem mang nho con tro:");
xem(a,n);
getch();
}
Câu 11: viết chương trình nhập vào một mảng hai chiều amxn gồm các số
nguyên. Hãy in ra màn hình dạng chuyển vị của ma trận a.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
void chuyen_vi(int a[][50],int n,int m)
{int i,j;
for (j=0;j
{for (i=0;i
printf("%5d",a[i][j]);
printf("\n");
}
}
void main()
{clrscr();
int a[50][50],n,m;
printf("\n nhap so hang n so cot m:\n");
scanf("%d%d",&n,&m);
printf("\n nhap mang:\n");
nhap(a,n,m);
printf("\n xem mang:\n");
xem(a,n,m);
printf("\n dang ma tran chuyen vi:\n");
chuyen_vi(a,n,m);
getch();
}
Câu12: viết chương trình nhập hai ma trận anxm ,bnxm gồm các số nguyên. Hãy
tính và in ra màn hình ma trận cnxm là tổng của hai ma trận trên.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(intt a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
void cong(int a[][50],int b[][50],int c[][50],int n,int m)
{int i,j;
for (i=0;i
for (j=0;j
c[i][j]=a[i][j]+b[i][j];
}
void main()
{int a[50][50],b[50][50],c[50][50],m,n;
clrscr();
printf("\n nhap so hang n so cot m:\n");
scanf("%d%d",&n,&m);
printf("\n nhap cac phan tu cua a:\n");
nhap(a,n,m);
printf("\n nhap cac phan tu cua b:\n");
nhap(b,n,m);
cong(a,b,c,n,m);
printf("\n mang sau khi cong:\n");
xem(c,n,m);
getch();
}
Câu 13: viết chương trình nhập và xem mảng hai chiều anxm, tính và in ra màn
hình tổng các phần tử nằm trên đường chéo chính.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
int tong(int a[][50],int n)
{int i,j,s=0;
for (i=0;i
for (j=0;j
if (i==j) s=s+a[i][j];
return s;
}
void main()
{int a[50][50],n;
clrscr();
printf("\n nhap so hang so cot cua ma tran vuong: ");
scanf("%d",&n);
printf("\n nhap cac phan tu cua mang:\n");
nhap(a,n);
printf("\n xem mang:\n");
xem(a,n);
printf("\n tong cac phan tu tren duong cheo chinh la: %5d",tong(a,n));
getch();
}
Câu 14: viết chương trình nhập hai ma trận anxm ,bnxm gồm các số nguyên. Hãy
tính và in ra màn hình ma trận cnxm là hiệu của hai ma trận trên.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
void hieu(int a[][50],int b[][50],int c[][50],int n,int m)
{int i,j;
for (i=0;i
for (j=0;j
c[i][j]=a[i][j]-b[i][j];
}
void main()
{int a[50][50],b[50][50],c[50][50],m,n;
clrscr();
printf("\n nhap so hang n so cot m:\n");
scanf("%d%d",&n,&m);
printf("\n nhap cac phan tu cua a:\n");
nhap(a,n,m);
printf("\n nhap cac phan tu cua b:\n");
nhap(b,n,m);
hieu(a,b,c,n,m);
printf("\n hieu hai ma tran tren la:\n");
xem(c,n,m);
getch();
}
Câu 15: viết chương trình nhập và xem mảng hai chiều anxm, tìm và in ra màn
hình phần tử lớn nhất của mảng.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
int tim_max(int a[][50],int n,int m)
{int i,j,max=a[0][0];
for (i=0;i
for (j=0;j
if (max
return max;
}
void main()
{int a[50][50],n,m;
clrscr();
printf("\n nhap so hang n so cot m:\n");
scanf("%d%d",&n,&m);
printf("\n nhap cac phan tu cua mang:\n");
nhap(a,n,m);
printf("\n xem mang:\n");
xem(a,n,m);
printf("\n phan tu lon nhat cua mang la: %5d",tim_max(a,n,m));
getch();
}
Câu 16: viết chương trình nhập và xem mảng hai chiều anxm, tìm và in ra màn
hình phần tử nhỏ nhất của mảng.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
int tim_min(int a[][50],int n,int m)
{int i,j,min=a[0][0];
for (i=0;i
for (j=0;j
if (min>a[i][j]) min=a[i][j];
return min;
}
void main()
{int a[50][50],n,m;
clrscr();
printf("\n nhap so hang n so cot m:\n");
scanf("%d%d",&n,&m);
printf("\n nhap cac phan tu cua mang:\n");
nhap(a,n,m);
printf("\n xem mang:\n");
xem(a,n,m);
printf("\n phan tu nho nhat cua mang la: %5d",tim_min(a,n,m));
getch();
}
Câu 17: viết chương trình nhập vào một mảng hai chiều anxm gồm các số
nguyên. Hãy xây dựng ma trận b là ma trận chuyển vị của ma trận a. In ra
màn hình hai ma trận a và b.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
void chuyen_vi(int a[][50],int b[][50],int n,int m)
{int i,j;
for (i=0;i
for (j=0;j
b[j][i]=a[i][j];
}
void main()
{clrscr();
int a[50][50],b[50][50],n,m;
printf("\n nhap so hang n so cot m cua ma tran a:\n");
scanf("%d%d",&n,&m);
printf("\n nhap ma tran a:\n");
nhap(a,n,m);
printf("\n xem ma tran a:\n");
xem(a,n,m);
chuyen_vi(a,b,n,m);
printf("\n chuyen vi cua ma tran a la ma tran b:\n");
xem(b,m,n);
getch();
}
Câu 18: viết chương trình nhập vào một mảng hai chiều amxn gồm các số
nguyên. Tính và in ra màn hình tổng của các phần tử trên mỗi hàng.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
void tinh(int a[][50],int n,int m)
{int i,j,s;
for (i=0;i
{for (s=0,j=0;j
s=s+a[i][j];
printf("\n tong cua cac phan tu tren hang %d la: %5d",i+1,s);
}
}
void main()
{clrscr();
int a[50][50],n,m;
printf("\n nhap so hang n so cot m:\n");
scanf("%d%d",&n,&m);
printf("\n nhap cac phan tu cua mang:\n");
nhap(a,n,m);
printf("\n xem mang:\n");
xem(a,n,m);
printf("\n ket qua:\n");
tinh(a,n,m);
getch();
}
Câu 19: viết chương trình nhập vào một mảng hai chiều amxn gồm các số
nguyên. Tính và in ra màn hình tổng của các phần tử trên mỗi cột.
#include <conio.h>
#include <stdio.h>
void nhap(int a[][50],int n,int m)
{int i,j,tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%d",&tg); a[i][j]=tg;
}
}
void xem(int a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5d",a[i][j]);
printf("\n");
}
}
void tinh(int a[][50],int n,int m)
{int i,j,s;
for (j=0;j
{for (s=0,i=0;i
s=s+a[i][j];
printf("\n tong cua cac phan tu tren cot %d la: %5d",j+1,s);
}
}
void main()
{clrscr();
int a[50][50],n,m;
printf("\n nhap so hang n so cot m:\n");
scanf("%d%d",&n,&m);
printf("\n nhap cac phan tu cua mang:\n");
nhap(a,n,m);
printf("\n xem mang:\n");
xem(a,n,m);
printf("\n ket qua:\n");
tinh(a,n,m);
getch();
}
Câu 20: viết chương trình nhập vào một mảng hai chiều anxm gồm các số thực.
Đếm và in ra màn hình số phần tử dương có mặt trong mảng.
#include <conio.h>
#include <stdio.h>
void nhap(float a[][50],int n,int m)
{int i,j; float tg;
for (i=0; i
for (j=0; j
{printf("phan tu thu [%d][%d]= ",i,j);
scanf("%f",&tg); a[i][j]=tg;
}
}
void xem(float a[][50],int n,int m)
{int i,j;
for (i=0;i
{for (j=0;j
printf("%5.2f",a[i][j]);
printf("\n");
}
}
int dem(float a[][50],int n,int m)
{int i,j,d=0;
for (i=0;i
for (j=0;j
if (a[i][j]>0) d++;
return d;
}
void main()
{clrscr();
float a[50][50];
int n,m;
printf("\n nhap so hang n so cot m:");
scanf("%d%d",&n,&m);
printf("\n nhap cac phan tu cua mang:\n");
nhap(a,n,m);
printf("\n xem mang:\n");
xem(a,n,m);
printf("\n so phan tu duong co mat trong mang: %5d",dem(a,n,m));
getch();
}