19 -> 22
unknown
c_cpp
4 years ago
2.6 kB
11
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...