Pagini recente » Cod sursa (job #57121) | Cod sursa (job #751691) | Cod sursa (job #330697) | Cod sursa (job #839827) | Cod sursa (job #418104)
Cod sursa(job #418104)
#include<stdio.h>
int n,m;
FILE *in=fopen("flip.in","r"), *out=fopen("flip.out","w");
long k[16][16];
void citire()
{
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fscanf(in,"%ld",&k[i][j]);
}
void coloana(int x, int y)
{
int i,j,sp,sn,l;
for(i=1;i<=y;i++)
{
sp=sn=0;
for(j=1;j<=x;j++)
{
if(k[j][i]>0) sp=sp+k[j][i];
else sn=sn+k[j][i];
}
if(-sn>sp)
{
for(l=1;l<=x;l++) k[l][i]=-k[l][i];
}
}
}
void linie(int x, int y)
{
int i,j,sp,sn,l;
for(i=1;i<=y;i++)
{
sp=sn=0;
for(j=1;j<=y;j++)
{
if(k[i][j]>0) sp=sp+k[i][j];
else sn=sn+k[i][j];
}
if(-sn>sp)
{
for(l=1;l<=x;l++) k[i][l]=-k[i][l];
}
}
}
int main()
{
int i,j;
long s=0;
fscanf(in,"%d",&n);
fscanf(in,"%d",&m);
citire();
coloana(n,m);
linie(n,m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
fprintf(out,"%ld ",k[i][j]);
s=s+k[i][j];
}
fprintf(out,"\n");
}
fprintf(out,"%ld",s);
fclose(out);
return 0;
}