Происходит выход за границы при нахождении палиндромов - C#
Формулировка задачи:
почему выходит за границы ?((
ищу слова палидромы
private void button2_Click(object sender, EventArgs e) { textBox1.Text = ""; n = System.IO.File.ReadAllLines("zadanie.txt").Length; if (File.Exists(frame)) { StreamReader sr = new StreamReader(frame, Encoding.Default); a = new string[n]; k = 0; string g = ""; int tmp, pali = 0, h = 0; for (int i = 0; i < n; i++) { a[i] = sr.ReadLine(); for (int j = 0; j < a[i].Length; j++) { if (a[i][j] == ' ' && a[i][j - 1] != ' ') k++; } } string[] rezult = new string[k+1]; for (int i = 0; i < n; i++) { for (int j = 0; j < a[i].Length; j++) { if (a[i][j] != ' ') g += a[i][j]; if (a[i][j] == ' ' && a[i][j - 1] != ' ') { rezult[h] = g; g = ""; h++; } tmp = 0; if (h > 0) { for (int c = rezult[h-1].Length; c > 0; c = c - 1) { if (rezult[h-1][c] == rezult[h-1][tmp]) { tmp++; if (tmp + 1 == rezult[h - 1].Length) { pali++; } } else { c = 0; } } } } } s = " В файле " + pali + " слов палиндромов."; textBox1.Text +=s; sr.Close(); } }
весь день голову ломаю с этой программой
выход за границы массива происходит в строке
if (rezult[h-1][c] == rezult[h-1][tmp])
Решение задачи: «Происходит выход за границы при нахождении палиндромов»
textual
Листинг программы
for (int c = rezult[h-1].Length; c > 0; c = c - 1)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д