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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск даты в масиве, последний день недели 
:(
    Опции темы
Веталька
Дата 10.8.2011, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Подскажите как найти последний день недели в масиве.
например дано:
10.08.2011
11.08.2011
12.08.2011
24.08.2011
надо найти
12.08.2011
24.08.2011

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

Это сообщение отредактировал(а) Веталька - 10.8.2011, 20:56


--------------------
Ради зачета студент идет на все, даже на лекции........................ 
PM MAIL ICQ   Вверх
volatile
Дата 11.8.2011, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Надо просто вычислить день недели.
Если у следующей даты день недели уменьшился, или прошло больше 7 дней, значит у текущей даты - это последний день недели.
(если я правильно понял вопрос).

Там еще надо обратить внимание, чтобы неделя начиналась с понедельника.
Потому-что, например, у америкосов она начинается с воскресенья.

На чём вы пишите? Покажите код.


Это сообщение отредактировал(а) volatile - 11.8.2011, 00:04
PM MAIL   Вверх
Веталька
Дата 11.8.2011, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



вот набросал
Цитата

    {
        int lastReadingWeekDate = mDayList.get(mDayList.size()-1);
        int temp = mDayList.size()-1;
        mIdMonthList.clear();
        mIdMonthList.add(mDayList.size()-1);
           for(int count = mDayList.size()-2; count > -1; --count)
           {      
              if(lastReadingWeekDate<mDayList.get(count))
                {
                 lastReadingWeekDate=mDayList.get(count);
                 mIdMonthList.add(count);
                 temp = count;
               }
             if(lastReadingWeekDate>mDayList.get(count))
              {
             if(lastReadingWeekDate-mDayList.get(count)>7)
              {
                lastReadingWeekDate=mDayList.get(count);
                mIdMonthList.add(count);
                temp = count;
             }
        /*else
        {
         сравниваем номеры дней, но походу эту проверку модно и упустить?         
        }*/
          
         }      
      }
        }


Добавлено через 8 минут и 24 секунды
ем..вообщем тут ошибка в условии
 if(lastReadingWeekDate-mDayList.get(count)>7)
              {
                lastReadingWeekDate=mDayList.get(count);
                mIdMonthList.add(count);
                temp = count;
             }

сейчас функцию для вычитания количества дней между ними напишу и по идеи все заработает

Это сообщение отредактировал(а) Веталька - 11.8.2011, 10:15


--------------------
Ради зачета студент идет на все, даже на лекции........................ 
PM MAIL ICQ   Вверх
volatile
Дата 12.8.2011, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Веталька @  11.8.2011,  10:13 Найти цитируемый пост)
сейчас функцию для вычитания количества дней между ними напишу 

Имхо, ни к чему изобретать календарь. Это уже сделали до вас.
На чистом С/С++
http://www.cplusplus.com/reference/clibrary/ctime

Если этого мало, то в бусте есть еще вагон и маленькая тележка.
http://www.boost.org/doc/libs/1_47_0/doc/html/date_time.html
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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