Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ошибка в алгоритме

2.1K
20 мая 2007 года
госик
98 / / 20.11.2006
У меня тупик, не пойму почему вылетает на некотором шаге с ошибкой OutOfRange. Даже в отладке смотрела, не могу понять.
answer.Length = 36
kslovo.Count = 9
size_word - изменяется в зависимости от kslovo.Count

Код:
private void menuItem6_Check(object sender, System.EventArgs e)
{                      
    for (int i=0; i<answer.Length; i++)
    {
        for (int j = 0; j<kslovo.Count; j++){
            int size_word = ((KSlovo)kslovo[j]).word.Length;
            for (int d = 0; d<size_word; d++)
            {
                KSlovo k = ((KSlovo)kslovo);
                if (k.word[d].Text!=answer.ToString())
                {
                    k.word[d].Text = answer.ToString();
                    k.word[d].ForeColor = Color.Red;
                }
                i++;
            }
        }
    }
}
8.4K
20 мая 2007 года
TZA Group
120 / / 10.04.2007
Значит ты переполнела допустимы предел.
Можно сделать так.После выхода ошыбки Си автоматом переносится на неверную строку.тут вначале пишем.

try
{
Сюда занеси код где ошыка.
}
catch(System::Exception^)
{
А сюда действия программ при появление ошыбки.
}
8.4K
20 мая 2007 года
TZA Group
120 / / 10.04.2007
В шарпе замени двоеточие( :: ) на точку.
9.0K
20 мая 2007 года
ikro
31 / / 12.03.2007
А что вообще должен делать алгоритм? Что-то я в него вглядываюсь и не до конца понимаю... А вообще мне не очень нравится вот этот кусок
 
Код:
KSlovo k = ((KSlovo)kslovo);
    if (k.word[d].Text!=answer.ToString())
    {
        k.word[d].Text = answer.ToString();
        k.word[d].ForeColor = Color.Red;
    }
    i++;

Надо бы наверное проверять значение переменной i раз уж ты ее вручную изменяешь...
242
20 мая 2007 года
Оlga
2.2K / / 04.02.2006
ты берешь размер слова под индексом j
 
Код:
int size_word = ((KSlovo)kslovo[j]).word.Length;
a затем берешь слово из массива слов под индексом i, и идешь по его символам используя размер другого слова.
индекс i - вообще длина ответа, а если в массиве kslovo нету такого индекса?
Госик, путаница помоему полная.
2.1K
20 мая 2007 года
госик
98 / / 20.11.2006
я согласна. Блин, когда я начну правильно программировать и сразу. А то весь процесс у меня так долго проходит. А алгоритм исправлен :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог