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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Runtime Error, где, в этом коде может быть сабж? 
V
    Опции темы
Kurganec
Дата 24.1.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



всем здравсте.

если не сложно пробегитесь глазами по коду, из-за чего сабж может быть?


я задачку решал: http://acm.sgu.ru/problem.php?contest=0&problem=115
система выдает: Runtime Error on test 16
ума не рпиложу...
Код

#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
    int a,b;
    int s=0;
    scanf("%i",&a);
    scanf("%i",&b);

    //это типо проверка, да криво, но всёже
    if (a<=0||b<=0) 
    {
        printf("Impossible");
        return -1;
    }
    if ((b==1||b==3||b==5||b==7||b==8||b==10||b==12)&&a>31)
    {
        printf("Impossible");
        return -1;
    }
    if ((b==4||b==6||b==9||b==11)&&a>30)
    {
        printf("Impossible");
        return -1;
    }
    if (b==2&&a>28)
    {
        printf("Impossible");
        return -1;
    }
    
    if (b>12) 
    {
        printf("Impossible");
        return -1;
    }


    
    //а тут сам "календарь" :)


    for (int i=1;i<b;i++)
    {
        if (i==2); //тут тоже некрасиво:)
        else if (i==1||i==3||i==5||i==7||i==8||i==10||i==12) {s+=3;}
        else  s+=2;
                //s=s%7;
    }
    s+=a%7;
    s=s%7;

    if (s==0) s+=7;
    printf("%i",s);
    //getchar();
    //getchar();
       
    return 0;
}



Это сообщение отредактировал(а) Kurganec - 24.1.2009, 17:57
PM MAIL ICQ Skype   Вверх
GoldFinch
Дата 24.1.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



(b==1||b==3||b==5||b==7||b==8||b==10||b==12)
(b==4||b==6||b==9||b==11)
...

может лучше использовать таблицы?
PM MAIL ICQ   Вверх
Kurganec
Дата 24.1.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



 smile 

pS:вы думаете runtime error из-за этого?
PM MAIL ICQ Skype   Вверх
GoldFinch
Дата 24.1.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



я думаю что кодить надо нормально, тогда и ошибок не будет
PM MAIL ICQ   Вверх
vinter
Дата 24.1.2009, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Kurganec, в дебаге посмотри


--------------------
Мой блог
PM MAIL WWW   Вверх
Kurganec
Дата 24.1.2009, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



GoldFinch, 
спасибо, за совет. Я ведь только учусь smile

vinter, у меня всё компилится и функционирует вроде бы правильно. 
runtime error выдаёт система проверки задач:
"802292    24.01.09 17:39    kurganec    115    .CPP_VS    Runtime Error on test 16    0 ms    0 kb"

Это сообщение отредактировал(а) Kurganec - 24.1.2009, 18:16
PM MAIL ICQ Skype   Вверх
Annihilator
Дата 25.1.2009, 12:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


bytegrinder
**


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

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



В ответ на какие входные данные выдается ошибка?


--------------------
Если вы не можете сделать хоpошyю пpогpаммy, сделайте, чтобы она по кpайней меpе выглядела хоpошо
PM ICQ   Вверх
Kurganec
Дата 25.1.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я наверное не правильньо изъяснил проблему.
код пишу я, а входные и выходные данные проверяются не мной.
вот мне и было интересно, при каких вводимых числах, происходит эта ошибка.
PM MAIL ICQ Skype   Вверх
vinter
Дата 25.1.2009, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Explorer
****


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

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



Kurganec, т.е ты предлагаешь нам поработать тестерами? я тебя разочарую, никто здесь этим заниматься не станет.


--------------------
Мой блог
PM MAIL WWW   Вверх
mes
Дата 25.1.2009, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



лови, эти две функции тебе помогут сделать код читаемым :
Код

bool IsLeapYear (int year)
{ 
   return (year%4) ? false : true;
}
int GetDaysInMonth (int month, bool leap)
{
  const int * days = { 31, 0, 31, 30, 31,30, 31,31,30,31,30,31 };
  if (month>=12 || month<0) return 0; 
  if (month ==1) return  (leap)? 29 : 28;
  return days[month];
}




Это сообщение отредактировал(а) mes - 27.1.2009, 14:12


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


Новичок



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

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



mes, большое спасибо.

ток я добавил несколько букаф
if (month>=12||month<0) return 0; 

ещё раз спасибо

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


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


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

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



Цитата(Kurganec @  27.1.2009,  13:06 Найти цитируемый пост)
if (month>=12||month<0) return 0; 

логично, подправил в коде  smile 

Это сообщение отредактировал(а) mes - 27.1.2009, 14:13


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


[хакер]
**


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

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



Цитата(mes @ 27.1.2009,  14:10)
Цитата(Kurganec @  27.1.2009,  13:06 Найти цитируемый пост)
if (month>=12||month<0) return 0; 

логично, подправил в коде  smile

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


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
bsa
Дата 3.2.2009, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



Цитата(NightmareZ @ 3.2.2009,  06:24)
Правильнее, следовало бы бросить исключение.

Хорошо, как бросить исключение средствами языка Си?
PM   Вверх
NightmareZ
Дата 3.2.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


[хакер]
**


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

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



Цитата(bsa @ 3.2.2009,  17:46)
Цитата(NightmareZ @ 3.2.2009,  06:24)
Правильнее, следовало бы бросить исключение.

Хорошо, как бросить исключение средствами языка Си?

А где тут написано, что это Си без плюсов?


--------------------
NightmareZ.net - мой блог и сайт, мои проекты и прочий трэш
Ely-Art.ru - наша маленькая домашняя арт-студия
mugcraft.ru - кружки на любой вкус
PM WWW ICQ Skype GTalk AOL YIM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

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

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

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

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


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

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


 




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


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

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