Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2013, 10:10   #1
AlexLight
 
Регистрация: 03.03.2013
Сообщений: 4
Сообщение Программа массива

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

Может есть у кого такая задача.
AlexLight вне форума Ответить с цитированием
Старый 03.03.2013, 13:35   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

набросок примерно такой (не проверял)

Код:
size_t N;
std::cin >> N;
std::unique_ptr<int[]> arr(new int[N]());
// заполнение массива

std::map<int, size_t> map;
for (size_t i=0; i<N; i++)
    ++map[arr[i]];

for (auto it=map.cbegin(); it != map.cend(); ++it)
{
    if (it->second > 1)
        std::cout << it->first << " : " << it->second << std:;endl;
}
Rififi вне форума Ответить с цитированием
Старый 03.03.2013, 13:47   #3
AlexLight
 
Регистрация: 03.03.2013
Сообщений: 4
По умолчанию

я не точно сказал как она работает.
1) Вводится количество элементов всего
2) элементы вводятся с клавиатуры
3) после ввода элементов, пишет количество повторяющихся элементов
4) подсчет количество вхождений каждого элемента.
Есть своя программа но работает на половину, если нужна могу скинуть.
Предоставляю скриншот как примерно должно выглядеть.
Изображения
Тип файла: jpg Пример.jpg (18.4 Кб, 91 просмотров)
AlexLight вне форума Ответить с цитированием
Старый 03.03.2013, 13:55   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

в коде все это есть, кроме ввода элементов с клавиатуры - это сделай сам.
Rififi вне форума Ответить с цитированием
Старый 07.03.2013, 20:36   #5
AlexLight
 
Регистрация: 03.03.2013
Сообщений: 4
По умолчанию

Код не совсем понятный, видимо он писался в VS C++?
AlexLight вне форума Ответить с цитированием
Старый 09.03.2013, 18:11   #6
AlexLight
 
Регистрация: 03.03.2013
Сообщений: 4
По умолчанию

#include<iostream>
#include<conio.h>
#define N 100

using namespace std;
void inMas1(int &n, int a[N])
{
for (int i=0; i < n; ++i)
{
cin >> a[i];
}
}

void Sort(int &n, int a[N], int k[N], int &p)
{
for(int i=0; i < n; i++)
{
k[i] = 0;
for(int j=0; j < n; j++)
{
if(a[i] == a[j])
{ k[i]++; }
else if(a[i] == a[j] && i>j) break;
else if(a[i] == a[j])
{
k[i]++;
break;
}
}

}
}

void chet(int &n, int a[N], int b, int &p)
{
for(int i=0; i < n; i++)
{
for(int j=0; j < n; j++)
{
if(i == j) continue;
else if(a[i] == a[j] && i>j) break;
else if(a[i] == a[j])
{
b = 0;
for(int i=0; i < n; i++)
{
if(a[i]==a[j])
b++;
}
}

}
}
}

int main ()
{

int i, a[N],n,k[N],p,b;
cin >> n;
if (n < 1)
{
cout << "\nneverno zadana razmer (n < 1)\n";
return 1;
}
inMas1(n, a);
chet(n,a,b,p);
cout<< b<<endl;
Sort(n, a, k,p);

for (i=0; i < p+1;i++)
cout << a[i] <<" "<< k[i] << endl;

getch();
return 0;
}

Вот моя прога, но криво работает
AlexLight вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа на Pascal в Lazarus и программа для одномерного массива целых чисел Yegorka Lazarus, Free Pascal, CodeTyphon 13 20.12.2012 18:02
Программа для обработки массива. SlashX6 Помощь студентам 2 16.03.2012 20:36
Программа поиска и сортировки элеменотов массива Stellar_light Помощь студентам 0 14.10.2010 18:45