| Автор |
RE: Помилка компіляції |
sem
Модератор
Повідомлень: 65
Звідки: LNU PMI
Зареєстрований: 02.03.06 |
| Опубліковано 16-06-2007 11:17 |
|
|
|
AL написав:
Цей код дійсно правильно виконується.
Ледве знайшов оригінальний код (ід - 10751)
"Заборонена функція" тому, що в оригінальному сорсі (а не у цьому, що тут запостили) є такий рядок "uses SysUtils;". На даний час таке використовувати не можна.
Подивись сам на цей сабміт. Там uses SysUtils; є

| Sem. |
|
| Автор |
RE: Помилка компіляції |
berd
Користувач

Повідомлень: 87
Звідки: СЗШ 17 м. Бердичів
Зареєстрований: 11.06.07 |
| Опубліковано 16-06-2007 20:50 |
|
|
Стандартні засоби Паскаля допускають таку структуру в розділі оголошень:
...
Const max = sqrt(1000000000);
...
Тестер же видав помилку компіляції...
див.: ID=11055
|
|
| Автор |
RE: Помилка компіляції |
ibm
Користувач

Повідомлень: 422
Звідки: LPML
Зареєстрований: 21.02.07 |
| Опубліковано 20-06-2007 12:58 |
|
|
Ото "вумний" нарід! (ку-ку) 1000-на задачка, взагалі-тоо пашеться через:
...
readln(a,b );
writeln(b,' ',a);
...
Joker! 
         

Pascal not dead!
Змінив(ла) ibm, 20-06-2007 12:59 |
|
| Автор |
RE: Помилка компіляції |
Romko
Користувач
Повідомлень: 113
Звідки: mdegree
Зареєстрований: 07.11.06 |
| Опубліковано 20-06-2007 13:09 |
|
|
взагалі-то можеш написати як хочеш
 |
