BÀI TOÁN
CHƯƠNG TRÌNH MẪU
Tổng các số trong mảng hai chiều cấp nxm.
CHƯƠNG TRÌNH MẪU
Code:
#include "conio.h"
#include "stdio.h"
#include "math.h"
#define max 100
//Input 2D array
void Input(int A[max][max], unsigned int n, unsigned int m) {
for(unsigned int i = 0; i<n; i++)
for(unsigned int j = 0; j<m; j++)
{
printf("\t[%d][%d] = ",i,j);
scanf("%d",&A[i][j]);
}
}
//Output 2D array
void Output(int A[max][max], unsigned int n, unsigned int m) {
for(unsigned int i = 0; i<n; i++)
{ printf("\n");
for(unsigned int j = 0; j<m; j++)
printf("%d\t",A[i][j]);
}
}
//if n is the prime then result 1 else result 0
char PrimeQ(int n) {
if(n<2)
return 0;
else
{
int i = 2;
int k = sqrt(n);
while(i<=k) {
if(n%i==0)
return 0;
i++;
}
return 1;
}
}
//Sum primes
long int SumPrime(int A[max][max], unsigned int n, unsigned int m) {
long int temp = 0;
for(unsigned int i = 0; i<n; i++)
for(unsigned int j = 0; j<m; j++)
if(PrimeQ(A[i][j]))
temp+= A[i][j];
return temp;
}
//main programming
void main(){
clrscr();
int B[max][max];
unsigned int n,m;
printf("Input n, m = ");
scanf("%d%d",&n,&m);
Input(B,n,m);
printf("This array:");
Output(B,n,m);
printf("\nSum primes = %d",SumPrime(B,n,m));
getch();
}