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

Выяснить, сколько чисел входит в последовательность по одному разу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран линию из символов http://www.cyberforum.ru/cpp-beginners/thread374513.html
Нужно написать программу c помощью цикла While, вот условие: Написать программу, которая выводит на экран линию из символов. Число символов, какой использовать символ, и какая будет линия -...
C++ Помогите написать прогу в С++ Люди пожалуйста помогите написать в С++ программы для задач ,буду очень благодарен Задача1 Lin18. Найти решение системы уравнений вида A1·x + B1·y = C1, A2·x + B2·y = C2, заданной своими... http://www.cyberforum.ru/cpp-beginners/thread374507.html
C++ русские буквы
можно ли как-нибудь ввести в консоль русский текст, получить его, а затем работать с ним, а затем вывести его. посьню: есть код: char st = {0}; cout<<"Введите строку: "; cin>>st;...
C++ Выравниваем строки по правому и левому краям
Задача: Создать программу, которая бы запрашивала у пользователя строки до тех пор, пока он не введет пустую строку, после чего программа должна вывести список введенных строк в два столбца,...
C++ Что не так в программе? (цикл While) http://www.cyberforum.ru/cpp-beginners/thread374488.html
Условие: Написать программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователем. #include <iostream> using namespace std; int main() { int summa=0,a,b,n=a;...
C++ Что такое композиция? Добрый день. Тут читаю книгу и в ней приводится длинющий и непонятный пример композиции. Попросил бы Вас привести простенький пример композиции, то есть классы как элементы других классов. Желательно... подробнее

Показать сообщение отдельно
alkagolik
Заблокирован
30.10.2011, 09:44
Цитата Сообщение от mimicria Посмотреть сообщение
у нас в k лежит количество элементов в массиве b, поэтому и сравнения надо делать в цикле не до n, а до k
не выйдет. этот прием гарантирует что мы получим каждое из всех чисел (и те, которые повторяются) только один раз, т.е. перепечатаем все числа, включая повторяющиеся, но без повторов. Надо именно 2 полных прохода по одному циклу (можно с обрывами цикла) чтобы проверить повторное вхождение.
Цитата Сообщение от Glam_Man Посмотреть сообщение
Не могли бы вы мне ещё пояснить, почему же моя программа всё правильно считает?
ну собственно сказал. Сравнивать надо массив с самим собой. Считать вхождения каждого числа (это если тупо). Второй массив сбивает с толку, потому что он не нужен. Правильно вам преподаватель говорит, какой в этом смысл (если это ничего не меняет)? строки 13 - 21 и есть алгоритм поиска.
вот оно же, но с одним статическим массивом. Ничего лишнего, и все просто.
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
#include <stdio.h>
#include <time.h>
 
int double_num(int *arr, const size_t N){
 
    int tmp = 0, flag;
 
    for (int i = 0; i < N; ++i)
    {
        flag = 1;
 
        for (int k = 0; k < N; ++k)
            if( ( arr[ i ] == arr[ k ] ) & ( i != k ) )
            {
                flag = 0;
                break;
            }
 
        if ( flag )
            ++tmp;
    }
    return tmp;
}
 
int main ()
{
    const size_t N = 20;
    int arr[N];
    srand(time(0));
 
    for (int i = 0; i < N; ++i)
    {
        arr[i] = rand() % N;
        printf("%d ", arr[i]);
    }
    printf("\n");
    printf("неповторяющихся элементов %i\n\n", double_num(arr, N));
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru