Pagini recente » Cod sursa (job #1678370) | Cod sursa (job #2544710) | Cod sursa (job #1300923) | Cod sursa (job #2946347) | Cod sursa (job #1200117)
#include <stdio.h>
int joculFlip(int n, int m, int matrix[16][16])
{
int i, j, suma = 0, aux;
//caut ce linii trebuie sa inmultesc cu -1
for (i = 0; i < n; i ++)
{
aux = 0;
for (j = 0; j < m; j ++)
aux += matrix[i][j];
//daca suma liniei este mai mica ca 0, atunci trebuie sa fac switch
if (aux < 0)
for (j = 0; j < m; j ++)
matrix[i][j] = -matrix[i][j];
}
//caut ce coloane trebuie sa inmultesc cu -1
for (j = 0; j < m; j ++)
{
aux = 0;
for (i = 0; i < n; i ++)
aux += matrix[i][j];
//daca suma coloanei este mai mica ca 0, atunci trebuie sa fac switch
if (aux < 0)
for (i = 0; i < n; i ++)
matrix[i][j] = -matrix[i][j];
}
//calculez suma elementelor matricii dupa modificari
for (i = 0; i < n; i ++)
for (j = 0; j < m; j ++)
suma += matrix[i][j];
return suma;
}
int main(int argc, char** argv)
{
int n, m, matrix[16][16];
FILE *in, *out;
in = fopen("flip.in", "r");
out = fopen("flip.out", "w");
fscanf(in, "%i%i", &n, &m);
for (int i = 0; i < n; i ++)
for (int j = 0; j < m; j ++)
fscanf(in, "%i", &matrix[i][j]);
fprintf(out, "%i", joculFlip(n, m, matrix));
fclose(in);
fclose(out);
return 0;
}