Автор: beginner-c++ (26.05.2007 в 13:23)
Добрый день!
Делаю программку удаления одинаковых элементов из отсортированного по возрастанию массива.
Блок сдвига элементов в массиве работает, когда его вставляю в прогу - она отказывается работать - виснет.
Никак не пойму в чем причина. Подскажите плиз.
#include <iostream.h>
#include <fstream.h>
#include <conio.h>
#include <stdio.h>
// удаление дубликатов в отсортированном по возрастанию массиве
int main()
{
const int size = 5; // количество элементов массива
int array[size]= {2,2,2,3,6};
int t=0;
for (int i=1; i<size-1; i++)
{
if (array[i]== array[i-1]) // если рядом стоящие элементы равны
{
do // сдвигать
{ // все
t=i; // элементы
array[t-1] = array[t]; // массива
t++; // на 1
} // элемент
while(t<size); // влево
array[size-1]=0; // записать ноль в конец массива
}
}
for(int i=0; i<size; i++) // вывод на экран
{
cout << array[i] << ",";
}
getchar();
return 0;
}
|