Форум С++

 

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

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

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

Автор: Фитч   (26.05.2007 в 13:39)
1)Во-первых, надо вынести t = i из цикла do...while
2)Во-вторых, Ваш алгоритм оставит лишнюю двойку. На вякий случай поправил.
Получилось так:

#include <iostream>
#include <fstream>
#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])   
      {
  t=i;
        do                      
          {                        
            array[t-1] = array[t];  
            t++;                     
          }                         
        while(t<size);          
        array[size-1]=0; 
i--;   // если я ошибся с пунктом 2, уберите эту строку
      }
  }

for(int i=0; i<size; i++)         // вывод на экран
  {
  std::cout << array[i] << ",";
  }
getchar();


  return 0;
}


Ваше имя:

Пароль:

Цитировать

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

Сообщение:

Прикрепить: