Pagini recente » Cod sursa (job #83204) | Cod sursa (job #3201686) | Cod sursa (job #1971834) | Cod sursa (job #3032978) | Cod sursa (job #2637149)
#include <stdio.h>
#include <stdlib.h>
void ver_turn(int** v, int n, int m)
{
int i, j;
int poz = 0, neg = 0;
for (j = 0; j < m; j++)
{
for (i = 0; i < n; i++)
{
if (v[i][j] < 0) neg += v[i][j];
else poz += v[i][j];
}
if (((-1) * neg) > poz)
{
for (i = 0; i < n; i++)
{
v[i][j] = v[i][j] * (-1);
}
}
neg = 0;
poz = 0;
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
if (v[i][j] < 0) neg += v[i][j];
else poz += v[i][j];
}
if (((-1) * neg) > poz)
{
for (j = 0; j < m; j++)
{
v[i][j] = v[i][j] * (-1);
}
}
neg = 0;
poz = 0;
}
}
int total(int** v, int n, int m)
{
int i, j, sum = 0;
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
sum += v[i][j];
}
}
return sum;
}
int main()
{
int **vec, n, m, i, j, sum;
FILE* in = fopen("flip.in", "rt");
FILE* out = fopen("flip.out", "wt");
fscanf(in, "%d %d\n", &n, &m);
vec = calloc(n, sizeof(int*));
for (i = 0; i < n; i++)
{
vec[i] = calloc(m, sizeof(int));
}
for (i = 0; i < n; i++)
{
for (j = 0; j < m; j++)
{
fscanf(in, "%d", &vec[i][j]);
}
}
ver_turn(vec, n, m);
sum = total(vec, n, m);
fprintf(out, "%d\n", sum);
for (i = 0; i < n; i++)
{
free(vec[i]);
}
free(vec);
fclose(in);
fclose(out);
return 0;
}