Сортировка массива: поменять местами первый элемент с последним, второй с предпоследним и т.д - C (СИ)
Формулировка задачи:
Необходимо отсортировать массив из четного числа элементов, так, чтобы поменялись местами первый элемент с последним, второй с предпоследним и т.д. Хотя бы подскажите алгоритм выполнения, спасибо.
Решение задачи: «Сортировка массива: поменять местами первый элемент с последним, второй с предпоследним и т.д»
textual
Листинг программы
#include <iostream>
using namespace std;
void main()
{
const int n=10;
int temp;
int array[n]={1,2,3,4,5,6,7,8,9,0};
for(int i=0; i<n; ++i)
cout<<array[i]<<' ';
cout<<endl;
for(int i=0; i<(n/2); ++i)
{
temp=array[i];
array[i]=array[(n-1)-i];
array[n-i]=temp;
}
for(int i=0; i<n; ++i)
cout<<array[i]<<' ';
cout<<endl;
system("pause");
}
Объяснение кода листинга программы
В этом коде:
- Объявляется константа
nравная 10, которая представляет собой размер массива. - Создается переменная
tempтипаint, которая будет использоваться как временное хранилище для обмена элементов. - Создается массив
arrayтипаintразмеромnс начальными значениями от 1 до 10. - Первый цикл
forвыводит все элементы массива на экран через пробел. - Второй цикл
forменяет местами элементы массива, начиная с первого элемента и заканчивая последним, пропуская четные индексы. - Третий цикл
forвыводит все элементы массива на экран через пробел. - Команда
system(pause)приостанавливает выполнение программы до нажатия клавиши. Список действий: - Создать переменную
nи присвоить ей значение 10. - Создать переменную
tempи присвоить ей типint. - Создать массив
arrayи присвоить ему типintи размерn. - Заполнить массив значениями от 1 до 10.
- Вывести все элементы массива на экран через пробел.
- Начать цикл
forдля обмена элементов, начиная с первого и заканчивая последним, пропуская четные индексы. - Внутри цикла выполнить обмен элементов с использованием временной переменной
temp. - Продолжать цикл до тех пор, пока не будут выполнены все итерации.
- Вывести все элементы массива на экран через пробел.
- Выполнить команду
system(pause)для приостановки выполнения программы до нажатия клавиши.