19 -> 22
unknown
c_cpp
4 years ago
2.6 kB
6
Indexable
#include <stdio.h> void readFile(int a[][100], int &m, int &n); void bai19(int a[][100], int m, int n); void bai20(int a[][100], int m, int n); void bai21(int a[][100], int m, int n); void bai22(int a[][100], int m, int n); int main() { int a[100][100]; int m, n; readFile(a, m, n); bai19(a, m, n); bai20(a, m, n); bai21(a, m, n); bai22(a, m, n); return 0; } void readFile(int a[][100], int &m, int &n) { FILE *f; f = fopen ("table.inp", "rt"); fscanf(f, "%d", &m); fscanf(f, "%d", &n); for (int i = 0; i < m; i++) for (int j = 0; j < n; j++) fscanf(f, "%d", &a[i][j]); fclose(f); } void bai19(int a[][100], int m, int n) { int s_rows[m]; int s_cols[n]; for (int i = 0; i < m; i++) { int s = 0; for (int j = 0; j < n; j++) { s += a[i][j]; } s_rows[i] = s; } for (int j = 0; j < n; j++) { int s = 0; for (int i = 0; i < m; i++) { s = s + a[i][j]; } s_cols[j] = s; } FILE *f; f = fopen("table.out", "wt"); fprintf(f, "Bai 19:\n\t"); for (int i = 0; i < m; i++) fprintf(f, "%5d ", s_rows[i]); fprintf(f, "\n\t"); for (int i = 0; i < n; i++) fprintf(f, "%5d ", s_cols[i]); fprintf(f, "\n"); fclose(f); } void bai20(int a[][100], int m, int n) { int rows_min[m]; for (int i = 0; i < m; i++) { int min = a[i][0]; for (int j = 0; j < n; j++) { if (a[i][j] < min) min = a[i][j]; } rows_min[i] = min; } int max = rows_min[0]; for (int i = 0; i < m; i++) if (rows_min[i] > max) max = rows_min[i]; FILE *f; f = fopen("table.out", "a"); fprintf(f, "Bai 20: %d\n", max); fclose(f); } void bai21(int a[][100], int m, int n) { for (int i = 0; i < m; i++) { for (int j = 0; j < n - 1; j++) { for (int t = j + 1; t < n; t++) { if (a[i][j] > a[i][t]) { int temp = a[i][j]; a[i][j] = a[i][t]; a[i][t] = temp; } } } } FILE *f; f = fopen("table.out", "a"); fprintf(f, "Bai 21:\n\t"); for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { fprintf(f, "%5d ", a[i][j]); } fprintf(f, "\n\t"); } fprintf(f, "\n"); fclose(f); } int sumOf(int x) { int s = 0; while (x != 0) { s += x % 10; x /= 10; } return s; } void bai22(int a[][100], int m, int n) { int s = 0; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { s += sumOf(a[i][j]); } } FILE *f; f = fopen("table.out", "a"); fprintf(f, "Bai 22: %d", s); fclose(f); }
Editor is loading...