Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: 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;
}


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: