Pagini recente » Cod sursa (job #389149) | Cod sursa (job #2690321) | Cod sursa (job #2615309) | Cod sursa (job #2708443) | Cod sursa (job #11638)
Cod sursa(job #11638)
#include <stdio.h>
#include <conio.h>
#include <fcntl.h>
#define dimmax 10
int matrice[dimmax][dimmax];
int m,n;
//suma pe linii/coloane
int sumalin(int l)
{
int i,suma=0;
for (i=0;i<n;i++)
suma+=matrice[l][i];
return suma;
}
int sumacol(int c)
{
int i,suma=0;
for (i=0;i<m;i++)
suma+=matrice[i][c];
return suma;
}
void citire(FILE *input)
{
fscanf(input,"%d %d",&m,&n);
int i,j;
for (i=0;i<m;i++)
for (j=0;j<n;j++)
fscanf(input,"%d",&matrice[i][j]);
}
//functiile opin,opcol implementeaza operatiunea de negare
void oplin(int l)
{
int i;
for (i=0;i<n;i++)
matrice[l][i]*=-1;
}
void opcol(int c)
{
int i;
for (i=0;i<m;i++)
matrice[i][c]*=-1;
}
void scrie(FILE *out)
{
out=fopen("flip.out","w+");
int i,j,suma=0;
for (i=0;i<m;i++)
for (j=0;j<n;j++)
suma+=matrice[i][j];
fprintf(out,"%d",suma);
fclose(out);
}
int main()
{
FILE *pf;
pf=fopen("flip.in","r");
citire(pf);
fclose(pf);
char sch=1,i;
while (sch!=0)
{sch=0;
for (i=0;i<m;i++)
if (sumalin(i)<0) {
oplin(i);
sch=1;
}
for (i=0;i<n;i++)
if (sumacol(i)<0) {
opcol(i);
sch=1;
}
}
scrie(pf);
return 0;
}