11 / 11 / 3
Регистрация: 18.10.2012
Сообщений: 148
1

Алгоритмы сортировки массивов.Реализуйте алгоритмы сортировок данных массивов

23.01.2013, 01:03. Показов 1645. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задания к лабораторной работе.
Выполните приведенные ниже задания.
1. Даны два целочисленных массива
2. Реализуйте алгоритмы сортировок данных массивов.
3. Сформировать третий массив на основе данных, который также упорядочен и представляет операцию с элементами исходных массивов:
• объединение (содержит числа, принадлежащие хотя бы одному из множеств);
• перечисление (числа, принадлежащие обоим множествам);
• разность (числа, принадлежащие первому множеству, но не второму);
• симметричную разность (объединение разностей множеств).
Диапазон массивов (400 - +600)
Методы сортировки
1)прямым выбором.
2)быстрая сортировка.

До этого мы решали задачки в вводом и выводом массивов и вот те на,с помощью друзей написал все кроме 2 последних пунктов,а также есть некое количество ошибок.
P.s В книгах ничего особо найти не смог.
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <stdio.h>  
#include <conio.h>
#include <stdlib.h>
#include "stdafx.h"
 
 
void PryamoyVibor (int* a,int n)
{
     int i,j,k;
     for(i=0;i<n;i++)
     {
                     k=i;
                     for(j=i+1;j<n;j++)
                     if(a[j]<a[k])
                     k=j;
                     j=a[k];
                     a[k]=a[i];
                     a[i]=j;
     }
}
 
template<class T>
void quickSortR(T* b, long n) {
 
 
  long i = 0, j = n;       
  T temp, p;
 
  p = a[ n>>1 ];      
 
  
  do {
    while ( b[i] < p ) i++;
    while ( a[j] > p ) j--;
 
    if (i <= j) {
      temp = b[i]; b[i] = b[j]; b[j] = temp;
      i++; j--;
    }
  } while ( i<=j );
 
  
  if ( j > 0 ) quickSortR(a, j);
  if ( n > i ) quickSortR(a+i, n-i);
}
 
int main()
{const int n=20;
int a[n],b[n],c[40],d[40],i,j,k,q,w,r,count=1;
 
printf("Pervonachalnii Masiv a[%d]: \n",n);
for(i=0;i<n;i++)
{
                a[i]=0+rand() % 600;
                printf("d",a[i]);
                }
            printf("Pervonachalnii Masiv b[%d]: \n",n);
            for(i=0;i<n;i++)
            {
           b[i]=0+rand()%600;
               printf("d",b[i]);
               }
 
          
         PryamoyVibor (a,n);
          printf("\n \n Massiv a[%d],otsortirovannii PryamoyVibor: \n ",n);
             for(i=0;i<n;i++)  
               printf("d",a[i]);
               
     quickSortR (b,n);
    printf("\n \n Massiv b[%d],otsortirovannii metodom quickSortR: \n",n);
      for(i=0;i<n;i++)  
        printf(" %d ",b[i]);
   
        
      printf("%d",b[i]);
      
      for(i=0;q=0;i<n;i++)
          c[q++]=a[i];
      for(j=0;j<n;j++)
          c[q++]=b[j];
       
      quickSortR(c,q);
      int temp=c[0];
      for(i=1;i<q;i++)
      {
          if(c[i]!=temp)
          {
              for(j=i+1;j<q;j++)
                  if(c[i]=c[j])
                      c[j]=temp;
              count++;
          }
 
      }
      count=0;
      for(i=1;i<q;i++)
          if(c[i]!=c[0])
              c[++count]=c[i];
      printf("\n \n Peresechenie massivov a{%d] i b[%d] (%d elementov): \n",n,n,count+1);
      for(i=0;i<count;i++)
          printf("%d",c[i]));
 
      for(i=0;w=0;i<n;i++)
          if(a[i]=b[j])
              d[w++]=a[i];
      printf("Peresechenie massivov a{%d] i b[%d] (%d elementov): \n" n,n,w);
      for(i=0;i<w;i++)
          printf("%d",d[i]);
      getch();
      return 0;
}
Помогите грамотно расставить комментарии,чтоб я сам в любой момент понимал что к чему и кто знает как сделать разность и симметричную разность?

Добавлено через 12 часов 22 минуты
....
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.01.2013, 01:03
Ответы с готовыми решениями:

Алгоритмы сортировки одномерных массивов
Организуйте массив, содержащий 20 различных целых чисел. После этого элементы массива...

Алгоритмы обработки массивов
Задано массив чисел A (n), n &lt;= 500. Разработать программу, которая вычисляет сумму всех чисел,...

Реализовать алгоритмы сортировки для данных с последовательным доступом
Подмогните Уважаемые программисты! Есть прога сортировки для массивов (для данных с произвольным...

Преобразование двумерных массивов и Алгоритмы сортировки неупорядоченных данных
1. В матрице А(5,6) поделить элементы нечетных столбцов на номер столбца и если в остатке не ноль,...

1
101 / 92 / 53
Регистрация: 22.03.2011
Сообщений: 226
23.01.2013, 02:19 2
Цитата Сообщение от КенТюРиК Посмотреть сообщение
C
1
template<class T>
это с++, ты не по адресу
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.01.2013, 02:19
Помогаю со студенческими работами здесь

алгоритмы сортировки массивов
помогите пожалуйста решить задачу на с++... Если у массива А(50) есть элемент, равный квадрату...

Алгоритмы сортировки массивов
&quot;алгоритмы сортировки массивов&quot; можете помочь с такой программой на такую тему, в форме.

Алгоритмы сортировки массивов
Дан массив А(50). Отсортировать элементы, предшествующие первому нулевому элементу, по возрастанию...

Алгоритмы сортировки массивов
Всем привет, хочу для общего развития узнать все способы сортировки массивов.(массив произвольный)...


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

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

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