1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #include <stdio.h>
- #define MAX_SIZE 10
- void matrix_add(int A[][MAX_SIZE], int B[][MAX_SIZE], int N) {
- int i,j;
- for (i = 0; i < N; i++) {
- for (j = 0; j < N; j++) {
- A[i][j] += B[i][j];
- }
- }
- }
- void matrix_subtract(int A[][MAX_SIZE], int B[][MAX_SIZE], int N) {
- int i,j;
- for (i = 0; i < N; i++) {
- for (j = 0; j < N; j++) {
- A[i][j] -= B[i][j];
- }
- }
- }
- void print_matrix(int A[][MAX_SIZE], int N) {
- int i,j;
- for (i = 0; i < N; i++) {
- for (j = 0; j < N; j++) {
- printf("%5d", A[i][j]);
- }
- printf("\n");
- }
- }
- int main() {
- int N;
- int A[MAX_SIZE][MAX_SIZE];
- int B[MAX_SIZE][MAX_SIZE];
- char op;
- int i,j;
- scanf("%d", &N);
- for (i = 0; i < N; i++) {
- for (j = 0; j < N; j++) {
- scanf("%d", &A[i][j]);
- }
- }
- while (1) {
- getchar();
- scanf("%c", &op);
- if (op == '#') {
- break;
- }
- for (i = 0; i < N; i++) {
- for (j = 0; j < N; j++) {
- scanf("%d", &B[i][j]);
- }
- }
- if (op == '+') {
- matrix_add(A, B, N);
- } else if (op == '-') {
- matrix_subtract(A, B, N);
- }
- }
- print_matrix(A, N);
- return 0;
- }
|