Website Summary Files Commits Branches @commit @diff @stats
path: root / pract_SI / Pract. 03 / Solutions
diff options
context:
space:
mode:
Commit00f15aa8d69a53c3ffa55661283aa06a6d6bd30f (patch)
Author
 Justsvetoslavov <justsvetoslavov@gmail.com>
2021-10-28 17:33:12 +0300
Committer
 Justsvetoslavov <justsvetoslavov@gmail.com>
2021-10-28 17:33:12 +0300
Files0d671c92f0f3eeec61899f06e86351717b10412f /pract_SI/Pract. 03/Solutions
Introduction_to_programming_FMI-00f15aa8d69a53c3ffa55661283aa06a6d6bd30f.tar
Introduction_to_programming_FMI-00f15aa8d69a53c3ffa55661283aa06a6d6bd30f.tar.gz
Introduction_to_programming_FMI-00f15aa8d69a53c3ffa55661283aa06a6d6bd30f.zip
Parent007305dcfdc9cb6c2fb7bfded08ff42044768018 (diff)
Update sem.03
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