In ra các phần tử trên đường biên của ma trận la các số chính phương

Dưới đây là một số bài tập về ma trận dành cho các bạn học Nhập môn lập trình tham khảo. Các ví dụ mình chỉ thao tác với ma trận nguyên bằng ngôn ngữ C, với ma trận thực cũng tương tự

1. Viết hàm nhập một ma trận


//Cách 1: Nhập m, n trong hàm void InputMatrix[int a[][20], int &m, int &n] {    printf["Nhập số hàng m: "];    scanf["%d", &m];    printf["Nhập số cột n: "];    scanf["%d", &n];    for[int i = 0; i < m; i++]       for[int j = 0; j < n; j++]       {          printf["A[%d][%d] = ", i, j];          scanf["%d", &a[i][j]];       } } //Cách 2: Nhập m, n ngoài hàm void InputMatrix[int a[][20], int m, int n] {    for[int i = 0; i < m; i++]       for[int j = 0; j < n; j++]       {          printf["A[%d][%d] = ", i, j];          scanf["%d", &a[i][j]];       } }
2. Viết hàm xuất một ma trận
void OutputMatrix[int a[][20], int m, int n] {    for[int i = 0; i < m; i++]    {       for[int j = 0; j < n; j++]          printf["%d\t", a[i][j]];       printf["\n"];    } }
3. Viết hàm tìm giá trị lớn nhất trong ma trận
int MaxOfMatrix[int a[][20], int m, int n] {    int max = a[0][0];    for[int i = 0; i < m; i++]       for[int j = 0; j < n; j++]          if[a[i][j]>max]             max = a[i][j];    return max; }

4. Viết hàm tính tổng các số chẵn trong ma trận
int SumEven[int a[][20], int m, int n] {    int sum = 0;    for[int i = 0; i < m; i++]       for[int j = 0; j < n; j++]          if[a[i][j]%2==0]             sum += a[i][j];    return sum; }
5. Viết hàm đếm số nguyên tố trong ma trận
int PrimeMatrix[int a[][20], int m, int n] {    int dem = 0;    for[int i = 0; i < m; i++]       for[int j = 0; j < n; j++]          if[IsPrime[a[i][j]]] dem++;    return dem; }
6. Viết hàm xóa một dòng HOẶC một cột trong ma trận
void DeleteRow[int a[][20], int &m, int n, int indexRow] { for[int i=indexRow;i> N; for [int i = 0; i < M; ++i] for [int j = 0; j < N; ++j] cin >> a[i][j]; cout > n; int sum = 0; for [int i = 1; i a[i][j]; sum += a[i][j]; } cout > m; for [int i = 1; i a[i][j]; long long main_diagonal = 0, secondary_diagonal = 0; for [int i = 1; i

Chủ Đề