Регистрация
Войти
Стать экспертом Правила
Информатика

#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();}​

ОТВЕТЫ

Если как на скрине, то 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

============

Не забывайте нажать "Спасибо", поставить оценку и, если удовлетворил, то выберите его как ""

Успехов в учебе

  1. swap работает с указателями
144
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам