Pagini recente » Cod sursa (job #659715) | Cod sursa (job #1138178) | Cod sursa (job #1974593) | Cod sursa (job #2053358) | Cod sursa (job #1671414)
#include <iostream>
#include <fstream>
using namespace std;
void make_negative_col(long a[][100], long n, long col)
{
long i;
for (i = 0; i < n; i++)
{
a[i][col] *= -1;
}
}
void make_negative_lin(long a[][100], long m, long lin)
{
long j;
for (j = 0; j < m; j++)
{
a[lin][j] *= -1;
}
}
void verify_sum_col(long a[][100], long n, long col)
{
long i;
long 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(long a[][100], long m, long lin)
{
long j;
long 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(long a[][100], long n, long m)
{
long 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()
{
long a[100][100];
long n,m;
long i,j;
long 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;
}