Ciao a tutti
sto facendo un programmino nel quale vi è una matrice costituita di elementi solo pari a 1 o 0.
Dopo aver inserito gli elementi nella matrice ( con gli opportuni controlli sulla dimensione della matrice e sugli elementi ) devo trovare la riga che contiene il più gran numero di elementi consecutivi con valore uguale ad 1 ed il valore attuale di tale numero.
io ho fatto in questo modo
codice:
#include <stdio.h>
#define N 100
#define M 100
int main()
{
int matrix[N][M];
int n, m, i, j, k, z;
int num, max;
int v[M];
printf("Inserisci il numero di righe ed il numero di colonne della matrice : \n");
scanf("%d %d", &n, &m);
if ( n <= N && m <= M ) {
printf("Inserisci gli elementi della matrice %d x %d\n", n, m);
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < m; j++ ) {
printf("Inserisci l'elemento [%d][%d] : \n", i, j);
scanf("%d", &num);
if ( num == 0 || num == 1) {
matrix[i][j] = num;
} else {
printf("Elemento inserito errato \n");
break;
}
}
}
}
printf("\nLa matrice è : \n");
for ( i = 0; i < n; i++ ) {
for ( j = 0; j < m; j++ ) {
printf("%d\t", matrix[i][j]);
}
printf("\n");
}
k = 0;
for ( i = 0; i < n; i++ ) {
max = 0;
for ( j = 0; j < m; j++) {
if ( (matrix[i][j + 1] - matrix[i][j]) == 0 ) {
max += 1;
} else {
v[k] = max + 1;
k++;
}
max = 0;
}
}
for ( k = 0; k < m; k++ ) {
printf("%d\t", v[k]);
}
return 0;
}
cercando i numeri di 1 consecutivi in ciascuna riga e memorizzando il loro valore ogni volta in un vettore..ma a quanto pare non è proprio la via giusta..avete suggerimenti ?