Вопросы и ответы по работе с системой и мероприятиям, проводимым на портале

Где ошибка, если компилятор ABSPascal выдает, что все верно.

 
Picture of Donikov Ana
Где ошибка, если компилятор ABSPascal выдает, что все верно.
by Donikov Ana - Sunday, 10 March 2019, 11:15 PM
 

Сделала задачу из Задачника двухмерные массивы 1.6

ABSPascal выдает, что все верно, ответ в файл пишется верно. Здесь же 16 баллов их 100.

program array16;
var
    a : Array[1..100,1..100] Of integer;
    f: text;
    i, j:Byte;
    sum, N, M:integer;
    sr : real;
begin
sum := 0;
    Assign(f, 'input.txt'); Reset(f);
    ReadLn(f,N,M);
    Writeln(N,M:4);
    for i := 1 to N do
    begin
    for j := 1 to M do
       begin
            Read(f, a[i][j]);
            sum := sum + a[i][j];
            Write(a[i][j]:4);
            Writeln(sum:4);
                        end;
                        end;
                        sr:=sum;
    Close(f);
    assign(f, 'output.txt');
    rewrite(f);
    Write(f, sr/N/M:0:6);
    Close(f);
end.

Picture of Лапшева Елена Евгеньевна
Re: Где ошибка, если компилятор ABSPascal выдает, что все верно.
by Лапшева Елена Евгеньевна - Monday, 11 March 2019, 10:27 AM
 

Добрый день!

Потом, что значит, что у вас на машине верно выдает?  Наша система каждую задачу проверяет на более чем 20 тестах. Значит, у вас прошли не все тесты. Прочитайте внимательно условие, подумайте, что происходит.

Попутный вопрос, зачем вы что-то выводит в цикле? Это по условию не нужно делать.

Picture of Donikov Ana
Re: Где ошибка, если компилятор ABSPascal выдает, что все верно.
by Donikov Ana - Monday, 11 March 2019, 9:25 PM
 

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

Убрал лишнюю печать - 29 баллов. Обьясните в чем ошибка, если редактор пишет - все правильно.

Picture of Казачкова Анна Андреевна
Re: Где ошибка, если компилятор ABSPascal выдает, что все верно.
by Казачкова Анна Андреевна - Tuesday, 12 March 2019, 11:50 PM
 

1) Никакой "редактор" не проверяет правильность решения, только возможность компиляции и исполнения.

2) Вы можете посмотреть, с какой именно ошибкой ваше решение "упало" на части тестов, щёлкнув по надписи "Тестов пройдено k из N".

3) 29 = 30 - 1 баллов получает полное решение, сданное со второй попытки. Неполное решение получает не больше 2/3 от максимального балла.

4) Вывод - одна из самых затратных по времени операций.

Picture of Donikov Ana
Re: Где ошибка, если компилятор ABSPascal выдает, что все верно.
by Donikov Ana - Wednesday, 13 March 2019, 12:55 AM
 

27 баллов со 2 раза. Это сколько? Из 100?

пройдено 69 тестов из 69.

По другим 30. Пройдено 70 из 70.

Должно быть 100 из 100?

Picture of Лапшева Елена Евгеньевна
Re: Где ошибка, если компилятор ABSPascal выдает, что все верно.
by Лапшева Елена Евгеньевна - Wednesday, 13 March 2019, 4:03 AM
 
Для разных задач у нас разное количество тестов, где-то 30, а где-то 69.
Picture of Donikov Ana
Re: Где ошибка, если компилятор ABSPascal выдает, что все верно.
by Donikov Ana - Tuesday, 19 March 2019, 9:54 PM
 

Вот здесь мне выдает меньше 1 балла, 2 теста из 69. Задача 2.1 из двухмерных массивов.

Но результат правильный. И редактор программу выполняет. В чем ошибка не пойму. Не могли бы помочь?

program array21;
var
    a : Array[1..100,1..100] Of integer;
    f: text;
    i, j:Byte;
    count, sum, N:integer;
    sr : real;
begin
    sum := 0;
    Assign(f, 'input.txt'); Reset(f);
    ReadLn(f,N);
    for i := 1 to N do
    begin
    for j := 2 to N do
       begin
           
            Read(f, a[i][j]);
            sum := sum + a[i][j];
            count:=count+1;
                        end;
                        end;
                        sr:=sum;
    Close(f);
    assign(f, 'output.txt');
    rewrite(f);
    Write(f, sr/count:0:6);
    Close(f);
end.