Форум программистов, компьютерный форум CyberForum.ru

Количество локальных минимумов в списке - C++

Восстановить пароль Регистрация
 
jakewow
0 / 0 / 1
Регистрация: 22.12.2010
Сообщений: 27
16.12.2011, 12:28     Количество локальных минимумов в списке #1
Всем привет, в списке нужно подсчитать кол-во локальных минимумов и вывести их. Подсчитать подсчитал, но вывести не знаю как. Помогите пожалуйта. Вот фрагмент программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
cout << "\nСодержимое списка:\n";
 lstMain.Print();
 a=0;
 
 for (i = 1; i <= lstMain.Count(); i++)
 {
   if (lstMain.GetItem(i-1) > lstMain.GetItem(i))  
   { if(lstMain.GetItem(i+1) > lstMain.GetItem(i))
 
      { a=a+1;}
}}
cout << a;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.12.2011, 17:01     Количество локальных минимумов в списке #2
Должно работать.
Цитата Сообщение от jakewow Посмотреть сообщение
a=a+1;
лучше заменить на
C++
1
++a
, а
Цитата Сообщение от jakewow Посмотреть сообщение
i++
на ++i, но это просто отказ от пессимизации, а не исправление.Но ты уверен, что в массиве lstMain.Count()+2 элемента?
jakewow
0 / 0 / 1
Регистрация: 22.12.2010
Сообщений: 27
17.12.2011, 21:59  [ТС]     Количество локальных минимумов в списке #3
Цитата Сообщение от taras atavin Посмотреть сообщение
Должно работать. лучше заменить на
C++
1
++a
, а
на ++i, но это просто отказ от пессимизации, а не исправление.Но ты уверен, что в массиве lstMain.Count()+2 элемента?
Хм, наверно я не правильно выразился. Нужно вывести сами локальные минимумы на экран, их кол-во я уже вывел.Считает вроде как правильно.

Добавлено через 23 часа 24 минуты
ну что никто не знает?
Roof
 Аватар для Roof
154 / 154 / 10
Регистрация: 03.11.2010
Сообщений: 393
17.12.2011, 22:20     Количество локальных минимумов в списке #4
Во-первых учесть советы taras atavin по заменам.
А во-вторых, если я правильно поянл, то:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cout << "\nСодержимое списка:\n";
lstMain.Print();
a=0;
 
for (i = 1; i <= lstMain.Count(); ++i)
{
    if (lstMain.GetItem(i-1) > lstMain.GetItem(i))
    {   if(lstMain.GetItem(i+1) > lstMain.GetItem(i))
 
        {   ++a;
            cout << lstMain.GetItem( i ) << "  "; //тут выводим.
        }
    }
}
cout << endl;
cout << a;
Да и условия цикла странными выглядят.
- счет с единицы
- и почему-то меньше либо равно lstMain.Count(), а не просто меньше.
Yandex
Объявления
17.12.2011, 22:20     Количество локальных минимумов в списке
Ответ Создать тему
Опции темы

Текущее время: 01:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru