/* PROGRAMMAZIONE IN C */
/* File: aree.c */
/* Soluzione proposta esercizio "Calcolo di aree" */

#include <stdio.h>
void leggimat(int mat[100][100],int *n,int*m);
int confrontar(int mat[100][100],int m, int r1,int r2);
void eliminar(int mat[100][100], int *n, int m, int r);
void stampamat(int mat[100][100],int n,int m);

int main()
{
    int mat[100][100];
    int n,m;
    leggimat(mat,&n,&m);
    for(int i=0;i<n-1;i++)
       for(int j=i+1;j<n;j++)
        if(confrontar(mat,m,i,j))
          { printf("riga %d/%d uguale\n",j,n);
            eliminar(mat,&n,m,j);
            j--;
          }
   stampamat(mat,n,m);
}
void stampamat(int mat[100][100],int n,int m)
{
 for(int i=0;i<n;i++)
 {
  printf("\n");
  for(int j=0;j<m;j++)

      printf("%d\t",mat[i][j]);
 }
}
void eliminar(int mat[100][100], int *n, int m, int r)
{
    for(int i=r;i<*n-1;i++)
        for(int j=0;j<m;j++)
          mat[i][j]=mat[i+1][j];
    *n=*n-1;
}
int confrontar(int mat[100][100],int m, int r1,int r2)
{
   int uguali=0;
   int i=0;
   while((mat[r1][i]==mat[r2][i]) && (i<m)) i++;
   if(i==m) uguali=1;
   return uguali;
}

void leggimat(int mat[100][100],int *n,int*m)
{
  printf("inserisci n:\n");
  scanf("%d",n);
  printf("inserisci m:\n");
  scanf("%d",m);
  for(int i=0;i<*n;i++)
    for(int j=0;j<*m;j++)
    {
      printf("m[%d][%d]=",i,j);
      scanf("%d",&mat[i][j]);
    }
}