Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Показать сообщение отдельно
yeaahh
0 / 0 / 0
Регистрация: 15.03.2013
Сообщений: 15
0

Массив: Удалить все повторяющиеся элементы, оставив в массиве только один.

15.03.2013, 20:34. Просмотров 2837. Ответов 15
Метки (Все метки)

Помогите, народ! Срочно нужна программа.
Собственно задание:
В целочисленном массиве k(n), заданном случайным образом, много повторяющихся элементов. Найти (в процентах) частоту появления
каждого из m наиболее часто встречающихся элементов (m << n). Удалить все повторяющиеся элементы, оставив в массиве только один.

Добавлено через 1 час 23 минуты
Нашёл код, написанный в паскале по 1-й части задания:
Pascal
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
const
  n=30;
  m=2;
var
  mas: array[1..n] of word;
  popular: array[1..n, 1..2] of word;
  f, p, i, j, k: word;
begin
  randomize;
  for i := 1 to n do
  begin
    mas[i] := random(5);
    write(mas[i]:2)
  end;
  for i := 1 to n-1 do
  for j := i+1 to n do
  if mas[i] > mas[j] then
  begin
    k := mas[i];
    mas[i] := mas[j];
    mas[j] := k
  end;
  writeln;
  i := 1;
  p := 1;
  writeln('Vsego');
  repeat
    k := 1;
    while (mas[i] = mas[i+1])and(i<n) do
    begin
      inc(k);
      inc(i);
    end;
    writeln(mas[i], ' - ', k*100/n:0:2, '%');
    popular[p, 1] := k;
    popular[p, 2] := mas[i];
    inc(p);
    inc(i)
  until i > n;
  for i := 1 to p-2 do
  for j := i+1 to p-1 do
  if popular[i, 1] < popular[j, 1] then
  for f := 1 to 2 do
  begin
    k := popular[i, f];
    popular[i, f] := popular[j, f];
    popular[j, f] := k
  end;
  writeln('Itogo');
  if p > m then p := m;
  for i := 1 to p do
  writeln(popular[i, 2], ' - ', popular[i, 1]*100/n:0:2, '%');
  readln
end.
Если кто может, переделайте пожалуйста для c++

Вернуться к обсуждению:
Массив: Удалить все повторяющиеся элементы, оставив в массиве только один.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2013, 20:34
Готовые ответы и решения:

Одномерные массивы, удалить все повторяющиеся элементы, оставив только первые вхождения
Задача на C++: из заданного массива удалить все повторяющиеся элементы, оставив...

Дан одномерный массив, элементы которого - целые числа. Удалите из него все повторяющиеся элементы, оставив только их первые вхождения.
Добрый день!!! Не могли бы помочь отредактировать программу на с++? Дан...

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения
Как мне удалять повторяющийся элемент? #include &lt;iostream&gt; using namespace...

Удалить из массива повторяющиеся элементы, оставив только их первые вхождения
Помогите, зачёт пишу

Удалить из строки все повторяющиеся буквы, оставив только их первые вхождения
2.Даны строки, содержащие латинские буквы. Удалить из строки все повторяю*...

15
Другие темы раздела
C++ Как вычислить, было ли нажатие пробела? http://www.cyberforum.ru/cpp-beginners/thread809567.html
Как вычислить, было ли нажатие пробела при использовании объекта cin? Например, читаю строку, ввожу с пробелами, а в файле, в котором записывается строка все без пробелов. А нужно, чтобы было с...
C++ Рандом без повторений Здравствуйте! Искал по форуме, но так и не нашел подходящее решение такой задачи: пользователь вводит К ПРИМЕРУ число 7. я беру от него логарифм за основанием 2 и заокругляю к большему... http://www.cyberforum.ru/cpp-beginners/thread809547.html
C++ Через аргументы командной строки скопировать файл в файл
Объясните, пожалуйста, как через аргументы командной строки скопировать файл в файл?
C++ Командная строка
Почему при запуске скомпилированой программы, вместо русских букв у меня какая то ересь?
C++ таблица http://www.cyberforum.ru/cpp-beginners/thread809533.html
кто может помочь с таблицей??? Ниже приведена таблица, строки которой соответствуют различным функциям f(n), а столбцы - значениям времени t. Определите максимальные значения n, для которых задача...
C++ Рыбалка на С++. (Новичкам от новичка) Вспоминал давно забытый С++, решил написать маленькую программку. (Распаковать в отдельную папку). Также хочу поделиться исходным кодом. Может кому то будет интересно рассмотреть, может чему... подробнее
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru