Это текстовый файл, я написал:удаление смежных повторяющихся строк из массива строк?
this is the first line
this is the first line
this is the second line
this is the second line
this is the second line
this is the third line
this is the first line
Я пытаюсь удалить соседние строки дубликаты, так что результат будет:
this is the first line
this is the second line
this is the third line
this is the first line
Это то, что я написал до сих пор:
for(int i = 0; i < n; i++)
getline(infile,arr[i]);
for(int i=0; i<n; i++)
{
int j = i+1;
if(arr[i] == arr[j])
{
for(int k = i; k<n; k++)
arr[k] = arr[k+1];
n--;
}
}
это выход я получаю:
this is the first line
this is the second line
this is the second line
this is the third line
this is the first line
Как это исправить? P.S .: Это нужно решать итеративно, поэтому я пытаюсь это сделать.
Каков тип 'arr'? –
Знаете ли вы STL? –
Правильный инструмент для решения таких проблем - ваш отладчик. Перед тем, как просить о переполнении стека, вы должны пропустить свой код по очереди *. Для получения дополнительной информации, пожалуйста, прочтите [Как отлаживать небольшие программы (Эрик Липперт)] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/). Как минимум, вы должны \ [изменить] ваш вопрос, чтобы включить пример [Минимальный, полный и проверенный] (http://stackoverflow.com/help/mcve), который воспроизводит вашу проблему, а также замечания, сделанные вами в отладчик. –