Bài tâp: Cho ma trân m dòng, n côt
a) Tìm phân tu lon nhât moi côt và dat chúng vào dòng cuôi cùng.
b) Tìm phun tu nho nhât môi dòng và dat chúng vào côt dau tiên.
c) Sap xep dòng thu 2 theo thu tu giam dân.
d) Sap xêp côt 4 theo thu tu tang dân.
*/
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
void Nhapmatran(int N, int M, float *a){
int i, j, k=0;
if(a != NULL){
printf("Ban hay nhap ma tran theo thu tu tung hang:
");
for(i=0; i<N; i++){
printf("Hang thu %d:
", i+1);
for(j=0; j<M; j++){
scanf("%f", &a[k]);
k++;
}
}
}
}
//Cau b):
float Minhang(int i, float *a, int M, int N){
float min;
int j;
min=a[i*M];
for(j=i*M+1;j<(i+1)*M;j++){
if(a[j]<min)
min=a[j];
}
return min;
}
//Cau c):
void Sapxephang2(int N, int M, float *a){
int i, j;
float temp;
for(i=M; i<3*M-1; i++){
for(j=i+1; j<2*M; j++){
if(a[i]<a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
//Cau d):
void Sapxepcot4(int N, int M, float *a){
int i, j;
float temp;
for(i=3; i<M*(N-1); i+=M){
for(j=i+M; j<M*N; j+=M){
if(a[i]>a[j]){
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
void Inmatran(int N, int M, float *a){
int i, j, k;
printf("Ma tran sau khi hoan thanh la:
");
Sapxephang2(N, M, a);
Sapxepcot4(N, M, a);
for(i=0; i<N; i++){
printf("%.2f\t", Minhang(i, a, M, N));
for(j=0; j<M; j++){
printf("%.2f\t", a[i*M + j]);
}
printf("
");
}
}
//Cau a):
void Maxcot(int N, int M, float *a){
int i, j;
float max;
for(i=0; i<M; i++){
max = a[i];
for(j=i; j<N*M; j+=M){
if(a[j]>max){
max = a[j];
}
}
printf("\t%.2f", max);
}
}
main()
{
int N, M;
float *a;
printf("Ban muon nhap ma tran bao nhieu dong?
");
scanf("%d", &N);
printf("Bao nhieu cot?
");
scanf("%d", &M);
a = calloc(M*N,sizeof(float));
Nhapmatran(N, M, a);
Inmatran(N, M, a);
Maxcot(N, M, a);
getch();
free(a);
return 0;
}
Bạn đang đọc truyện trên: Truyen2U.Pro