Pagini recente » Cod sursa (job #1369994) | Cod sursa (job #2129590) | Statistici Radu Nicolae (radunicolae99) | Cod sursa (job #1045873) | Cod sursa (job #1208730)
#include <stdio.h>
int arraySum(int a[], int size) {
int sum=0,i=0;
for(i=0; i<size; i++)
sum+=a[i];
return sum;
}
int matrixSum(int a[16][16], int n, int m) {
int i=0, j=0, sum=0;
for(i=0; i<n; i++) {
for(j=0; j<m; j++) {
sum+=a[i][j];
}
}
return sum;
}
int main(){
FILE *f, *g;
int n,m,i,i1,j,j1, rowToFlip[16],rowC=0, invertedRow[16], colToFlip[16], colC=0, invertedCol[16];
int matrix[16][16];
f=fopen("flip.in","r");
g=fopen("flip.out","w");
fscanf(f,"%d %d",&n,&m);
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
fscanf(f,"%d ",&matrix[i][j]);
}
}
for(i=0;i<n;i++)
{
for(j=0;j<m;j++)
{
rowToFlip[rowC] = matrix[i][j];
invertedRow[rowC] = rowToFlip[rowC]*(-1);
rowC++;
}
if(arraySum(rowToFlip, rowC) < arraySum(invertedRow, rowC)) {
for(j1=0; j1<m; j1++) {
matrix[i][j1]*=-1;
}
}
rowC=0;
}
for(j=0; j<m; j++) {
for(i=0; i<n; i++) {
colToFlip[colC] = matrix[i][j];
invertedCol[colC] = colToFlip[colC]*(-1);
colC++;
}
if(arraySum(colToFlip, colC) < arraySum(invertedCol, colC)) {
for(i1=0; i1<n; i1++) {
matrix[i1][j]*=-1;
}
}
colC=0;
}
fprintf(g,"%d",matrixSum(matrix, n, m));
fclose(f);
fclose(g);
return 0;
}