Задача форматирования таблицы не проходит все тесты - C#

Узнай цену своей работы

Формулировка задачи:

Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще несколько различных вариантов входных данных. Какой вариант не сработал, он не показывает. Помогите пожалуйста разобраться, какие условия в моем коде не соблюдены. Условие задачи:

Форматирование таблицы

ограничение по времени на тест2 секунды ограничение по памяти на тест256 мегабайт вводstdin выводstdout Вам дана таблица, заданная набором строк. Разделителями ячеек в каждой строке являются символы «|». Содержимое каждой ячейки — это последовательность пробелов, цифр и заглавных и строчных латинских букв. Вам необходимо отформатировать эту таблицу следующим образом: 1) убрать из всех значений ячеек начальные и концевые пробелы; 2) установить ширину каждого столбца равную наибольшей длине значения в этом столбце; 3) выравнить значения всех ячеек по центру столбца, добавив начальные и концевые пробелы; 4) если значение невозможно выравнить точно по центру ячейки, то расположите его ближе к левой границе.

Входные данные

Входные данные состоят из некоторого количество строк, состоящих из пробелов, цифр, заглавных и строчных латинских букв и символов «|». Значение ячейки может быть пустым. Гарантируется, что все строки таблицы состоят из одинакового числа ячеек. Первый и последний символ каждой строки входных данных — это символы «|». Размер входных данных не превосходит 10 Кб.

Выходные данные

Выведите отформатированную по описанным правилам таблицу.
Пример из условия задачи(он отработал):

входные данные

|test|me|one two| | a | three spaces | |

выходные данные

|test| me |one two| | a |three spaces| |
Код программы, реализованной мной на на C#:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace ConsoleApp90
  7. {
  8. class Program
  9. {
  10. static void Main(string[] args)
  11. {
  12. string current = "";
  13. List<List<string>> mass = new List<List<string>>();
  14. List<string> row = new List<string>();
  15. List<string> nrow = new List<string>();
  16. int i = 0;
  17. while ((current = Console.ReadLine()) != null)
  18. {
  19. row = current.Split('|').ToList<string>();
  20. mass.Add(new List<string>());
  21. for (int k = 1; k < row.Count - 1; k++)
  22. {
  23. row[k] = row[k].TrimStart(' ');
  24. row[k] = row[k].TrimEnd(' ');
  25. mass[i].Add(row[k]);
  26. }
  27. i++;
  28. }
  29. List<int> num = new List<int>();
  30. for (int e = 0; e < mass.Count; e++)
  31. {
  32. for (int f = 0; f < mass[e].Count; f++)
  33. {
  34. num.Add(0);
  35. if (num[f] < mass[e][f].Length)
  36. {
  37. num[f] = mass[e][f].Length;
  38. }
  39. }
  40. }
  41. for (int e = 0; e < mass.Count; e++)
  42. {
  43. for (int f = 0; f < mass[e].Count; f++)
  44. {
  45. while (mass[e][f].Length < num[f] - 1)
  46. {
  47. mass[e][f] = " " + mass[e][f] + " ";
  48. if (mass[e][f].Length == num[f] - 1)
  49. {
  50. mass[e][f] = mass[e][f] + " ";
  51. }
  52. }
  53. }
  54. }
  55. for (int e = 0; e < mass.Count; e++)
  56. {
  57. for (int f = 0; f < mass[e].Count; f++)
  58. {
  59. Console.Write("|" + mass[e][f]);
  60. }
  61. Console.WriteLine("|");
  62. }
  63. Console.ReadLine();
  64. }
  65. }
  66. }
Прикладываю пример, который из условия(он отработал) в виде фото

Решение задачи: «Задача форматирования таблицы не проходит все тесты»

textual
Листинг программы
  1.             for (int e = 0; e < mass.Count; e++)
  2.             {
  3.                 for (int f = 0; f < mass[e].Count; f++)
  4.                 {
  5.                     while (mass[e][f].Length < num[f] - 1)
  6.                     {
  7.                         mass[e][f] = " " + mass[e][f] + " ";
  8.                         if (mass[e][f].Length == num[f] - 1)
  9.                         {
  10.                             mass[e][f] = mass[e][f] + " ";
  11.                         }
  12.                     }
  13.                 }
  14.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.625 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы