Compare commits
32 Commits
C++DZ-04.0
...
C++ClassWo
| Author | SHA1 | Date | |
|---|---|---|---|
| 6314f437db | |||
| a541adab0b | |||
| 9043777a10 | |||
| d747caaf36 | |||
| 53581f2888 | |||
| ad94106e74 | |||
| a860f1d299 | |||
| 290b59fee3 | |||
| 89d2b6c8e5 | |||
| c5e2420500 | |||
| 00296eede8 | |||
| dec9d44643 | |||
| bee1877856 | |||
| 99ec7830f7 | |||
| 0c5d8e04f5 | |||
| 8c99163ff3 | |||
| 29b940b6b2 | |||
| 64a71ee7dc | |||
| 42dcc1011a | |||
| f434c2e894 | |||
| 39096faf4b | |||
| 46c2825d9c | |||
| 5af0942e4f | |||
| 496c7956e3 | |||
| 655afa03d6 | |||
| 1d2b458c2c | |||
| a00daf56f3 | |||
| 298e172db1 | |||
| 9e104306e6 | |||
| 1008cecd8f | |||
| d6a88bde24 | |||
| 6d87e57c90 |
67
task1-2.0.cpp
Normal file
67
task1-2.0.cpp
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
void sortArr(int* a, int n) {
|
||||||
|
for (int i = 1; i < n; i++) {
|
||||||
|
int key = a[i];
|
||||||
|
int j = i - 1;
|
||||||
|
while (j >= 0 && a[j] > key) {
|
||||||
|
a[j + 1] = a[j];
|
||||||
|
j--;
|
||||||
|
}
|
||||||
|
a[j + 1] = key;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void RemovableLmR(int* a, int& n) {
|
||||||
|
if (n <= 2) {
|
||||||
|
n = 0;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Зсуваємо масив вліво, видаляємо перший
|
||||||
|
for (int i = 0; i < n - 1; i++) {
|
||||||
|
a[i] = a[i + 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Просто зменшуємо розмір ще на один, прибираємо останній
|
||||||
|
n = n - 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
void printArr(int* a, int n) {
|
||||||
|
if (n == 0) {
|
||||||
|
cout << "(empty)\n";
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
cout << a[i] << " ";
|
||||||
|
}
|
||||||
|
cout << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
srand(time(0));
|
||||||
|
int n;
|
||||||
|
cout << "Enter N: ";
|
||||||
|
cin >> n;
|
||||||
|
|
||||||
|
int* a = new int[n];
|
||||||
|
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
a[i] = rand() % 101 - 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
cout << "\nOriginal array:\n";
|
||||||
|
printArr(a, n);
|
||||||
|
|
||||||
|
sortArr(a, n);
|
||||||
|
cout << "\nSorted array:\n";
|
||||||
|
printArr(a, n);
|
||||||
|
|
||||||
|
RemovableLmR(a, n);
|
||||||
|
cout << "\nArray after removing first and last:\n";
|
||||||
|
printArr(a, n);
|
||||||
|
|
||||||
|
delete[] a;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
70
task1.cpp
70
task1.cpp
@@ -1,20 +1,50 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
int main() {
|
void sortArr(int* p, int n) {
|
||||||
int n;
|
for (int i = 0; i < n - 1; i++) {
|
||||||
cout << "Enter a four-digit number: ";
|
for (int j = 0; j < n - i - 1; j++) {
|
||||||
cin >> n;
|
if (p[j] > p[j + 1]) {
|
||||||
|
int t = p[j];
|
||||||
if (n < 1000 || n > 9999) {
|
p[j] = p[j + 1];
|
||||||
cout << "Error! This is not a four-digit number." << endl;
|
p[j + 1] = t;
|
||||||
} else {
|
}
|
||||||
int a = n / 1000;
|
}
|
||||||
int b = (n / 100) % 10;
|
}
|
||||||
int c = (n / 10) % 10;
|
}
|
||||||
int d = n % 10;
|
|
||||||
int r = c * 1000 + d * 100 + a * 10 + b;
|
void printArr(int* p, int n) {
|
||||||
cout << "Result: " << r << endl;
|
for (int i = 0; i < n; i++) {
|
||||||
}
|
cout << p[i] << " ";
|
||||||
return 0;
|
}
|
||||||
}
|
cout << "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
srand(time(0));
|
||||||
|
int n;
|
||||||
|
|
||||||
|
cout << "Enter N: ";
|
||||||
|
cin >> n;
|
||||||
|
|
||||||
|
int* a = new int[n];
|
||||||
|
|
||||||
|
for (int i = 0; i < n; i++) {
|
||||||
|
a[i] = rand() % 101 - 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
cout << "\nOriginal array:\n";
|
||||||
|
printArr(a, n);
|
||||||
|
|
||||||
|
sortArr(a, n);
|
||||||
|
|
||||||
|
cout << "\nSorted array:\n";
|
||||||
|
printArr(a, n);
|
||||||
|
|
||||||
|
cout << "\nArray without first and last elements:\n";
|
||||||
|
printArr(a + 1, n - 2);
|
||||||
|
|
||||||
|
delete[] a;
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
}
|
||||||
|
|||||||
39
task2.cpp
39
task2.cpp
@@ -1,39 +0,0 @@
|
|||||||
#include <iostream>
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
double ab;
|
|
||||||
double bc;
|
|
||||||
double weight;
|
|
||||||
cout << "Distance A-B: ";
|
|
||||||
cin >> ab;
|
|
||||||
cout << "Distance B-C: ";
|
|
||||||
cin >> bc;
|
|
||||||
cout << "Cargo weight: ";
|
|
||||||
cin >> weight;
|
|
||||||
|
|
||||||
double fuel;
|
|
||||||
if (weight <= 500) fuel = 1;
|
|
||||||
else if (weight <= 1000) fuel = 4;
|
|
||||||
else if (weight <= 1500) fuel = 7;
|
|
||||||
else if (weight <= 2000) fuel = 9;
|
|
||||||
else {
|
|
||||||
cout << "The airplane cannot lift such a load!" << endl;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
double nAB = ab * fuel;
|
|
||||||
double nBC = bc * fuel;
|
|
||||||
|
|
||||||
if (nAB > 300) {
|
|
||||||
cout << "It is impossible to reach point B by flight." << endl;
|
|
||||||
}
|
|
||||||
else if (nBC > 300) {
|
|
||||||
cout << "It is impossible to fly from B to C." << endl;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
double fill = max(0.0, nBC - (300 - nAB));
|
|
||||||
cout << "Minimum refuel at B: " << fill << " liters." << endl;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
85
task3-2.0.cpp
Normal file
85
task3-2.0.cpp
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
#include <iostream>
|
||||||
|
using namespace std;
|
||||||
|
|
||||||
|
int* Pos(int* a, int n, int& res_n) {
|
||||||
|
int* tmp = new int[3];
|
||||||
|
res_n = 0;
|
||||||
|
for (int i = 0; i < 3 && i < n; ++i)
|
||||||
|
if (a[i] > 0)
|
||||||
|
tmp[res_n++] = a[i];
|
||||||
|
int* res = new int[res_n];
|
||||||
|
for (int i = 0; i < res_n; ++i) res[i] = tmp[i];
|
||||||
|
delete[] tmp;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
int* last3(int* a, int n, int& res_n) {
|
||||||
|
res_n = (n >= 3) ? 3 : n;
|
||||||
|
int* res = new int[res_n];
|
||||||
|
for (int i = 0; i < res_n; ++i)
|
||||||
|
res[i] = a[n - res_n + i];
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
int* min3(int* a, int n, int& res_n) {
|
||||||
|
int* tmp = new int[n];
|
||||||
|
for (int i = 0; i < n; ++i) tmp[i] = a[i];
|
||||||
|
for (int i = 0; i < n - 1; ++i)
|
||||||
|
for (int j = i + 1; j < n; ++j)
|
||||||
|
if (tmp[i] > tmp[j]) { int t = tmp[i]; tmp[i] = tmp[j]; tmp[j] = t; }
|
||||||
|
res_n = (n >= 3) ? 3 : n;
|
||||||
|
int* res = new int[res_n];
|
||||||
|
for (int i = 0; i < res_n; ++i) res[i] = tmp[i];
|
||||||
|
delete[] tmp;
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef int* (*searchFunc)(int*, int, int&);
|
||||||
|
|
||||||
|
void service(int* a, int n, searchFunc f) {
|
||||||
|
int res_n;
|
||||||
|
int* res = f(a, n, res_n);
|
||||||
|
cout << "Result: ";
|
||||||
|
for (int i = 0; i < res_n; ++i) cout << res[i] << " ";
|
||||||
|
cout << endl;
|
||||||
|
delete[] res;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
srand(time(NULL));
|
||||||
|
int n;
|
||||||
|
cout << "n(n>=3)= ";
|
||||||
|
cin >> n;
|
||||||
|
if (n < 3) {
|
||||||
|
cerr << "Error: size Array!!";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
int* arr = new int[n];
|
||||||
|
for (int i = 0; i < n; ++i)
|
||||||
|
arr[i] = rand() % 41 - 20;
|
||||||
|
|
||||||
|
cout << "Array: ";
|
||||||
|
for (int i = 0; i < n; ++i) cout << arr[i] << " ";
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
searchFunc arrFunc[3] = { Pos, last3, min3 };
|
||||||
|
|
||||||
|
int choice;
|
||||||
|
do {
|
||||||
|
cout << "\nMenu:\n"
|
||||||
|
<< "1) Array of the first 3 elements > 0\n"
|
||||||
|
<< "2) Array of the last 3 elements\n"
|
||||||
|
<< "3) Array of the 3 smallest elements\n"
|
||||||
|
<< "4) Exit\n"
|
||||||
|
<< "Select action (1-4): ";
|
||||||
|
cin >> choice;
|
||||||
|
|
||||||
|
if (choice >= 1 && choice <= 3)
|
||||||
|
service(arr, n, arrFunc[choice - 1]);
|
||||||
|
else if (choice != 4)
|
||||||
|
cout << "Incorrect choice!\n";
|
||||||
|
} while (choice != 4);
|
||||||
|
|
||||||
|
delete[] arr;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
117
task3.cpp
117
task3.cpp
@@ -1,55 +1,70 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <clocale>
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
int main() {
|
void Pos(int* a, int n) {
|
||||||
int c;
|
int count = 0;
|
||||||
cout << "Menu:" << endl;
|
for (int i = 0; i < 3 && i < n; ++i)
|
||||||
cout << "1. Income and delays -> lines of code" << endl;
|
if (a[i] > 0) ++count;
|
||||||
cout << "2. Lines of code and desired salary -> delay" << endl;
|
cout << "The number of the first 3 elements > 0: " << count << endl;
|
||||||
cout << "3. Lines of code and delays -> salary" << endl;
|
|
||||||
cin >> c;
|
|
||||||
|
|
||||||
int l;
|
|
||||||
int t;
|
|
||||||
int s;
|
|
||||||
|
|
||||||
switch (c) {
|
|
||||||
case 1:
|
|
||||||
cout << "Enter the desired income ($): ";
|
|
||||||
cin >> s;
|
|
||||||
cout << "Enter the number of tardies: ";
|
|
||||||
cin >> t;
|
|
||||||
s += (t / 3) * 20;
|
|
||||||
l = (s / 50.0) * 100;
|
|
||||||
cout << "Vasyl needs to write " << l << " lines of code." << endl;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
cout << "Enter the number of lines of code: ";
|
|
||||||
cin >> l;
|
|
||||||
cout << "Enter your desired salary ($): ";
|
|
||||||
cin >> s;
|
|
||||||
int b;
|
|
||||||
b = (l / 100) * 50;
|
|
||||||
cout << "Vasya can be late at most "
|
|
||||||
<< ((b - s) / 20) * 3 << " time(s)." << endl;
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 3:
|
|
||||||
cout << "Enter the number of lines of code: ";
|
|
||||||
cin >> l;
|
|
||||||
cout << "Enter the number of tardies: ";
|
|
||||||
cin >> t;
|
|
||||||
s = (l / 100) * 50 - (t / 3) * 20;
|
|
||||||
if (s > 0)
|
|
||||||
cout << "Vasyl's salary: " << s << " $" << endl;
|
|
||||||
else
|
|
||||||
cout << "Vasya will not be paid anything." << endl;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
cout << "Invalid choice." << endl;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Show1(int* a, int n) {
|
||||||
|
cout << "The last 3 elements: ";
|
||||||
|
for (int i = (n >= 3 ? n - 3 : 0); i < n; ++i)
|
||||||
|
cout << a[i] << " ";
|
||||||
|
cout << endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Show2(int* a, int n) {
|
||||||
|
int* b = new int[n];
|
||||||
|
for (int i = 0; i < n; ++i) b[i] = a[i];
|
||||||
|
|
||||||
|
for (int i = 0; i < n-1; ++i)
|
||||||
|
for (int j = i+1; j < n; ++j)
|
||||||
|
if (b[i] > b[j]) { int t = b[i]; b[i] = b[j]; b[j] = t; }
|
||||||
|
cout << "The three smallest elements: ";
|
||||||
|
for (int i = 0; i < 3 && i < n; ++i) cout << b[i] << " ";
|
||||||
|
cout << endl;
|
||||||
|
delete[] b;
|
||||||
|
}
|
||||||
|
|
||||||
|
typedef void (*searchFunc)(int*, int);
|
||||||
|
|
||||||
|
void service(int* a, int n, searchFunc f) {
|
||||||
|
f(a, n);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
srand(time(NULL));
|
||||||
|
int n;
|
||||||
|
cout << "n(n>=3)= ";
|
||||||
|
cin >> n;
|
||||||
|
if (n < 3) {
|
||||||
|
cerr << "Error: size Array!!";
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
int* arr = new int[n];
|
||||||
|
for (int i = 0; i < n; ++i)
|
||||||
|
arr[i] = rand() % 41 - 20;
|
||||||
|
|
||||||
|
cout << "Array: ";
|
||||||
|
for (int i = 0; i < n; ++i) cout << arr[i] << " ";
|
||||||
|
cout << endl;
|
||||||
|
|
||||||
|
searchFunc arrFunc[3] = { Pos, Show1, Show2 };
|
||||||
|
|
||||||
|
cout << "Menu:\n"
|
||||||
|
<< "1) The number of the first 3 elements > 0\n"
|
||||||
|
<< "2) Show the last 3 items\n"
|
||||||
|
<< "3) Display the 3 smallest elements\n"
|
||||||
|
<< "Select an action (1-3): ";
|
||||||
|
int choice;
|
||||||
|
cin >> choice;
|
||||||
|
if (choice >= 1 && choice <= 3)
|
||||||
|
service(arr, n, arrFunc[choice-1]);
|
||||||
|
else
|
||||||
|
cout << "Incorrect choice!\n";
|
||||||
|
|
||||||
|
delete[] arr;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
19
task4.cpp
19
task4.cpp
@@ -1,19 +0,0 @@
|
|||||||
#include <iostream>
|
|
||||||
#include <clocale>
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
int f;
|
|
||||||
cout << "Enter the finger number (1-5): ";
|
|
||||||
cin >> f;
|
|
||||||
|
|
||||||
switch (f) {
|
|
||||||
case 1: cout << "pollex" << endl; break;
|
|
||||||
case 2: cout << "index" << endl; break;
|
|
||||||
case 3: cout << "medius" << endl; break;
|
|
||||||
case 4: cout << "annularis" << endl; break;
|
|
||||||
case 5: cout << "digitus minimus" << endl; break;
|
|
||||||
default: cout << "Incorrect number!" << endl;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
35
task5.cpp
35
task5.cpp
@@ -1,35 +0,0 @@
|
|||||||
#include <iostream>
|
|
||||||
using namespace std;
|
|
||||||
|
|
||||||
int main() {
|
|
||||||
double a;
|
|
||||||
double b;
|
|
||||||
double c;
|
|
||||||
double x;
|
|
||||||
double y;
|
|
||||||
|
|
||||||
cout << "Enter the edges of the brick a, b, c: ";
|
|
||||||
cin >> a >> b >> c;
|
|
||||||
cout << "Enter the hole dimensions x, y: ";
|
|
||||||
cin >> x >> y;
|
|
||||||
|
|
||||||
double min1 = a, min2 = b;
|
|
||||||
|
|
||||||
if (c < min1) {
|
|
||||||
min2 = min1;
|
|
||||||
min1 = c;
|
|
||||||
}
|
|
||||||
else if (c < min2) {
|
|
||||||
min2 = c;
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((min1 <= x && min2 <= y) || (min1 <= y && min2 <= x)) {
|
|
||||||
cout << "The brick will pass through the opening." << endl;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
cout << "The brick won't fit through the opening.." << endl;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user