Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 06.05.2018
Сообщений: 14
1

Вложенные циклы: получить все числа, которые входят в последовательность по два раза

01.06.2018, 16:49. Показов 584. Ответов 4
Метки нет (Все метки)

Даны натуральное число n, целые числа а1, а2, … , аn (в этой последовательности могут быть повторяющиеся числа). Получить все числа, которые входят в последовательность по два раза, если таких чисел нет, выдать соответствующее сообщение.
Помогите , пожалуйста , решить через вложенные числа .
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2018, 16:49
Ответы с готовыми решениями:

Вложенные циклы. Найти все элементы массива, которые встречаются в нем ровно два раза
Дан целочисленный массив {ai}, i = 1, 2, ... , n. Найти все элементы массива, которые встречаются...

Получить все числа, которые входят в последовательность k раз
3. Даны натуральные числа n и m, целые числа a1, a2,...,an, b1, b2,...,bm. Среди a1, a2,...,an нет...

Получить все числа, которые входят в последовательность по одному разу
Пожалуйста , помогите одну единственную задачку решить!!!!! что-то не выполняется...

Получить все числа которые входят в последовательность по одному разу
помогите написать программу даны целые числа A1..........An. получить все числа которые входят в...

4
5 / 4 / 4
Регистрация: 29.05.2018
Сообщений: 24
01.06.2018, 21:24 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
using namespace std;
 
int main()
{
    int n = 0;
    cin >> n;
    int numbers[n];
    int no = 0;
    for(int i = 0; i < n; i++){
        cin >> numbers[i];
        for(int j = 0; j < i; j++){
            if(numbers[i] == numbers[j]){
                cout << numbers[i] << " ";
                no++;
            }
        }
    }
    if(no == 0) cout << "There is no same numbers";
    return 0;
}
Простая задачка-то, учитесь думать лучше, а не балду гонять
0
6959 / 4717 / 2710
Регистрация: 18.12.2017
Сообщений: 14,769
01.06.2018, 22:10 3
ReturnYou, а Вы учитесь проверять код перед тем как выкладывать. результат работы:
5
2 2 3 3 3
2 3 3 3
правильный результат:
INPUT:
5
2 2 3 3 3
OUTPUT:
2
0
0 / 0 / 0
Регистрация: 06.05.2018
Сообщений: 14
03.06.2018, 18:17  [ТС] 4
ups
0
1481 / 945 / 811
Регистрация: 30.04.2016
Сообщений: 3,304
19.07.2018, 00:32 5
Илья199934, здравствуйте! Если вам не важен порядок выводимых элементов, то можно так:

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
#include <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    int n, k;
    bool flag = false;
    cout << "Enter an array size:\n";
    cout << "n = ";
    cin >> n;
    int* arr = new int[n];
    cout << "Enter an array:\n";
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    sort(arr, arr + n);
    cout << "Searched numbers:\n";
    k = 0;
    for (int i = 0; i < n; i++) {
        if (i + 1 < n && arr[i+1] == arr[i]) {
            k++;
        } else {
            if (k == 1) {
                cout << arr[i] << " ";
                flag = true;
            }
            k = 0;
        }
    }
    if (!flag) {
        cout << "There are no any searched numbers found!\n";
    }
    delete [] arr;
    system("pause");
    return 0;
}
Если порядок важен, то можно так:

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
#include <bits/stdc++.h>
 
    using namespace std;
 
int main() {
    int n, k;
    bool flag = false;
    cout << "Enter an array size:\n";
    cout << "n = ";
    cin >> n;
    vector<int> vec(n);
    cout << "Enter an array:\n";
    for (int i = 0; i < vec.size(); i++) {
        cin >> vec[i];
    }
    cout << "Searched numbers:\n";
    for (int j = 0; j < vec.size(); j++) {
        k = 0;
        for (int i = j + 1; i < vec.size(); i++) {
            if (vec[j] == vec[i]) {
                vec.erase(vec.begin() + i);
                i--;
                k++;
            }
        }
        k++;
        if (k == 2) {
            cout << vec[j] << " ";
            flag = true;
        }
    }
    if (!flag) {
        cout << "There are no any searched numbers found!\n";
    }
    system("pause");
    return 0;
}
P.S. А, вообще, самым простым было бы использовать контейнер <map>, но в нем все ключи отсортированы по алфавиту, поэтому, все выводимые значения будут отсортированы по возрастанию. Вот.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.07.2018, 00:32

Получить все числа, которые входят в последовательность по одному разу
ввести с клавиатуры целое число n , целые числа a0,,,,,,,,an-1 (в последовательности могут быть...

Получить все числа, которые входят в последовательность по одному разу
Люди,пожалуйста,помогите решить задачу.я в VBA полный ноль,экзамены и сессия на носу,нужно рещить...

Получить все числа, которые входят в последовательность по одному разу
Даны целые числа а1,а2...а15 ( могут быть повторяющиеся члены). Получить все числа, которые входят...

Дан массив. Получить все числа, которые входят в последовательность по 1-му разу
Дан массив. Получить все числа, которые входят в последовательность по 1-му разу. Спасибо заранее!


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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