Cod sursa(job #2647138)

Utilizator IrinelAnuirinel anuta IrinelAnu Data 3 septembrie 2020 13:25:53
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.58 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
void citire_matrice(int n, int m, int a[10][10]) {
	int i, j;
	for (i = 1; i <= n; i++)
		for (j = 1; j <= m; j++)
			f >> a[i][j];
}
void afisare_matrice(int n, int m, int a[10][10])
{
	int i, j;
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= m; j++)
		{
			cout << a[i][j]<<" ";
		}
		cout << endl;
	}
}
int suma_linie(int n, int m, int a[10][10], int linie)
{
	int j, s=0;
	citire_matrice(m, n, a);
		for (j = 1; j <= m; j++)
		{
			s = s + a[linie][j];
		}
		return s;
}
void inmultire_linie(int n, int m, int a[10][10], int linia)
{
	int j;
	for (j = 1; j <= m; j++)
		a[linia][j]=a[linia][j] * (-1);
}
int suma_coloana(int n, int m, int a[10][10], int coloana)
{
	int i, s=0;
	citire_matrice(m, n, a);
	for (i = 1; i <= n; i++)
	{
		s = s + a[i][coloana];
	}
	return s;
}
void inmultire_coloana(int n, int m, int a[10][10], int coloana)
{
	int i;
	for (i = 1; i <= n; i++)
	{
		a[i][coloana]=a[i][coloana] * (-1);
	}
}


int main()
{
	int n, m, a[10][10], i, j, s=0;
	f >> n >> m;
	citire_matrice(n, m, a);
	afisare_matrice(n, m, a);
	for (j = 1; j <= m; j++)
	{
		if (suma_coloana(n, m, a, j) < (-(suma_coloana(n, m, a, j))))
			inmultire_coloana(n, m, a, j);
	}
	for (i = 1; i <= n; i++)
	{
		if(suma_linie(n, m, a, i)<(-(suma_linie(n, m, a, i))))
			inmultire_linie(n, m, a, i);
	}
	cout << endl;
	afisare_matrice(n, m, a);
	for (i = 1; i <= n; i++)
	{
		for (j = 1; j <= m; j++)
		{
			s = s + a[i][j];
		}
	}
	g << s;
}