Cod sursa(job #2259)

Utilizator aLiNuSh-LTDTomescu Alin aLiNuSh-LTD Data 16 decembrie 2006 18:19:41
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.56 kb
#include <fstream>
#include <iostream>
#include <cstdlib>
using namespace std;

long tabla[17][17]; //tabla de joc
short a[17][17];
long rez[17][17];

unsigned int n,m;   //dimensiunile tablei de joc
long long smax = 0;
bool isPos = true;



void ReadData ();
long long SumColumn (unsigned int j);
long long SumRow (unsigned int i);
long long SumMatrix ();
void FlipRow (unsigned int i);
void FlipColumn (unsigned int j);
void FlipMatrix ();
void ShowData ();
void WriteData ();
void ReadData ();

class FlipR {
      public:
      protected:
      private:
      };

int main(void)
{      
    ReadData ();
    
    if (isPos)
    {
        WriteData ();
        return 0;
    }
    
    WriteData ();
    
    system("PAUSE");
    return(0);
}

void FlipMatrix ()
{
}

void ReadData ()
{
    register unsigned int i,j;
    
    fstream fin("flip.in", ios::in);
    fin >> n;
    fin >> m;
    for ( i = 0; i < n; ++i )
        for ( j = 0; j < m; ++j )
        {
           fin >> tabla[i][j];
           smax += tabla[i][j];
           a[i][j] = 1;          
           
           if (tabla[i][j] < 0)
           {
                isPos = false;
           }                     
        }
    fin.close();
}

void WriteData ()
{
    fstream fout("flip.out", ios::out);
    fout << smax;
    fout.close();
}

void ShowData ()
{
    register unsigned int i,j;
    cout << "-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-" << endl;
    for ( i = 0; i < n; ++i )
    {
      for ( j = 0; j < m; ++j )
      {
          cout << tabla[i][j] << " ";
      }
      cout << endl << endl;
    }
    cout << "Suma = " << smax << endl;
}

void FlipColumn (unsigned int j)
{
     register unsigned int i;
     for (i = 0; i < m; i++)
     {
         tabla[i][j] *= -1;
     }
}

void FlipRow (unsigned int i)
{
     register unsigned int j;
     for (j = 0; j < n; j++)
     {
         tabla[i][j] *= -1;
     }
}

long long SumMatrix ()
{
     long long s = 0;
     register unsigned int i,j;
     for (i = 0; i < n; i++)
     {
       for (j = 0; j < m; j++)
       {
           s += tabla[i][j];
       }
     }
     return s;
}

long long SumRow (unsigned int i)
{
     long long s = 0;
     register unsigned int j;
     for (j = 0; j < m; j++)
     {      
         s += tabla[i][j];
     }
     return s;
}

long long SumColumn (unsigned int j)
{
     long long s = 0;
     register unsigned int i;
     for (i = 0; i < n; i++)
     {      
         s += tabla[i][j];
     }
     return s;
}