La primera parte del lenguaje C ++
Capítulo 5 Matrices
La matriz bidimensional de la segunda sección
1119 Fila de intercambio de matriz
#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 Suma de diagonales en la misma fila
#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 Calcular la suma de los elementos de borde de la matriz
#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 Calcular el punto de silla
#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 Similitud de imagen
#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 Adición de matriz
#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 Multiplicación de matrices
#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 Transposición de matriz
#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 Rotación de imagen
#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 Procesamiento de imágenes borrosas
#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;
}
Si su hijo está en cuarto grado en adelante, está interesado en la programación de computadoras y tiene capacidad adicional para lecciones culturales, comuníquese con el servicio al cliente (ID de WeChat: xiaolan7321) para participar en el aprendizaje de la informática. Somos entrenadores profesionales de competencias de informática, utilizando métodos de enseñanza de clases pequeñas en línea, el objetivo es ayudar a los estudiantes de primaria y secundaria que aman la programación a lograr excelentes resultados en competencias de informática nacionales y extranjeras.
Funciones de enseñanza:
-
Enseñanza en línea en clases pequeñas, establezca una buena base de código. Evite el problema de "no puedo mantener el ritmo" o "no comer lo suficiente" en clases grandes.
-
Rica experiencia docente, familiarizado con la estructura de conocimiento y la capacidad de aprendizaje de los estudiantes, y organice el horario de manera razonable.
-
Practique con competencias y mejore continuamente las habilidades de los estudiantes a través de exámenes y competencias.