Compare commits
32 Commits
C++ClassWo
...
C++ClassWo
| Author | SHA1 | Date | |
|---|---|---|---|
| a5da8d2fee | |||
| e7519dc24f | |||
| 9b64e13e2a | |||
| e3600093fa | |||
| 20c9d088d1 | |||
| 6c5500d2ba | |||
| 862f587d1d | |||
| 403ca01edc | |||
| 9ae89cddcd | |||
| a67c2e3a56 | |||
| f49c803a60 | |||
| 532733f2a2 | |||
| 7cd1897d42 | |||
| af2a1a76dc | |||
| 32a4d414cc | |||
| 0701e8e109 | |||
| 91617b3536 | |||
| 2c79197764 | |||
| be306a74ee | |||
| 625d037dd8 | |||
| adce67dbfe | |||
| 1b12ecba62 | |||
| 3387f59ead | |||
| d166bb023e | |||
| e71c544bea | |||
| b132eae554 | |||
| 71a5fa7db6 | |||
| 3153e293a7 | |||
| d1c231a13f | |||
| a8309bf572 | |||
| f334a19e74 | |||
| 87c2389c93 |
@@ -1,67 +0,0 @@
|
||||
#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;
|
||||
}
|
||||
50
task1.cpp
50
task1.cpp
@@ -1,50 +0,0 @@
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
void sortArr(int* p, int n) {
|
||||
for (int i = 0; i < n - 1; i++) {
|
||||
for (int j = 0; j < n - i - 1; j++) {
|
||||
if (p[j] > p[j + 1]) {
|
||||
int t = p[j];
|
||||
p[j] = p[j + 1];
|
||||
p[j + 1] = t;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void printArr(int* p, int n) {
|
||||
for (int i = 0; i < n; i++) {
|
||||
cout << p[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);
|
||||
|
||||
cout << "\nArray without first and last elements:\n";
|
||||
printArr(a + 1, n - 2);
|
||||
|
||||
delete[] a;
|
||||
return 0;
|
||||
|
||||
}
|
||||
@@ -1,85 +0,0 @@
|
||||
#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;
|
||||
}
|
||||
70
task3.cpp
70
task3.cpp
@@ -1,70 +0,0 @@
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
void Pos(int* a, int n) {
|
||||
int count = 0;
|
||||
for (int i = 0; i < 3 && i < n; ++i)
|
||||
if (a[i] > 0) ++count;
|
||||
cout << "The number of the first 3 elements > 0: " << count << endl;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
34
task4.cpp
Normal file
34
task4.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
int* removeNeg(int* a, int n, int& newN) {
|
||||
int* b = new int[n];
|
||||
int k = 0;
|
||||
for (int i = 0; i < n; i++)
|
||||
if (a[i] >= 0) b[k++] = a[i];
|
||||
newN = k;
|
||||
int* c = new int[k];
|
||||
for (int i = 0; i < k; i++) c[i] = b[i];
|
||||
delete[] b;
|
||||
return c;
|
||||
}
|
||||
|
||||
int main() {
|
||||
srand(time(0));
|
||||
int n = 10;
|
||||
int* a = new int[n];
|
||||
for (int i = 0; i < n; i++) {
|
||||
a[i] = rand() % 21 - 10;
|
||||
cout << a[i] << " ";
|
||||
}
|
||||
cout << endl;
|
||||
int newN;
|
||||
int* b = removeNeg(a, n, newN);
|
||||
cout << "New array: ";
|
||||
for (int i = 0; i < newN; i++)
|
||||
cout << b[i] << " ";
|
||||
cout << endl;
|
||||
delete[] a;
|
||||
delete[] b;
|
||||
return 0;
|
||||
}
|
||||
52
task5.cpp
Normal file
52
task5.cpp
Normal file
@@ -0,0 +1,52 @@
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
|
||||
void addBlock(int*& a, int& n, const int* b, int m) {
|
||||
int* temp = new int[n + m];
|
||||
|
||||
for (int i = 0; i < n; i++) {
|
||||
temp[i] = a[i];
|
||||
}
|
||||
|
||||
for (int i = 0; i < m; i++) {
|
||||
temp[n + i] = b[i];
|
||||
}
|
||||
|
||||
delete[] a;
|
||||
|
||||
a = temp;
|
||||
|
||||
n = n + m;
|
||||
}
|
||||
|
||||
int main() {
|
||||
srand(time(0));
|
||||
|
||||
int n = 7, m = 4;
|
||||
int* a = new int[n];
|
||||
int* b = new int[m];
|
||||
|
||||
cout << "A: ";
|
||||
for (int i = 0; i < n; i++) {
|
||||
a[i] = rand() % 30;
|
||||
cout << a[i] << (i < n - 1 ? " " : "");
|
||||
}
|
||||
|
||||
cout << endl << "B: ";
|
||||
for (int i = 0; i < m; i++) {
|
||||
b[i] = rand() % 30;
|
||||
cout << b[i] << (i < m - 1 ? " " : "");
|
||||
}
|
||||
|
||||
addBlock(a, n, b, m);
|
||||
|
||||
cout << endl << "Result: ";
|
||||
for (int i = 0; i < n; i++) {
|
||||
cout << a[i] << (i < n - 1 ? " " : "");
|
||||
}
|
||||
cout << endl;
|
||||
|
||||
delete[] a;
|
||||
delete[] b;
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user