Добро пожаловать! Войти Зарегистрироваться

Расширенный

вопрос по кодировке.

Написал Гость 
Гость
вопрос по кодировке.
29 October 2006 13:01
Скажите пожалуйста,какая кодировка используется на олимпиадах?ASCII?(в файлах add.out и add.in,в частности).
Дома программа работает, на тестировании - выдает ошибку (Wrong answer in test 1).
Гость
Re: вопрос по кодировке.
29 October 2006 14:02
странно sad smiley протестировал прграмму(1+1,0+0,100000+100000,1-1,-100000-100000,545+348,672-2444,-0-0),ответы дает правильные,слогаемые читает из add.in,результат пишет в add.out...А на сервере выдает ошибку в первом тесте.
Re: вопрос по кодировке.
29 October 2006 15:03
"Во единственной строке входного файла содержится два числа записаных через пробел."
Я так понял из выше сказанного что ты в входной файл их вводишь так: 1+1, хотя надо 1 1.
Возможно я неправ =)

Re: вопрос по кодировке.
29 October 2006 15:03
+ если ты написал на каком-то специфическом языке тоже могут быть проблемы.

Гость
Re: вопрос по кодировке.
29 October 2006 15:03
PhanT0m,нет,ввожу 1 1.писал на С.
Re: вопрос по кодировке.
29 October 2006 15:03
кинь сюда исходник

Гость
Re: вопрос по кодировке.
29 October 2006 15:03
#include <stdio.h>
int c,a,b,sum;
double signa=1,signb=1;
int main()
{
a=0;
FILE *fp;
fp=fopen("add.in","r");
while ((c=getc(fp)) != EOF){
if(c == 45) { signa=-1;
}else
{
if(c != 32) a=a*10+(c-48);
else break; }
}
b=0;

while ((c=getc(fp)) != EOF){
if(c == 45) {
signb=-1;
}else {
if(c != 32) b=b*10+(c-48);
else break;
}
}
sum=(a*signa)+(b*signb);
fclose(fp);
fp=fopen("add.out","w");
if((a*signa)+(b*signb)<0){
fprintf(fp,"-");
sum=(-1)*((a*signa)+(b*signb));
fprintf(fp,"%u",sum);
}else fprintf(fp,"%d",sum);
fclose(fp);
//printf("%1.0f*%u+%1.0f*%u=%u\n",signa,a,signb,b,sum);
//printf("signa=%1.0f,signb=%1.0f",signa,signb);
}
Re: вопрос по кодировке.
29 October 2006 15:03
Кошмар smiling smiley

#include <stdio.h>
main() {
long a,b;
FILE *fp;
fp = fopen("add.in","r");
fscanf(fp,"%li %li",&a,&b);
fclose(fp);
fp = fopen("add.out","w");
fprintf(fp,"%li",a+b);
fclose(fp);
}

Гость
Re: вопрос по кодировке.
29 October 2006 15:03
PhanT0m,может и кошмар,но почему не работает?
Re: вопрос по кодировке.
29 October 2006 15:03
Случайно ошибка не runtime ?

Гость
Re: вопрос по кодировке.
29 October 2006 15:03
Sun Oct 29 15:34:24 2006 Gnu C 3.3.3 A+B Wrong answer in test 1
Re: вопрос по кодировке.
29 October 2006 16:04
Прикольно... Может дело в символе '-' ? Я даже незнаю smiling smiley

Re: вопрос по кодировке.
29 October 2006 16:04
Попробуй в своей программе ввести так: -1 +1

Гость
Re: вопрос по кодировке.
29 October 2006 16:04
PhanT0m, спасибо,видимо в этом и была проблема.
Re: вопрос по кодировке.
29 October 2006 19:07
Лог запуска вашей программы:
Первый тест (add.in):
1 2
Результат первого теста (add.out):
-17
Правильный результат первого теста (add.out):
3
Результат проверки: Неправильный ответ тест N1

Даю подсказку - определение "текстовый файл":
Текстовый файл это файл состояший из строк, КАЖДАЯ строка завершается символом конца строки, читай предикат eoln в языке Pascal или значение символа \n (что не совсем корректно, но тоже работает) в Си.
К сожалению, только зарегистрированные пользователи могут писать в этом форуме.

Авторизоваться на форуме