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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
serega_961193
0 / 0 / 0
Регистрация: 30.10.2012
Сообщений: 8
#1

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

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

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

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

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

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

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

Создать массив из различных элементов массива - C++
Доброго времени суток. Не могу написать программу. Задание такое: Дан целочисленный массив {a1,a2...an} с количеством элементов n. Создать...

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

Создать одномерный массив с числом элементов как у исходного - C++
void new_arr(int size) { int *B=new int; cout<<sizeof(B)/sizeof(int) // =1 элемент deleteB; } void main() ...

10
David Sylva
1287 / 949 / 51
Регистрация: 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 / 1
Регистрация: 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
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 12:07 #4
kertio
Да ладно?
http://liveworkspace.org/code/f6f8b5...5909d2299910d7
0
kertio
26 / 26 / 1
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 12:48 #5
Цитата Сообщение от David Sylva Посмотреть сообщение
kertio
Да ладно?
http://liveworkspace.org/code/f6f8b5...5909d2299910d7
ну если три элемента вывести то он уже другое выведет конечно же, а посмотри как массив B объявлен? он из 10-ти элементов. вот теперь выведи на печать все элементы, а не только которые от 0 до b... вывод тебя явно удивит.
P.S. Кстати не факт что выведет нули. будет мусор. потому что не инициализированный массив. в eclipse выводит нули, а онлайн компиляторе - мусор.
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 13:01 #6
Поверь вывод меня меня не удивит. Зачем нам надо выводить все элементы? Если мы знаем сколько не повторяющихся.
0
kertio
26 / 26 / 1
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 13:07 #7
Цитата Сообщение от David Sylva Посмотреть сообщение
Поверь вывод меня меня не удивит. Зачем нам надо выводить все элементы? Если мы знаем сколько не повторяющихся.
ну хотя бы затем что по заданию "Создать массив из различных элементов А[n]". то есть уже по заданию понятно, что созданный массив должен быть меньше и содержать должен элементы которые нужны. ну я так предполагаю, хотя может и ошибаюсь. просто указал на то что в массиве кроме нужных данных еще будут храниться и ненужные.
0
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 13:10 #8
Цитата Сообщение от kertio Посмотреть сообщение
то есть уже по заданию понятно, что созданный массив должен быть меньше
а если все числа разные? Я не понимаю ты, что от меня хочешь? Указать мне на ошибку? Её там нет, задание сделано корректно.
0
kertio
26 / 26 / 1
Регистрация: 20.09.2011
Сообщений: 68
30.10.2012, 13:16 #9
Цитата Сообщение от David Sylva Посмотреть сообщение
а если все числа разные? Я не понимаю ты, что от меня хочешь? Указать мне на ошибку? Её там нет, задание сделано корректно.
не надо так нервничать. ничего я не хочу от тебя.
1
David Sylva
1287 / 949 / 51
Регистрация: 17.05.2012
Сообщений: 2,687
30.10.2012, 13:21 #10
Цитата Сообщение от kertio Посмотреть сообщение
не надо так нервничать. ничего я не хочу от тебя.
Никто не нервничает, закончили обсуждение.
1
IPRIT
Сообщений: n/a
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2013, 20:40
Привет! Вот еще темы с ответами:

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

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

На основе исходного файла создать массив удвоенных нечётных чисел и упорядочить его по возрастанию элементов - C++
Создать двоичный файл, куда записать n целых чисел. На основе исходного файла создать массив удвоенных нечетных чисел. Упорядочить его по...

Сформировать массив А из четных элементов исходного массива, а массив В - из нечетных - C++
Элементы массива Т формируются по правилу: Т(к)=15к-12. Сформировать массив А из четных элементов массива Т, а массив В- из нечетных(к=20)


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

Или воспользуйтесь поиском по форуму:
11
Yandex
Объявления
25.12.2013, 20:40
Ответ Создать тему
Опции темы

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