Задача форматирования таблицы не проходит все тесты - 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] + " ";
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д