Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Hỏi ý tưởng bài toán ma trận trong C

11:19 21-04-2017 771 lượt xem 1 bình luận 06:14 25-04-2017

Mọi người cho em ý tưởng bài này với ạ! Em cảm ơn! 
Nhập ma trận A là ma trận vuông cấp n. Tìm cột có nhiều phần tử là số nguyên tố nhất và liệt kê các phần tử là số nguyên tố của cột đó( nếu có nhiều hơn 1 cột thì in ra cột đầu tiên thỏa mãn).

Em chỉ mới biết tìm ra cột nào nhiều số nguyên tố nhất nhưng ko biết liệt kê phần tử thỏa mãn của cột đó

Đây là code của em.
 

#include<stdio.h>
#include<math.h>
int ktra(int &n){
	int i,m=1;
    if(n<=1) m=0;
    if(n>1)
	for(i=2;i<=sqrt(n);i++){
		if(n%i==0){
			m=0;
			break;
		}
	}
	return m;
}
void nhap(int a[][20],int n){
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			printf("nhap a[%d][%d]= ",i,j);
			scanf("%d",&a[i][j]);
		}
	}
}
int process(int a[][20],int n){
	int d=0,l;
	int max=0;
	for(int k=0;k<n;k++){
		for(int i=0;i<n;i++){
			if(ktra(a[i][k])) d++;
			if(max<d&&ktra(a[i][k])){
			   max=d;
			   l=k+1;
		    }
		}
	}
	return l;
}
int main(){
	int n,a[20][20];
	scanf("%d",&n);
	nhap(a,n);
	process(a,n);
	printf("cot co snt nhieu nhat la %d",process(a,n));
}

 

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
Kteam SuperAdmin đã bình luận 11:27 21-04-2017

Viết một hàm KT_Nguyento, Rồi duyệt theo cột. Bạn sẽ cần là 3 biến Max,dem=0,và cotmax, dem+=1 khi mà la snt Khi duyệt hết một cột thì max=dem;cot=j-1; dem=0; tiếp tục chạy xong cột thứ 2 if(dem>max){max=dem; cot=j-1} ra là bạn sẽ có cái cột
Còn liệt kê thì bạn viết một hàm vẫn là duyệt mảng nhưng mà tại các vị trí a[i][cot] là snt thi in nó ra thôi

<Beatboxer VũKiller>

Câu hỏi mới nhất