singlepost

Задачи на С << На главную или назад  

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

мне нужна задача в С…

я начало написала, а продолжение..ну никак не могу… и срочно нужно …

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

вотначало

#include <stdio.h>
#include <stdlib.h>

static char daytab [2][13] = {
{ 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
{ 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }
};

{
int i, leap;

leap = year%4 == 0 && year%100 != 0 || year%400 == 0;
for (i = 1; i < month; i ++ )
day += daytab[leap][i];
return day ;
}

{ int main ();
int year, month , day;

printf ( "poday rok, miesiac, dzien " );
scanf( "%d", &year, &month, &day );
printf (" poday dziesiejszy data ");
scanf( "%d", &y , &m, &d );

if ( year > y )
{ int temp;
temp = year;
year = y;
y = temp;

temp = month;
month = m;
m = temp;

temp = day;
day = d;
d = day;
}

буду очень благодарна..
а то уже и не знаю че далеть

64 ответов в теме “Задачи на С”

  1. 37
    Женя Тарнавська ответил:

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

    я обещаю что стану хорошим программистом… буду стараться :)

  2. 36
    Валерий Лаптев ответил:

    Вместо cin надо ставить scanf, а вместо cout – printf

  3. 35
    Женя Тарнавська ответил:

    Вам легко сказать только єти строчки поменять….
    я то эту функцыю еще не учила =(( я ведь только новичок =(

  4. 34
    Michael Garibaldi ответил:

    Вот именно.

  5. 33
    Жека Кирпичев ответил:

    Женя, если у тебя есть аська, постучись 218800428; попробую заставить тебя таки написать эту программу :)

  6. 32
    Валерий Лаптев ответил:

    В проге только ввод-вывод надо перевести. Остальное впоне себе на С написано.

  7. 31
    Женя Тарнавська ответил:

    ну да, буду ннадеяться что Кернишан не для начинающих, а то я уже себя немного "чайником" чуствовать начала…
    хотя в общем то понятно,но слишком быстро усложняется все там… =(

    А вот эту прогу я так и не смогла на Си перевести =((
    мне аж стыдно стало =(((

    да и учитель наверное не поверит что сама к этой функции додумалась обратиться и использовать =((

  8. 30
    Michael Garibaldi ответил:

    У меня значит.

    Керниган не для начинающих.

  9. 29
    Женя Тарнавська ответил:

    Ой,спасибо вам большое за помощь =))

    конечно код я не совсем понимаю, потому что учила только С, а не С++,но зато суть намного понятнее, просто еще немного нужно поработать чтобы в СИ компилировало

    буду стараться =)

    спасибо =)

  10. 28
    Денис Лисов ответил:

    А вы бы прежде чем писать, обратили внимание, что просят на C, а не писали сходу потоки ввода-вывода…

  11. 27
    Michael Garibaldi ответил:

    А Кернигана брось. Шилдта (Schildt) лучше читай.

  12. 26
    Денис Лисов ответил:

    Женя, по сути то, что он сделал – свалил всю работу на функцию difftime. Остальное по большей части – ввод-вывод…

  13. 25
    Michael Garibaldi ответил:

    Зато работает. 4 строчки надеюсь сможете поменять.

  14. 24
    Женя Тарнавська ответил:

    Я Кернигана читала,потому что в нас по этой книги выклады были…
    к стати,мы весь курс С типа прошли за один семестр,поэтому мне так трудно..пока поняла в чем дело уже типа все всё выучили =(((

    со второго семестра другой язык выбрать нужно – его дольше учить будем

  15. 23
    Евгений Гаврин ответил:

    Если программа работает – это не значит, что она работает правильно.

  16. 22
    Michael Garibaldi ответил:

    #include <time.h>
    #include <iostream.h>

    int main()
    {
    int buf;
    tm t1;
    cin>>buf;//den
    t1.tm_mday=buf;
    t1.tm_hour=12;
    t1.tm_min=0;

    cin>>buf;//mes
    t1.tm_mon=buf-1;

    t1.tm_sec=0;

    cin>>buf;///god
    t1.tm_year=buf-1900;

    time_t ta;
    time_t tb;

    tm* utm=&t1;
    ta=mktime(utm);

    time(&tb);

    double delta;
    delta=difftime(tb,ta);
    delta=delta/(3600*24);
    cout<<delta;

    return 0;
    }

  17. 21
    Денис Лисов ответил:

    Альтернативный подход – пересчитать обе даты, например, в (модифицированный) юлианский день, после чего задача становится тривиальной. Формулу пересчета можно найти, например, в Википедии.

  18. 20
    Michael Garibaldi ответил:

    погрешность в полдня. Вот еслиб вы еще часы минуты и секунды задавали… былоб точно.
    А этим <s>my..</s> хорошим людям лишь бы треп разводить. Стыдно, господа программисты, стыдно!

  19. 19
    Женя Тарнавська ответил:

    Ага,Керниган – просто я по-польськи учусь,могут быть неточности в переводе =\
    поэтому вдвойне сложнее…
    иногда обычное слово кажется чем-то особенным

  20. 18
    Жека Кирпичев ответил:

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

  21. 17
    Женя Тарнавська ответил:

    Я счас с двумя программами разбираюсь..одну даже написала =)))
    но ее утруднить нужно..
    а с этой счас попробую..
    хотя сомневаюсь что получиться – я СИ с книги учила, возможно че-то упустила..да и не все поняла..
    Кернигхен…может слышали о таком?

  22. 16
    Женя Тарнавська ответил:

    Я только начинаю учить..да еще и в чужой стране…
    очень трудно..кончено,прогресс какой-то есть,но этого ало чтобы заличить сессию..
    мы работаем з помощью Code::Blocks

  23. 15
    Жека Кирпичев ответил:

    Рапортуй о прогрессе. Думаю, на реализацию предложенного мною способа тебе должно хватить часа-двух.

  24. 14
    Жека Кирпичев ответил:

    …Вернемся к теме. Женя, как успехи? Какими инструментами ты пользуешься при разработке – в чем редактируешь текст, как компилируешь, как отлаживаешь программу?

  25. 13
    Жека Кирпичев ответил:

    Дело в том, что отзывы – это средство общения юзеров друг с другом, а не со службой качества :)

    Посмотрел – сейчас картинка правильная; во всяком случае совпадает с той, что на сайте производителя.

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

  26. 12
    Павел Васильченко ответил:

    Исправили, сейчас всё нормально, а посты не удаляйте.
    Раньше было D10

  27. 11
    Павел Васильченко ответил:

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

  28. 10
    Женя Тарнавська ответил:

    Спасибо за идею,Женя =))

    но я (тсссс..Павлу не казать,еще больше смеяться будет), только начинаю учить С,много чего не знаю.. читала сама с учебников…конечно,наброски какие-то сделать могу,но они не компилюют…
    есть какие-то неточности..поєтому и тупик =(((

    я себя действительно каким-то "чайником" чуствую, хотя школу закончила почти с медалью и хотела учиться на информатике….

  29. 9
    Павел Васильченко ответил:

    я тоже начинал учить С, да вот не получилось. с чего хоть начинать? а то многие уже советвоали, да так и не насоветовали…

  30. 8
    Жека Кирпичев ответил:

    Я к тому, что предположение "когда девушка программирует, то это смешно" выставляет в смешном свете скорее тебя, нежели девушку.

    >в хтмл есть такие элементы которые до определённого дня время отсчитают.
    Напомнило: "Английский крематорий Альберт Эйнштейн изобрел такую махинацию, через которую всякая штука относительна" (с) Д. Хармс

  31. 7
    Женя Тарнавська ответил:

    я в школе начинала Паскаль учить,хотя многие этот язык просто игнорируют – типа несерьезно…

    я учила тлько начало, но зато легко по нем понять функцыи и алгоритмы..

    хотя может мне просто так кажеться… но мне он помог разобраться хотя бы в том,как подойти к С…
    но сложно

  32. 6
    Павел Васильченко ответил:

    ох…. в смешном свете… растроился как старый рояль….))))))))
    и какая кому разница что вам напомнило?

  33. 5
    Жека Кирпичев ответил:

    > вы бы лучше ошибки на том же яндекс маркете исправили бы
    Это уже не ко мне, я теперь в JetBrains.

    Но вообще – просто обратись в техподдержку с конкретными примерами ошибок; их исправят. Ошибки с картинками, скорее всего, обусловлены некачественными данными от самих магазинов. Если тебе долго не будут отвечать – скажи мне; я передам кому-нибудь из бывших коллег.

  34. 4
    Жека Кирпичев ответил:

    Павел, посмотрел бы я на твои насмешки рядом с иными из моих (теперь уже бывших) коллег :)

    Женя, вот тебе идея: напиши функцию nextDay, которая вычисляет следующий день. Тогда алгоритм решения твоей задачи будет таков: вызывать эту функцию от начальной даты, пока не получится конечная, и посчитать, сколько вызовов понадобилось.

  35. 3
    Павел Васильченко ответил:

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

  36. 2
    Женя Тарнавська ответил:

    мне не смешно !!!

    я знаю что это начало и я говорила что всем докажу что смогу,бо нравитсья…но к этому не была готова…

    просто учусь в чужой стране и сложно очень все понять…
    а СИ не учила вообще,здесь другой уровень

    но помогите не потерять мне надежду что еще чего-то смогу добиться…сессию очень заличить нужно =((

  37. 1
    Павел Васильченко ответил:

    ба девушка програмист пишет проги, ха!

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.