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

Даны одномерные массивы А и В, длины m и n соответственно - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано предложение, слова в котором разделены произвольным числом пробелов http://www.cyberforum.ru/cpp-beginners/thread1081897.html
Дано предложение, слова в котором разделены произвольным числом пробелов. Найти количество слов в предложении, самое длинное и самое короткое слово.
C++ Даны две последовательности: x[1] . x[n] и y[1] . y[k] Даны две последовательности: x ... x и y ... y. Найти максимальную длину последовательности, являющейся последовательностью обеих последовательностей. Количество операций порядка n * k. http://www.cyberforum.ru/cpp-beginners/thread1081896.html
Дана последовательность целых чисел x[1] . x[n] C++
Дана последовательность целых чисел x ... x. Найти максимальную длину ее возрастающей последовательности.
C++ Даны две последовательности целых чисел x[1] . x[n] и y[1] . y[k]
Даны две последовательности целых чисел x ... x и y ... y. Определить, является ли вторая последовательность подпоследовательностью первой, т.е. можно ли из первой вычеркнуть некоторые члены так, чтобы осталась вторая. Число действий порядка n + k.
C++ Дан массив a[1 . n] и число m≤n http://www.cyberforum.ru/cpp-beginners/thread1081893.html
Дан массив a и число m≤n. Для каждого участка из m стоящих рядом элементов вычислить его сумму. Создать новый массив из полученных сумм и так далее до тех пор, пока в массиве не окажется менее m элементов. Тогда отсортировать его по убыванию и вывести на экран.
C++ Дан неубывающий массив положительных целых чисел a[1]≤a[2]≤…≤a[n] Дан неубывающий массив положительных целых чисел a≤a≤…≤a. Найти наименьшее целое положительное число, которое нельзя представить в виде суммы нескольких элементов этого массива (элемент массива должен быть использован один раз). подробнее

Показать сообщение отдельно
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
26.01.2014, 17:24     Даны одномерные массивы А и В, длины m и n соответственно
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
#include <ctime>
#include <cstdlib>
#include <iostream>
 
void bubble_sort(int* a, int n) {
  for(int i = 1; i < n; ++i) {
    for(int j = n - 1; j >= i; --j) {
      if(a[j - 1] > a[j]) {
        int t = a[j - 1]; 
        a[j - 1] = a[j]; 
        a[j] = t;
      }
    }
  }  
}
 
void merge(const int* a, const int* b, int n, int m, int* c) {
  int i = 0, j = 0, k = 0;
  while((i < n) && (j < m)) {
    if(a[i] < b[j])
      c[k++] = a[i++];
    else
      c[k++] = b[j++];
  }  
  while(i < n) 
    c[k++] = a[i++];
  while(j < m) 
    c[k++] = b[j++];    
}
 
void show(const char* s, const int* a, int n) {
  std::cout << s;
  for(int i = 0; i < n; ++i)
    std::cout << ' ' << a[i];
  std::cout << std::endl;
}
 
void generate(int* a, int n) {
  for(int i = 0; i < n; ++i)
    a[i] = std::rand() % 10 + 1;  
}
 
int main() {
  const int n = 5;
  const int m = 10;
  
  int a[n], b[m], c[m + n];
  
  std::srand(std::time(NULL));
  generate(a, n);
  generate(b, m);
  
  show("a(unsorted): ", a, n);
  show("b(unsorted): ", b, m);  
  
  bubble_sort(a, n);
  bubble_sort(b, m);
  
  show("\na(sorted): ", a, n);
  show("b(sorted): ", b, m);      
  
  merge(a, b, n, m, c);  
  show("\nc: ", c, m + n);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru