Cod sursa(job #2953298)

Utilizator nanciudavidNanciu David nanciudavid Data 10 decembrie 2022 21:52:19
Problema Jocul Flip Scor 0
Compilator c-32 Status done
Runda Arhiva de probleme Marime 1.64 kb
#include <stdio.h>


void readMatrix(int a[100][100], int *n, int *m)
{
  FILE *in;
  in=fopen("/Users/davidnanciu/Desktop/C /flip.in", "rt");
  fscanf(in, "%d%d", &*n, &*m);
  for(int i = 0 ; i < *n ; i++)
   for(int j = 0 ; j< *m ; j++)
   {
   fscanf(in, "%d", &a[i][j]);
   }
}

void minimCollumn ( int a[100][100], int n , int m)
{
  int i , j , minimcoloana=100 , sum = 0, indice;
 for (i = 0; i < m; ++i) {
  sum=0;
  for (j = 0; j < n; ++j)
    sum+=a[j][i];

    if(sum < minimcoloana)
    {
      minimcoloana = sum;
      indice = i;
    }
  }
    for(j=0; j < n; j++)
    a[j][indice] = a[j][indice]*(-1);
  }


void minimLine(int a[100][100], int n, int m)
{
  int i,j, minimlinie = 100, sum=0, indice;
  for(i=0;i<n;i++)
  {
    sum=0;
    for(j=0;j<m;j++)
    sum+=a[i][j];
    
    if(sum < minimlinie){
      minimlinie = sum;
      indice = i;
    }
  }
  for(j=0;j<m;j++)
  {
    a[indice][j] = a[indice][j]*(-1);
  }
}

void sumMatrix(int a[100][100], int n , int m, int *sumaMatrice)
{
  *sumaMatrice=0;
  for(int i = 0 ; i < n ;i++)
  {
    for(int j=0 ; j < m ;j++)
    *sumaMatrice+=a[i][j];
  }
}


int main(){
int a[100][100], n ,m , sumaMatrice=0;
readMatrix(a, &n, &m);
for(int i = 0 ; i<n ; i++){
for(int j = 0; j<m; j++)
printf("%d ", a[i][j]);
printf("\n");
}
printf("\n");
minimCollumn(a, n, m);
for(int i = 0 ; i<n ; i++){
for(int j = 0; j<m; j++)
printf("%d ", a[i][j]);
printf("\n");
}
printf("\n");
minimLine(a,n,m);
for(int i = 0 ; i<n ; i++){
for(int j = 0; j<m; j++)
printf("%d ", a[i][j]);
printf("\n");
}
sumMatrix(a,n,m,&sumaMatrice);
FILE *out;
out=fopen("/Users/davidnanciu/Desktop/C /flip.out", "w+");
fprintf(out, "%d", sumaMatrice);
}