Показать сообщение отдельно
Старый 02.05.2019, 21:32   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Полностью выдать программу не могу, бо паскалист, на Сях не пишу, но ошибку исправить помогу.
Дело в том, что при формировании нового массива Вы используете вместо исходных УЖЕ РАНЕЕ ПРЕОБРАЗОВАННЫЕ компоненты. Поэтому нужно ввести отдельный идентификатор для нового массива. Обозначим его, например, b. Тогда вместо
Код:
    for (int i = 0; i < n; i++) {
         a[i*2] = t;
         t = a[i + 1];
         a[i*2 + 1] = a[c];
         c++;
     }
     for (int i = 0; i < n*2; i++) {
         cout << a[i] << " ";
     }
следует написать:
Код:
    for (int i = 0; i < n; i++) {
         b[i*2] = t;
         t = a[i + 1];
         b[i*2 + 1] = a[c];
         c++;
     }
     for (int i = 0; i < n*2; i++) {
         cout << b[i] << " ";
     }
И всё будет тип-топ.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070