Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
RAMON@
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
1

Сортировка вставкой по ключу в одномерном массиве

05.04.2010, 14:55. Просмотров 3376. Ответов 11
Метки нет (Все метки)

8. Ключ: дата начала работы. Сортировка вставкой.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2010, 14:55
Ответы с готовыми решениями:

Поиск ключу в одномерном массиве структур
Найти сотрудника, работающего с 1975 года.

сортировка в одномерном массиве (помогите сделать)
В массиве состоящем из n элементов все отрицательные элементы отправить в его...

Что делает сортировка простым обменом в одномерном массиве?
что делает сортировка простым обменом в одномерном массиве?по какому принципу...

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

Сортировка вставкой
while(mc!=m) {nov=n; for(is=0;is<n;is++){ for (i=nov;i<n;i++){if...

11
PointsEqual
ниначмуроФ
842 / 526 / 110
Регистрация: 12.10.2009
Сообщений: 1,915
15.04.2010, 16:57 2
понятно
0
M128K145
Эксперт JavaЭксперт С++
8327 / 3548 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
15.04.2010, 17:10 3
RAMON@, напишите полностью задание
0
RAMON@
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
15.04.2010, 17:14  [ТС] 4
В программе, составленной при выполнении лабораторной работы №9, вы-полнить сортировку заданным методом по неубыванию массива структур по указанному в индивидуальном задании ключу.

8. Ключ: дата начала работы. Сортировка вставкой.
0
M128K145
Эксперт JavaЭксперт С++
8327 / 3548 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
15.04.2010, 17:28 5
RAMON@, понимаете, мне не сложно обернуть в структуру/класс три значения типа short, но вам оно надо? Что за структура, какие у нее поля кроме даты начала работы?

Прочитайте http://www.cyberforum.ru/cpp-beginners/thread17474.html
0
RAMON@
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
15.04.2010, 18:52  [ТС] 6
сдесь нужно отсортировать методом вставки!!!! вот а отсортировать нужно ключ..а именнодата, начало работы!!

C++
1
2
3
4
5
6
7
8
9
10
11
void S_Vst (int a[], int n)
{
int i, j, t;
for(i=1; i<n; i++) // Перебор элементов
{
t = a[i]; // Выбор элемента
for(j = i-1; j >= 0 && t < a[j]; j--) // Поиск необходимой позиции
a[j+1] = a[j]; // для втавки элемента
a[j+1] = t; // Вставка элемента
}
}
вот пример!!
0
M128K145
Эксперт JavaЭксперт С++
8327 / 3548 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
15.04.2010, 19:16 7
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
#include <iostream>
struct Employee
{
    int year;
};
void S_Vst (Employee a[], int n)
{
    int i, j;
    Employee t;
    for(i=1; i<n; i++) // Перебор элементов
    {
        t = a[i]; // Выбор элемента
        for(j = i-1; j >= 0 && t.year < a[j].year; j--) // Поиск необходимой позиции
            a[j+1] = a[j]; // для втавки элемента
        a[j+1] = t; // Вставка элемента
    }
}
int main()
{
    setlocale(LC_ALL, "Russian");
    const int n = 2;
    Employee emp[n];
    int i;
    std::cout<<"Введите год приема на работу: \n";
    for(i = 0; i < n; ++i)
        std::cin>>emp[i].year;
    S_Vst(emp, n);
    std::cout<<"Отсортировано: \n";
    for(i = 0; i < n; ++i)
        std::cout<<emp[i].year<<std::endl;
    system("pause");
    return 0;
}

ЗЫ. Я так понял вам ваше задание надо не больше чем мне
0
fasked
Эксперт С++
4984 / 2563 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.05.2010, 14:10 8
А сама структура то хоть какая?
0
RAMON@
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
14.05.2010, 14:13  [ТС] 9
массив структур.. что еще какие то есть?
0
fasked
Эксперт С++
4984 / 2563 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.05.2010, 14:17 10
чтобы сделать массив структур, необходимо сначала сделать саму структуру
0
RAMON@
0 / 0 / 1
Регистрация: 07.11.2009
Сообщений: 67
14.05.2010, 14:22  [ТС] 11
хм.. незнаю.. задание такое.. СОРТИРОВКА ПО КЛЮЧУ ОДНОМЕРНЫХ МАССИВОВ СТРУКТУР.
вы-полнить сортировку заданным методом по неубыванию массива структур по указанному в индивидуальном задании ключу.Ключ: дата начала работы. Сортировка вставкой.
0
fasked
Эксперт С++
4984 / 2563 / 241
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
14.05.2010, 15:08 12
Сложно конечно вот так догадываться, но думаю это то что нужно
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include <cstdio>
#include <cstdlib>
 
struct Date
{
   int day;
   int month;
   int year;
};
 
bool DatePred(Date * a, Date * b)
{
   if(a->year > b->year)
      return true;
   else if(a->month > b->month)
      return true;
   else if(a->day > b->day)
      return true;
 
   return false;
}
 
struct Worker
{
   char name[32];
   Date date;
};
 
void structAdd(struct Worker * w)
{
   printf("Enter the Name: ");
   scanf("%s", &(w->name));
 
   printf("Enter the date of work begin: \n");
   printf("-\tEnter the day: ");
   scanf("%d", &(w->date.day));
   printf("-\tEnter the month: ");
   scanf("%d", &(w->date.month));
   printf("-\tEnter the year: ");
   scanf("%d", &(w->date.year));
}
 
void structPrint(struct Worker * w)
{
   printf("%s : %d %d %d\n", w->name, w->date.day, w->date.month, w->date.year);
}
 
void structSort(struct Worker * w, int l, int r)
{
    int i = 0;
    for(i = r; i > l; i--)
      if(DatePred(&(w[i-1].date), &(w[i].date)))
      {
         Worker t = w[i-1];
         w[i-1] = w[i];
         w[i] = t;
      }
    for(i = l+2; i <= r; i++)
    {
        int j = i;
        Worker v = w[i];
        while(!DatePred(&(v.date), &(w[j-1].date)))
        {
            w[j] = w[j-1];
            j--;
        }
        w[j] = v;
    }
}
 
#define SIZE 3
 
int main()
{
   Worker w[SIZE];
 
   for(int i = 0; i < SIZE; ++i)
   {
      structAdd(&w[i]);
      printf("\n");
   }
 
   for(int i = 0; i < SIZE; ++i)
      structPrint(&w[i]);
   printf("\n");
 
   structSort(w, 0, SIZE - 1);
   for(int i = 0; i < SIZE; ++i)
      structPrint(&w[i]);
   printf("\n");
 
   system("pause");
}
0
14.05.2010, 15:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2010, 15:08

Сортировка вставкой
(желательно ближе к си) Определить массив из 50 вещественных чисел: x =...

Сортировка вставкой
Есть такое задание: Исходный набор данных представляет собой последовательность...

Сортировка вставкой
В файле input.txt содержатся сведения о группе студентов в формате:номер...


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

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

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