Pagini recente » Cod sursa (job #2984331) | Cod sursa (job #2868412) | Cod sursa (job #236265) | Cod sursa (job #1785997) | Cod sursa (job #11644)
Cod sursa(job #11644)
#include <stdio.h>
#include <fcntl.h>
#define dimmax 16
int matrice[dimmax][dimmax];
int m,n;
//suma pe linii/coloane
long sumalin(int l)
{
int i;
long suma=0;
for (i=0;i<n;i++)
suma+=matrice[l][i];
return suma;
}
long sumacol(int c)
{
int i;
long suma=0;
for (i=0;i<m;i++)
suma+=matrice[i][c];
return suma;
}
void citire(FILE *input)
{
fscanf(input,"%d %d",&m,&n);
int i,j;
for (i=0;i<m;i++)
for (j=0;j<n;j++)
fscanf(input,"%d",&matrice[i][j]);
}
//functiile opin,opcol implementeaza operatiunea de negare
void oplin(int l)
{
int i;
for (i=0;i<n;i++)
matrice[l][i]*=-1;
}
void opcol(int c)
{
int i;
for (i=0;i<m;i++)
matrice[i][c]*=-1;
}
void scrie(FILE *out)
{
out=fopen("flip.out","w+");
int i,j;
long suma=0;
for (i=0;i<m;i++)
for (j=0;j<n;j++)
suma+=matrice[i][j];
fprintf(out,"%ld",suma);
fclose(out);
}
int main()
{
FILE *pf;
pf=fopen("flip.in","r");
citire(pf);
fclose(pf);
char sch=1,i;
while (sch!=0)
{sch=0;
for (i=0;i<m;i++)
if (sumalin(i)<0) {
oplin(i);
sch=1;
}
for (i=0;i<n;i++)
if (sumacol(i)<0) {
opcol(i);
sch=1;
}
}
scrie(pf);
return 0;
}