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

Массивы: объединение двух массивов - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
20.04.2012, 17:58     Массивы: объединение двух массивов #1
Решите пожалуйста задачу из задачника Юркина. 4.15. Заданы массивы A(m) и B(n). Получить массив C(m+n), расположив в начале его элементы массива A, а затем - элементы массива B.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.04.2012, 17:58     Массивы: объединение двух массивов
Посмотрите здесь:

Объединение двух массивов C++
Объединение двух массивов в третий C++
C++ Объединение двух массивов.
C++ Объединение двух массивов
C++ Объединение двух массивов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Alonix
1 / 1 / 0
Регистрация: 15.04.2012
Сообщений: 9
20.04.2012, 19:25     Массивы: объединение двух массивов #2
Вы динамические начали проходить?
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
20.04.2012, 20:25     Массивы: объединение двух массивов #3
C++
1
2
3
с=(int*)malloc((m+n)*sizeof(int));
memcpy(c, a, m*sizeof(int));
memcpy((void*)(c+m), b, n*sizeof(int));
или
C
1
2
3
с=new int[n+m];
for(i=0;i<m;i++)c[i]=a[i];
for(i=0;i<n;i++)c[i+m]=b[i];
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
20.04.2012, 21:52     Массивы: объединение двух массивов #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <algorithm>
#include <iterator>
 
template <typename T>
void f(T *A, int m, T *B, int n, T *C)
{
    std::merge(&A[0], &A[m], &B[0], &B[n], &C[0]);
    std::copy(&C[0], &C[m+n], std::ostream_iterator<T>(std::cout, " "));
    std::cout<< std::endl;
}
 
int main()
{
    int iA[] = {1, 2, 3, 4, 5}, iB[] = {6, 7, 8, 9}, iC[ (sizeof(iA) + sizeof(iB)) / sizeof(iA[0]) ];
    f(iA, sizeof(iA)/sizeof(iA[0]), iB, sizeof(iB)/sizeof(iB[0]), iC);
    double dA[] = {1.1, 2.2, 3.3, 4.4, 5.5}, dB[] = {6.6, 7.7, 8.8, 9.9}, dC[ (sizeof(dA) + sizeof(dB)) / sizeof(dA[0]) ]; 
    f(dA, sizeof(dA)/sizeof(dA[0]), dB, sizeof(dB)/sizeof(dB[0]), dC);
    char *cA = "abcd", *cB = "efgh", cC[ (sizeof(cA) + sizeof(cB)) / sizeof(cA[0]) ];
    f(cA, sizeof(cA)/sizeof(cA[0]), cB, sizeof(cB)/sizeof(cB[0]), cC);
    return 0;
}
M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
20.04.2012, 22:24  [ТС]     Массивы: объединение двух массивов #5
Нет, динамические еще не проходили

Добавлено через 1 минуту
MrGluck, а мы кроме iostream, math, и conio ничего не проходили, и препод докопается
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
20.04.2012, 22:27     Массивы: объединение двух массивов #6
а у вас в каком классе по этому учебнику занимаются? На уроках информатики?
Можно ссылку на учебник.
Просто, чтоб ясно было, если не на динамические, то на какую тему задача.
M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
20.04.2012, 22:32  [ТС]     Массивы: объединение двух массивов #7
Kuzia domovenok, я в колледже учусь, учебник нам препод отсканированный скинул

Добавлено через 2 минуты
Kuzia domovenok, http://www.ozon.ru/context/detail/id/973084/ такой кажется

 Комментарий модератора 
Запрещено давать ссылки на скачивание программ и книг с файлообменников (рапида, депозит и т.п.) и других сайтов (форумов), если есть возможность их скачать с сайтов фирм-производителей.
Правила форума
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
20.04.2012, 22:51     Массивы: объединение двух массивов #8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include<iostream>
 
int main()
{
    const int m = 5, n = 4;
    int A[m] = {1, 2, 3, 4, 5}, B[n] = {6, 7, 8, 9}, C[m+n];
    for (int i = 0; i < m + n; i++)
    {
        C[i] = (i < m ? A[i] : B[i-n-1]);
        std::cout<< C[i]<< " ";
    }
    return 0;
}

Не по теме:

будете проходить только то, что дает препод - узнаете язык поверхностно

M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
22.04.2012, 02:25  [ТС]     Массивы: объединение двух массивов #9
MrGluck, спасибо, сегодня днем проверю, отпишу
Alonix
22.04.2012, 21:39
  #10

Не по теме:

Но все-таки, мне кажется лучше не использовать в решении лаб, или домашек, сторонние библиотеки (которые не давал препод), ибо:"надпись вырезанная на камне, с большими усилиями, долговечней книги написанной чернилами"

MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
22.04.2012, 22:07     Массивы: объединение двух массивов #11
Цитата Сообщение от Alonix Посмотреть сообщение

Не по теме:

Но все-таки, мне кажется лучше не использовать в решении лаб, или домашек, сторонние библиотеки (которые не давал препод), ибо:"надпись вырезанная на камне, с большими усилиями, долговечней книги написанной чернилами"

Не по теме:

Ибо зная только stdio.h и stdlib.h ты далеко не уедешь. Использовать или нет - зависит от препода. К сожалению, зачастую, они запрещают их использовать, т.к. сами то толком не знают. Но и бывает наоборот, люди прочитают маленький кусок материала, и давай лепить где надо и не надо. Программирование - это в первую очередь самообучение. Для препода надо делать то, что он просит. Для себя - немного по другому.

