Pagini recente » Cod sursa (job #3004200) | Cod sursa (job #1579467) | Cod sursa (job #3198287) | Cod sursa (job #1785465) | Cod sursa (job #1671417)
#include <iostream>
#include <fstream>
using namespace std;
void make_negative_col(int a[][100], int n, int col)
{
int i;
for (i = 0; i < n; i++)
{
a[i][col] *= -1;
}
}
void make_negative_lin(int a[][100], int m, int lin)
{
int j;
for (j = 0; j < m; j++)
{
a[lin][j] *= -1;
}
}
void verify_sum_col(int a[][100], int n, int col)
{
int i;
int sum_normal = 0, sum_negative = 0;
for (i = 0; i < n; i++)
{
sum_normal += a[i][col];
sum_negative -= a[i][col];
}
if (sum_negative > sum_normal)
make_negative_col(a, n, col);
}
void verify_sum_lin(int a[][100], int m, int lin)
{
int j;
int sum_normal = 0, sum_negative = 0;
for (j = 0; j < m; j++)
{
sum_normal += a[lin][j];
sum_negative -= a[lin][j];
}
if (sum_negative > sum_normal)
make_negative_lin(a, m, lin);
}
void verify_matrix(int a[][100], int n, int m)
{
int i, j;
for (i = 0; i < n; i++)
{
verify_sum_lin(a, m, i);
}
for (j = 0; j < m; j++)
{
verify_sum_col(a, n, j);
}
}
int main()
{
int a[100][100];
int n,m;
int i,j;
int sum = 0;
ifstream f("flip.in");
ofstream g("flip.out");
f >> n >> m;
//citeste(a, n, m, f);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
f >> a[i][j];
verify_matrix(a, n, m);
//tipareste_sum(a, n, m, g);
for (i = 0; i < n; i++)
for (j = 0; j < m; j++)
sum += a[i][j];
g << sum;
f.close();
g.close();
return 0;
}