Cod sursa(job #595261)

Utilizator schiticChitic Stefan schitic Data 11 iunie 2011 18:48:16
Problema Jocul Flip Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
	FILE *f,*g;
	f = fopen("filip.in","r");
	g = fopen("filip.out","w");
	int n,m;
	fscanf(f,"%d",&n);
	fscanf(f,"%d",&m);
	int mat[n][m];
	int i,j;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			fscanf(f,"%d",&mat[i][j]);
	int max=0;
	int imnultire =0;
	for(i=0;i<n;i++)
	{
		max=0;
		imnultire =0;
		for(j=0;j<m;j++)
			if(max<abs(mat[i][j]))
			{
				max = abs(mat[i][j]);
				if(mat[i][j]>=0)
					imnultire = 0;
				else
					imnultire = 1;
			}
		if(imnultire)
			for(j=0;j<m;j++)
				mat[i][j]*=-1;
	}
	
	for(j=0;j<m;j++)
	{
		max=0;
		imnultire =0;
		for(i=0;i<n;i++)
			if(max<abs(mat[i][j]))
			{
				max = abs(mat[i][j]);
				if(mat[i][j]>=0)
					imnultire = 0;
				else
					imnultire = 1;
			}
		if(imnultire)
			for(i=0;i<n;i++)
				mat[i][j]*=-1;
	}
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
			printf("%d ",mat[i][j]);
		printf("\n");
	}
	int sum =0;
	for(i=0;i<n;i++)
		for(j=0;j<m;j++)
			sum+=mat[i][j];
	fprintf(g,"%d",sum);
	fclose(f);
	fclose(g);
	return 0;
}