Difference between revisions of "Solução CSharp: Problema da sopa de letras (versão cruzadinha)"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: == Dificuldade 1 == <code lang="csharp"> using System; namespace LaboratorioDeProgramacao2 { public class CruzadinhaD1 { private String Reverse(String s) { System.Text.StringBuil...)
 
(Dificuldade 1)
Line 17: Line 17:
 
}
 
}
 
public int RetornarQuantidadeDePalavrasEncontradas(
 
public int RetornarQuantidadeDePalavrasEncontradas(
            String[] cruzadinha, String[] palavras)
+
                                    String[] cruzadinha, String[] palavras)
 
{
 
{
 
int retorno = 0;
 
int retorno = 0;
Line 40: Line 40:
 
                sb.Append(" ");
 
                sb.Append(" ");
 
            }
 
            }
vertical = sb.ToString();
+
    vertical = sb.ToString();
verticalR = Reverse(horizontal);
+
      verticalR = Reverse(horizontal);
 
 
        for (int i = 0; i < palavras.Length; i++)         
+
                    for (int i = 0; i < palavras.Length; i++)         
            if (   (horizontal.IndexOf(palavras[i])!=-1
+
                        if ( (horizontal.IndexOf(palavras[i])!=-1
                    ||
+
                              ||
                    horizontalR.IndexOf(palavras[i])!=-1)
+
                              horizontalR.IndexOf(palavras[i])!=-1)
                    &&
+
                              &&
                    (vertical.IndexOf(palavras[i])!=-1
+
                              (vertical.IndexOf(palavras[i])!=-1
                    ||
+
                              ||
                    verticalR.IndexOf(palavras[i])!=-1)
+
                              verticalR.IndexOf(palavras[i])!=-1)
                )
+
                          )
                retorno++;  
+
                          retorno++;  
return retorno;
+
    return retorno;
}
+
}
 
}
 
}
 
}
 
}
 
</code>
 
</code>

Revision as of 05:42, 9 October 2008

Dificuldade 1

using System;
 
namespace LaboratorioDeProgramacao2
{
	public class CruzadinhaD1
	{
		private String Reverse(String s)
		{
			System.Text.StringBuilder sb = 
				new System.Text.StringBuilder();
			for(int i = s.Length - 1; i >= 0; i--)
				sb.Append(s[i]);
 
			return sb.ToString();			
		}
		public int RetornarQuantidadeDePalavrasEncontradas(
                                     String[] cruzadinha, String[] palavras)
		{
			int retorno = 0;
			System.Text.StringBuilder sb;
			String horizontal, horizontalR, vertical, verticalR;
 
			sb = new System.Text.StringBuilder();
			for(int i = 0; i < cruzadinha.Length; i++)
			{
				sb.Append(cruzadinha[i]);
				sb.Append(" ");
			}
			horizontal = sb.ToString();
			horizontalR = Reverse(horizontal);
 
			sb = new System.Text.StringBuilder();
			if (cruzadinha.Length > 0)            
	            for(int s = 0; s < cruzadinha[0].Length; s++)
	            {
	                for(int i = 0; i < cruzadinha.Length; i++)                 
	                    sb.Append(cruzadinha[i][s]);                    
	                sb.Append(" ");
	            }
		    vertical = sb.ToString();
   		    verticalR = Reverse(horizontal);
 
                    for (int i = 0; i < palavras.Length; i++)        
                        if (  (horizontal.IndexOf(palavras[i])!=-1
                              ||
                              horizontalR.IndexOf(palavras[i])!=-1)
                              &&
                              (vertical.IndexOf(palavras[i])!=-1
                              ||
                              verticalR.IndexOf(palavras[i])!=-1)
                           )
                          retorno++; 
		    return retorno;
		}		
	}
}