Pagini recente » Cod sursa (job #2434124) | Cod sursa (job #2862860) | Cod sursa (job #672017) | Cod sursa (job #3123354) | Cod sursa (job #2312852)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int main()
{
int N, M, matrice[17][17], numereNegativeColoane, copieColoana, maximAux=0, auxFinal=0, copieLinie, sumaTotala=0, minimLinieStanga, minimLinieDreapta;
f>>N>>M;
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
f>>matrice[i][j];
for(int j=1;j<=M;j++){
numereNegativeColoane=0;
for(int i=1;i<=N;i++)
if(matrice[i][j]<0)
numereNegativeColoane++;
auxFinal=numereNegativeColoane;
if(auxFinal>maximAux){
maximAux=auxFinal;
copieColoana=j;
}
}
minimLinieStanga=matrice[copieColoana-1][copieColoana];
minimLinieDreapta=matrice[copieColoana+1][copieColoana];
for(int k=copieColoana;k<=copieColoana;k++)
for(int i=copieColoana-1;i<=copieColoana-1;i++)
if(matrice[i][k-1]<minimLinieStanga){
minimLinieStanga=matrice[i][k];
copieLinie=i;
}
for(int k=copieColoana;k<=copieColoana;k++)
for(int j=copieColoana+1;j<=copieColoana+1;j++)
if(matrice[j][k+1]<minimLinieDreapta){
minimLinieDreapta=matrice[j][k];
copieLinie=j;
}
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++){
if(j==copieColoana)
matrice[i][j]*=-1;
if(i==copieLinie)
matrice[i][j]*=-1;
}
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
sumaTotala+=matrice[i][j];
g<<sumaTotala;
return 0;
}