Loading...
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки

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-та най-близки града по име.

Ако имате въпроси или коментари, задавайте ги в тази тема (така най-бързо ще ги видя и ще мога да ви отговарям)

Поздрави,

Жоро

Тагове:
5
C++ Programming 22/04/2017 13:52:11
gydigydi avatar gydigydi 12 Точки

Това нещо

List::List(const List& other)

и това

List& List::operator<<(const List& other)

според мен не се използват в програмата.

Така ли е?

 

0
georgi.stef.georgiev avatar georgi.stef.georgiev 921 Точки

Второто, тоест 

List& List::operator<<(const List& other)

наистина не се използва, тоест ако го махнеш пак ще работи.

Copy-constructor-а обаче определено се ползва - все пак предаваме копие на List обект на функцията mergeSortedLists - виж ако искаш лекцията Full C++ OOP, там говорихме за тези специални методи кога се викат. Него ако го изтриеш - програмата ще се компилира, обаче ще има memory проблеми и най-вероятно няма да работи вярно.

0
gydigydi avatar gydigydi 12 Точки

Благодаря!

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.