Skip to content

Instantly share code, notes, and snippets.

@vlaleli
Created April 11, 2025 06:30
Show Gist options
  • Select an option

  • Save vlaleli/9a8e5a83341a6c10b72e85b7f39cb902 to your computer and use it in GitHub Desktop.

Select an option

Save vlaleli/9a8e5a83341a6c10b72e85b7f39cb902 to your computer and use it in GitHub Desktop.
1)
#include <iostream>
using namespace std;
int* createArray(int size) {
return new int[size];
}
void fillArray(int* arr, int size) {
cout << "Введіть " << size << " елементів:\n";
for (int i = 0; i < size; ++i) {
cout << "arr[" << i << "] = ";
cin >> arr[i];
}
}
int* filterArray(int* arr, int size, int& newSize) {
newSize = 0;
for (int i = 0; i < size; ++i) {
if (arr[i] <= 100)
++newSize;
}
int* filteredArr = new int[newSize];
int index = 0;
for (int i = 0; i < size; ++i) {
if (arr[i] <= 100)
filteredArr[index++] = arr[i];
}
return filteredArr;
}
void printArray(int* arr, int size) {
cout << "Результат:\n";
for (int i = 0; i < size; ++i) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int size;
cout << "Введіть розмір масиву: ";
cin >> size;
int* arr = createArray(size);
fillArray(arr, size);
int newSize;
int* filteredArr = filterArray(arr, size, newSize);
printArray(filteredArr, newSize);
delete[] arr;
delete[] filteredArr;
return 0;
}
2)
#include <iostream>
using namespace std;
int* createArray(int size) {
return new int[size];
}
void fillArray(int* arr, int size) {
cout << "Введіть " << size << " елементів:\n";
for (int i = 0; i < size; ++i) {
cout << "arr[" << i << "] = ";
cin >> arr[i];
}
}
void printArray(int* arr, int size) {
cout << "Масив: ";
for (int i = 0; i < size; ++i) {
cout << arr[i] << " ";
}
cout << endl;
}
int* deleteByIndex(int* arr, int size, int index, int& newSize) {
if (index < 0 || index >= size) {
cout << "Невірний індекс!" << endl;
newSize = size;
return arr;
}
newSize = size - 1;
int* newArr = new int[newSize];
int j = 0;
for (int i = 0; i < size; ++i) {
if (i != index) {
newArr[j++] = arr[i];
}
}
return newArr;
}
int main() {
int size;
cout << "Введіть розмір масиву: ";
cin >> size;
int* arr = createArray(size);
fillArray(arr, size);
printArray(arr, size);
int indexToDelete;
cout << "Введіть індекс елемента, який потрібно видалити: ";
cin >> indexToDelete;
int newSize;
int* newArr = deleteByIndex(arr, size, indexToDelete, newSize);
printArray(newArr, newSize);
delete[] arr;
if (newArr != arr) {
delete[] newArr;
}
return 0;
}
3)
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int* createArray(int size) {
return new int[size];
}
void fillArrayRandom(int* arr, int size) {
srand(time(0));
for (int i = 0; i < size; ++i) {
arr[i] = rand() % 21;
}
}
int calculateSum(int* arr, int size) {
int sum = 0;
for (int i = 0; i < size; ++i) {
sum += arr[i];
}
return sum;
}
void processArray(int* arr, int size, int sum) {
if (sum > 100) {
for (int i = 0; i < size; ++i) {
arr[i] *= 10;
}
} else {
for (int i = 0; i < size; ++i) {
arr[i] /= 10;
}
}
}
void printArray(int* arr, int size) {
cout << "Масив: ";
for (int i = 0; i < size; ++i) {
cout << arr[i] << " ";
}
cout << endl;
}
int main() {
int size;
cout << "Введіть розмір масиву: ";
cin >> size;
int* arr = createArray(size);
fillArrayRandom(arr, size);
cout << "Початковий масив:\n";
printArray(arr, size);
int sum = calculateSum(arr, size);
cout << "Сума елементів: " << sum << endl;
processArray(arr, size, sum);
cout << "Оброблений масив:\n";
printArray(arr, size);
delete[] arr;
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment