Я пытаюсь вставить значение «item» в отсортированном линейном массиве в позиции «pos» , когда я беру ввод в массиве, используя список инициализации, код работает нормально. Однако, когда я беру вход используя для цикла код не работаетВставка значения в массив
#include<iostream>
using namespace std;
int main()
{
const int size = 10;
int num[size];
int num[size] = {1,2,3,4,5,6,7,8,9,10}; //a sorted linear array
int item;
int pos;
int i;
/*
for(int a=0;a<size;a++)
{
cin>>num[a];
}
*/
cout<<"Enter item"<<endl; //insert this item in array
cin>>item;
cout<<"Enter Position To Insert"<<endl;
cin>>pos;
i=size-1;
while(i>=pos)
{
num[i+1]=num[i];
i=i-1;
}
num[i+1] = item;
cout<<endl;
cout<<"array after insertion"<<endl;
for(int b=0;b<size;b++)
{
cout<<num[b]<<endl;
}
system("pause");
return 0;
}
для цикла вызывает проблему
for(int a=0;a<size;a++)
{
cin>>num[a];
}
Вы не можете , Просто используйте 'std :: vector'. –
Я знаю! благодаря ! но это была проблема домашних заданий .. я получил ее на работу, но она просто не работает .. хотел знать, в чем проблема –
Если у вас есть массив из 10 элементов, и вам нужно вставить 1, то вы переполнили массив (присваивая 'num [size]') код, который у вас есть (вам нужно будет удалить последний элемент из массива). – crashmstr