public static int kontrol(string str, Stack yeni) { int i = 0; while (true) { if (str[i] == '<' && str[i + 1] != '/') { if (str[i + 2] != '>') return 0; else yeni.push(char.ToString(str[i+1])); i = i + 3; } else if (str[i] == '<' && str[i + 1] == '/') { if (str[i + 3] != '>') return 0; else { if (yeni.peek() != char.ToString(str[i + 2])) return 0; else yeni.pop(); } i = i + 4; } else i++; if (i == (str.Length)) { if (yeni.isempty()) return 1; else return 0; } } }
static void Main() { string str = ""; int k; Stack stk = new Stack(100); str = Okuma.oku("C:/kaynak.txt"); k = kontrol(str, stk); if (k == 0) { Console.WriteLine("Kaynak dosyanin bicimleme etiketleri hatalidir, kontrol ediniz."); } else yazdir(str); Console.ReadLine(); }