Pagini recente » Cod sursa (job #247590) | Cod sursa (job #1023676) | Cod sursa (job #1465092) | Cod sursa (job #677163) | Cod sursa (job #614434)
Cod sursa(job #614434)
// Flip.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
int **a, sum = 0;
int n, m;
int i, j;
int suml = 0, sumc = 0;
FILE *f1, *f2;
f1 = fopen("flip.in", "r");
f2 = fopen("flip.out", "w");
if (f1 == NULL || f2 == NULL)
{
return 0;
}
if (fscanf(f1, "%d\n%d\n", &n, &m) < 0)
{
fclose(f1);
fclose(f2);
}
a = (int **) malloc(sizeof(int *) * n);
for (i = 0; i < n; i++)
{
a[i] = (int *) malloc(sizeof(int) * m);
for (j = 0; j < m; j++)
{
fscanf(f1, "%d", &a[i][j]);
}
}
for (i = 0; i < n; i++)
{
suml = 0;
for (j = 0; j < m; j++)
{
suml += a[i][j];
}
if (suml < 0) //daca suma pe linie e negativa, comutam linia
{
for (j = 0; j < m; j++)
{
a[i][j] = -a[i][j];
}
suml = -suml;
}
sum += suml;
}
for (j = 0; j < m; j++)
{
sumc = 0;
for (i = 0; i < n; i++)
{
sumc += a[i][j];
}
if (sumc < 0) //daca suma pe coloana e negativa, comutam coloana
{
for (i = 0; i < n; i++)
{
a[i][j] = -a[i][j];
}
sum = sum - sumc - sumc;
}
}
fprintf(f2, "%d", sum);
fclose(f1);
fclose(f2);
return 0;
}