Как проверить, являются ли разные строки палиндромом?
Я не знаю, как проверить отдельные строки, чтобы показать, являются ли они палиндромами или нет. Программа рассматривает обе строки как одну, поэтому выводит "это не палиндром", когда одна из строк действительно есть.
Что я уже пробовал:
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Palindrome { class Program { static void Main(string[] args) { Stack list = new Stack(); string ch; string value1= "eye"; string value2 = "view"; string word = string.Format("{0}\n{1}\n", value1, value2); bool palindrome = true; for (int x = 0; x < word.Length; x++) list.push(word.Substring(x, 1)); int pos = 0; while (list.count > 0) { ch = list.pop().ToString(); if (ch != word.Substring(pos, 1)) { palindrome = false; break; } pos++; } if (palindrome) Console.WriteLine(word + " \nis a palindrome."); else Console.WriteLine(word + " \nis not a palindrome."); Console.Read(); } class Stack { private int index; private ArrayList list; public Stack() { list = new ArrayList(); index = -1; } public int count { get { return list.Count; } } public void push(object item) { list.Add(item); index++; } public object pop() { object obj = list[index]; list.RemoveAt(index); index--; return obj; } public void clear() { list.Clear(); index = -1; } public object peek() { return list[index]; } } } }