Алгоритмы сортировки массивов.Реализуйте алгоритмы сортировок данных массивов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задания к лабораторной работе. Выполните приведенные ниже задания. 1. Даны два целочисленных массива 2. Реализуйте алгоритмы сортировок данных массивов. 3. Сформировать третий массив на основе данных, который также упорядочен и представляет операцию с элементами исходных массивов: • объединение (содержит числа, принадлежащие хотя бы одному из множеств); • перечисление (числа, принадлежащие обоим множествам); • разность (числа, принадлежащие первому множеству, но не второму); • симметричную разность (объединение разностей множеств). Диапазон массивов (400 - +600) Методы сортировки 1)прямым выбором. 2)быстрая сортировка. До этого мы решали задачки в вводом и выводом массивов и вот те на,с помощью друзей написал все кроме 2 последних пунктов,а также есть некое количество ошибок. P.s В книгах ничего особо найти не смог.
Листинг программы
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <stdlib.h>
  4. #include "stdafx.h"
  5.  
  6. void PryamoyVibor (int* a,int n)
  7. {
  8. int i,j,k;
  9. for(i=0;i<n;i++)
  10. {
  11. k=i;
  12. for(j=i+1;j<n;j++)
  13. if(a[j]<a[k])
  14. k=j;
  15. j=a[k];
  16. a[k]=a[i];
  17. a[i]=j;
  18. }
  19. }
  20. template<class T>
  21. void quickSortR(T* b, long n) {
  22.  
  23. long i = 0, j = n;
  24. T temp, p;
  25. p = a[ n>>1 ];
  26.  
  27. do {
  28. while ( b[i] < p ) i++;
  29. while ( a[j] > p ) j--;
  30. if (i <= j) {
  31. temp = b[i]; b[i] = b[j]; b[j] = temp;
  32. i++; j--;
  33. }
  34. } while ( i<=j );
  35.  
  36. if ( j > 0 ) quickSortR(a, j);
  37. if ( n > i ) quickSortR(a+i, n-i);
  38. }
  39. int main()
  40. {const int n=20;
  41. int a[n],b[n],c[40],d[40],i,j,k,q,w,r,count=1;
  42. printf("Pervonachalnii Masiv a[%d]: \n",n);
  43. for(i=0;i<n;i++)
  44. {
  45. a[i]=0+rand() % 600;
  46. printf("d",a[i]);
  47. }
  48. printf("Pervonachalnii Masiv b[%d]: \n",n);
  49. for(i=0;i<n;i++)
  50. {
  51. b[i]=0+rand()%600;
  52. printf("d",b[i]);
  53. }
  54.  
  55. PryamoyVibor (a,n);
  56. printf("\n \n Massiv a[%d],otsortirovannii PryamoyVibor: \n ",n);
  57. for(i=0;i<n;i++)
  58. printf("d",a[i]);
  59. quickSortR (b,n);
  60. printf("\n \n Massiv b[%d],otsortirovannii metodom quickSortR: \n",n);
  61. for(i=0;i<n;i++)
  62. printf(" %d ",b[i]);
  63.  
  64. printf("%d",b[i]);
  65. for(i=0;q=0;i<n;i++)
  66. c[q++]=a[i];
  67. for(j=0;j<n;j++)
  68. c[q++]=b[j];
  69. quickSortR(c,q);
  70. int temp=c[0];
  71. for(i=1;i<q;i++)
  72. {
  73. if(c[i]!=temp)
  74. {
  75. for(j=i+1;j<q;j++)
  76. if(c[i]=c[j])
  77. c[j]=temp;
  78. count++;
  79. }
  80. }
  81. count=0;
  82. for(i=1;i<q;i++)
  83. if(c[i]!=c[0])
  84. c[++count]=c[i];
  85. printf("\n \n Peresechenie massivov a{%d] i b[%d] (%d elementov): \n",n,n,count+1);
  86. for(i=0;i<count;i++)
  87. printf("%d",c[i]));
  88. for(i=0;w=0;i<n;i++)
  89. if(a[i]=b[j])
  90. d[w++]=a[i];
  91. printf("Peresechenie massivov a{%d] i b[%d] (%d elementov): \n" n,n,w);
  92. for(i=0;i<w;i++)
  93. printf("%d",d[i]);
  94. getch();
  95. return 0;
  96. }
Помогите грамотно расставить комментарии,чтоб я сам в любой момент понимал что к чему и кто знает как сделать разность и симметричную разность?
....

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

textual
Листинг программы
  1. template<class T>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы