Pagini recente » Cod sursa (job #1652059) | Cod sursa (job #2061705) | Cod sursa (job #1334279) | Cod sursa (job #2527415) | Cod sursa (job #1208731)
#include <stdio.h>
int arraySum(long a[], int size) {
int sum=0,i=0;
for(i=0; i<size; i++)
sum+=a[i];
return sum;
}
void displayMatrix(int a[16][16], int n, int m) {
int i=0, j=0;
printf("The matrix: \n");
for(i=0;i<n;i++) {
for(j=0;j<m;j++) {
}
printf("\n");
}
}
long matrixSum(long a[16][16], int n, int m) {
int i=0, j=0;
long 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,rowC=0, colC=0;
long matrix[16][16], rowToFlip[16], invertedRow[16], colToFlip[16], invertedCol[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,"%ld ",&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,"%ld",matrixSum(matrix, n, m));
fclose(f);
fclose(g);
return 0;
}