Происходит выход за границы при нахождении палиндромов - 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)