Форум программистов, компьютерный форум CyberForum.ru

Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое. - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Sweet_
1 / 1 / 0
Регистрация: 27.02.2010
Сообщений: 10
08.03.2010, 17:01     Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое. #1
Помогите пожалуйста решить задачу!!!!!!

Дан целочисленный массив размера n. Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2010, 17:01     Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
Посмотрите здесь:

C++ Удалить из массива все элементы превышающие его среднее значение
C++ Удалить из массива все элементы, встречающиеся более 2 раз
одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец массива in c++ C++
C++ Удалить из массива все элементы, встречающиеся ровно n раз
Удалить из массива целых чисел все нули. Сформировать два новых массива. В первый переписать все элементы данного массива с четными номерами, во второ C++
C++ Удалить из массива все элементы, встречающиеся ровно два раза
Сформировать и вывести на экран новый массив, который будет содержать вначале все элементы массива A(0), затем все элементы массива B(4) C++
C++ Удалить из массива все элементы встречающиеся более двух раз

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
User1990
26 / 26 / 2
Регистрация: 03.11.2009
Сообщений: 158
10.03.2010, 16:24     Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое. #2
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <string.h>
#include <stdlib.h>
#include <time.h>
const int n=10;
 
class object{public:
    object *next,*prev;
    int g;};
object * ptr=NULL, *str;
 
void sravnenie(int k, object * ktr)
{int i=0,l=0;
object * poit;
while(ktr)
{if(k!=ktr->g){
    ktr=ktr->next;
    continue;}
    ktr=ktr->next;
l++;
}
ktr=ptr;
  if (l<3)
  { while (ktr)
  {if (k!=ktr->g)
  {ktr=ktr->next;
  continue;}
  if (ktr->prev==0)
  {ptr=ptr->next;
  ptr->prev=0;
    str=str->next;
  delete ktr;
  ktr=ptr;} else
  {poit=ktr;
  poit->next->prev=ktr->prev;
  poit->prev->next=ktr->next;
  ktr=ktr->next;
  str=str->next;
  delete poit;
  }
 
}
  }else str=str->next;
};
int main()
{   int a[]={5,4,77,5,6,8,6,1,6,5};
    int i=0;
    //srand((unsigned) time(NULL)); 
    
    while (i<n)
    { if(ptr==0){
    ptr=new object[1];
    ptr->g=a[0];
        ptr->next=0;
    ptr->prev=0;
    str=ptr;}else
    {object *lost=str;
    lost->next=new object[1];
    str=str->next;
    str->prev=lost;
    str->next=0;
    str->g=a[i];//rand()%500;
    }
    i++;}
    //str=NULL;
    //printf("%d  ",a[i]);
    str=ptr;
for (i=0;i<n;i++)
 
{printf("%d  ",str->g);
str=str->next;
}
str=ptr;
while (str){
    sravnenie(str->g, ptr);
    }
str=ptr;
printf("\n");
while (str)
{printf("%d  ",str->g);
str=str->next;
}
    return 0;
}
может немного сложновато.....
Yandex
Объявления
10.03.2010, 16:24     Удалить из массива все элементы встречающиеся менее 3-х раз и вывести размер полученного массива и его содержимое.
Ответ Создать тему
Опции темы

Текущее время: 03:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru