Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Структуры: поиск наибольшей тенденции, Задача на Turbo С++ 
V
    Опции темы
jokagent
Дата 24.10.2009, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



Тема закрыта

Это сообщение отредактировал(а) jokagent - 5.10.2011, 19:28
PM   Вверх
Anikmar
Дата 24.10.2009, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(jokagent @  24.10.2009,  19:26 Найти цитируемый пост)
Вобщем понятно что тенденцию стоит искать только через while.

Интересно исходя из чего родилось это утверждение?  smile

Добавлено через 2 минуты и 14 секунд
А что такое тенденция? (применимо к данной теме, разумеется)
PM MAIL ICQ   Вверх
niXman
Дата 25.10.2009, 02:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 4.7.2009

Репутация: нет
Всего: 0



jokagent, Код ужасен. Начни с начала. И, раз уж позволено использовать с++, используй, не изобретай велосипеды.
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
jokagent
Дата 25.10.2009, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



Тенденция-устойчивое в течение определенного периода времени повышение показателей.  

Это сообщение отредактировал(а) jokagent - 15.3.2011, 07:12
PM   Вверх
zim22
Дата 25.10.2009, 18:04 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



Цитата(jokagent @  25.10.2009,  18:00 Найти цитируемый пост)
в двумерном массиве найти строку, где промежуток возрастания элементов наибольший

в чём проблема? определи все промежутки и потом выбери среди них наибольший.


--------------------
PM MAIL   Вверх
Anikmar
Дата 25.10.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(zim22 @  25.10.2009,  18:04 Найти цитируемый пост)
в чём проблема? определи все промежутки и потом выбери среди них наибольший. 

Зачем  потом выбирать? Сразу по ходу дела.

Я так понял на выходе должно стоять только название валюты? Или полные данные по периоду?

Добавлено через 2 минуты и 21 секунду
Цитата(jokagent @  25.10.2009,  18:00 Найти цитируемый пост)
Anikmar, если есть другие варианты, предложи. 

Вариантов масса.
Можно и через for и через do..while и через while... и вообще при помощи goto А если задействовать STL...

Мне просто хотелось развитие мысли посмотреть - из чего такая любовь именно к данному типу цикла.

PM MAIL ICQ   Вверх
mes
Дата 25.10.2009, 21:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 79
Всего: 250



Цитата(Anikmar @  25.10.2009,  18:31 Найти цитируемый пост)
Мне просто хотелось развитие мысли посмотреть - из чего такая любовь именно к данному типу цикла.

думаю, из за недавно пройденного паскаля..


--------------------
PM MAIL WWW   Вверх
LigLink
Дата 25.10.2009, 21:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 25.10.2009
Где: солнечный Крым

Репутация: нет
Всего: нет



jokagent, а сам-то ты как думаешь, что в твоей программе неправильно?

К коду желательно бы коментарии.
Особенно в местах, где ты пытаешься реализовать поиск лучшей тенденции. (что? к чему? почему?)
Тогда и подсказки будут намного информативнее smile 

PM MAIL   Вверх
Anikmar
Дата 25.10.2009, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Я про тенденцию спросил, когда увидел рандомное заполнение исходной таблицы. Там курсы прыгают хаотично, вот я и подумал - может сия штука нечто другое, чем я себе представляю. А оказалось нет, но заполнение весьма странное - даже без привязки к среднему значению курса...

А так весьма смахивает на то, что код писал не топикстартер.
PM MAIL ICQ   Вверх
niXman
Дата 25.10.2009, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 211
Регистрация: 4.7.2009

Репутация: нет
Всего: 0



Цитата(Anikmar @  25.10.2009,  19:47 Найти цитируемый пост)
А так весьма смахивает на то, что код писал не топикстартер. 

Не думаю что может быть код хуже этого. Так что весьма возможно что именно ТС писал сей код.
--------------------
if ( !c++ ) {   *power--;   this->wussiness += 10;}
PM MAIL   Вверх
jokagent
Дата 26.10.2009, 19:44 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



ыыы

Это сообщение отредактировал(а) jokagent - 15.3.2011, 07:13
PM   Вверх
Anikmar
Дата 26.10.2009, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



Цитата(jokagent @  26.10.2009,  19:44 Найти цитируемый пост)
я думал здесь нормальные люди сидят.

Ну что вы, откуда здесь такие. 

Цитата(jokagent @  26.10.2009,  19:44 Найти цитируемый пост)
если бы проблем не было, я бы помощь не просил.

Вы просите не помощь. 
Вы просите практически написать за вас. Это делают в центре помощи. Здесь мы помогаем разбираться.
Вы просили идею - вам ее тут же сказал zim22.

Есть массив. Для каждой строчки считаем максимальную тенденцию и запоминаем номер строчки, в которой она наиболее длинная. Выводим на экран. Вот идея.

Что конкретно вам подсказать? Как посчитать в строке максимальную тенденцию?

Добавлено через 1 минуту и 58 секунд
Цитата(jokagent @  26.10.2009,  19:44 Найти цитируемый пост)
я код накидал, так, навскидку,

Уточните назначение этой строки:
    FILE *b;

PM MAIL ICQ   Вверх
zim22
Дата 26.10.2009, 20:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 29
Всего: 69



стану на время дураком (согласно моей подписи)
ибо нет желания объяснять товарищу jokagent, как оно работает.
Код

#include <algorithm>
#include <iostream>

struct Interval {
    int *interval_beginning;
    int *interval_ending;
  };

void FindIntervals(int *array, 
                   int arr_size, 
                   int &interval_numbers,
                   Interval *intervals) {
  
  if (arr_size <= 1) {
    interval_numbers = 1;
    intervals[0].interval_beginning = &array[0];
    intervals[0].interval_ending = &array[1];
    return;
  }

  int current_value = array[0];  
  intervals[interval_numbers].interval_beginning = &array[0];

  for (size_t idx = 1; idx != arr_size; ++idx) {    
    if (array[idx] >= current_value) {
      if (idx == arr_size - 1) {
        intervals[interval_numbers++].interval_ending = &array[idx + 1];
      }
       ;
    } else {
      intervals[interval_numbers++].interval_ending = &array[idx];
      intervals[interval_numbers].interval_beginning = &array[idx];      
    }
    current_value = array[idx];
  }
}

Interval *FindMaximimInterval(int number_of_intervals, Interval *intervals) {
  ptrdiff_t *arr = new ptrdiff_t[number_of_intervals];
  for (size_t i = 0; i != number_of_intervals; ++i) {
    arr[i] = intervals[i].interval_ending - intervals[i].interval_beginning;
  }
  
  int max_index = 0;  
  int max_element = 0;

  for (size_t i = 0; i != number_of_intervals - 1; ++i) {
    if (i == 0) {
      max_element = arr[i];
      continue;
    }

    if (arr[i + 1] > max_element) {
      max_index = i + 1;
      max_element = arr[i + 1];
    }

  }
  return &intervals[max_index];
}

int _tmain(int argc, _TCHAR* argv[])
{
  int arr[] = {1, 2, 3, 4, 2, 3, 8, -17};
  const int array_size = sizeof(arr) / sizeof(*arr);
  
  int number_of_intervals = 0;    

  Interval *intervals = new Interval[array_size];

  
  FindIntervals(arr, array_size, number_of_intervals, intervals);
  Interval *result = FindMaximimInterval(number_of_intervals, intervals);

  std::copy(result->interval_beginning, result->interval_ending, 
    std::ostream_iterator<int>(std::cout, " "));

  return 0;
}



--------------------
PM MAIL   Вверх
Anikmar
Дата 26.10.2009, 22:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2513
Регистрация: 26.11.2006
Где: Санкт-Петербург

Репутация: 5
Всего: 59



zim22  smile 

 smile 
PM MAIL ICQ   Вверх
jokagent
Дата 27.10.2009, 06:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 24.10.2009

Репутация: нет
Всего: нет



спасибо

Это сообщение отредактировал(а) jokagent - 15.3.2011, 07:14
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0731 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.