Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
10 / 10 / 1
Регистрация: 27.06.2013
Сообщений: 151
1

Задача про календарь

20.07.2013, 14:17. Просмотров 1210. Ответов 2
Метки нет (Все метки)

Имеется задача:

Два одноклассника Петя и Вася родились не ранее 1993 и не позднее 1994 года, причем, Петя старше Васи.

Напишите программу, которая по заданным дням рождения определяет: на сколько дней Петя старше Васи.

Заметим, что 1993 и 1994 года не являются високосными, т.е. в феврале в них ровно 28 дней.

Входные данные

Входной файл INPUT.TXT содержит дату рождения Пети в первой строке и дату рождения Васи во второй. Даты заданы в формате «ДД.ММ.ГГ», например, строка 06.02.93 означает дату рождения 6 февраля 1993 года.

Выходные данные

В выходной файл OUTPUT.TXT выведите единственное число – искомое количество дней.

Имеется решение:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>;
#include <iostream>;
 
int main ()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    char a[9], b[9];
    std::cin >> a >> b;
    short d1, d2, m1, m2, y1, y2, r=0, d;
    d1=( *a-48 )*10 + *(a+1)-48;
    d2=( *b-48 )*10 + *(b+1)-48;
    m1=( *(a+3)-48 )*10 + *(a+4)-48;
    m2=( *(b+3)-48 )*10 + *(b+4)-48;
    y1=( *(a+7)-48 );
    y2=( *(b+7)-48 );
    if(y1==y2 && m1==m2) r=d2-d1;
    else 
    {
        while(y1!=y2 || m1!=m2)
        {
            if(m1==2) d=28;
            else if(m1==4 || m1==6 || m1==9 || m1==11) d=30;
            else d=31;
            if(!r) r=d-d1;
            else r+=d;
            m1++;
            if(m1==13) { m1=1; y1++; }
        }
        r+=d2;
    }
    std::cout << r;
}
Помогите найти ошибку или привидите пример на котором программа дает неверный ответ!!!!! HELP!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.07.2013, 14:17
Ответы с готовыми решениями:

Задача про осадки
Известны данные о количестве осадков, выпавших за каждый день месяца. Определить общее количество...

Задача про банкомат
В банкомате есть купюры номиналом, 5000, 2000, 1000, 500 и тд. Но, купюры каждого номинала всего 5...

Задача про год
Есть такая задача. Дано число k (от 1 до 365). присвоить значение n (от 0 до 6) в зависимости от...

Задача про фермера
Фермер хочет построить на своей земле как можно больший по площади сарай. Но на его участке есть...

2
3300 / 2681 / 724
Регистрация: 25.03.2012
Сообщений: 9,683
Записей в блоге: 1
20.07.2013, 15:31 2
пример неверного ответа

Не по теме:

Ой, сейчас набегут эстеты, назовут годную программу "говнокодом"

0
castaway
20.07.2013, 15:39     Задача про календарь
  #3

Не по теме:

))))))))))))))

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.07.2013, 15:39
Привет! Вот еще темы с ответами:

Задача про монеты
Привет. Задача: По кругу расположено N монет гербами вверх и M монет гербами вниз. Обходя круг по...

Задача про птичек
4. Птицы летят клином: в 1-м ряду —1 птица, во 2-м ряду — 3 птицы, в 3-м ряду — 5 птиц и т.д....

Задача про покер
На сайте e-olymp проходит 97%. Где ошибка? Пишет, что третий тест не проходит, хотя у меня все...

Задача про матрицу
Вообщем завтра сдать надо бы по хорошему. Мне осталось сделать 1 задачу, которую я не знаю как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.