Задача в С++ Пусть дана последовательность из n элементов. Увеличьте ее, вставив после каждого элемента такой же.
Например есть n = 2 3 5 и должно стать n = 2 2 3 3 5 5?
Так?
да
//использую два масива. TableRevers - это массив изменненый, где повторяются элементы. Table = этот массив заполняет пользователь. #include #include using std::cout; using std::cin; using std::endl; int main() { int close = -1;//значение для прекращения ввода массива int table[250];//масив первый int tableRevers[500];//массив для преобразования int input; //ввод int i = 0; //для счета кол-ва элементов int y = 0;//для заполнения cout << "To close enter: " << close << endl; //уведомление<br> while(cin >> input, input != close)//заполняем массив { table[i] = input; i++; } for(int t = 0; i * 2 > t; t = t + 2)//делаем измененный массив { tableRevers[t] = table[y]; tableRevers[t + 1] = table[y]; y++; } for(int t = 0; i * 2 > t; t++) //выводис измененный массив { cout << endl << tableRevers[t];<br> } return 0; }
Знания уродуют табуляцию :)
как должна работать программа?
Ты вводишь последовательность, она записывается массив, затем этот массив становится прототипом нового массива. Новый массив - это tableRevers, там все значения удвоены. Вроде, вход: 2 3 7 9 -1, выход: 2 2 3 3 7 7 9 9
у меня программа не работает корректно, ввожу данные, но на вывод ничего не идет
Сейчас проверю еще раз.
Я немного поправил, скопируйте код и вводите последовательность через пробел. Не забудьте в конце написать -1 - это значит, что вы закончили последовательность. Вы можете редактировать это значение в переменной int close
Спасибо!
Пожалуйста :)