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

Отсортировать два массива и сформировать третий, так же упорядоченный - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конструктор класса http://www.cyberforum.ru/cpp-beginners/thread778489.html
Необходимо для данного класса class sequence { public: typedef double value_type; typedef std::size_t size_type; static const size_type CAPACITY = 30; ... private:
C++ iostream, StdAfx.h Начал изучать С++ попытался набрать первый листинг и посмотреть программу в работе и тут же натолкнулся на ошибку. Первое, о чём хотел бы спросить, что такое StdAfx.h, и почему при создании нового проекта он уже был в тексте программы? В книге ни слова об этом, но когда удаляю эту строку, добавляется ещё одна ошибка по поводу отсутствия этой строки. . Во-вторых компилятор выдаёт ошибку, что-то... http://www.cyberforum.ru/cpp-beginners/thread778488.html
Изменить программу чтобы программный код выполнялся в отдельных функциях C++
Помогите изменить программу так, чтобы программный код, выполняющий действия пунктов меню выполнялся в отдельных функциях. Заранее благодарю! // Уплотнить заданную матрицу, удаляя из нее строки и столбцы, заполненные нуля-ми. Найти сумму модулей элементов, расположенных выше главной диагонали. #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <windows.h> #include...
C++ В двухмерном массиве с целыми коэффициентами, для каждого столбца найти минимальный элемент в этом столбце и индекс этого элемента.
Помогите еще пожалуйста. Имеется такое задание: в данном двухмерном массиве A с целыми коэффициентами для каждого столбца найти минимальное значение элемента в этом столбце, напечатать этот элемент и его индексы. Есть решение, только нужно сделать что бы размер массива в одном месте задавался и программа сама уже, так сказать, подстраивалась. Как-то через "for" нужно сделать, да только мозгов не...
C++ Русские буквы string http://www.cyberforum.ru/cpp-beginners/thread778458.html
string new_login; getline(cin,new_login); cout<<new_login; выводит хрень... если cout<<"ыпыв"; то все нормально....
C++ Маленькая мантисса long double здрасте. Я использую pow (long double, long double) и не смотря на это, меня не удовлетворяет точность (не более 5ти знаков после запятой). А нужно как раз-таки 6. Есть ли какое-то простое решение? Спасибо подробнее

Показать сообщение отдельно
КенТюРиК
11 / 11 / 1
Регистрация: 18.10.2012
Сообщений: 148
04.02.2013, 04:11     Отсортировать два массива и сформировать третий, так же упорядоченный
Задания к лабораторной работе.
Выполните приведенные ниже задания.
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;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru