用c++写矩阵的加减乘除,矩阵为三行四列并存放double类型的数据,
时间: 2023-05-16 15:05:42 浏览: 113
以下是用 C 语言写矩阵的加减乘除的示例代码,矩阵为三行四列并存放 double 类型的数据:
#include <stdio.h>
#define ROWS 3
#define COLS 4
void matrix_add(double a[][COLS], double b[][COLS], double c[][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
c[i][j] = a[i][j] + b[i][j];
}
}
}
void matrix_subtract(double a[][COLS], double b[][COLS], double c[][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
c[i][j] = a[i][j] - b[i][j];
}
}
}
void matrix_multiply(double a[][COLS], double b[][COLS], double c[][COLS]) {
int i, j, k;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
c[i][j] = 0;
for (k = 0; k < COLS; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
}
void matrix_divide(double a[][COLS], double b[][COLS], double c[][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
c[i][j] = a[i][j] / b[i][j];
}
}
}
void print_matrix(double a[][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%f ", a[i][j]);
}
printf("\n");
}
}
int main() {
double a[ROWS][COLS] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
double b[ROWS][COLS] = {{2, 3, 4, 5}, {6, 7, 8, 9}, {10, 11, 12, 13}};
double c[ROWS][COLS];
printf("Matrix A:\n");
print_matrix(a);
printf("Matrix B:\n");
print_matrix(b);
printf("Matrix A + B:\n");
matrix_add(a, b, c);
print_matrix(c);
printf("Matrix A - B:\n");
matrix_subtract(a, b, c);
print_matrix(c);
printf("Matrix A * B:\n");
matrix_multiply(a, b, c);
print_matrix(c);
printf("Matrix A / B:\n");
matrix_divide(a, b, c);
print_matrix(c);
return 0;
}
注意:这只是一个示例代码,实际应用中需要根据具体需求进行修改和优化。
阅读全文
相关推荐