Alonix
1 / 1 / 0
Регистрация: 15.04.2012
Сообщений: 9
22.04.2012, 22:28     Массивы: объединение двух массивов #12
Цитата Сообщение от MrGluck Посмотреть сообщение

Не по теме:

Ибо зная только stdio.h и stdlib.h ты далеко не уедешь. Использовать или нет - зависит от препода. К сожалению, зачастую, они запрещают их использовать, т.к. сами то толком не знают. Но и бывает наоборот, люди прочитают маленький кусок материала, и давай лепить где надо и не надо. Программирование - это в первую очередь самообучение. Для препода надо делать то, что он просит. Для себя - немного по другому.

Не по теме:

однозначно соглашусь, суть моего выражения вообще в том, что бы он выучил все сам, или с помощью препода, но ни как не просил решения на форуме

M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
22.04.2012, 23:29  [ТС]     Массивы: объединение двух массивов #13
MrGluck, Не работает, ошибки

Добавлено через 2 минуты
Alonix, на глубокое самоизучение нет времени, к концу мая надо сдать 10 задач, а то плохо будет
MrGluck
Ворчун
Эксперт С++
 Аватар для MrGluck
4927 / 2670 / 243
Регистрация: 29.11.2010
Сообщений: 7,429
22.04.2012, 23:49     Массивы: объединение двух массивов #14
Цитата Сообщение от M1LLER Посмотреть сообщение
MrGluck, Не работает, ошибки
Что за ошибки? У меня все нормально работает.
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
23.04.2012, 00:40     Массивы: объединение двух массивов #15
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
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <ctime>
 
 
class array {
public:
    
    array(){
        
        size = 5;
        arr = new int[ size ];
        set_array_rand( size );
    }
    
    array( size_t n ){
        
        size = n;
        arr = new int[ size ];
        set_array_rand( size );
    }
    
    ~array() {
        delete [] arr; 
    }
    
    void set_array_rand( size_t n ) {
        
        
        
        for ( size_t i = 0; i < n; ++i )
            arr[ i ] = rand() % 100 + 1;
    }
    
    size_t get_size() {
        
        return size;
    }
    
    void set_member( int x, size_t i ){
        
        arr[ i ] = x;
    }
    
    int get_member( size_t i ) {
        
        if ( i < size )
            return arr[ i ];
        else
            exeption( "Error of array index", -1 );
    }
    
    void exeption( const char *str, int index ) {
        
        std::cerr << str << std::endl;
        _exit( index );
    }
                    
private:
    
    int *arr;
    size_t size;
};
 
int main (){
    
    srand( time ( NULL ) );
    array x( 3 );
    array y;
    array z( x.get_size() + y.get_size() );
    size_t size = 0;
    
    std::cout << "x array:  ";
    for ( size_t i = 0; i < x.get_size(); ++i ) {
        z.set_member( x.get_member( i ), size );
        std::cout << std::setw( 3 ) << x.get_member( i );
        ++size;
    }
    std::cout << std::endl;
    
    std::cout << "y array:  ";
    for ( size_t i = 0; i < y.get_size(); ++i ) {
        z.set_member( y.get_member( i ), size );
        std::cout << std::setw( 3 ) << y.get_member( i );
        ++size;
    }
    std::cout << std::endl;
    
    std::cout << "z array:  ";
    for ( size_t i = 0; i < z.get_size(); ++i )
        std::cout << std::setw( 3 ) << z.get_member( i );
    std::cout << std::endl;
    
    return 0;
}
M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
23.04.2012, 01:12  [ТС]     Массивы: объединение двух массивов #16
MrGluck, днем скомпиллирую, пришлю тогда что ему не нравится
M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
23.04.2012, 22:08  [ТС]     Массивы: объединение двух массивов #17
MrGluck, вот такие ошибки
Миниатюры
Массивы: объединение двух массивов  
alkagolik
 Аватар для alkagolik
1510 / 616 / 79
Регистрация: 15.07.2011
Сообщений: 3,552
23.04.2012, 22:15     Массивы: объединение двух массивов #18
M1LLER, этот компиль допотопный, смени.
Бесплатные среды (IDE) для программирования на С/С++
Бесплатные среды (IDE) для программирования на С/С++
Kuzia domovenok
 Аватар для Kuzia domovenok
1883 / 1738 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
23.04.2012, 22:20     Массивы: объединение двух массивов #19
извини, но я ржал над твоими кавычками.
это что, твоя первая программа?
Напиши Hello World сначала!!!

выводить следует так
C++
1
std::cout<<"Hello World";
где << ЭТО ДВА ОТДЕЛЬНЫХ ЗНАКА
<
("Меньше")
Прочитай своего Юркина, а ещё Страуструпа и Шилдта с первой страницы, внимательно всё проверяя, выполняя все задания, и проверяя все примеры программ в своём компиляторе
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.04.2012, 22:48     Массивы: объединение двух массивов
Еще ссылки по теме:

Объединение двух массивов C++
C++ Объединение двух массивов
C++ Объединение двух массивов

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

Или воспользуйтесь поиском по форуму:
M1LLER
0 / 0 / 0
Регистрация: 20.04.2012
Сообщений: 10
24.04.2012, 22:48  [ТС]     Массивы: объединение двух массивов #20
alkagolik, Препод сказал пока либо Borland 3.11 либо 5.02

Добавлено через 2 минуты
Kuzia domovenok, нее, вторая, первую я сдал, а кавычки не заметил)

Добавлено через 22 часа 43 минуты
MrGluck, Код поправил, все работает, спасибо огромное =)
Yandex
Объявления
24.04.2012, 22:48     Массивы: объединение двух массивов
Ответ Создать тему
Опции темы

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