Cod sursa(job #1739112)

Utilizator budure95Budure Marius Stelian budure95 Data 8 august 2016 17:12:42
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.86 kb
#include <iostream>
#include <fstream>

using namespace std;
int SumaElemente(int Matrice[][16], int n, int m);
void SumaLinieColoana(int Matrice[][16], int n, int m);
void InversareLinie(int Matrice[][16], int m,int i);
void InversareColoana(int Matrice[][16],int n,int j);
int main()
{
    int N, M, i, j;
    int a[16][16];

    ifstream InFile;

    InFile.open("flip.in");

    InFile >> N;
    InFile >> M;

    for(i=0;i<N;i++){
        for(j=0;j<M;j++){
            InFile >> a[i][j];
        }
    }

    InFile.close();

    SumaLinieColoana(a,N,M);


    ofstream OutFile;
    OutFile.open("flip.out");

    OutFile << SumaElemente(a,N,M);
    OutFile.close();
    return 0;
}
int SumaElemente(int MatriceS[][16], int n, int m){

    int Suma=0;
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            Suma = Suma + MatriceS[i][j];
        }
    }
    return Suma;
}
void SumaLinieColoana(int Matrice[][16], int n, int m){

    int i,j;
    int SumaLinie=0;
    int SumaColoana=0;

    for(i=0;i<n;i++){
        SumaLinie=0;
        for(j=0;j<m;j++){
            SumaLinie = SumaLinie + Matrice[i][j];
        }
        if(SumaLinie < 0){
            InversareLinie(Matrice,m,i);
            SumaLinieColoana(Matrice,n,m);
        }
    }
    for( i=0;i<n;i++){
        SumaColoana =0;
        for( j=0;j<m;j++){
            SumaColoana =SumaColoana + Matrice[j][i];
        }
        if(SumaColoana < 0){
            InversareColoana(Matrice,n,i);
            SumaLinieColoana(Matrice,n,m);
        }
    }
}
void InversareLinie(int Matrice[][16],int m,int i){
    for(int j=0;j<m;j++){
        Matrice[i][j]= Matrice[i][j]* -1;
    }
}
void InversareColoana(int Matrice[][16],int n,int j){
    for(int i=0;i<n;i++){
            cout << i<<endl;
        Matrice[i][j]= Matrice[i][j]* -1;
    }
}