Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <clocale>
- #include <cstdlib>
- #include <ctime>
- #define sqr(x) x*x
- #define newSize(x) (2*x - (x/2))
- using namespace std;
- void moving_elements(int *arr, int aSize) {
- for (int i = 0; i < aSize; i = i + 3)
- for (int j = aSize - 1; j > i + 1; j--)
- arr[j] = arr[j-1];
- }
- void filling_spaces(int *arr, int aSize) {
- for (int i = 0; i < aSize; i = i + 3)
- arr[i+1] = sqr(arr[i]);
- }
- int main() {
- setlocale(LC_ALL, "Russian");
- srand(time(0));
- int arrSize,
- arrExtraSize;
- cout << "Вставка квадрата значения каждого чётного элемента массива (5).\n";
- anotherTry:
- cout << "Введите размер массива: "; cin >> arrSize;
- if (arrSize < 1) {
- cout << "\nВведено некорректное значение. Попробуйте ещё раз.\n";
- goto anotherTry;
- }
- arrExtraSize = newSize(arrSize);
- int *arr = new int[arrExtraSize];
- // Заполнение массива и вывод на экран:
- for (int i = 0; i < arrSize; i++) {
- arr[i] = rand() % 100 + 1;
- cout << setw(8) << arr[i];
- }
- moving_elements(arr, arrExtraSize);
- filling_spaces(arr, arrExtraSize);
- // Вывод полученных данных:
- cout << "\nПолученный результат:\n";
- for (int i = 0; i < arrExtraSize; i++)
- cout << setw(8) << arr[i];
- cout << endl;
- delete [] arr;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement