a_tifonoff

Longest Alphabetical Word

Mar 21st, 2015
471
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.40 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace LongestAlphabeticalWord
  8. {
  9.     class LongestAlphabeticalWord
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             string tekst = Console.ReadLine();
  14.             int number = int.Parse(Console.ReadLine());
  15.  
  16.             // buit the matrix //
  17.             char[,] matrix = new char[number, number];
  18.             int k = 0;
  19.             int index = 0;
  20.             for (int i = 0; i < number; i++)
  21.             {
  22.                 for (int j = 0; j < number; j++)
  23.                 {
  24.                     index = k % tekst.Length;
  25.                     matrix[i, j] = (char)(tekst[index]);
  26.                     k++;
  27.                 }
  28.             }
  29.  
  30.             // check rows for longest word //
  31.  
  32.             string testString1 = "";
  33.             string testString2 = "";
  34.             string maxString1 = "";
  35.             string maxString2 = "";
  36.             for (int i = 0; i < number; i++)
  37.             {
  38.                 for (int j = 0; j < number; j++)
  39.                 {
  40.                     if (testString1 != matrix[i, j].ToString())
  41.                     {
  42.                         testString1 += matrix[i, j].ToString();
  43.                     }
  44.                    
  45.  
  46.                     if (testString1.Length > maxString1.Length)
  47.                     {
  48.                         maxString1 = testString1;
  49.                     }
  50.                     else if ((testString1.Length == maxString1.Length) && (string.Compare(testString1,maxString1)==-1))
  51.                     {
  52.                         maxString1 = testString1;
  53.                     }
  54.  
  55.                     if (j < number - 1 && matrix[i, j] > matrix[i, j + 1]) testString1 = "";
  56.  
  57.                     // columns for longest word//
  58.  
  59.                     if (testString2 != matrix[i, j].ToString())
  60.                     {
  61.                         testString2 += matrix[j, i].ToString();
  62.                     }
  63.                    
  64.  
  65.                     if (testString2.Length > maxString2.Length)
  66.                     {
  67.                         maxString2 = testString2;
  68.                     }
  69.                     else if ((testString2.Length == maxString2.Length) && (string.Compare(testString2, maxString2) == -1))
  70.                     {
  71.                         maxString2 = testString2;
  72.                     }
  73.  
  74.                     if (j < number - 1 && matrix[j, i] > matrix[j + 1, i]) testString2 = "";
  75.                 }
  76.                 testString1 = "";
  77.                 testString2 = "";
  78.             }
  79.  
  80.  
  81.  
  82.             for (int i = number - 1; i >= 0; i--)
  83.             {
  84.                 for (int j = number - 1; j >= 0; j--)
  85.                 {
  86.                     if (testString1 != matrix[i, j].ToString())
  87.                     {
  88.                         testString1 += matrix[i, j].ToString();
  89.                     }
  90.                    
  91.  
  92.                     if (testString1.Length > maxString1.Length)
  93.                     {
  94.                         maxString1 = testString1;
  95.                     }
  96.                     else if ((testString1.Length == maxString1.Length) && (string.Compare(testString1, maxString1) == -1))
  97.                     {
  98.                         maxString1 = testString1;
  99.                     }
  100.  
  101.                     if (j >= 1 && matrix[i, j] > matrix[i, j - 1]) testString1 = "";
  102.  
  103.                     ////////////////////////////////////////////////////////////////////////////////
  104.                     if (testString2 != matrix[i, j].ToString())
  105.                     {
  106.                         testString2 += matrix[j, i].ToString();
  107.                     }
  108.                    
  109.  
  110.                     if (testString2.Length > maxString2.Length)
  111.                     {
  112.                         maxString2 = testString2;
  113.                     }
  114.                     else if ((testString2.Length == maxString2.Length) && (string.Compare(testString2, maxString2) == -1))
  115.                     {
  116.                         maxString2 = testString2;
  117.                     }
  118.  
  119.                     if (j >= 1 && matrix[j, i] > matrix[j - 1, i]) testString2 = "";
  120.                 }
  121.                 testString1 = "";
  122.                 testString2 = "";
  123.             }
  124.  
  125.  
  126.             if (maxString1.Length > maxString2.Length) Console.WriteLine(maxString1);
  127.             else Console.WriteLine(maxString2);
  128.         }
  129.     }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment