Pagini recente » Cod sursa (job #2785825) | Cod sursa (job #2645066) | Cod sursa (job #1700906) | Cod sursa (job #598775) | Cod sursa (job #125799)
Cod sursa(job #125799)
#include <stdio.h>
#include <stdlib.h>
int v[100][100];
//n linii si m coloane
void citire(int &n, int &m)
{
FILE *f=fopen("flip.in","r");
fscanf(f,"%d %d",&n,&m);
for(int i=1; i<=n;i++)
for(int j=1; j<=m; j++)
fscanf(f,"%d",&v[i][j]);
fclose(f);
}
int main()
{
int n,m;
citire(n,m);
//se verifica intai suma de pe linii
int i,j;
for(i=1; i<=n; i++)
{
int spoz=0,sneg=0;
for(j=1; j<=m; j++)
if(v[i][j]<0) sneg+=v[i][j];
else spoz+=v[i][j];
//se inverseaza elementele
if(spoz<sneg*(-1))
{
for(j=1; j<=m; j++)
v[i][j]=v[i][j]*(-1);
}
}
//pe coloanae
for(i=1; i<=m; i++)
{
int spoz=0,sneg=0;
for(j=1; j<=n; j++)
if(v[j][i]<0) sneg+=v[j][i];
else spoz+=v[j][i];
//se inverseaza elementele
if(spoz<sneg*(-1))
{
for(j=1; j<=m; j++)
v[j][i]=v[j][i]*(-1);
}
}
int suma=0;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
suma+=v[i][j];
FILE *g=fopen("flip.out","w");
fprintf(g,"%d",suma);
fclose(g);
return 0;
}