Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Пожалуйста помогите найти ошибку
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Soleh Soleh вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.05.2017
По умолчанию Пожалуйста помогите найти ошибку - 25.05.2017, 21:36

Здравствуйте!
Решал задачу из сборника задач по Абрамяну. Задача File 18. Написал программу, но по какой-то причине она не работает.
Благодарю за помощь)
Вот код:
cpp Код:
int k, i;
TStringList *STL = new TStringList;
STL->LoadFromFile("input.txt");
for(i=STL->Count-2;i<=1;i--)
{
    if((StrToInt(STL->Strings[i])>StrToInt(STL->Strings[i-1]))&&(StrToInt(STL->Strings[i])>StrToInt(STL->Strings[i+1])))
    {
        k=StrToInt(STL->Strings[i]);
    }
}
Memo2->Lines->Add(k);
Memo2->Lines->SaveToFile("output.txt");
Ответить с цитированием
  (#2 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,392
Сказал(а) спасибо: 22
Поблагодарили 936 раз(а) в 920 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 25.05.2017, 21:53

Цитата:
Сообщение от Soleh Посмотреть сообщение
она не работает
Расшифруйте. "Оно не работает" это как "я ничего не делала, оно само сломалось!"...
И что этот код должен делать? Не у всех есть задачник указанного автора, чтобы там подсмотреть.

Последний раз редактировалось Rius; 25.05.2017 в 21:56
Ответить с цитированием
  (#3 (permalink)) Старый
Soleh Soleh вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.05.2017
По умолчанию 25.05.2017, 22:03

Дан файл вещественных чисел. Найти его первый локальный минимум
(локальным минимумом называется элемент, который меньше своих соседей).
Это условия задачи. Суть проблемы в том, что ответ выводится не правильный.
Ответить с цитированием
  (#4 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,392
Сказал(а) спасибо: 22
Поблагодарили 936 раз(а) в 920 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 25.05.2017, 22:10

Индекс массива вы задумали менять от 1 до (Count - 2), чтобы была возможность обращаться к [i], [i - 1], [i + 1].
Почему смотрите с конца, а не с начала?
Условие продолжения цикла for некорректное в таких условиях.
Ответить с цитированием
Пользователь сказал cпасибо:
Soleh (25.05.2017)
  (#5 (permalink)) Старый
Soleh Soleh вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.05.2017
По умолчанию 25.05.2017, 22:15

Я сделал цикл с конца потому что в задаче надо найти его первый локальный минимум. Разумеется можно начать цикл и с начала, но придётся вставить команду break.
Что-то типа:
cpp Код:
for(i=1;i<STL->Count-2;i++)
{
    if((StrToInt(STL->Strings[i])>StrToInt(STL->Strings[i-1]))&&(StrToInt(STL->Strings[i])>StrToInt(STL->Strings[i+1])))
    {
        k=StrToInt(STL->Strings[i]);
        break;
    }
}
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
Soleh Soleh вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.05.2017
По умолчанию 25.05.2017, 22:19

Ой, чуть ошибся
cpp Код:
for(i=1;i<=STL->Count-2;i++)
{
    if((StrToInt(STL->Strings[i])>StrToInt(STL->Strings[i-1]))&&(StrToInt(STL->Strings[i])>StrToInt(STL->Strings[i+1])))
    {
        k=StrToInt(STL->Strings[i]);
        break;
    }
}
Ответить с цитированием
  (#7 (permalink)) Старый
Soleh Soleh вне форума
Новичок
 
Сообщений: 5
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 25.05.2017
По умолчанию 25.05.2017, 22:27

Всё, большое спасибо)))
Нашёл свою ошибку, теперь всё работает
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите найти ошибку shama C++ Builder 16 07.11.2012 17:45
Пожалуйста помогите найти ошибку в коде! Gitarskaya Prolog 3 13.05.2012 11:00
помогите найти ошибку klay Prolog 1 04.10.2011 12:17
Много кода или пожалуйста, помогите найти ошибку в программе went Prolog 8 21.04.2011 14:00
Не могу найти ошибку. Помогите найти и исправить... 111 Pascal 0 12.01.2011 16:30
Помогите найти ошибку Женечка Pascal 0 06.12.2010 19:44
помогите найти ошибку kosmoskir Prolog 18 11.11.2010 19:03
Помогите найти ошибку, пожалуйста. VIP 5.2 Ogion Prolog 0 06.05.2009 21:13
ПОМОГИТЕ НАЙТИ ОШИБКУ Skorost5 Prolog 2 23.06.2008 22:36
Помогите найти ошибку (SWI) Avchent Prolog 5 04.09.2007 18:56
помогите найти ошибку! asles PHP 1 06.01.2005 20:31



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов