Другие языки программирования и технологии
Массивы C++
Задан массив чисел размерности n. n(чётное) . Поделить массив пополам и 1 часть поставить на место 2 а 2 на место 1 части.
#include <iostream>
using namespace std;
void uswap(int*, const size_t);
void uswap(int&, int&);
void print(int*, const size_t);
int main() {
const size_t size = 8u;
int arr[size] = { 1, 2, 3, 4, 5, 6, 7, 8 };
print(arr, size);
if (~size & 1) {
uswap(arr, size);
print(arr, size);
}
cin.get();
}
void uswap(int* arr, const size_t size) {
size_t mid = size >> 1u;
for (size_t i = 0u, j = mid; i < mid; ++i, ++j) uswap(arr[i], arr[j]);
}
void uswap(int& a, int& b) {
int tmp = a;
a = b;
b = tmp;
}
void print(int* arr, const size_t size) {
for (size_t i = 0u; i < size; ++i) cout << ' ' << arr[i];
cout << endl;
}
using namespace std;
void uswap(int*, const size_t);
void uswap(int&, int&);
void print(int*, const size_t);
int main() {
const size_t size = 8u;
int arr[size] = { 1, 2, 3, 4, 5, 6, 7, 8 };
print(arr, size);
if (~size & 1) {
uswap(arr, size);
print(arr, size);
}
cin.get();
}
void uswap(int* arr, const size_t size) {
size_t mid = size >> 1u;
for (size_t i = 0u, j = mid; i < mid; ++i, ++j) uswap(arr[i], arr[j]);
}
void uswap(int& a, int& b) {
int tmp = a;
a = b;
b = tmp;
}
void print(int* arr, const size_t size) {
for (size_t i = 0u; i < size; ++i) cout << ' ' << arr[i];
cout << endl;
}
Для каждого k от 1 до n/2 обменять местами k-ый и (n/2 + k)-ый элементы. Всё.
#include <iostream>
using namespace std;
int main(){
const int n = 8;
int ar[n];
for(int i(0); i < n; i++){
ar[i] = i+1;
cout << ar[i] << ' ';
}
cout << '\n';
for(int i(0); i < n/2; i++){
swap(ar[i],ar[n/2+i]);
}
for(int i(0); i < n; i++)
cout << ar[i] << ' ';
cin.get();
return 0;
}
using namespace std;
int main(){
const int n = 8;
int ar[n];
for(int i(0); i < n; i++){
ar[i] = i+1;
cout << ar[i] << ' ';
}
cout << '\n';
for(int i(0); i < n/2; i++){
swap(ar[i],ar[n/2+i]);
}
for(int i(0); i < n; i++)
cout << ar[i] << ' ';
cin.get();
return 0;
}
интересное задание :)
Через цикл действуй) Я пока что только такой метод знаю)
Похожие вопросы
- помогите массив c#.
- Помогите сделать лабораторную работу по теме "Одномерные массивы" [C++]
- Поиск наибольшего отрицательного элемента массива (c++) и его удаление, написал программу, где то косячек =/
- Массивы C#
- задачка про массив C++
- Помогите с исправить ошибку, массивы, c++builder
- Не пойму как удалить элементы массива (C++).
- Сформировать двумерный массив C++
- Одномерные массивы c++
- многомерные массивы (c++) Как нужно объявить четырехмерный массив с помощью указателей?