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

Преобразование последовательности - 2 (задача с acmp). Найти ошибку в коде - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблон по умолчанию http://www.cyberforum.ru/cpp-beginners/thread928442.html
template <typename T = int> class A { public: A(){} }; int main(int argc, char *argv) {
C++ Checked_iter Здорова господа! Я тут пытаюсь создать свой Checked_iter, вот код который из книги набрал вроде кое-как работает://Chacked_iter #include <iostream> using std::cout; using std::endl; using... http://www.cyberforum.ru/cpp-beginners/thread928435.html
C++ Быстродействие
Что лучше использовать, если быстродействие системы достаточно важно, а элемент используется часто? template <typename T> struct Point { T x, y; }; template <typename T>
C++ Не работает openmp
Написал простенькую программку с распараллеливанием собрал откомпилил, но распараллеливания нет. Программка выглядит так: -------------------------------- #include <iostream> #include <omp.h>...
C++ Каким образом getchar() меняет содержимое массива? http://www.cyberforum.ru/cpp-beginners/thread928386.html
Здравствуйте! Почему-то наличие getchar(); в коде влияет на содержимое массива. Если данный код не менять - то выводит правильный результат. Результат представлен на первом скрине. Если удалить...
C++ клас myDate Создайте класс Date, который будет содержать информацию о дате (день, месяц, год). С помощью механизма перегрузки операторов, определите операцию разности двух дат (результат в виде количества дней... подробнее

Показать сообщение отдельно
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,282
Записей в блоге: 2
Завершенные тесты: 1
25.07.2013, 11:57
Код 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <algorithm>
 
int* it;
int arr[100], n, count[201] = {0};
 
int main()
{
    std::cin >> n;
    for (int i = 0; i<n; ++i) std::cin >> arr[i], ++count[arr[i]+100];
    it = std::max_element(count, count+201);
    std::for_each(arr, arr+n, [](int n){ if(&count[n+100]!=it) std::cout<<n<<" "; });
    for (int i = 0; i<*it; ++i) std::cout << (it-count-100) << '\n';
    return 0;   
}

Код 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <algorithm>
 
int n, arr[100], count[201]={0}, *it;
 
void print(int* pos)
{
    if (pos == arr+n) return;
    if (&count[*pos+100]==it) print(pos+1), std::cout << *pos << " ";
    else std::cout << *pos << " ", print(pos+1);
}
 
int main()
{
    std::cin >> n;
    for (int i = 0; i<n; ++i) std::cin >> arr[i], ++count[arr[i]+100];
    it = std::max_element(count, count+201);
    print(arr);
    return 0;
}

Не по теме:

специально для Thinker

1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru