Добавление нескольких элементов в динамический массив, начиная с заданной позиции. Нужно что бы в ' i ' можно было вместить пару елементов
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(0));
int N, x, i;
cout << "Введіть кількість елементів: ";
cin >> N;
cout << '\n';
int* dar = new int[N];
int* dar1 = new int[N + 1];
for (int i = 0; i < N; i++)
{
dar[i] = rand() % 99 + 1;
cout << dar[i] << " ";
}
cout << "\n\nВведіть число: ";
cin >> i;
cout << "\nВведіть позицію: ";
cin >> x;
cout << "\n";
dar1[x - 1] = i;
for (int i = 0; i < N; i++)
{
if (i < x - 1)
dar1[i] = dar[i];
else
dar1[i + 1] = dar[i];
}
delete[]dar;
dar = dar1;
for (int i = 0; i < N + 1; i++)
{
cout << dar[i+1] << " ";
}
delete[]dar1;
}
Ответы (1 шт):
Автор решения: DmitryK
→ Ссылка
Либо двумерный массив:
int **mas = new int*[2];
mas[0] = new int[N];
mas[1] = new int[N];
mas[0][i] = 0;
mas[1][i] = 1;
Либо массив из std::pair<int, int> или собственной структуры:
struct MyData
{
int a;
int b;
};
MyData mas* = new MyData[N];
mas[i].a = 0;
mas[i].b = 1;