BÀI TOÁN
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();
}