diff options
Update sem.03
9 files changed, 268 insertions, 0 deletions
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task1.cpp | 19 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task2.cpp | 17 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task3.cpp | 22 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task4.cpp | 21 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task5.cpp | 41 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task6.cpp | 18 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task7.cpp | 30 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task8.cpp | 41 | ||||
| -rw-r--r-- | pract_SI/Pract. 03/Solutions/task9.cpp | 59 |
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 <iostream> + +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 <iostream> + +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<iostream> +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<iostream> +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<iostream> +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<iostream> +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 <iostream> +#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 <iostream> + +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 <iostream> + +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 |
