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

Ошибка в алгоритме слияние массивов - C++

Восстановить пароль Регистрация
 
ATAMAN200
 Аватар для ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
25.10.2010, 19:37     Ошибка в алгоритме слияние массивов #1
Этот код производит слияние двух массивов "int a[] = {4,2,6}" и "b[] = {645,998,333}" в массив "c[6]"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "stdafx.h" 
#include <iostream>
#include "conio.h" 
#include "string.h" 
using namespace std;
int a[] = {4,2,6}, b[] = {645,998,333}, c[6];
 
int main()
{
    for(int i=0, j=0, k=0; k < (sizeof(b)+sizeof(a))/4; k++)
    {
c[k] = (a[i] < b[j]) ? a[i++] : b[j++];
cout << c[k] << endl;
    }
    getch();
}
но результат таков
4
2
6
645 повторяет дважды и пропускает 333
645

998
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 19:37     Ошибка в алгоритме слияние массивов
Посмотрите здесь:

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

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
832 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
25.10.2010, 19:43     Ошибка в алгоритме слияние массивов #2
C++
1
(sizeof(b)+sizeof(a))/4
почему именно 4?
TheMachinist
 Аватар для TheMachinist
242 / 174 / 15
Регистрация: 14.06.2010
Сообщений: 422
25.10.2010, 19:49     Ошибка в алгоритме слияние массивов #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include "conio.h" 
using namespace std;
int a[] = {4,2,6}, b[] = {645,998,333}, c[6];
 
int main()
{int k = 0;
        for(int i=0, j=0; k < (sizeof(b)+sizeof(a))/4; k++)
        {
c[k] = (a[i] < b[j]) ? a[i++] : b[j++];
cout << c[k] << endl;
        }
        getch();
}
Yandex
Объявления
25.10.2010, 19:49     Ошибка в алгоритме слияние массивов
Ответ Создать тему
Опции темы

Текущее время: 20:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru