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

Массив - C++

Восстановить пароль Регистрация
 
Prince
3 / 3 / 0
Регистрация: 06.01.2010
Сообщений: 10
06.01.2010, 00:38     Массив #1
Дана последовательность чисел, которая имеет одинаковые элементы. Отсортировать по возрастанию методом выбора , исключить одинаковые элементы.
Сама сортировка понятна. А как исключить одинаковые элементы? Помогите. На С
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.01.2010, 00:38     Массив
Посмотрите здесь:

C++ с клавиатуры ввести массив,во второй массив записать нечетные элементы из первого
Можно ли в классе создавать массив переменной длинны. Например динамический массив? C++
Массив: Все элементы массива, кратные трем, записать в одномерный массив. C++
Переписать положительные элементы массива K,кратные пяти в массив M,а остальные-в массив Q. C++
C++ Дан массив целых чисел,произвести для него следующие операции: для каждого из чисел ,входящего в массив,указать,сколько раз оно входит в массив...
C++ Ввести массив А. В массив В перенести все элементы массива А, стоящие правее максимального элемента, и имеющие нечетный индекс. Массив В отсортировать
C++ Файл: Загрузка данных из файла: первый столбец записывался в 1й массив, второй столбец - во 2й массив, а 3й столбец - в 3й массив.
Массив: Как скопировать двумерный массив в другой массив? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Sergey_O
 Аватар для Sergey_O
5 / 5 / 1
Регистрация: 09.12.2009
Сообщений: 65
06.01.2010, 00:42     Массив #2
прокручиваешь массив, сохраняешь повторяющиеся символы
создаешь дополнительный дин.массив, копируешь все символы из первого, кроме сохраненных ранее
копируешь новый массив в старый, динамический удаляешь

я себе это так представляю))
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
06.01.2010, 03:48     Массив #3
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
/* возвращает индекс наименьшего элемента */
size_t minPos(int *arr, size_t low_pos, size_t high_pos){
    int min_val;
    size_t min_pos;
    
    min_val = arr[low_pos];
    min_pos = low_pos;
    
    for ( ++low_pos; low_pos <= high_pos; ++low_pos ){
        if ( arr[low_pos] < min_val ){
            min_val = arr[low_pos];
            min_pos = low_pos;
        }
    }
    
    return min_pos;
}
 
/* меняет местами значения массива */
void swapVals(int *arr, size_t x, size_t y){
    int z;
    z = arr[x];
    arr[x] = arr[y];
    arr[y] = z;
}
 
/* сортирует по убыванию значения массива от нижнего до верхнего индекса */
void sort(int *arr, size_t low_pos, size_t high_pos){
    size_t i, min_pos;
    
    for ( i = low_pos; i < high_pos; ++i )
        if ( ( min_pos = minPos(arr, i, high_pos) ) != i )
            swapVals(arr, i, min_pos);
}
 
#define ARRSIZE 10
int main(void){
    int arr[ARRSIZE];
    size_t i;
    
    srand(time(NULL));
    for ( i = 0; i < ARRSIZE; ++i )
        arr[i] = rand() % 10;
    
    printf("\nUnsorted: ");
    for ( i = 0; i < ARRSIZE; ++i )
        printf("%d ", arr[i]);
    printf("\nSorted:   ");
    sort(arr, 0, ARRSIZE - 1);
    printf("%d ", arr[0]);
    for ( i = 1; i < ARRSIZE; ++i )
        if ( arr[i] != arr[i - 1] )
            printf("%d ", arr[i]);
    printf("\n");
    
    exit(0);
}
Yandex
Объявления
06.01.2010, 03:48     Массив
Ответ Создать тему
Опции темы

Текущее время: 13:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru