fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. public class Test
  6. {
  7. public static void Main()
  8. {
  9. var grid = CreateGrid(9, 15, 'o', 'x');
  10. PrintGrid(grid);
  11. }
  12.  
  13. private static void PrintGrid(char[,] grid)
  14. {
  15. for (var row = 0; row < grid.GetLength(0); row++)
  16. {
  17. for (var col = 0; col < grid.GetLength(1); col++)
  18. {
  19. Console.Write(grid[row, col]);
  20. }
  21. Console.WriteLine();
  22. }
  23. }
  24.  
  25. private static char[,] CreateGrid(int rows, int cols, char light, char dark)
  26. {
  27. var xo = Alternate(dark, light).Take(cols);
  28. var ox = Alternate(light, dark).Take(cols);
  29. var e = Alternate(xo, ox).SelectMany(c => c).GetEnumerator();
  30.  
  31. var grid = new char[rows, cols];
  32. for (var row = 0; row < rows; row++)
  33. {
  34. for (var col = 0; col < cols; col++)
  35. {
  36. e.MoveNext();
  37. grid[row, col] = e.Current;
  38. }
  39. }
  40.  
  41. return grid;
  42. }
  43.  
  44. private static IEnumerable<T> Alternate<T>(T first, T second)
  45. {
  46. while (true)
  47. {
  48. yield return first;
  49. yield return second;
  50. }
  51. }
  52. }
Success #stdin #stdout 0.03s 24160KB
stdin
Standard input is empty
stdout
xoxoxoxoxoxoxox
oxoxoxoxoxoxoxo
xoxoxoxoxoxoxox
oxoxoxoxoxoxoxo
xoxoxoxoxoxoxox
oxoxoxoxoxoxoxo
xoxoxoxoxoxoxox
oxoxoxoxoxoxoxo
xoxoxoxoxoxoxox