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

Выяснить, сколько чисел входит в последовательность по одному разу - 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, заданной своими коэффициентами A1, B1, C1, A2, B2, C2, если известно, что данная система имеет единственное решение. Задача2 Log18. Даны координаты (как целые от 1 до 8) двух различных полей шахматной доски. Если король за... http://www.cyberforum.ru/cpp-beginners/thread374507.html
C++ русские буквы
можно ли как-нибудь ввести в консоль русский текст, получить его, а затем работать с ним, а затем вывести его. посьню: есть код: char st = {0}; cout<<"Введите строку: "; cin>>st; cout<<"Введена строка: "<<st; ... // работаем со строкой
C++ Выравниваем строки по правому и левому краям
Задача: Создать программу, которая бы запрашивала у пользователя строки до тех пор, пока он не введет пустую строку, после чего программа должна вывести список введенных строк в два столбца, первый из которых выровнен по левому краю, а второй - по правому краю. То есть результат программы может выглядеть примерно следующим образом: Aarhus Aaron Ababa aback ...
C++ Что не так в программе? (цикл While) http://www.cyberforum.ru/cpp-beginners/thread374488.html
Условие: Написать программу, которая находит сумму всех целых нечетных чисел в диапазоне, указанном пользователем. #include <iostream> using namespace std; int main() { int summa=0,a,b,n=a; cout<<"OT:\n"; cin>>a; cout<<"DO:\n";
C++ Что такое композиция? Добрый день. Тут читаю книгу и в ней приводится длинющий и непонятный пример композиции. Попросил бы Вас привести простенький пример композиции, то есть классы как элементы других классов. Желательно с разъяснениями. подробнее

Показать сообщение отдельно
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
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;
}
 
Текущее время: 22:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru