Моя программа компилируется и почти выдает правильный результат, но при этом проверяет, четная или нечетная строка. консоль зависает и застревает в строке, которая проверяет, является ли строка четной или нечетной.
Я не знаю, математическая ли это проблема или я не понимаю, как использовать циклы / массивы с каждым прочее.
В упражнении указано следующее:
Создайте строковый массив из 20 позиций. Попросите пользователя ввести несколько слов и сохранить эти слова в массиве. Прекратить чтение слов, когда массив полностью заполнен или когда пользователь вводит пустое слово (длина = 0). Наконец, отобразите все слова в той же последовательности, в которой они были введены, используйте желтый для слов с нечетной длиной и используйте красный для слов с четной длиной.
ожидаемый результат:
введите описание изображения здесь
string[] word = new string[20]; // create array
int count = 0;
// fill array with words
for (int i = 0; i < word.Length; i++)
{
Console.ResetColor();
Console.Write("Enter a word: ");
word[i] = Console.ReadLine();
if (word[i].Length == 0) // if length of word[i] is equal to 0 then the loop stops
{
i = word.Length;
}
}
// Display words in an array
for (int i = 0; i < word.Length; i++)
{
if (word[i].Length % 2 == 0)// checks if string length in word[] array is even or odd
{
Console.ForegroundColor = ConsoleColor.Red; // make console text Yellow for 'even' strings
}
else
{
Console.ForegroundColor = ConsoleColor.Yellow; // Make console text Red for 'odd' strings.
}
Console.Write("{0}\n", word[count]); // display the words in the array.
Console.ResetColor(); // Reset the text color
count++;
}
Console.WriteLine();
Console.WriteLine("End of program");
Console.ReadKey();