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

Слияние двух отсортированых массивов в один - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Не выполняется программа проводника http://www.cyberforum.ru/cpp-beginners/thread911586.html
Добрый день. Пишу программу проводник под DOS, начал с простого, вывод списка файлов из категории. В итоге программа не работает, в поисках багов оставил только одну функцию - вывод первого найденного файла и для "вылова" багов добавил "cout<<sometheng" после каждого этапа выполнения программы и вышло, что баг возникает при нахождении первого файла. Сейчас напишу код программы, приложу скриншот и...
C++ Размер массива при передачи в функцию День добрый, подскажите столкнулся с такой проблемой: void masssize (char mass) { int size = sizeof(mass)/sizeof(mass); cout << size; } int main () { http://www.cyberforum.ru/cpp-beginners/thread911575.html
Потоковое Чтение и запись в файл C++
Всем привет. Подскажите пожалуйста с помощью каких функций и библиотек лучше всего производить запись и чтение из файла, + подскажите как сделать редактирование той же самой записи в файле. Заранее спасибо
Отловить сообщение о завершении потока(треда) C++
Привет! Студия постоянно сигнализирует в окне вывода о завершении разных потоков в программе. Допустим я сам создаю один поток, который довольно сложен и в нем используется куча разных длл. Так вот при завершении этого потока - все эти длл выгружаются автоматически из памяти. и все ок, и хорошо работает. вот только у меня одна проблема. мой тред создается по желанию пользователя... и вот если...
C++ Найти ошибку http://www.cyberforum.ru/cpp-beginners/thread911553.html
Не могу найти ошибку в программе, не ищет букву "а", в некоторых случаях подсчет не правильный. Программа должна найти и подсчитать в строке кол-во букв "а" в первом слове. #include<conio.h> #include<string.h> #include<stdlib.h> #include<stdio.h> #include<iomanip.h> void main() { int a = 0;
C++ (SOS) Как добавить координаты элемента массива в стек? Дяди программисты, спасайте новичка! Задача такая: построить лабиринт(матрицу) из 1 и 0 (идти можно только по единичкам) и сохранить в стек путь. Я всё примерно придумал как сделать, но не могу взять в голову как сделать чтоб программа после проверки истинности условия сохраняла в стек координаты точки, а не само её значение? подробнее

Показать сообщение отдельно
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
25.06.2013, 15:28     Слияние двух отсортированых массивов в один
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
#include<iostream>
const int NA = 5;
const int NB = 7;
const int NC = 12;
 
void Merge(int *a, int na, int *b, int nb, int *c, int &nc)
{
   int i = na - 1, j = 0, k = 0;
   if (a[i] > b[j])
      c[k++] = a[i--];
   else c[k++] = b[j++];
   while (i >= 0 && j < nb)
      if (a[i] == c[k - 1])
         --i;
      else if (b[j] == c[k - 1])
         j++;
      else if (a[i] > b[j])
         c[k++] = a[i--];
      else
         c[k++] = b[j++];
   if (j == nb)
   {
      for(j = i; j >= 0; --j)
         if (a[j] != c[k])
            c[k++] = a[j];
   }
   else
   {
      for(i = j; i < nb; ++i)
         if (b[i] != c[k - 1])
            c[k++] = b[i];
   }
   nc = k;
}
 
void Print(int *a, int n)
{
   for(int i = 0; i < n; ++i)
      std::cout << a[i] << " ";
   std::cout << std::endl;      
}
 
int main()
{
   int a[NA] = {1, 2, 2, 3, 3}, b[NC] = {10, 10, 7, 7, 7, 1 ,1}, c[NC], nc;
   Print(a, NA);    
   Print(b, NB);
   Merge(a, NA, b, NB, c, nc);  
   Print(c, nc);    
}
 
Текущее время: 16:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru