Medali
4 год назад
#include <iostream.h>#include <math.h>int main(){ const int n = 5; int mas[n] = (1, 3, 2, 4, 5); for (int i = n - 2; i > 0; i--) {int a = mas[i];mas[i] = mas[i + 1];mas[i + 1] = a; } for (int i = 0; i < n; i++)cout << mas[i]; cin.get();}
ОТВЕТЫ
Здравко
Oct 24, 2020
Если как на скрине, то E) 41325
В коде который написан текстом есть ошибки.
Если исправить ошибку в условии заменой cout на std::cout, то:
Индексы массива начинаются с 0. Т.е.
mas[0] == 1;
mas[1] == 3;
mas[2] == 2;
mas[3] == 5;
mas[4] == 4;
На скрине расписал назначение каждой конкретной строчки.
Пройдем по итерациям первого цикла. Для краткости буду обозначать смену значений swap()
i=3; swap(mas[3], mas[4]) mas == {1,3,2,4,5}
i=2; swap(mas[2], mas[3]) mas == {1,3,4,2,5}
i=1; swap(mas[1], mas[2]) mas == {1,4,3,2,5}
i=0; swap(mas[0], mas[0]) mas == {4,1,3,2,5}
Второй цикл просто выводит массив поэтому на экран будет выедено
41325
============
Не забывайте нажать "Спасибо", поставить оценку и, если удовлетворил, то выберите его как ""
Успехов в учебе
- swap работает с указателями
144
Смежные вопросы: