From 00f15aa8d69a53c3ffa55661283aa06a6d6bd30f Mon Sep 17 00:00:00 2001 From: Justsvetoslavov Date: Thu, 28 Oct 2021 17:33:12 +0300 Subject: Update sem.03 --- pract_SI/Pract. 03-04/Solutions/task1.cpp | 19 ----- pract_SI/Pract. 03-04/Solutions/task2.cpp | 17 ---- pract_SI/Pract. 03-04/Solutions/task3.cpp | 22 ----- pract_SI/Pract. 03-04/Solutions/task4.cpp | 21 ----- pract_SI/Pract. 03-04/Solutions/task5.cpp | 41 ---------- pract_SI/Pract. 03-04/Solutions/task6.cpp | 18 ---- pract_SI/Pract. 03-04/Solutions/task7.cpp | 30 ------- pract_SI/Pract. 03-04/Solutions/task8.cpp | 41 ---------- pract_SI/Pract. 03-04/Solutions/task9.cpp | 59 -------------- pract_SI/Pract. 03-04/Startup_tasks.txt | 7 -- pract_SI/Pract. 03-04/Tasks3.txt | 131 ------------------------------ pract_SI/Pract. 03/Solutions/task1.cpp | 19 +++++ pract_SI/Pract. 03/Solutions/task2.cpp | 17 ++++ pract_SI/Pract. 03/Solutions/task3.cpp | 22 +++++ pract_SI/Pract. 03/Solutions/task4.cpp | 21 +++++ pract_SI/Pract. 03/Solutions/task5.cpp | 41 ++++++++++ pract_SI/Pract. 03/Solutions/task6.cpp | 18 ++++ pract_SI/Pract. 03/Solutions/task7.cpp | 30 +++++++ pract_SI/Pract. 03/Solutions/task8.cpp | 41 ++++++++++ pract_SI/Pract. 03/Solutions/task9.cpp | 59 ++++++++++++++ pract_SI/Pract. 03/Startup_tasks.txt | 7 ++ pract_SI/Pract. 03/Tasks3.txt | 131 ++++++++++++++++++++++++++++++ 22 files changed, 406 insertions(+), 406 deletions(-) delete mode 100644 pract_SI/Pract. 03-04/Solutions/task1.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task2.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task3.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task4.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task5.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task6.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task7.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task8.cpp delete mode 100644 pract_SI/Pract. 03-04/Solutions/task9.cpp delete mode 100644 pract_SI/Pract. 03-04/Startup_tasks.txt delete mode 100644 pract_SI/Pract. 03-04/Tasks3.txt create mode 100644 pract_SI/Pract. 03/Solutions/task1.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task2.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task3.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task4.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task5.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task6.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task7.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task8.cpp create mode 100644 pract_SI/Pract. 03/Solutions/task9.cpp create mode 100644 pract_SI/Pract. 03/Startup_tasks.txt create mode 100644 pract_SI/Pract. 03/Tasks3.txt (limited to 'pract_SI') diff --git a/pract_SI/Pract. 03-04/Solutions/task1.cpp b/pract_SI/Pract. 03-04/Solutions/task1.cpp deleted file mode 100644 index ae955a8..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task1.cpp +++ /dev/null @@ -1,19 +0,0 @@ -#include "pch.h" -#include - -using namespace std; - -int main() -{ - unsigned long long number; - cin >> number; - - for (int i = 1; i <= number; i++) - { - for (int j = 1; j <= i; j++) - cout << j; - cout << endl; - } - - return 0; -} diff --git a/pract_SI/Pract. 03-04/Solutions/task2.cpp b/pract_SI/Pract. 03-04/Solutions/task2.cpp deleted file mode 100644 index b3e970d..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task2.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include - -using namespace std; - -int main() -{ - unsigned long long number; - cin >> number; - - for (unsigned long long x = 1, y = number; x < number; x++) - { - cout << "x = " << x << " " - << "y = " << --y << endl; - } - - return 0; -} diff --git a/pract_SI/Pract. 03-04/Solutions/task3.cpp b/pract_SI/Pract. 03-04/Solutions/task3.cpp deleted file mode 100644 index a6a6362..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task3.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include -using namespace std; -int main() -{ - unsigned long long oldNumber, newNumber; - - cout << "Enter a positive number: "; - cin >> oldNumber; - - oldNumber *= oldNumber; - newNumber = 0; - - while (oldNumber != 0) - { - newNumber = newNumber * 10 + oldNumber % 10; - oldNumber /= 10; - } - - cout << newNumber << endl; - - return 0; -} \ No newline at end of file diff --git a/pract_SI/Pract. 03-04/Solutions/task4.cpp b/pract_SI/Pract. 03-04/Solutions/task4.cpp deleted file mode 100644 index 622b8a1..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task4.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#include -using namespace std; -int main() -{ - unsigned int m, n; - cout << "Number of rows: "; - cin >> m; - cout << "Number of columns: "; - cin >> n; - - for (unsigned int i = 1; i <= m * n; i++) - { - cout << i << " "; - if (i % n == 0) - { - cout << endl; - } - } - - return 0; -} \ No newline at end of file diff --git a/pract_SI/Pract. 03-04/Solutions/task5.cpp b/pract_SI/Pract. 03-04/Solutions/task5.cpp deleted file mode 100644 index d6ac57c..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task5.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include -using namespace std; -int main() -{ - unsigned short number, guess; - unsigned int counter = 0; - - cout << "Enter a number between 0 and 100: "; - cin >> number; - if (number < 0 || number > 100) - { - cout << "Invalid input!\n"; - return 1; - } - - do - { - ++counter; - - cout << "Guess " << counter << ": "; - cin >> guess; - if (guess < 0 || guess > 100) - { - cout << "Invalid input!\n"; - return 2; - } - - if (guess < number) - { - cout << "The number you are looking for is greater than your guess!\n"; - } - else if (guess > number) - { - cout << "The number you are looking for is less than your guess!\n"; - } - } while (guess != number); - - cout << "You found the number in " << counter << " attempt(s)!\n"; - - return 0; -} \ No newline at end of file diff --git a/pract_SI/Pract. 03-04/Solutions/task6.cpp b/pract_SI/Pract. 03-04/Solutions/task6.cpp deleted file mode 100644 index 8d0beac..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task6.cpp +++ /dev/null @@ -1,18 +0,0 @@ -#include -using namespace std; -int main() -{ - unsigned int number = 0, input = 1; - - while(input != 0) - { - cout << "Enter a positive number: "; - cin >> input; - - number ^= input; - } - - cout << "The single number is " << number << endl; - - return 0; -} \ No newline at end of file diff --git a/pract_SI/Pract. 03-04/Solutions/task7.cpp b/pract_SI/Pract. 03-04/Solutions/task7.cpp deleted file mode 100644 index aa9194b..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task7.cpp +++ /dev/null @@ -1,30 +0,0 @@ -#include -#define LIMIT 5 -#define SEPARATOR " " - -using namespace std; - -//const short LIMIT = 5; -//const char SEPARATOR = ' '; - - -int main() -{ - unsigned long long N; - cin >> N; - - if (N < LIMIT) - return -1; - - for (int c = 1; c <= N; c++) { - for (int b = 1; b < c; b++) { - for (int a = 1; a < b; a++) { - if ((a * a) + (b * b) == (c * c)) { - cout << a << SEPARATOR << b << SEPARATOR << c << endl; - } - } - } - } - - return 0; -} diff --git a/pract_SI/Pract. 03-04/Solutions/task8.cpp b/pract_SI/Pract. 03-04/Solutions/task8.cpp deleted file mode 100644 index 3f32ebf..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task8.cpp +++ /dev/null @@ -1,41 +0,0 @@ -#include - -using namespace std; - -const short LOWERLIMIT = 2; -const short UPPERLIMIT = 9; -const char SEPARATOR = ' '; - -int main() -{ - short N; - char S; - cin >> N >> S; - - if (N < LOWERLIMIT || N > UPPERLIMIT) - return -1; //end program - - for (int i = 1; i <= N; i++) - { - for (int j = N - i; j > 0; j--) - cout << SEPARATOR; - - for (int k = 1; k < 2 * i; k++) - cout << S; - - cout << endl; - } - - for (int i = 1; i < N; i++) - { - for (int j = 1; j <= i; j++) - cout << SEPARATOR; - - for (int k = 1; k < 2 * (N - i); k++) - cout << S; - - cout << endl; - } - - return 0; -} \ No newline at end of file diff --git a/pract_SI/Pract. 03-04/Solutions/task9.cpp b/pract_SI/Pract. 03-04/Solutions/task9.cpp deleted file mode 100644 index 9f1f054..0000000 --- a/pract_SI/Pract. 03-04/Solutions/task9.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include - -int main() { - - // по-нататък ще учим как се вкарват сложни данни, затова сега ще ги hardcode-нем в main-а - - int hoursOnesStart = 2, minutesTensStart = 5, secondsOnesStart = 6; - int hoursOnesFinal = 1, minutesTensFinal = 0, secondsOnesFinal = 2; - int hoursDelta = 10, minutesDelta = 19, secondsDelta = 26; - - for (size_t hoursTensStart = 0; hoursTensStart <= 1; ++hoursTensStart) - { - for (size_t minutesOnesStart = 0; minutesOnesStart <= 9; ++minutesOnesStart) - { - for (size_t secondsTensStart = 0; secondsTensStart <= 5; secondsTensStart++) - { - int hoursTemp = hoursTensStart * 10 + hoursOnesStart; - int minutesTemp = minutesTensStart * 10 + minutesOnesStart; - int secondsTemp = secondsTensStart * 10 + secondsOnesStart; - - secondsTemp += secondsDelta; - if (secondsTemp >= 60) { - minutesTemp += secondsTemp / 60; - secondsTemp %= 60; - } - - minutesTemp += minutesDelta; - if (minutesTemp >= 60) { - hoursTemp += minutesTemp / 60; - minutesTemp %= 60; - } - - hoursTemp += hoursDelta; - if (hoursTemp > 12) { - hoursTemp %= 12; - } - - bool hoursOnesMatch = hoursTemp % 10 == hoursOnesFinal, - minutesTensMatch = minutesTemp / 10 == minutesTensFinal, - secondsOnesMatch = secondsTemp % 10 == secondsOnesFinal; - - if (hoursOnesMatch && minutesTensMatch && secondsOnesMatch) { - int hoursTensFinal = hoursTemp / 10, - minutesOnesFinal = minutesTemp % 10, - secondsTensFinal = secondsTemp / 10; - - std::cout << hoursTensStart << hoursOnesStart << ':' - << minutesTensStart << minutesOnesStart << ':' - << secondsTensStart << secondsOnesStart << ' ' - << hoursTensFinal << hoursOnesFinal << ':' - << minutesTensFinal << minutesOnesFinal << ':' - << secondsTensFinal << secondsOnesFinal << '\n'; - } - } - } - } - - return 0; -} \ No newline at end of file diff --git a/pract_SI/Pract. 03-04/Startup_tasks.txt b/pract_SI/Pract. 03-04/Startup_tasks.txt deleted file mode 100644 index 8ee6d58..0000000 --- a/pract_SI/Pract. 03-04/Startup_tasks.txt +++ /dev/null @@ -1,7 +0,0 @@ -1.Напишете програма , която приема като вход N лева.Да се отпечата как бихме разпределили сумата на банкноти, -така че да имаме минимален брой банкноти. (Да не се използват условни оператори и цикли) -Пояснение: Нека да приемем, че имаме банкноти с 1лв и 2лв. - -2.Напишете програма, която приема като вход цяло положително число V, което ще отговаря на скорост. -Програмата да отпечатва колко е глобата от КАТ, а ако няма глоба следното съобщение "No speedticket". -(https://stamatovandpartners.com/elektronen-fish-za-previshena-skorost/) \ No newline at end of file diff --git a/pract_SI/Pract. 03-04/Tasks3.txt b/pract_SI/Pract. 03-04/Tasks3.txt deleted file mode 100644 index 64c5c4c..0000000 --- a/pract_SI/Pract. 03-04/Tasks3.txt +++ /dev/null @@ -1,131 +0,0 @@ -#Никола Светославов - task3 - -## Задачи - -1.Да се напише програма, която приема естествено число n и изписва стълба от 1 до n - -Пример -Вход: -5 -Изход: -1 -12 -123 -1234 -12345 - -2.Да се състави програма, която по въведено естествено число n да изведе всички естествени решения на уравнението x + y = n. - -Пример -Вход: -4 -Изход: -x = 1 y = 3 -x = 2 y = 2 -x = 3 y = 1 - - -3.Напишете програма, която по въведено цяло положително число, извежда квадратът на това число, но в обратен ред, като водещите нули се игнорират. - -Пример -Вход: -10 -Изход: -1 - -Вход: -25 -Изход: -526 - -4.Напишете програма, която приема от потребителя две цели положителни числа - *m* и *n*. - Програмата да отпечата числатаот 1 до m*n, като на всеки ред има по *n* числа (тоест ще отпечатате *m* реда). - Печатайте числата по редове: - -Пример -Вход: -2 3 -Изход: -1 2 3 -4 5 6 - -5.Напишете проста игра, в която първо се въвежда цяло число в интервала [0;100] и в последствие се въвеждат цели числа - (предположения), като за всяко се казва дали е по - малко или по - голямо от първоначално ваведеното. - Tова продължава до въвеждане на число, равно на първоначалното. Програмата да отпечата и броят направени предположения. - -6.Напишете програма, която иска от потребителя поредица от цели числа по - големи от 0. - Въвеждането приключва с въвеждане на 0. Гарантирано е, че всяко от числата е въведено **точно два пъти** освен едно, - което е въведено **точно веднъж**. Програмата да изведе кое е това число. - -7.Да се състави програма, която по въведено естествено число N намира и отпечатва всички тройки естествени числа a, b и c, - не по-големи от N, които могат да бъдат страни на правоъгълен триъгълник. - -Пример -Вход: -11 -Изход -3 4 5 -6 8 10 - -8.Напишете програма, която иска от потребителя вход цифра N[2;9] и символ S.Програмата да извежда фигура съставена от символа във вид на ромб, както е показано на примерите. - -Пример -Вход: -5 * -Изход - * - *** - ***** - ******* -********* - ******* - ***** - *** - * - -*Бонус* -Задача ЕЛЕКТРОНЕН ЧАСОВНИК -В големия нов МОЛ в града на програмистите се повредили част от цифрите на електронния часовник. -Повредени били първата цифра от числото, което показва часовете, втората цифра на числото, което показва минутите и първата цифра на числото, което показва секундите. -Вместо тях на екрана се появявал знака *. -Когато Коко и приятелите му ходели на кино, те не успявали да преценят точно колко е часа. -Все пак, момчетата си създали система за изчисление, която приблизително точно им показвало времето. -Те успявали да предвидят колко е показвал часовника в началото и края на филма, в случай че знаят точно колко време е минало. -Срещу името на всеки филм на входа на киното е дадено неговото времетраене в часове, минути и секунди. -Пресмятанията доста затрудняват момчетата и затова на тях ще им е по-удобно това да се прави с компютърна програма. -Те не разбират много от програмиране и затова вие трябва да напишете програма clock, която помага на Коко и приятелите му. - -Вход: -На първия ред на стандартния вход е записана последователност от цифри и знака *, която показва какво се вижда на екрана на часовника в началото на филма. -На втория ред е записана подобна последователност за показанието на часовника в края на филма. -На третия ред се въвежда продължителността на филма в часове, минути и секунди. -Часовникът е настроен така, че показва времето по 12-часова скала, а не по 24-часова. - -Изход: -На стандартния изход изведете всички възможни показания на часовника за началото и края на филма. -Всяка двойка с начален и краен час се извежда на един ред, като първо се извежда началното показание във формат hh:mm:ss, и след един интервал крайното показание в същия формат. -Ако такива показания на часовника не са възможни, да се изведе “Impossible”. - -Ограничения: -Продължителността на филма е не по-голяма 12 часа. - -Примери: - -Вход: -*25**6 -*10**2 -10 19 26 -Изход: -02:50:06 01:09:32 -02:50:16 01:09:42 -02:50:26 01:09:52 -12:50:06 11:09:32 -12:50:16 11:09:42 -12:50:26 11:09:52 - -Вход: -*95**6 -*21**2 -4 12 6 -Изход: -Impossible diff --git a/pract_SI/Pract. 03/Solutions/task1.cpp b/pract_SI/Pract. 03/Solutions/task1.cpp new file mode 100644 index 0000000..ae955a8 --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task1.cpp @@ -0,0 +1,19 @@ +#include "pch.h" +#include + +using namespace std; + +int main() +{ + unsigned long long number; + cin >> number; + + for (int i = 1; i <= number; i++) + { + for (int j = 1; j <= i; j++) + cout << j; + cout << endl; + } + + return 0; +} diff --git a/pract_SI/Pract. 03/Solutions/task2.cpp b/pract_SI/Pract. 03/Solutions/task2.cpp new file mode 100644 index 0000000..b3e970d --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task2.cpp @@ -0,0 +1,17 @@ +#include + +using namespace std; + +int main() +{ + unsigned long long number; + cin >> number; + + for (unsigned long long x = 1, y = number; x < number; x++) + { + cout << "x = " << x << " " + << "y = " << --y << endl; + } + + return 0; +} diff --git a/pract_SI/Pract. 03/Solutions/task3.cpp b/pract_SI/Pract. 03/Solutions/task3.cpp new file mode 100644 index 0000000..a6a6362 --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task3.cpp @@ -0,0 +1,22 @@ +#include +using namespace std; +int main() +{ + unsigned long long oldNumber, newNumber; + + cout << "Enter a positive number: "; + cin >> oldNumber; + + oldNumber *= oldNumber; + newNumber = 0; + + while (oldNumber != 0) + { + newNumber = newNumber * 10 + oldNumber % 10; + oldNumber /= 10; + } + + cout << newNumber << endl; + + return 0; +} \ No newline at end of file diff --git a/pract_SI/Pract. 03/Solutions/task4.cpp b/pract_SI/Pract. 03/Solutions/task4.cpp new file mode 100644 index 0000000..622b8a1 --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task4.cpp @@ -0,0 +1,21 @@ +#include +using namespace std; +int main() +{ + unsigned int m, n; + cout << "Number of rows: "; + cin >> m; + cout << "Number of columns: "; + cin >> n; + + for (unsigned int i = 1; i <= m * n; i++) + { + cout << i << " "; + if (i % n == 0) + { + cout << endl; + } + } + + return 0; +} \ No newline at end of file diff --git a/pract_SI/Pract. 03/Solutions/task5.cpp b/pract_SI/Pract. 03/Solutions/task5.cpp new file mode 100644 index 0000000..d6ac57c --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task5.cpp @@ -0,0 +1,41 @@ +#include +using namespace std; +int main() +{ + unsigned short number, guess; + unsigned int counter = 0; + + cout << "Enter a number between 0 and 100: "; + cin >> number; + if (number < 0 || number > 100) + { + cout << "Invalid input!\n"; + return 1; + } + + do + { + ++counter; + + cout << "Guess " << counter << ": "; + cin >> guess; + if (guess < 0 || guess > 100) + { + cout << "Invalid input!\n"; + return 2; + } + + if (guess < number) + { + cout << "The number you are looking for is greater than your guess!\n"; + } + else if (guess > number) + { + cout << "The number you are looking for is less than your guess!\n"; + } + } while (guess != number); + + cout << "You found the number in " << counter << " attempt(s)!\n"; + + return 0; +} \ No newline at end of file diff --git a/pract_SI/Pract. 03/Solutions/task6.cpp b/pract_SI/Pract. 03/Solutions/task6.cpp new file mode 100644 index 0000000..8d0beac --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task6.cpp @@ -0,0 +1,18 @@ +#include +using namespace std; +int main() +{ + unsigned int number = 0, input = 1; + + while(input != 0) + { + cout << "Enter a positive number: "; + cin >> input; + + number ^= input; + } + + cout << "The single number is " << number << endl; + + return 0; +} \ No newline at end of file diff --git a/pract_SI/Pract. 03/Solutions/task7.cpp b/pract_SI/Pract. 03/Solutions/task7.cpp new file mode 100644 index 0000000..aa9194b --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task7.cpp @@ -0,0 +1,30 @@ +#include +#define LIMIT 5 +#define SEPARATOR " " + +using namespace std; + +//const short LIMIT = 5; +//const char SEPARATOR = ' '; + + +int main() +{ + unsigned long long N; + cin >> N; + + if (N < LIMIT) + return -1; + + for (int c = 1; c <= N; c++) { + for (int b = 1; b < c; b++) { + for (int a = 1; a < b; a++) { + if ((a * a) + (b * b) == (c * c)) { + cout << a << SEPARATOR << b << SEPARATOR << c << endl; + } + } + } + } + + return 0; +} diff --git a/pract_SI/Pract. 03/Solutions/task8.cpp b/pract_SI/Pract. 03/Solutions/task8.cpp new file mode 100644 index 0000000..3f32ebf --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task8.cpp @@ -0,0 +1,41 @@ +#include + +using namespace std; + +const short LOWERLIMIT = 2; +const short UPPERLIMIT = 9; +const char SEPARATOR = ' '; + +int main() +{ + short N; + char S; + cin >> N >> S; + + if (N < LOWERLIMIT || N > UPPERLIMIT) + return -1; //end program + + for (int i = 1; i <= N; i++) + { + for (int j = N - i; j > 0; j--) + cout << SEPARATOR; + + for (int k = 1; k < 2 * i; k++) + cout << S; + + cout << endl; + } + + for (int i = 1; i < N; i++) + { + for (int j = 1; j <= i; j++) + cout << SEPARATOR; + + for (int k = 1; k < 2 * (N - i); k++) + cout << S; + + cout << endl; + } + + return 0; +} \ No newline at end of file diff --git a/pract_SI/Pract. 03/Solutions/task9.cpp b/pract_SI/Pract. 03/Solutions/task9.cpp new file mode 100644 index 0000000..9f1f054 --- /dev/null +++ b/pract_SI/Pract. 03/Solutions/task9.cpp @@ -0,0 +1,59 @@ +#include + +int main() { + + // по-нататък ще учим как се вкарват сложни данни, затова сега ще ги hardcode-нем в main-а + + int hoursOnesStart = 2, minutesTensStart = 5, secondsOnesStart = 6; + int hoursOnesFinal = 1, minutesTensFinal = 0, secondsOnesFinal = 2; + int hoursDelta = 10, minutesDelta = 19, secondsDelta = 26; + + for (size_t hoursTensStart = 0; hoursTensStart <= 1; ++hoursTensStart) + { + for (size_t minutesOnesStart = 0; minutesOnesStart <= 9; ++minutesOnesStart) + { + for (size_t secondsTensStart = 0; secondsTensStart <= 5; secondsTensStart++) + { + int hoursTemp = hoursTensStart * 10 + hoursOnesStart; + int minutesTemp = minutesTensStart * 10 + minutesOnesStart; + int secondsTemp = secondsTensStart * 10 + secondsOnesStart; + + secondsTemp += secondsDelta; + if (secondsTemp >= 60) { + minutesTemp += secondsTemp / 60; + secondsTemp %= 60; + } + + minutesTemp += minutesDelta; + if (minutesTemp >= 60) { + hoursTemp += minutesTemp / 60; + minutesTemp %= 60; + } + + hoursTemp += hoursDelta; + if (hoursTemp > 12) { + hoursTemp %= 12; + } + + bool hoursOnesMatch = hoursTemp % 10 == hoursOnesFinal, + minutesTensMatch = minutesTemp / 10 == minutesTensFinal, + secondsOnesMatch = secondsTemp % 10 == secondsOnesFinal; + + if (hoursOnesMatch && minutesTensMatch && secondsOnesMatch) { + int hoursTensFinal = hoursTemp / 10, + minutesOnesFinal = minutesTemp % 10, + secondsTensFinal = secondsTemp / 10; + + std::cout << hoursTensStart << hoursOnesStart << ':' + << minutesTensStart << minutesOnesStart << ':' + << secondsTensStart << secondsOnesStart << ' ' + << hoursTensFinal << hoursOnesFinal << ':' + << minutesTensFinal << minutesOnesFinal << ':' + << secondsTensFinal << secondsOnesFinal << '\n'; + } + } + } + } + + return 0; +} \ No newline at end of file diff --git a/pract_SI/Pract. 03/Startup_tasks.txt b/pract_SI/Pract. 03/Startup_tasks.txt new file mode 100644 index 0000000..8ee6d58 --- /dev/null +++ b/pract_SI/Pract. 03/Startup_tasks.txt @@ -0,0 +1,7 @@ +1.Напишете програма , която приема като вход N лева.Да се отпечата как бихме разпределили сумата на банкноти, +така че да имаме минимален брой банкноти. (Да не се използват условни оператори и цикли) +Пояснение: Нека да приемем, че имаме банкноти с 1лв и 2лв. + +2.Напишете програма, която приема като вход цяло положително число V, което ще отговаря на скорост. +Програмата да отпечатва колко е глобата от КАТ, а ако няма глоба следното съобщение "No speedticket". +(https://stamatovandpartners.com/elektronen-fish-za-previshena-skorost/) \ No newline at end of file diff --git a/pract_SI/Pract. 03/Tasks3.txt b/pract_SI/Pract. 03/Tasks3.txt new file mode 100644 index 0000000..64c5c4c --- /dev/null +++ b/pract_SI/Pract. 03/Tasks3.txt @@ -0,0 +1,131 @@ +#Никола Светославов - task3 + +## Задачи + +1.Да се напише програма, която приема естествено число n и изписва стълба от 1 до n + +Пример +Вход: +5 +Изход: +1 +12 +123 +1234 +12345 + +2.Да се състави програма, която по въведено естествено число n да изведе всички естествени решения на уравнението x + y = n. + +Пример +Вход: +4 +Изход: +x = 1 y = 3 +x = 2 y = 2 +x = 3 y = 1 + + +3.Напишете програма, която по въведено цяло положително число, извежда квадратът на това число, но в обратен ред, като водещите нули се игнорират. + +Пример +Вход: +10 +Изход: +1 + +Вход: +25 +Изход: +526 + +4.Напишете програма, която приема от потребителя две цели положителни числа - *m* и *n*. + Програмата да отпечата числатаот 1 до m*n, като на всеки ред има по *n* числа (тоест ще отпечатате *m* реда). + Печатайте числата по редове: + +Пример +Вход: +2 3 +Изход: +1 2 3 +4 5 6 + +5.Напишете проста игра, в която първо се въвежда цяло число в интервала [0;100] и в последствие се въвеждат цели числа + (предположения), като за всяко се казва дали е по - малко или по - голямо от първоначално ваведеното. + Tова продължава до въвеждане на число, равно на първоначалното. Програмата да отпечата и броят направени предположения. + +6.Напишете програма, която иска от потребителя поредица от цели числа по - големи от 0. + Въвеждането приключва с въвеждане на 0. Гарантирано е, че всяко от числата е въведено **точно два пъти** освен едно, + което е въведено **точно веднъж**. Програмата да изведе кое е това число. + +7.Да се състави програма, която по въведено естествено число N намира и отпечатва всички тройки естествени числа a, b и c, + не по-големи от N, които могат да бъдат страни на правоъгълен триъгълник. + +Пример +Вход: +11 +Изход +3 4 5 +6 8 10 + +8.Напишете програма, която иска от потребителя вход цифра N[2;9] и символ S.Програмата да извежда фигура съставена от символа във вид на ромб, както е показано на примерите. + +Пример +Вход: +5 * +Изход + * + *** + ***** + ******* +********* + ******* + ***** + *** + * + +*Бонус* +Задача ЕЛЕКТРОНЕН ЧАСОВНИК +В големия нов МОЛ в града на програмистите се повредили част от цифрите на електронния часовник. +Повредени били първата цифра от числото, което показва часовете, втората цифра на числото, което показва минутите и първата цифра на числото, което показва секундите. +Вместо тях на екрана се появявал знака *. +Когато Коко и приятелите му ходели на кино, те не успявали да преценят точно колко е часа. +Все пак, момчетата си създали система за изчисление, която приблизително точно им показвало времето. +Те успявали да предвидят колко е показвал часовника в началото и края на филма, в случай че знаят точно колко време е минало. +Срещу името на всеки филм на входа на киното е дадено неговото времетраене в часове, минути и секунди. +Пресмятанията доста затрудняват момчетата и затова на тях ще им е по-удобно това да се прави с компютърна програма. +Те не разбират много от програмиране и затова вие трябва да напишете програма clock, която помага на Коко и приятелите му. + +Вход: +На първия ред на стандартния вход е записана последователност от цифри и знака *, която показва какво се вижда на екрана на часовника в началото на филма. +На втория ред е записана подобна последователност за показанието на часовника в края на филма. +На третия ред се въвежда продължителността на филма в часове, минути и секунди. +Часовникът е настроен така, че показва времето по 12-часова скала, а не по 24-часова. + +Изход: +На стандартния изход изведете всички възможни показания на часовника за началото и края на филма. +Всяка двойка с начален и краен час се извежда на един ред, като първо се извежда началното показание във формат hh:mm:ss, и след един интервал крайното показание в същия формат. +Ако такива показания на часовника не са възможни, да се изведе “Impossible”. + +Ограничения: +Продължителността на филма е не по-голяма 12 часа. + +Примери: + +Вход: +*25**6 +*10**2 +10 19 26 +Изход: +02:50:06 01:09:32 +02:50:16 01:09:42 +02:50:26 01:09:52 +12:50:06 11:09:32 +12:50:16 11:09:42 +12:50:26 11:09:52 + +Вход: +*95**6 +*21**2 +4 12 6 +Изход: +Impossible -- cgit v1.3.1-23-gd82d