|
| Автор |
RE: Помилка компіляції |
fanKarpaty
Користувач
Повідомлень: 17
Звідки: Київський національний університет
Зареєстрований: 29.05.07 |
| Опубліковано 24-06-2007 16:48 |
|
|
Чому норм не працює:
for(i=20;i;i--);
тобто з циклу не виходить !
+
у Visual Studio 6.0 (такий же ніби у вас компілятор) можна писати просто
main()
{
}
а тут без int main() не компілиться...
Мільйон сердець - одне биття !
Карпати, Львів, на все життя ! |
|
| Автор |
RE: Помилка компіляції |
RealMaster
Користувач
Повідомлень: 3
Звідки: Ліцей при ЖДТУ
Зареєстрований: 03.09.07 |
| Опубліковано 15-09-2007 08:34 |
|
|
|
fanKarpaty написав:
main()
{
}
Тип main`у потрібно вказувати завжди. Коли ти компілиш в VC без типу він сам підставляє void, а в БилдЛог пише зауваженя (warning). На скількі мені відомо RunTime error оприділяється по коду, що повернула програма після виконання. Ось так на Всеукраїнській Олімпіаді такий код:
int main() {
return 0;
}
пройде, а такий:
int main() {
return 1;
}
видасть помилку при виконані.
В мене питання, що за помилка при компіляції ІД: 14357 та 14368, що там за помилки, в мене на VС++ 6.0 все компілиться, навіть без зауважень.
Який компілятор ви використовуете для компіляції, які біліотеки можна використовувати? Було б не погано якщо б ви зробили розділ з поясненями "новачку" на сайті.
Правописание как Конг-Фу настоящий Мастер никогда не показывает свое умение 
Змінив(ла) RealMaster, 15-09-2007 10:37 |
|
| Автор |
RE: Помилка компіляції |
Olecksandr
Користувач
Повідомлень: 151
Звідки: Lviv NU FAMI
Зареєстрований: 30.04.06 |
| Опубліковано 15-09-2007 12:43 |
|
|
|
За тими ІД було встановлено, що там дійсно є помилка компіляції, оскільки Ви використовуєте оперіцію sqrt(int), такої операції в стандартній бібліотеці нема, тому цей int мав би привестись до відповідного типу, для якого вже існує операція sqrt(...), а таких є декілька, наприклад для float та double, а компілятор відповідно не знає, який саме, тому і виникає помилка компіляції, запишіть наприклад sqrt((double)n), для уникнення неоднозначності. |
|
| Автор |
RE: Помилка компіляції |
RealMaster
Користувач
Повідомлень: 3
Звідки: Ліцей при ЖДТУ
Зареєстрований: 03.09.07 |
| Опубліковано 15-09-2007 17:36 |
|
|
|
Olecksandr написав:
За тими ІД було встановлено, що там дійсно є помилка компіляції, оскільки Ви використовуєте оперіцію sqrt(int), такої операції в стандартній бібліотеці нема, тому цей int мав би привестись до відповідного типу, для якого вже існує операція sqrt(...), а таких є декілька, наприклад для float та double, а компілятор відповідно не знає, який саме, тому і виникає помилка компіляції, запишіть наприклад sqrt((double)n), для уникнення неоднозначності.
Про стандартні біліотки якого компілятора йдеться? Який ви використвуете компілятор? Хоча б зробіть можливість користувачам бачити відповідь компілятора.
ЗІ. Варіант з sqrt((double)n) не пройшов 
Правописание как Конг-Фу настоящий Мастер никогда не показывает свое умение  |
|
| Автор |
RE: Помилка компіляції |
Mace Windu
Користувач
Повідомлень: 141
Звідки: НУ "ЛП"
Зареєстрований: 13.04.06 |
| Опубліковано 15-09-2007 20:10 |
|
|
Раджу почитати http://acm.timus.ru/faq.aspx
Наскільки я знаю, компілятори цього сайту мають схожі настройки. Зокрема:
# В C/C++ нельзя вызывать функции из библиотеки math.h от целочисленных параметров. Такой код не скомпилируется: sqrt(2). Правильно писать sqrt((double)2) или sqrt(2.0).
# В C/C++ в библиотеке math.h определены функции j0, j1, jn, y0, y1, yn. В результате нельзя объявлять глобальные переменные с такими именами, если используется math.h. |
|
| Автор |
RE: Помилка компіляції |
Olecksandr
Користувач
Повідомлень: 151
Звідки: Lviv NU FAMI
Зареєстрований: 30.04.06 |
| Опубліковано 15-09-2007 20:36 |
|
|
RealMaster написав:
ЗІ. Варіант з sqrt((double)n) не пройшов 
Чому ж не пройшов... А в мене пройшло 
Справа в тому, що потім Ви відсилали ІД 14378 та 14379, які відрізняються від попередніх(14367, 14368) не лише вищевказаною поправкою, а саме:
for(int i = 1; i < 10000 && n > 0; i++)if(easynumeric(i))n--; printf("%.0lf\n", pow(i - 1, 2));
тут вже зявилась нова помилка, а якщо розглянути це вже більш детально, то оголошення змінної
for(int i = 1;... таким чином дозволяє використовувати її лише в тілі циклу, а отже вже у 2-ій стрічці вона вже буде неоголошеною.
Але навіть після такої поправки Ви знов скаржитиметесь на чергову помилку компіляції, тому що у 2-ій стрічці буде викликана функція піднесення до степеня з цілочисельними параметрами.
Нагадую, що в нас є можливісь відсилання лише першого тесту, яка не впливає на кількість спроб.
Стосовно компілятора, то в нас використовується MS VC++ 8.0(2005)
Змінив(ла) Olecksandr, 15-09-2007 20:46 |
|
| Автор |
RE: Помилка компіляції |
RealMaster
Користувач
Повідомлень: 3
Звідки: Ліцей при ЖДТУ
Зареєстрований: 03.09.07 |
| Опубліковано 16-09-2007 01:11 |
|
|
|
Olecksandr написав:
Стосовно компілятора, то в нас використовується MS VC++ 8.0(2005) Чому ж ви зразу не сказли, я десь на цьому формі вичитав, що компілятор 6 версії от на 8ій і не пробував.
Дякую за цінну інформацію 
Правописание как Конг-Фу настоящий Мастер никогда не показывает свое умение  |
|
| Автор |
RE: Помилка компіляції |
Edward
Користувач
Повідомлень: 8
Звідки: КПУ
Зареєстрований: 24.02.08 |
| Опубліковано 24-02-2008 08:53 |
|
|
#include <iostream.h>
main() {
int a,b;
cin>>a>>b;
a+=b;
b=a-b;
a-=b;
cout<<a<<" "<<b;
}
Підскажіть будь ласка чому полка компіляції??
Усі під одним небом |
|
| Автор |
RE: Помилка компіляції |
Mace Windu
Користувач
Повідомлень: 141
Звідки: НУ "ЛП"
Зареєстрований: 13.04.06 |
| Опубліковано 25-02-2008 10:00 |
|
|
|
Edward написав:
#include <iostream.h>
main() {
int a,b;
cin>>a>>b;
a+=b;
b=a-b;
a-=b;
cout<<a<<" "<<b;
}
Підскажіть будь ласка чому полка компіляції??
Як мінімум має бути int main() та return 0; в кінці. |
|
| Автор |
RE: Помилка компіляції |
Edward
Користувач
Повідомлень: 8
Звідки: КПУ
Зареєстрований: 24.02.08 |
| Опубліковано 25-02-2008 18:10 |
|
|
їхній компілятор void не знае?) доречі теж не допогло. Спробував через бібліотеку stdio.h, тепер треба використовувати scanf і printf, які я ненавиджу, але так у них компілюється. Невже їх компілятор не має бібліотеки iostream.h? звик до cin, cout
Усі під одним небом |
|
| Автор |
RE: Помилка компіляції |
Mace Windu
Користувач
Повідомлень: 141
Звідки: НУ "ЛП"
Зареєстрований: 13.04.06 |
| Опубліковано 26-02-2008 10:59 |
|
|
Можна отак:
#include <iostream> using namespace std;
|
|
| Автор |
RE: Помилка компіляції |
BlaXpirit
Користувач

Повідомлень: 20
Звідки: ЛФМЛ
Зареєстрований: 26.01.08 |
| Опубліковано 12-06-2008 22:58 |
|
|
|
замість main()
треба використовувати void main()
Змінив(ла) BlaXpirit, 12-06-2008 23:00 |
|
| Автор |
RE: Помилка компіляції |
Oracle
Користувач
Повідомлень: 75
Звідки: LNU FAMI-13
Зареєстрований: 20.02.07 |
| Опубліковано 13-06-2008 10:23 |
|
|
|
Edward написав:
їхній компілятор void не знае?) доречі теж не допогло. Спробував через бібліотеку stdio.h, тепер треба використовувати scanf і printf, які я ненавиджу, але так у них компілюється. Невже їх компілятор не має бібліотеки iostream.h? звик до cin, cout
ось HelloWorld, який компілиться:
#include <iostream>
using namespace std;
int main()
{
cout<<"HELLO WORLD!";
return 0;
}
Змінив(ла) Oracle, 13-06-2008 13:09 |
|
| Автор |
RE: Помилка компіляції |
webmaster
Головний Адміністратор

Повідомлень: 1136
Зареєстрований: 17.03.07 |
| Опубліковано 13-06-2008 15:03 |
|
|
XIII написав:
замість main()
треба використовувати void main()
в ідеалі потрібно використовувати конструкцію
Програма повинна повертати 0, тоді вважається, що вони правильно працювала і не отримала помилки виконання.
Доречі тут є хелп (силка на нього навіть на первшій сторінці сайту)
ХЕЛП |
|
| Автор |
RE: Помилка компіляції |
AID
Користувач
Повідомлень: 5
Звідки: KDPU
Зареєстрований: 09.06.08 |
| Опубліковано 14-06-2008 09:12 |
|
|
Что такое "Помилка часу виконання" и как может быть проблема с временем выполнения программы, если в ней нет ни одного цикла, а только одно сравнение и менее 10 операций:
var N,M,K: longint;
begin
read(N,M,K);
if (k=1) and (N<M) then write('Sorry seems to be the hardest word'
else
write(1+trunc((ln(M-0.5)/ln(K)-ln(N)/ln(K))));
end.
|
|
| Автор |
RE: Помилка компіляції |
PAWLO1993
Користувач
Повідомлень: 72
Звідки: LNU
Зареєстрований: 27.02.08 |
| Опубліковано 14-06-2008 12:43 |
|
|
Попробуй такий приклад введення:
1 1 1
Правильна відповідь 0,
а в тебе викидає ерор, ділення на нуль. |
|