diff options
| Commit | 7197424f34b22b92a416f7d9e85bf3d5e30e931d (patch) | |
|---|---|---|
| Author | 2026-02-22 19:19:50 +0200 | |
| Committer | 2026-02-22 19:22:03 +0200 | |
| Files | 806fd6deea49389cd2211060d7cd4ed708c73f49 | |
| syndamia.com-7197424f34b22b92a416f7d9e85bf3d5e30e931d.tar syndamia.com-7197424f34b22b92a416f7d9e85bf3d5e30e931d.tar.gz syndamia.com-7197424f34b22b92a416f7d9e85bf3d5e30e931d.zip | ||
| Parent | 40cfbcdf753e5666578796046ca2a5f5772aa0fb (diff) | |
feat(teaching/oop-2025/w1): Add exercise fixes
1 files changed, 21 insertions, 4 deletions
| -rw-r--r-- | src/teaching/oop-2025/week01/index.du | 25 |
diff --git a/src/teaching/oop-2025/week01/index.du b/src/teaching/oop-2025/week01/index.du index bd2d034..bdfa9b2 100644 --- a/src/teaching/oop-2025/week01/index.du +++ b/src/teaching/oop-2025/week01/index.du @@ -2,11 +2,13 @@ 'define expected-reading 2 min 'define created 17 February 2026 -'define edited 18 February 2026 +'define edited 22 February 2026 [$pagenav] .warn Както винаги, [=НЕ=] може да използвате външни библиотеки и (почти) всичко от стандартната библиотека! +.info [*(22.02.2026)*] По-подробни условия, оправени някои грешки в условията. + ## За решаване ### Задача 1 @@ -22,7 +24,7 @@ void deleteMatrix(int**& matrix, unsigned rows); // Запишете nullptr в int sumMatrix(const int** matrix, unsigned rows, unsigned cols); Поставете техните имплементации във файл [`matrix.cpp`] и техните дефиниции в [`matrix.h`]. -Естествено, главната функция [=трябва да се намира извън [`arrmath.cpp`]!=] +Естествено, главната функция [=трябва да се намира извън [`matrix.cpp`]!=] От входа получавате размерите и стойностите на две матрици с цели числа. Изкарайте разликата, между сумата на елементите на първата матрица и на втората матрица. @@ -53,9 +55,13 @@ int sumMatrix(const int** matrix, unsigned rows, unsigned cols); Реализирайте следните функции: ```c++ +// Сума на стойностите в elements int sum(const int* elements, unsigned length); -int average(const int* elements, unsigned length); +// Средно аритметично на стойностите в elements +double average(const int* elements, unsigned length); +// Най-голямата стойност в elements int largest(const int* elements, unsigned length); +// Най-малката стойност в elements int smallest(const int* elements, unsigned length); // Връща индекса на първото срещане на elementToSearch unsigned findIndex(const int* elements, unsigned length, int elementToSearch); @@ -77,7 +83,7 @@ unsigned findIndex(const int* elements, unsigned length, int elementToSearch); |: 5 2 1 3 5 4 |: 3 -|: 6 10 -2 17 0 0 1 +|: 6 10 -2 7 0 0 1 |: 4 |: 8 1 1 1 1 10 10 10 10 @@ -89,9 +95,14 @@ unsigned findIndex(const int* elements, unsigned length, int elementToSearch); Реализирайте следните функции във файлове [`stringHelpers.cpp`] и [`stringHelpers.h`]: ```c++ +// Създава динамично-заделен низ по подадената дължина char* newString(unsigned length); +// Създава динамично-заделен низ, копие на подадения низ char* newString(const char* string); +// Слепява first и second, като поставя separator между тях (ако е валиден) и +// връща резултатния (динамичо-заделен) низ char* concatStrings(const char* first, const char* second, const char* separator); +// Освобождава паметта на динамичо-заделен низ void deleteString(char*& string); // Запишете nullptr в string! Реализирайте следните функции във файлове [`ioHelpers.cpp`] и [`ioHelpers.h`]: @@ -101,7 +112,13 @@ void deleteString(char*& string); // Запишете nullptr в string! // като предоставя prompt преди въведената стойност // При невалидна стойност, пита пак за вход int readInteger(const char* prompt, int min, int max); +// Прочита от потребителския вход число с плаваща запетая между min и max включително, +// като предоставя prompt преди въведената стойност +// При невалидна стойност, пита пак за вход double readDouble(const char* prompt, double min, double max); +// Прочита от потребителския вход един ред текст, +// като предоставя prompt преди въведената стойност +// При невалидна стойност, пита пак за вход char* readString(const char* prompt); За реализацията им използвайте [`stringHelpers`]! |