Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39

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

05.11.2012, 18:10. Показов 2825. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.11.2012, 18:10
Ответы с готовыми решениями:

Кто нибудь можете подсказать, есть ли вообще программы конверторы с языка c++ в паскаль
Кто нибудь можете подсказать, есть ли вообще программы конверторы с языка c++ в паскаль

Просьба подсказать по коду
Помогите с проблемой, ДАНО: 3 Edit' a + Button1 (см. ниже код на Button1) Не работает, подскажите ошибку?

подсказать с начинкой программы
Здравствуйте, дали ровно ночь курсовую что б написать курсовую Delphi + sql server тема (Проектирование базы данных для Столовой:...

42
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
06.11.2012, 19:43
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от David Sylva Посмотреть сообщение
Неправда, попробуй откомпилируй код.
ладно, не разглядел i+1
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
06.11.2012, 19:44
Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
ладно, не разглядел i+1
бывает
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39
06.11.2012, 19:51  [ТС]
David Sylva, у меня почему-то результат не выводит. После ввода последовательности консоль закрывается.
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
06.11.2012, 19:56
Попробуй дописать в конце программы
System ("Pause");
1
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39
06.11.2012, 20:06  [ТС]
Работает, и еще вопрос, данный вариант от найденного в другой теме отличается только тем, что код проще?
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
06.11.2012, 20:12
По сути да, но конечно правильней делать так как в предыдущей темы, но то что используется в той программе я думаю вы ещё не знаете.
1
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39
07.11.2012, 20:46  [ТС]
Выявилась проблема в программе: если вводить символ два раза, то все работает нормально, но если, например, построить последовательность из трех элементов, и ввести все три единицы, то программа выдает, что элементов встреч. больше одного раза - 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
#include <iostream>
#include <locale>
#include <math.h>
 
using namespace std;
 
int* enter(int* array1, int n) 
{  
    int i; 
 
    for ( i = 0; i < n; i++) 
    { 
        cout << "Введите элемент [" << i << "] "; 
        cin >> array1[i]; 
    } 
    return array1;
}   
 
int Count(int* array, int n) 
{ 
    int i, j;
    int count = 0; 
    for ( i = 0; i < n; i++)  
        for ( j = 1+i; j < n; j++)  
            if(array[i] == array[j])
            {
                count++; 
                break;  
                cout << count << endl;
            } 
           return count;
}
 
 
void show(int* array1, int n) 
{  
    int i; 
 
    for ( i = 0; i < n; i++) 
        std::cout << array1[i] << " "; 
    cout << endl;
}
 
int main() 
{   
    int n;
    setlocale(0, "rus");
    cout << "n="; 
    cin >> n;
    const int N = 100; 
    int array1[N];  
    enter(array1, n); 
    show(array1, n);  
    cout <<"Число элементов встречающихся больше одного раза  " << Count(array1, n) <<endl;
    system ("Pause"); 
}
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39
11.11.2012, 17:23  [ТС]
Можно ли и как сделать с массивом?
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39
12.11.2012, 21:02  [ТС]
Можно ли и как сделать с массивом?
0
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
13.11.2012, 16:57
Срочно надо ((
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 16:59
Цитата Сообщение от SoSPB Посмотреть сообщение
Срочно над
Что срочно надо?
0
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
13.11.2012, 17:07
почему то не отправилось первое сообщение, можно сделать, чтобы такая программа, брала числа из текстового файла? мне нужно по коду, который из моей темы, здесь как я понял его переделывали. Очень надо, можно или нет?
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 17:11
Цитата Сообщение от SoSPB Посмотреть сообщение
почему то не отправилось первое сообщение, можно сделать, чтобы такая программа, брала числа из текстового файла? мне нужно по коду, который из моей темы, здесь как я понял его переделывали. Очень надо, можно или нет?
Напиши полностью своё задание.
0
0 / 0 / 0
Регистрация: 29.09.2012
Сообщений: 21
13.11.2012, 17:15
Нет задания, мне надо знать(и если понадобится ответить), может или нет, собственно и спрашиваю
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 17:17
конечно можно.
1
 Аватар для Kuzia domovenok
4268 / 3327 / 926
Регистрация: 25.03.2012
Сообщений: 12,538
Записей в блоге: 1
13.11.2012, 17:35
Цитата Сообщение от SoSPB Посмотреть сообщение
Срочно надо ((
А тебе то что надо? ты ж не ТС.
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39
13.11.2012, 18:01  [ТС]
Как сделать, чтобы она правильно работала? Пробовал с третьей переменной- не получается. Ввожу последовательность из 3 элементов, все единицы - выдает, что больше одного раза встречаются два элемента, а на самом деле один. Мне сказали ,что можно сделать введя еще один массив, чтобы после проверки элементы отидывались в него.
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 18:04
Цитата Сообщение от Ivan1990 Посмотреть сообщение
Как сделать, чтобы она правильно работала?
кто она?
0
0 / 0 / 0
Регистрация: 05.12.2011
Сообщений: 39
13.11.2012, 18:06  [ТС]
David Sylva, Программа
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 <locale>
#include <math.h>
 
using namespace std;
 
int* enter(int* array1, int n) 
{  
    int i; 
 
    for ( i = 0; i < n; i++) 
    { 
        cout << "Введите элемент [" << i << "] "; 
        cin >> array1[i]; 
    } 
    return array1;
}   
 
int Count(int* array, int n) 
{ 
    int i, j;
    int count = 0; 
    for ( i = 0; i < n; i++)  
        for ( j = 1+i; j < n; j++)  
            if(array[i] == array[j])
            {
                count++; 
                break;  
                cout << count << endl;
            } 
           return count;
}
 
 
void show(int* array1, int n) 
{  
    int i; 
 
    for ( i = 0; i < n; i++) 
        std::cout << array1[i] << " "; 
    cout << endl;
}
 
int main() 
{   
    int n;
    setlocale(0, "rus");
    cout << "n="; 
    cin >> n;
    const int N = 100; 
    int array1[N];  
    enter(array1, n); 
    show(array1, n);  
    cout <<"Число элементов встречающихся больше одного раза  " << Count(array1, n) <<endl;
    system ("Pause");
0
 Аватар для David Sylva
1321 / 983 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
13.11.2012, 18:22
Всё понял, увидел где ошибка, можно сделать с массивами, но это будет коряво.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.11.2012, 18:22

Прошу подсказать в реализации программы
Привет, прошу мне помочь/подсказать в следующем: как интегрировать компонент HotKey в этот код: #include &lt;AppEvnts.hpp&gt; ...

Как в процессе работы программы, обратиться к самому коду программы?
Никогда не сталкивалась с такой задачей, но нужно, очень нужно в процессе работы с программой изменить код самой программы, например...

Можете подсказать, можно ли как-то заполнить массив args при запуске программы...
Добрый вечер, можете подсказать можно ли как-то заполнить массив args при запуске программы. package javatasks; public...

Кто нибудь можете подсказать, есть ли вообще программы конверторы с языка c# в паскаль?
Кто нибудь можете подсказать, есть ли вообще программы конверторы с языка c# в паскаль

Коментарии к коду программы
type TForm1 = class(TForm) StringGrid1: TStringGrid; bOK1: TButton; StringGrid2: TStringGrid; bOK2: TButton; ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru