Задача форматирования таблицы не проходит все тесты - C#
Формулировка задачи:
Задача не проходит все тесты. Пример, указанный в условии работает, а потом тестировщик пробует еще несколько различных вариантов входных данных. Какой вариант не сработал, он не показывает. Помогите пожалуйста разобраться, какие условия в моем коде не соблюдены.
Условие задачи:
Пример из условия задачи(он отработал):
Код программы, реализованной мной на на C#:
Прикладываю пример, который из условия(он отработал) в виде фото
Форматирование таблицы
ограничение по времени на тест2 секунды ограничение по памяти на тест256 мегабайт вводstdin выводstdout Вам дана таблица, заданная набором строк. Разделителями ячеек в каждой строке являются символы «|». Содержимое каждой ячейки — это последовательность пробелов, цифр и заглавных и строчных латинских букв. Вам необходимо отформатировать эту таблицу следующим образом: 1) убрать из всех значений ячеек начальные и концевые пробелы; 2) установить ширину каждого столбца равную наибольшей длине значения в этом столбце; 3) выравнить значения всех ячеек по центру столбца, добавив начальные и концевые пробелы; 4) если значение невозможно выравнить точно по центру ячейки, то расположите его ближе к левой границе.Входные данные
Входные данные состоят из некоторого количество строк, состоящих из пробелов, цифр, заглавных и строчных латинских букв и символов «|». Значение ячейки может быть пустым. Гарантируется, что все строки таблицы состоят из одинакового числа ячеек. Первый и последний символ каждой строки входных данных — это символы «|». Размер входных данных не превосходит 10 Кб.Выходные данные
Выведите отформатированную по описанным правилам таблицу.входные данные
|test|me|one two| | a | three spaces | |выходные данные
|test| me |one two| | a |three spaces| |using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApp90
{
class Program
{
static void Main(string[] args)
{
string current = "";
List<List<string>> mass = new List<List<string>>();
List<string> row = new List<string>();
List<string> nrow = new List<string>();
int i = 0;
while ((current = Console.ReadLine()) != null)
{
row = current.Split('|').ToList<string>();
mass.Add(new List<string>());
for (int k = 1; k < row.Count - 1; k++)
{
row[k] = row[k].TrimStart(' ');
row[k] = row[k].TrimEnd(' ');
mass[i].Add(row[k]);
}
i++;
}
List<int> num = new List<int>();
for (int e = 0; e < mass.Count; e++)
{
for (int f = 0; f < mass[e].Count; f++)
{
num.Add(0);
if (num[f] < mass[e][f].Length)
{
num[f] = mass[e][f].Length;
}
}
}
for (int e = 0; e < mass.Count; e++)
{
for (int f = 0; f < mass[e].Count; f++)
{
while (mass[e][f].Length < num[f] - 1)
{
mass[e][f] = " " + mass[e][f] + " ";
if (mass[e][f].Length == num[f] - 1)
{
mass[e][f] = mass[e][f] + " ";
}
}
}
}
for (int e = 0; e < mass.Count; e++)
{
for (int f = 0; f < mass[e].Count; f++)
{
Console.Write("|" + mass[e][f]);
}
Console.WriteLine("|");
}
Console.ReadLine();
}
}
}Решение задачи: «Задача форматирования таблицы не проходит все тесты»
textual
Листинг программы
for (int e = 0; e < mass.Count; e++)
{
for (int f = 0; f < mass[e].Count; f++)
{
while (mass[e][f].Length < num[f] - 1)
{
mass[e][f] = " " + mass[e][f] + " ";
if (mass[e][f].Length == num[f] - 1)
{
mass[e][f] = mass[e][f] + " ";
}
}
}
}