Pagini recente » Cod sursa (job #1405732) | Cod sursa (job #1337303) | Cod sursa (job #2607247) | Cod sursa (job #1608061) | Cod sursa (job #1397984)
#include <fstream>
using std::ifstream;
using std::ofstream;
ifstream in("flip.in");
ofstream out("flip.out");
void input(int n, int m, int table[][20])
{
for(int i = 1; i <= n; i++)
for(int j = 1; j <= m; j++)
in >> table[i][j];
}
int suma(int n, int m, int table[][20])
{
int lsum = 0, auxsum = 0, csum = 0;
// for pentru calcularea celei mai mari sume de pe linii
for(int i = 1; i <= n; i++) {
auxsum = 0;
for(int j = 1; j <= m; j++)
auxsum = auxsum + table[i][j];
if(auxsum <= 0) {
auxsum = 0;
for(int j = 1; j <= m; j++)
table[i][j] = table[i][j] * -1;
for(int j = 1; j <= m; j++)
auxsum = auxsum + table[i][j];
}
//out << "LINII: " << auxsum << "\n";
lsum = lsum + auxsum;
}
// for pentru calcularea celei mai mari sume de pe coloane
for(int j = 1; j <= m; j++) {
auxsum = 0;
for(int i = 1; i <= n; i++)
auxsum = auxsum + table[i][j];
if(auxsum <= 0) {
auxsum = 0;
for(int i = 1; i <= n; i++)
table[i][j] = table[i][j] * -1;
for(int i = 1; i <= n; i++)
auxsum = auxsum + table[i][j];
}
//out << "COLOANE: " << auxsum << "\n";
csum = csum + auxsum;
}
//out << "CSUM: " << csum << "\nLSUM: " << lsum;
if(csum >= lsum)
return csum;
else return lsum;
}
int main(void)
{
int n, m, table[20][20];
in >> n >> m;
input(n, m, table);
out << suma(n, m, table);
return 0;
}