Pagini recente » Cod sursa (job #311715) | Cod sursa (job #1282223) | Cod sursa (job #2845166) | Cod sursa (job #2689226) | Cod sursa (job #1443405)
#include<iostream>
#include<fstream>
using namespace std;
int suma(int n,int m,int a[][16]){
int Spoz=0,i,j;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
Spoz+=a[i][j];
}
}
return Spoz;
}
void afisare(int n,int m, int a[][16]){
int i,j;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
}
void citire_matrice(int &n,int &m, int a[][16]){
ifstream fisier ("flip.in");
int i,j;
fisier>>n;
fisier>>m;
for(i=0;i<n;i++){
for(j=0;j<m;j++){
fisier>>a[i][j];
}
}
fisier.close();
//afisare(n,m,a);
}
int flip(int n,int m,int a[][16]){
int Sneg=0,Spoz=0,ok,i,j;
ok=0;
for(i=0;i<n;i++){
Sneg=0;
Spoz=0;
for(j=0;j<m;j++){
if(a[i][j]>0)
Spoz+=a[i][j];
else
Sneg+=a[i][j];
}
if((-1)*Sneg>Spoz){
for(j=0;j<m;j++){
a[i][j]*=-1;
}
ok=1;
}
}
for(j=0;j<m;j++){
Sneg=0;
Spoz=0;
for(i=0;i<n;i++){
if(a[i][j]>0)
Spoz+=a[i][j];
else
Sneg+=a[i][j];
}
if((-1)*Sneg>Spoz){
for(i=0;i<n;i++){
a[i][j]*=-1;
}
ok=1;
}
}
if(ok==1)
flip(n,m,a);
}
int main(){
int m,n,i,j;
int a[16][16];
citire_matrice(n,m,a);
flip(n,m,a);
ofstream fisier2 ("flip.out");
fisier2<<suma(n,m,a);
fisier2.close();
}