Judge Assignment 2 (JA2) - Условия, Срокове, Въпроси, Коментари
Здравейте колеги,
EDIT: ето линк към състезанието - https://judge.softuni.bg/Contests/538/Judge-Assignment-2-JA2-OOP
Както обещах на упражненията, днес пускаме Judge Assignment 2, само че понеже не сме готови с подготовката на Judge системата още, днес ви пускам само условията, а в Judge constest-а ще можете да ги предавате от събота, 10:00 сутринта (както направихме и за първия judge assignment) - крайният срок остава непроменен. Ще ви дадем линк когато състезанието в Judge е готово.
Засега качвам условията в .shared папката в Dropbox (https://tinyurl.com/cpp-softuni-shared), и по-конкретно тук: https://www.dropbox.com/home/Projects/Cpp-Programming/.shared/Judge-Assignment-2-JA2. Възможно е да има леки изменения по ограниченията за време и памет, както и изменения ако открием бъг в някое решение или условие преди да пуснем състезанието в Judge.
Този Judge Assignment е различен от предишния с това, че освен условия, за някои задачи имате допълнителни файлове с код, които са достъпни за решенията ви. Тези "скелети" на решението са предназначени да ползвате от кода си, за да решите задачите. В някои случаи (като например задача 1) тези файлове имат main() функция, което означава, че вашият код ще трябва да допълни някакъв съществуващ код, за да може съществуващия код да работи. Не трябва да редактирате никой от тези предоставени файлове, тъй като при submit системата ще ги overwrite-не с нейната версия. В Judge системата ще предавате .zip файлове съдържащи вашите файлове нужни за решение на задачата - системата ще компилира всички .cpp файлове в .zip-а който пратите, заедно с всички файлове от "скелета" на решението, в една директория.
Ето кратки описания на задачите:
JA2-Task-1-List - от вас се иска да напишете имплементацията на един клас List, който представлява свързан списък. Дадени са ви List.h файл, както и main.cpp файл който ползва List-а от List.h за да реши някаква задача. Вие трябва да напишете имплементация (например в List.cpp), която позволява на задачата да работи вярно. (Тази задача щеше да е Matrix, не List, но реших Matrix-а да го преместя за подготовка за изпита, вместо за това домашно, най-вече защото изглежда като повече код).
JA2-Task-2-Divisible-by-45 - трябва да намерите всички числа, които се делят на 45 и се намират между две числа зададени на входа (от включително, до не-включително). Даден ви е файл BigInt.h, който можете да ползвате ако искате.
JA2-Task-3-Populations - Дадени са ви населения на градове и числата L, H и M. Трябва да намерите бройката градове, за които има поне M други градове, чиито населения са между L и H пъти по-големи. L, H и М се въвеждат от конзолата, а населенията на градовете са предварително зададени във файла populations.txt. Тук ще трябва да сте малко по-изобретателни с решението.
JA2-Task-4-Closest-Towns - Дадени са ви имена и координати на градове в двумерното пространство. Трябва да изведете 2-та най-близки града по име.
Ако имате въпроси или коментари, задавайте ги в тази тема (така най-бързо ще ги видя и ще мога да ви отговарям)
Поздрави,
Жоро
Второто, тоест
List& List::operator<<(const List& other)
наистина не се използва, тоест ако го махнеш пак ще работи.
Copy-constructor-а обаче определено се ползва - все пак предаваме копие на List обект на функцията mergeSortedLists - виж ако искаш лекцията Full C++ OOP, там говорихме за тези специални методи кога се викат. Него ако го изтриеш - програмата ще се компилира, обаче ще има memory проблеми и най-вероятно няма да работи вярно.
Благодаря!