Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
serega_961193
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 8
1

Создать массив из различных элементов исходного

30.10.2012, 00:53. Просмотров 1234. Ответов 10
Метки нет (Все метки)

Кто чем может.Новичок ,только учусь

2. Дан целочисленный массив А[n], среди элементов которого есть одинаковые. Создать массив из различных элементов А[n].
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.10.2012, 00:53
Ответы с готовыми решениями:

Создать новый массив из различных элементов исходного массива
дан целочисленный массив а(8), среди элементов есть одинаковые. создать массив...

Создать массив состоящий из различных элементов исходного массива
Всем привет! Помогите с задачкой, говорят простая, но я не могу ее додумать %-)...

Дан целочисленный массив А[п], среди элементов есть одинаковые. Создать массив из различных элементов А[п]
Помогите пожалуйста с поставленной задачей: Дан целочисленный массив А, среди...

Создать массив из различных элементов массива
Доброго времени суток. Не могу написать программу. Задание такое: Дан...

Создать одномерный массив с числом элементов как у исходного
void new_arr(int size) { int *B=new int; ...

10
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 11: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
#include <iostream> 
 
int main() 
{ 
    const int size = 10; 
    int A[size] = { 1, 1, 1, 2, 3, 3, 4, 5, 6, 7 }; 
    int B[size]; 
    int i, j, b = 0; 
    int count = 0;
    for ( i = 0; i < size; i++) 
    {
        for ( j = 0; j < size; j++) 
        { 
            if(A[i] == A[j]) 
                continue; 
            else 
                count++; 
        } 
        if(count == size - 1) 
            B[b++] = A[i];  
        count = 0;
    } 
 
    for ( i = 0; i < b; i++) 
        std::cout << B[i] << " "; 
    std::cout << std::endl;
}
0
kertio
26 / 26 / 3
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 11:56 3
Цитата Сообщение от 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
#include <iostream> 
 
int main() 
{ 
    const int size = 10; 
    int A[size] = { 1, 1, 1, 2, 3, 3, 4, 5, 6, 7 }; 
    int B[size]; 
    int i, j, b = 0; 
    int count = 0;
    for ( i = 0; i < size; i++) 
    {
        for ( j = 0; j < size; j++) 
        { 
            if(A[i] == A[j]) 
                continue; 
            else 
                count++; 
        } 
        if(count == size - 1) 
            B[b++] = A[i];  
        count = 0;
    } 
 
    for ( i = 0; i < b; i++) 
        std::cout << B[i] << " "; 
    std::cout << std::endl;
}
и получится массив равным
1, 2, 3, 4, 5, 6, 7, 0, 0, 0...
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 12:07 4
kertio
Да ладно?
http://liveworkspace.org/code/f6f8b5b6da8c2f866e5909d2299910d7
0
kertio
26 / 26 / 3
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 12:48 5
Цитата Сообщение от David Sylva Посмотреть сообщение
ну если три элемента вывести то он уже другое выведет конечно же, а посмотри как массив B объявлен? он из 10-ти элементов. вот теперь выведи на печать все элементы, а не только которые от 0 до b... вывод тебя явно удивит.
P.S. Кстати не факт что выведет нули. будет мусор. потому что не инициализированный массив. в eclipse выводит нули, а онлайн компиляторе - мусор.
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 13:01 6
Поверь вывод меня меня не удивит. Зачем нам надо выводить все элементы? Если мы знаем сколько не повторяющихся.
0
kertio
26 / 26 / 3
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 13:07 7
Цитата Сообщение от David Sylva Посмотреть сообщение
Поверь вывод меня меня не удивит. Зачем нам надо выводить все элементы? Если мы знаем сколько не повторяющихся.
ну хотя бы затем что по заданию "Создать массив из различных элементов А[n]". то есть уже по заданию понятно, что созданный массив должен быть меньше и содержать должен элементы которые нужны. ну я так предполагаю, хотя может и ошибаюсь. просто указал на то что в массиве кроме нужных данных еще будут храниться и ненужные.
0
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 13:10 8
Цитата Сообщение от kertio Посмотреть сообщение
то есть уже по заданию понятно, что созданный массив должен быть меньше
а если все числа разные? Я не понимаю ты, что от меня хочешь? Указать мне на ошибку? Её там нет, задание сделано корректно.
0
kertio
26 / 26 / 3
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 13:16 9
Цитата Сообщение от David Sylva Посмотреть сообщение
а если все числа разные? Я не понимаю ты, что от меня хочешь? Указать мне на ошибку? Её там нет, задание сделано корректно.
не надо так нервничать. ничего я не хочу от тебя.
1
David Sylva
1293 / 955 / 267
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 13:21 10
Цитата Сообщение от kertio Посмотреть сообщение
не надо так нервничать. ничего я не хочу от тебя.
Никто не нервничает, закончили обсуждение.
1
Iprit
0 / 0 / 0
Регистрация: 28.04.2015
25.12.2013, 20:40 11
Вот вам быстрый рабочий способ на множестве.
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
#include <iostream>
 
using namespace std;
 
const int MAX_N = 100 * 1000;
const int MAX_M = 100000;
 
int numbers[MAX_N];
int subset[MAX_M];
 
int main()
{
    int n;
    cin >> n; //количество чисел начального массива.
    for (int i = 0; i < n; ++i)
        cin >> numbers[i];
 
    for (int i = 0; i < MAX_M; ++i) 
        subset[i] = 0;
 
    for (int i = 0; i < n; ++i) 
    {
        int num = numbers[i];
        subset[num] = 1;
    }
 
    for (int x = 0; x < MAX_M; ++x) {
        if (subset[x]) 
            cout << x << " ";
    }
    cout << endl;
    
    return 0;
}
0
25.12.2013, 20:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 20:40

Создать массив из номеров нулевых элементов исходного массива
В целочисленной последовательности есть нулевые элементы. Создать массив из...

Создать массив из элементов исходного файла, внеся в него числа, превосходящие среднее значение
Создать двоичный файл, куда записать n вещественных чисел. Создать массив из...

Создать массив, каждый элемент которого содержит сумму делителей элементов исходного массива
с клавиатуры вводится масив. создать новый массив в который каждый...


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

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

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