0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 35
1

Создать ассоциативный массив и упорядочить его в порядке возрастания

24.12.2014, 13:39. Показов 1118. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, препод сказал создать ассоциативный массив. в котором содержятся целочисленные значения. и упорядочить его в порядке возрастания. Кто нибудь может кинуть пример? С этим Ассоциативным массивом в СИ.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.12.2014, 13:39
Ответы с готовыми решениями:

Упорядочить массив в порядке возрастания методом стандартного обмена
Помогите , пожалуйста , решить задачу... Дана действительная матрица размерности . Проверить...

Упорядочить в порядке возрастания первые N элементов массива
Задано массив чисел Q(y). Определить количество N отрицательных элементов массива и упорядочить в...

Упорядочить и вывести строки в порядке возрастания значений их длины
Пользователь задает с консоли несколько строк (не больше 10). Упорядочить и вывести строки в...

Упорядочить строки матрицы в порядке возрастания их последних элементов
Дана матрица А размера n m. Упорядочить строки матрицы в порядке возрастания их последних...

3
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 248
24.12.2014, 16:01 2
Цитата Сообщение от hottabych1607 Посмотреть сообщение
Всем привет, препод сказал создать ассоциативный массив. в котором содержятся целочисленные значения. и упорядочить его в порядке возрастания. Кто нибудь может кинуть пример? С этим Ассоциативным массивом в СИ.
По-моему задание не совсем корректное, не сказано, что является ключами. По сути это может быть что угодно. И вообще ответьте мне сначала на один вопрос, Вы понимаете, что такое ассоциативный массив или пока ещё нет?

Добавлено через 20 минут
А вот и сама реализация. Опять же преподаватель ничего не уточнял про реализацию, так что я реализовал на основе хэш-таблицы, ключами и значениями являются целые числа. К сожалению немного поехало форматирование, но мне лень менять)
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include <stdio.h>
#include <stdlib.h>
 
typedef struct List List;
 
struct List {
    int  key;
    int  val;
    List *next;
};
 
void HashInsert(List **t, int m, int key, int val);
int Lookup(List **t, int m, int key);
List* ListSearch(List *head, int key);
void AddList(List **l, int key, int val);
void DeleteList(List *l);
void ListSearchAndDelete(List **l, int key);
 
void HashInsert(List **t, int m, int key, int val){
    int i = key % m;
    if (val == 0){
    ListSearchAndDelete(t+i, key);
    }else{
    AddList(t+i, key, val); 
    }
}
 
int Lookup(List **t, int m, int key){
    int i = key % m;
    List *l = ListSearch(t[i], key);
    if (l == NULL){
    return 0;
    }
    return l -> val;
}
 
List* ListSearch(List *head, int key){
    for ( ;head != NULL; head = head -> next){
    if (head -> key == key){
        return head;
    }      
    }
    return NULL;
}
 
void AddList(List **l, int key, int val){
    List *newElem = (List*) malloc (sizeof(List));
    newElem -> next = *l;
    newElem -> key = key;
    newElem -> val = val;
    *l = newElem;  
}
 
void DeleteList(List *l){
    if (l != NULL){
    DeleteList(l -> next);
    free(l);
    }
}
 
void ListSearchAndDelete(List **l, int key){
    List *prev = NULL, *head = *l;
    
    for ( ;head != NULL; prev = head, head = head -> next){
    if (head -> key == key){
        if (prev == NULL){
        prev = head;
        *l = head -> next;
        free(prev);
        
        }else{  
        prev -> next = head -> next;
        free(head);
        }
        return;
    }      
    }
}
0
0 / 0 / 0
Регистрация: 09.10.2012
Сообщений: 35
24.12.2014, 16:22  [ТС] 3
main.c, он что то говорил на основе ТАБ или как то так. Еще слышал что нужно просто взять два массива и как то с этим работать, и сортировать первый. Может вы знаете что то про это?
0
26 / 26 / 7
Регистрация: 05.04.2012
Сообщений: 248
24.12.2014, 16:36 4
Цитата Сообщение от hottabych1607 Посмотреть сообщение
ТАБ
А как это расшифровывается?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.12.2014, 16:36
Помогаю со студенческими работами здесь

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

Отсортировать элементы строк матрицы в порядке возрастания, а строки - в порядке возрастания сумм элементов
Задать с клавиатуры количество целочисленных матриц. Данные получить с помощью датчика случайных...

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

Сформировать массив Y, поместив в него в порядке возрастания все различные числа, входящие в массив X
Ребята тут проблема, не знаю как дальше решить. 30. Дан массив целых чисел X(n). Сформировать...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru