Tải bản đầy đủ (.doc) (11 trang)

BÀI TẬP LẬP TRÌNH C pot

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 (112.77 KB, 11 trang )

TÍNH TỔNG CÁC SỐ DƯƠNG TRONG MA TRẬN
int TongSoDuong(int **a, int n, int m)
{
int s=0;
for (int i=0; i<n; i++)
{
for (int j=0; j<m; j++)
{
if (a[i][j]>0)
{
s+=a[i][j];
}
}
}
return s;
}
TÍNH TỔNG CÁC GIÁ TRỊ TRÊN MỘT DÒNG CỦA MA TRẬN
int TongDongX(int *a, int m) //chuyền a[x] , x là dòng mà bạn cần tính tổng
{
int S=0;
for (int i=0; i<m; i++)
{
S+=a[i];
}
return S;
}
HOÁN VỊ HAI DÒNG MA TRẬN
void HoanVi2Dong(int a[][100],int cot, int d1, int d2)
{
int temp[100];
for (int i=0; i<cot; i++)


{
temp[i] = a[d1][i];
a[d1][i] = a[d2][i];
a[d2][i] = temp[i];
}
}
HOÁN VỊ HAI CỘT MA TRẬN
void HoanVi2Cot(int a[][100],int dong,int c1, int c2)
{
int temp[100];
1
for (int i=0; i<dong; i++)
{
temp[i] = a[i][c1];
a[i][c1] = a[i][c2];
a[i][c2] = temp[i];
}
}
ĐẾM CHỮ SỐ TRONG MA TRẬN SỐ NGUYÊN
int DemTungSo(int n)
{
int dem = 1;
n = abs(n);
while (n>=10)
{
n= n/10;
dem++;
}
return dem;
}

int Dem(int a[][100], int dong, int cot)
{
int dem = 0;
for (int i=0;i<dong; i++)
{
for (int j=0; j<cot; j++)
{
dem += DemTungSo(a[i][j]);
}
}
return dem;
}
ĐẾM TẦN SỐ XUẤT HIỆN CỦA 1 GIÁ TRỊ X TRONG MA TRẬN
int DemGiaTriX(float a[][100], int dong, int cot, float x)
{
int dem=0;
for (int i=0;i<dong; i++)
for (int j=0; j<cot; j++)
if (a[i][j]==x)
dem++;
return dem;
}
TÌM CÁC CHỮ SỐ XUẤT HIỆN NHIỀU NHẤT TRONG MẢNG
2
void ChuSo(int n, int b[])
{
int DonVi;
n = abs(n);
do
{

DonVi = n%10;
b[DonVi]++;
n=n/10;
} while (n>0);
}
void GiaTriCanTim(int a[][100], int cot, int dong)
{
int b[10] = {0};
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
ChuSo(a[i][j],b);
}
}
int ChuSoNhieuNhat = 0;
for (i=1; i<10; i++)
{
if (b[ChuSoNhieuNhat] < b[i])
{
ChuSoNhieuNhat = i;
}
}
printf("Cac chu so xuat hien nhieu nhat: ");
for (i=0; i<10; i++)
{
if (b[ChuSoNhieuNhat] == b[i])
{
printf("%4d", i);
}

}
}
LIỆT KÊ DÒNG CÓ TỔNG LỚN NHẤT
int tong(int a[], int cot)
{
int s=0;
for (int i=0; i<cot; i++)
{
s+=a[i];
}
return s;
}
void LietKe(int a[][100], int cot, int dong)
{
int b[100];
for (int i=0; i<dong; i++)
{
b[i] = tong(a[i],cot);
3
}
//Tong Max
int Max = b[0];
for (i=1; i<dong; i++)
{
Max = (Max>b[i])?Max:b[i];
}
//Liet ke Tong Max
for (i = 0; i< dong ;i++)
{
if (Max == b[i])

{
printf("\nDong %d co tong ptu lon nhat la %d", i,Max);
}
}
}
LIỆT KÊ CỘT CÓ TỔNG NHỎ NHẤT
void LietKe(int a[][100], int cot, int dong)
{
int b[100] = {0};
for (int i=0; i<cot; i++)
{
for (int j=0; j<dong; j++)
{
b[i]+=a[j][i];
}
}
//Tong Min
int Min = b[0];
for (i=1; i<cot; i++)
{
Min = (Min<b[i])?Min:b[i];
}
//Liet ke Tong Min
for (i = 0; i< cot ;i++)
{
if (Min == b[i])
{
printf("\nCot %d co tong ptu nho nhat la %d", i,Min);
}
}

}
TÌM GIÁ TRỊ XUẤT HIỆN NHIỀU NHẤT
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int flag[100][100] = {0};
int GiaTri , Dem = 0,Dem1=0;
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
if (flag[i][j]==0)
{
4
for (int k=i; k<dong; k++)
{
for (int h=0; h<cot;h++)
{
if (flag[k][h]==0)
{
if (a[i][j] == a[k][h])
{
flag[k][h] = 1;
Dem++;
}
}
}
}
if (Dem > Dem1)
{
Dem1 = Dem;

GiaTri = a[i][j];
Dem = 0;
}
}
}
}
return GiaTri;
}
TÌM MAX TRONG MA TRẬN
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int Max = a[0][0];
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
Max = (Max>a[i][j])?Max:a[i][j];
}
}
return Max;
}
TÌM SỐ CHẴN ĐẦU TIÊN TRONG MA TRẬN
int GiaTriCanTim(int a[][100], int cot, int dong)
{
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
if (a[i][j]%2==0)
{

return a[i][j];
}
}
}
return -1;
}
5
TÌM GIÁ TRỊ ÂM LỚN NHẤT TRONG MA TRẬN
int AmDauTien(int a[][100], int cot, int dong)
{
for (int i=0; i<dong; i++)
{
for (int j=0; j<cot; j++)
{
if (a[i][j]<0)
{
return a[i][j];
}
}
}
return 0;
}
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int AmMax = AmDauTien(a,cot,dong);
if (AmMax == 0)
{
return 0;
}
for (int i=0; i<dong;i++)

{
for (int j=0; j<cot; j++)
{
if (a[i][j]<0)
{
AmMax = (AmMax>a[i][j])?AmMax:a[i][j];
}
}
}
return AmMax;
}
TÌM GIÁ TRỊ LỚN NHẤT THỨ HAI TRONG MA TRẬN
int GiaTriCanTim(int a[][100], int cot, int dong)
{
int Max=a[0][0];
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
Max = (Max>a[i][j])?Max:a[i][j];
}
}
int Max2 = a[0][0];
for (i=0; i<dong; i++)
{
6
for(int j=0; j<cot; j++)
{
if (Max>Max2 && a[i][j]!=Max && Max2<a[i][j])
{

Max2 = a[i][j];
}
}
}
return Max2;
}
TÌM GIA TRỊ LỚN NHẤT TRÊN MỘT DONG
void LietKe(int a[][100], int cot, int dong)
{
for (int i=0; i<dong;i++)
{
int Max = a[i][0];
for (int j=0; j<cot; j++)
{
Max = (Max>a[i][j])?Max:a[i][j];
}
printf("\nDong %d: ",i) ;
printf("Gia tri max %d",Max);
}
}
TÌM GIÁ TRỊ NHỎ NHẤT TRÊN MỘT CỘT
void LietKe(int a[][100], int cot, int dong)
{
for (int i=0; i<cot;i++)
{
int Min = a[0][i];
for (int j=0; j<dong; j++)
{
Min = (Min<a[j][i])?Min:a[j][i];
}

printf("\nCot %d: ",i) ;
printf("Gia tri min %d",Min);
}
}
LIỆT KÊ DÒNG CÓ CHỨA MAX
int GiaTriMax(int a[][100], int cot, int dong)
{
int Max = a[0][0];
for (int i=0; i<dong; i++)
{
for(int j=0; j<cot; j++)
{
Max = (Max>a[i][j])?Max:a[i][j];
}
}
return Max;
}
void LietKe(int a[][100], int cot, int dong)
7
{
int Max = GiaTriMax(a,cot,dong);
for (int i=0; i<dong;i++)
{
for (int j=0; j<cot; j++)
{
if (a[i][j]==Max)
{
printf("\nDong [%d] chua max: ", i);
for (j=0; j<cot; j++)
{

printf("%4d", a[i][j]);
}
}
}
}
}
SẮP XẾP CÁC PHẦN TỬ TRÊN MỘT DÒNG TĂNG TỪ TRÁI SANG
PHẢI
void SapXep(int a[][100], int cot, int dong)
{
int x;
printf("Nhap dong muon sap xep: ");
scanf("%d",&x);
for (int j=0; j<cot-1; j++)
{
for (int k=j+1; k<cot;k++)
{
if (a[x][j]>a[x][k])
{
int temp = a[x][j];
a[x][j] = a[x][k];
a[x][k] = temp;
}
}
}
}
SẮP XẾP CÁC PHẦN TỬ TRÊN MỘT DÒNG GIẢM TỪ TRÁI SANG
PHẢI
void SapXep(int a[][100], int cot, int dong)
{

int x;
printf("Nhap dong muon sap xep: ");
scanf("%d",&x);
for (int j=0; j<cot-1; j++)
{
for (int k=j+1; k<cot;k++)
{
if (a[x][j]<a[x][k])
{
int temp = a[x][j];
a[x][j] = a[x][k];
8
a[x][k] = temp;
}
}
}
}
SẮP XẾP CÁC PHẦN TỬ TRÊN MỘT CỘT TĂNG DẦN TỪ TRÊN
XUỐNG DƯỚI
void SapXep(int a[][100], int cot, int dong)
{
int x;
printf("Nhap cot muon sap xep: ");
scanf("%d",&x);
for (int i=0; i<dong-1; i++)
{
for (int j=i+1; j<dong;j++)
{
if (a[i][x]>a[j][x])
{

int temp = a[i][x];
a[i][x] = a[j][x];
a[j][x] = temp;
}
}
}
}
SẮP XẾP CÁC PHẦN TỬ TRÊN MỘT CỘT GIẢM DẦN TỪ TRÊN
XUỐNG DƯỚI
void SapXep(int a[][100], int cot, int dong)
{
int x;
printf("Nhap cot muon sap xep: ");
scanf("%d",&x);
for (int i=0; i<dong-1; i++)
{
for (int j=i+1; j<dong;j++)
{
if (a[i][x]<a[j][x])
{
int temp = a[i][x];
a[i][x] = a[j][x];
a[j][x] = temp;
}
}
}
}
KIỂM TRA MA TRẬN CÓ SỐ LẺ HAY KHÔNG
int Ktra(int a[][100],int dong,int cot)
{

int flag = 0;
for (int i=0; i<dong; i++)
{
9
for (int j=0;j<cot;j++)
{
if (a[i][j]%2!=0)
{
flag=1;
break;
}
}
}
return flag;
}
XÓA MỘT DÒNG TRONG MA TRẬN
void Xoa(int a[][100], int cot, int &dong)
{
printf("Nhap chi so dong ban muon xoa");
int x,i,j;
do
{
scanf("%d", &x);
} while ( x<0 || x>=dong);
for ( i=x;i<dong-1;i++ )
{
for (j=0; j<cot;j++)
{
a[i][j] = a[i+1][j];
}

}
dong ;
}
XOA MỘT CỘT TRONG MA TRẬN
void Xoa(int a[][100], int &cot, int dong)
{
printf("Nhap chi so cot ban muon xoa");
int x,i,j;
do
{
scanf("%d", &x);
} while ( x<0 || x>=cot);
for ( i=x;i<cot-1;i++ )
{
for (j=0; j<dong;j++)
{
a[j][i] = a[j][i+1];
}
}
cot ;
}
10
11

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×