Cod sursa(job #2205609)

Utilizator petrut.mateiPetrut Matei petrut.matei Data 19 mai 2018 16:33:42
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.51 kb
#include <iostream>
#include <fstream>

using namespace std;

void suma(long int m[16][16], int l, int c, FILE* f)
{
	int s = 0;
	for (int i = 0; i<l; i++)
	{
		for (int j = 0; j<c; j++)
		{
			s = s + m[i][j];
		}
	}
	fprintf(f, "%d", s);
	fclose(f);
}

void verifCol(long int m[16][16], int l, int c, int nr_c)
{
	int s = 0;
	for (int i = 0, j = nr_c; i<l; i++)
	{
		s = s + m[i][j];
	}
	if (s<0)
	{
		for (int i = 0, j = nr_c; i<l; i++)
		{
			m[i][j] = m[i][j] * (-1);
		}
	}
}

void afisare(long int m[16][16], int l, int c)
{
	for (int i = 0; i<l; i++)
	{
		for (int j = 0; j<c; j++)
		{
			cout << m[i][j] << " ";
		}
		cout << endl;
	}
}

void verifLinii(long int m[16][16], int l, int c, int nr_l)
{
	int s = 0;
	for (int i = nr_l, j = 0; j<c; j++)
	{
		s = s + m[i][j];
	}
	if (s<0)
	{
		for (int i = nr_l, j = 0; j<c; j++)
		{
			m[i][j] = m[i][j] * (-1);
		}
	}
}

int main()
{
	FILE* f, *g;
	g = fopen("flip.in", "r");
	f = fopen("flip.out", "w");
	int l, c;
	long int m[16][16];

	if (g == NULL) cout << "Eroare ";
	if (g == NULL) cout << "Eroare";

	fscanf(g, "%d", &l);
	fscanf(g, "%d", &c);

	for (int i = 0; i<l; i++) {
		for (int j = 0; j<c; j++)
		{
			//cout<<"m["<<i<<"]["<<j<<"]= ";
			fscanf(g, "%d", &m[i][j]);

		}
		//fscanf(g, "%c");
	}
	//afisare(m, l, c);

	for (int i = 0; i<l; i++)
		verifLinii(m, l, c, i);

	for (int j = 0; j<c; j++)
		verifCol(m, l, c, j);

	//afisare(m,l,c);
	suma(m, l, c, f);
	return 0;
}