Pagini recente » Cod sursa (job #1574332) | Cod sursa (job #1776054) | Cod sursa (job #2063856) | Cod sursa (job #296049) | Cod sursa (job #992891)
Cod sursa(job #992891)
#include<fstream>
using namespace std;
int n,m,i,j,a[16][16];
void citire()
{
fstream f("flip.in",ios::in);
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
f.close();
}
int suma_poz_col(int j, int contor) //contor=0 -> suma nr pozitive, altfel suma nr negative
{
int k,s=0,s2=0;
for(k=1;k<=n;k++)
if(a[k][j]>=0) s+=a[k][j];
else s2+=a[k][j];
if(!contor) return s;
else return s2;
}
int suma_poz_lin(int i, int contor)
{
int k,s=0,s2=0;
for(k=1;k<=m;k++)
if(a[i][k]>=0) s+=a[i][k];
else s2+=a[i][k];
if(!contor) return s;
else return s2;
}
void modif_col(int j)
{
int k;
for(k=1;k<=n;k++) a[k][j]=-a[k][j];
}
void modif_lin(int i)
{
int k;
for(k=1;k<=m;k++) a[i][k]=-a[i][k];
}
void modificare_matrice()
{
for(j=1;j<=m;j++)
if(suma_poz_col(j,0)<=-suma_poz_col(j,1)) modif_col(j);
for(i=1;i<=n;i++)
if(suma_poz_lin(i,0)<=-suma_poz_col(i,1)) modif_lin(i);
}
void scrie()
{
int s=0;
fstream g("flip.out",ios::out);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j];
g<<s;
g.close();
}
int main()
{
citire();
modificare_matrice();
scrie();
}