Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ATAMAN200
9 / 9 / 1
Регистрация: 14.08.2010
Сообщений: 148
#1

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

25.10.2010, 19:37. Просмотров 550. Ответов 2
Метки нет (Все метки)

Этот код производит слияние двух массивов "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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.10.2010, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в алгоритме слияние массивов (C++):

Слияние массивов - C++
Задан массив A из N элементов и массив B из M элементов. Сформировать массив L из массивов A и B путем их слияния так, чтобы сначала...

Слияние массивов на с++ - C++
Добродень всем.задача такая:массив структур размера N(в моем случае 100).разбить на ленты.т.о получается 10 лент по 10 элементов в каждой...

Слияние массивов - C++
Даны два массива. Массив А состоит из N элементов и отсортирован по возрастанию. Массив В состоит из М элементов и отсортирован по...

Слияние массивов - C++
Получить массив С(k), упорядоченный по возрастанию, путем слияния массивов A(n) и B(m), упорядоченных перед этим по возрастанию, где k = n...

Слияние массивов - C++
я новичек в программировании. Помогите пожалуйста решить слудеющию задачу на С++. Заданы три упорядоченных по возрастанию массива f,...

Сортировка и слияние массивов - C++
Товарищи, помогите пожалуйста разобраться с заданием. Буду очень благодарен.

2
PointsEqual
ниначмуроФ
836 / 520 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
25.10.2010, 19:43 #2
C++
1
(sizeof(b)+sizeof(a))/4
почему именно 4?
0
TheMachinist
244 / 176 / 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();
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2010, 19:49
Привет! Вот еще темы с ответами:

Слияние двух массивов - C++
Всем привет. Возникла проблема с задачей. Даны два массива одинакоого размера. Нужно создать 3 массив который будет хранить элементы...

Слияние отсортированных массивов. - C++
задача: есть двумерный целочисленный массив n на n в котором каждая строка отсортирована по возрастанию. надо слить его в одномерный...

Слияние 2-х одномерных массивов - C++
всем привет Даны два одномерных массива с произвольными НО упорядоченными по возрастанию элементами написать функцию для слияния этих...

Слияние трех массивов - C++
Помогите пожалуйста написать небольшую программку. Даны три массива A, B, C Написать программу слияния этих массивов. Убидительная...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru