Advertisement
Guest User

Untitled

a guest
Dec 9th, 2016
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.50 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <clocale>
  4. #include <cstdlib>
  5. #include <ctime>
  6.  
  7. #define sqr(x) x*x
  8. #define newSize(x) (2*x - (x/2))
  9.  
  10. using namespace std;
  11.  
  12. void moving_elements(int *arr, int aSize) {
  13. for (int i = 0; i < aSize; i = i + 3)
  14. for (int j = aSize - 1; j > i + 1; j--)
  15. arr[j] = arr[j-1];
  16. }
  17.  
  18. void filling_spaces(int *arr, int aSize) {
  19. for (int i = 0; i < aSize; i = i + 3)
  20. arr[i+1] = sqr(arr[i]);
  21. }
  22.  
  23. int main() {
  24. setlocale(LC_ALL, "Russian");
  25. srand(time(0));
  26. int arrSize,
  27. arrExtraSize;
  28. cout << "Вставка квадрата значения каждого чётного элемента массива (5).\n";
  29. anotherTry:
  30. cout << "Введите размер массива: "; cin >> arrSize;
  31. if (arrSize < 1) {
  32. cout << "\nВведено некорректное значение. Попробуйте ещё раз.\n";
  33. goto anotherTry;
  34. }
  35. arrExtraSize = newSize(arrSize);
  36. int *arr = new int[arrExtraSize];
  37. // Заполнение массива и вывод на экран:
  38. for (int i = 0; i < arrSize; i++) {
  39. arr[i] = rand() % 100 + 1;
  40. cout << setw(8) << arr[i];
  41. }
  42. moving_elements(arr, arrExtraSize);
  43. filling_spaces(arr, arrExtraSize);
  44. // Вывод полученных данных:
  45. cout << "\nПолученный результат:\n";
  46. for (int i = 0; i < arrExtraSize; i++)
  47. cout << setw(8) << arr[i];
  48. cout << endl;
  49. delete [] arr;
  50. return 0;
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement