Помогите с задачей

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Aldon
Сообщения: 1
Зарегистрирован: 11 окт 2009, 14:50

Надо составить программу поиска элементов, встречающихся в векторе более одного раза. Из найденных элементов сформировать вектор. Напишите програмку пожалуйста..
Newbie
Сообщения: 148
Зарегистрирован: 06 сен 2009, 19:45

msdn/count_if + мозг :)
atavin-ta
Сообщения: 585
Зарегистрирован: 30 янв 2009, 06:38

Код: Выделить всё

#define TElement double
class TArray
{
 proteced:
 TElement *Data;
 int            Count;
 public:
   TArray ()  
 {  
  Data=NULL;
  COunt=0;
 }
  ~Array ()
 {
  if (Data)
  {
   delete [] Data
  }
 }
 void Add(TElement &x)
 {
  TElement *Buffer;
  int   i;
 int nc;
  nc=Count+1;
  if (nc>0)
  {
   Buffer=new TLement[Count+1];
   if (Buffer)
   {
    for (i=Count-1; i>=0; --i)
    {
     Buffer[i]=Data[i];
    }
    Buffer[Count]=x;
    Count=c;

    delete [] Data;
    Data=Buffer;
   }
  }
 }
 TElement &operator [] (int i)
 {
  return Data[i];
 }
 operator int ()
 {
  return Count;
 }
};
TArray b;
vector <TElemnt> a;
void Input ();
int Main (..)
{
 int i,j;
 TElment *p;
 Input ();
 for (i=a-1; i>=0; --i)
 {
  p=&a[i];
  for (f=false, j=a-1; j>=0; --j)
  {
   if (i!=j)
   {
     if (a[j]==*p)
     {
      b.Add(*p);
      break;
     }
   }
 }
}
Ввод массива реализуй сам. По-моему, должно работать, но не уверен. Это переделка, оригингал искал вхождение элемента более одного раз в массив.
Вопрос: "Почему вы все сионисты? Нельзя ли писать на чём то другом?".
Ответ: "Писать можно на чём угодно. Но зачем же так себя ограничивать? Пиши на С!".
Ответить