Informatics Olympiad One Pass 1.5: Array (2)

​The first part of C++ language

Chapter 5 Arrays

The second section two-dimensional array

1119 Matrix Exchange Row
#include <iostream>
using namespace std;

int main(){
    int a[5][5], m, n;

    for (int i = 0; i < 5; i ++ ) {
        for (int j = 0; j < 5; j ++ ) {
            cin >> a[i][j];
        }
    }

    cin>>m>>n;

    for (int i = 0; i < 5; i ++ ) {
        swap(a[m-1][i], a[n-1][i]);
    }

    for (int i = 0; i < 5; i ++ ) {
        for (int j = 0; j < 5; j ++ ) {
            cout << a[i][j] << ' ';
        }
        cout << endl;
    }

    return 0;
}
1120 Sum of diagonals in the same row
​#include <cstdio>
using namespace std;

int main(){
    int n, x, y;

    scanf("%d%d%d", &n, &x, &y);

    for (int j = 1; j <= n; j ++ ) printf("(%d,%d) ", x, j);
    printf("\n");

    for (int i = 1; i <= n; i ++ ) printf("(%d,%d) ", i, y);
    printf("\n");

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= n; j ++ ) {
            if (j-i == y-x) printf("(%d,%d) ", i, j);
        }
    }
    printf("\n");

    for (int i = n; i >= 1; i -- ) {
        for (int j = 1; j <= n; j ++ ) {
            if (i+j == x+y) printf("(%d,%d) ", i, j);
        }
    }
    printf("\n");

    return 0;
}
1121 Calculate the sum of the edge elements of the matrix
#include <iostream>
using namespace std;

int main(){
    int m, n, a[100][100], sum = 0;

    cin >> m >> n;

    for (int i = 0; i < m; i ++ ) {
        for (int j = 0; j < n; j ++ ) {
            cin >> a[i][j];

            if (i == 0 || i == m-1 || j == 0 || j == n-1) {
                sum += a[i][j];
            }
        }
    }

    cout << sum << endl;

    return 0;
}
1122 Calculate saddle point
#include <cstdio>
using namespace std;

int main() {
    int a[5][5];

    for (int i = 0; i < 5; i ++ ) {
        for (int j = 0; j < 5; j ++ ) {
            scanf("%d", &a[i][j]);
        }
    }

    for (int i = 0; i < 5; i ++ ) {
        int max = 0;
        for (int j = 1; j < 5; j ++ ) {
            if (a[i][j] > a[i][max]) max = j;
        }

        int min = 0;
        for (int k = 1; k < 5; k ++ ) {
            if (a[k][max] < a[min][max]) min = k;
        }

        if (min == i) printf("%d %d %d\n", i+1, max+1, a[i][max]);
    }

    return 0;
}
1123 Image similarity
#include <cstdio>
using namespace std;

int main() {
    int n, m, cnt = 0;
    scanf("%d %d", &n, &m);
    int a[105][105], b[105][105];

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ){
            scanf("%d", &a[i][j]);
        }
    }

    for (int i = 1; i <= n; i++ ) {
        for (int j = 1; j <= m; j ++ ) {
            scanf("%d", &b[i][j]);
        }
    }

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            if ( a[i][j] == b[i][j]) cnt ++;
        }
    }

    printf("%.2f", 100.0 * cnt / (n * m));

     return 0;
}
1124 Matrix addition
#include <cstdio>
using namespace std;

int main() {
    int n, m, a[105][105], b[105][105];
    scanf("%d %d", &n, &m);

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            scanf("%d", &a[i][j]);
        }
    }

    for (int i = 1; i <=n ; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            scanf("%d", &b[i][j]);
        }
    }

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            printf("%d ", a[i][j] + b[i][j]);
        }
        printf("\n");
    }

     return 0;
}
1125 Matrix Multiplication
#include <cstdio>
using namespace std;

int main() {
    int n, m, k;
    scanf("%d %d %d", &n, &m, &k);
    int a[105][105], b[105][105], c[105][105] = {};

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ){
            scanf("%d", &a[i][j]);
        }
    }

    for (int i = 1; i <= m; i++ ) {
        for (int j = 1; j <= k; j ++ ) {
            scanf("%d", &b[i][j]);
        }
    }

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= k; j ++ ) {
            for (int l = 1; l <= m; l ++ ) {
                c[i][j] += a[i][l] * b[l][j];
            }
            printf("%d ", c[i][j]);
        }
        printf("\n");
    }

     ret
1126 Matrix Transpose
#include <cstdio>
using namespace std;

int main() {
    int n, m, a[105][105];
    scanf("%d %d", &n, &m);

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            scanf("%d", &a[i][j]);
        }
    }

    for (int i = 1;i <= m; i ++ ) {
        for (int j = 1; j <= n; j ++ ) {
            printf("%d ", a[j][i]);
        }
        printf("\n");
    }

    return 0;
}
1127 Image rotation
#include <cstdio>
using namespace std;

int main() {
    int n, m, a[105][105];
    scanf("%d %d", &n, &m);

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            scanf("%d", &a[i][j]);
        }
    }

    for (int i = 1;i <= m; i ++ ) {
        for (int j = n; j >= 1; j -- ) {
            printf("%d ", a[j][i]);
        }
        printf("\n");
    }

    return 0;
}
1128 Image blur processing
#include <cstdio>
using namespace std;

int main() {
    int n, m, a[105][105], b[105][105];
    scanf("%d %d", &n, &m);

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            scanf("%d", &a[i][j]);
            if (i == 1 || i == n || j == 1 || j == m) {
                b[i][j] = a[i][j];
            }
        }
    }

    double t;
    for (int i = 2; i <= n-1; i ++ ) {
        for (int j = 2; j <= m-1; j ++ ) {
            t = (a[i][j] + a[i-1][j] + a[i+1][j] + a[i][j-1] + a[i][j+1]) / 5.0;
            b[i][j] = (t * 10 + 5) / 10;
        }
    }

    for (int i = 1; i <= n; i ++ ) {
        for (int j = 1; j <= m; j ++ ) {
            printf("%d ", b[i][j]);
        }
        printf("\n");
    }

    return 0;
}

If your child is in the fourth grade or above, is interested in computer programming and has spare capacity in cultural lessons, please contact customer service (WeChat ID: xiaolan7321) to participate in informatics learning. We are professional informatics competition coaches. We use online small class teaching methods. The goal is to help primary and middle school students who love programming to achieve excellent results in informatics competitions at home and abroad.

Teaching features:

  • Online small class teaching, lay a good code foundation. Avoid the problem that students in large classes are either "can't keep up" or "not enough to eat".

  • Rich teaching experience, familiar with students' knowledge structure and learning ability, and arrange the schedule reasonably.

  • Practice with competitions, and continuously improve students' abilities through examinations and competitions.

Guess you like

Origin blog.csdn.net/davidliule/article/details/106139623