C/Visual C - una duda de un ejercicio

 
Vista:

una duda de un ejercicio

Publicado por dai1 (14 intervenciones) el 15/01/2008 14:10:50
Hola

Estaba en clase y tengo un ejercicio de C en el que me dice lo siguiente

Con la matriz,
1 0 0 1
0 1 1 0
1 1 1 0

por ejemplo esta ,en los lugares donde haya ceros sustituirlos por el numero de unos que haya a su alrededor.

Lo he estado intentado con varios for consecutivos pero la verdad es que no me sale,si alguien fuera capaz de explicarme el algoritmo se lo agradeceria.

Gracias por adelantado

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:una duda de un ejercicio

Publicado por Zemi (1 intervención) el 15/01/2008 19:12:11
Solo te hace falta 2 for, el resto se valida a base de if.
Cuando estes en cada posicion valida que el elemento anterior, siguiente, el de arriba y el de abajo sea el número.
Tendras que tener en cuenta el limite del array.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:una duda de un ejercicio

Publicado por JuanC (57 intervenciones) el 16/01/2008 21:54:19
veamos si esto sirve... (perdón, no lo hice en C)

For i = 1 To 3
For j = 1 To 4
Count = 0
If i = 1 Then '//Primer fila
If j = 1 Then '//Primer fila - Primer columna
'//Ver si es 0 (cero)
If m(i, j) = 0 Then
'//Ver cuántos 1 (unos) rodean al 0 (cero)
If m(1, 2) = 1 Then Count = Count + 1
If m(2, 1) = 1 Then Count = Count + 1
If m(2, 2) = 1 Then Count = Count + 1
'//Cambiar 0 (cero) por cantidad de 1 (unos)
m(i, j) = Count
End If
ElseIf j = 4 Then '//Primer fila - Cuarta columna
Else '//Primer fila - Segunda y tercer columna
End If
ElseIf i = 2 Then '//Segunda fila
If j = 1 Then '//Segunda fila - Primer columna
ElseIf j = 4 Then '//Segunda fila - Cuarta columna
Else '//Segunda fila - Segunda y tercer columna
End If
Else '//Tercera fila
If j = 1 Then '//Tercera fila - Primer columna
ElseIf j = 4 Then '//Tercera fila - Cuarta columna
Else '//Tercera fila - Segunda y tercer columna
End If
End If
Next
Next

Saludos desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar