Задача в С++ Пусть дана последовательность из n элементов. Увеличьте ее, вставив после...

0 голосов
25 просмотров

Задача в С++ Пусть дана последовательность из n элементов. Увеличьте ее, вставив после каждого элемента такой же.


Информатика (136 баллов) | 25 просмотров
0

Например есть n = 2 3 5 и должно стать n = 2 2 3 3 5 5?

0

Так?

0

да

Дан 1 ответ
0 голосов

//использую два масива. 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;
}

(374 баллов)
0

Знания уродуют табуляцию :)

0

как должна работать программа?

0

Ты вводишь последовательность, она записывается массив, затем этот массив становится прототипом нового массива. Новый массив - это tableRevers, там все значения удвоены. Вроде, вход: 2 3 7 9 -1, выход: 2 2 3 3 7 7 9 9

0

у меня программа не работает корректно, ввожу данные, но на вывод ничего не идет

0

Сейчас проверю еще раз.

0

Я немного поправил, скопируйте код и вводите последовательность через пробел. Не забудьте в конце написать -1 - это значит, что вы закончили последовательность. Вы можете редактировать это значение в переменной int close

0

Спасибо!

0

Пожалуйста :)