Ciao,
devo fare un programma che, data una matrice RxC, dica se ha una cornice di zeri oppure no.
Il problema è che mi dice che ha una cornice di zeri solo quando tutti gli elementi sono degli zeri.
codice:
#include<stdio.h>
int main()
{
  int r, c, nr, nc, tot, op;
  float matrice[100][100], val;
  printf("Inserici il numero di righe\n");
  scanf("%d", &nr);
  printf("Inserici il numero di colonne\n");
  scanf("%d", &nc);
  printf("Dati per la matrice quadrata:\n");
  for(r=0; r<nr; r++)
  {
            for(c=0; c<nc; c++)
            {
                     printf("Inserisci i dati della posizione matrice [%d][%d]", r+1,c+1);
                     scanf("%f", &val);
                     matrice [r][c]=val;
                     while(getchar()!='\n'); //Serve per pulire il buffer di tastiera                     
            }
  }
  tot=nr*2+(nc-2)*2; //Tot è il numero degli elementi della cornice della matrice
  op=ver(matrice,tot,nr,nc);
  if(op==1)
    printf("La matrice ha una cornice di zeri\n");
  else
   printf("La matrice non ha una cornice di zeri\n");
  system("pause");
  return 0;
}
//Implementazione della funzione per la verifica
int ver(float mat[][100], int totale, int righe, int colonne)
{
    int x, y, tot=0;
    for(x=0; x<righe; x++)
    {
            for(y=0; y<colonne; y++)
            {
                     if(mat [x][0]==0 || mat [x][colonne-1]==0 || mat [0][y]==0 || mat [righe-1][y]==0)
                     tot++;
            }
    }
    if(tot==totale)
      return 1;
    else
      return -1;
}
Ciao e grazie