Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/03/2017, 13:52
Avatar de Drako_18
Drako_18
 
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 19 años, 6 meses
Puntos: 16
Respuesta: C# Patron de caracteres o Pattern Print con * y Puntos

Buenas compañero,

No es tan difícil... En el trabajo del día a día te puedes llegar a encontrar cosas más complicadas que éste patrón.
Desconozco absolutamente los patrones de desarrollo, pero es algo de lógica, que si tienes una caja de 7x7, vas a necesitar 2 for que vayan desde el 1 hasta el 7, ambos inclusive...
A partir de ahí, deberás calcular CUANDO se pintan los asteriscos... Y cuando NO, pues se pinta un punto.
Además, me da la sensación que has copiado mal el código, porque tienes 2 funciones main.

Te dejo la solución en VB.Net (y en Windows Form) que es con lo que suelo trabajar y lo que me es más cómodo para mi.. Aún así, te recomiendo, que lo intentes pensando en el problema, como si fuese un array de 7x7.


Un saludo y que tengas buen fin de semana..!


Código vb:
Ver original
  1. Public Class Form1
  2.     Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
  3.         printar()
  4.     End Sub
  5.  
  6.  
  7.  
  8.     Private Sub btnRellenar_Click(sender As Object, e As EventArgs) Handles btnRellenar.Click
  9.         printar()
  10.     End Sub
  11.  
  12.  
  13.  
  14.     Private Sub btnClear_Click(sender As Object, e As EventArgs) Handles btnClear.Click
  15.         txtPizarra.Clear()
  16.     End Sub
  17.  
  18.  
  19.  
  20.     Private Sub printar()
  21.         txtPizarra.Clear()
  22.  
  23.         For i As Integer = 1 To 7 Step 1
  24.             For j As Integer = 1 To 7 Step 1
  25.                 If (j <= 7 - (i - 1) OrElse j >= i) AndAlso (j <= i OrElse j > (7 - i)) Then
  26.                     txtPizarra.Text &= " * "
  27.                 Else
  28.                     txtPizarra.Text &= " # "
  29.                 End If
  30.             Next
  31.  
  32.             If i < 7 Then txtPizarra.Text &= vbNewLine
  33.         Next
  34.     End Sub
  35. End Class
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)