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

Подсказать по коду программы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как объявить переменную? http://www.cyberforum.ru/cpp-beginners/thread689254.html
curl_easy_setopt(curl, CURLOPT_URL, url); Как объявить переменную? Этот код находится внутри класса.
C++ символы в масиве #include <cstdlib> #include <iostream> #include <math.h> using namespace std; class stud { private: http://www.cyberforum.ru/cpp-beginners/thread689241.html
C++ Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1
Помогите пожалуйста написать программу: Дан целочисленный массив размера N. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Размер массива N задается в виде константы в...
C++ Удалить из массива все элементы, встречающиеся ровно два раза
помогите, пожалуйста, как написать код в с++? Дан целочисленный массив размера N. Удалить из массива все элементы, встречающиеся ровно два раза.
C++ Перегрузка оператора + http://www.cyberforum.ru/cpp-beginners/thread689218.html
Не могу заставить работать перегруженный оператор + в функции CMoveByVector Point.h: #define POINT_H #include <iostream> #include <conio.h> #include <math.h> using namespace std; class...
C++ QT это чистый c++ или нет (C++ ISO/IEC)? Здравствуйте. Интересует вопрос. В Microsoft Visual Studio используется язык C++/CLI - доработанный C++ ими же. Как дела обстоят с QT? Там используется C++ ISO или какая-то его модификация?... подробнее

Показать сообщение отдельно
Ivan1990
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39

Подсказать по коду программы - C++

05.11.2012, 18:10. Просмотров 1274. Ответов 42
Метки (Все метки)

Нашел тут на форуме программу, которая почти подходит под мое условие, но в ее коде не совсем понимаю, прошу помочь разобраться. Если кому не сложно, напишите к строчкам комментарии, что они делают, или в другом удобном вам виде.
В частности, не понятно где именно в коде, идет добавление элементов, например я задаю первый, а где задаются последующие. А также, что выполняется в этом куске:
Array + currentSlip, Array + N, Array[currentSlip]);

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
#include <iostream>
#include <algorithm>
 
const int N = 5;
 
int handSet(void)
{
    int a;
    std::cout << "Введите число: ";
    std::cin >> a;
    return a;
}
 
void SetArray(int * Array)
{
     std::generate(Array, Array + N, handSet);
}
 
int MakeCalculations(int * Array)
{
    std::sort(Array, Array + N);
 
    int currentSlip = 0;
    int count_Of_Elements_That_Meets_More_Than_Once = 0;
    while (currentSlip < N)
    {
        int count = std::count(Array + currentSlip, Array + N, Array[currentSlip]);
        if (count > 1)
            ++count_Of_Elements_That_Meets_More_Than_Once;
        currentSlip += count;
    }
    return count_Of_Elements_That_Meets_More_Than_Once;
}
 
void ShowResult(int X)
{
    std::cout << "\n\n" << "Число элементов, встречающихся в последовательности более 1го раза: " <<
        X << "\n\n";
}
 
int main(void)
{
    setlocale(LC_ALL,"Russian");
 
    int Array[N];
    SetArray(Array);
 
    std::cout << "Исходная последовательность: " << '\n';
    std::copy(Array, Array + N, std::ostream_iterator<int>(std::cout, " "));
 
    int count_Of_Elements_That_Meets_More_Than_Once = MakeCalculations(Array);
 
    ShowResult(count_Of_Elements_That_Meets_More_Than_Once);
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru