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

Скопировать массив а в начало массива b - C++

Восстановить пароль Регистрация
 
Monika23
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
21.11.2013, 13:10     Скопировать массив а в начало массива b #1
Помогите доделать программу, пожалуйста. Нужно скопировать массив а в начало массива b. Предположите, что float a[11],b[34].
Вот что у меня получилось:

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
#include <iostream>
#include <cstring>
using namespace std;
 
void main() 
{
    double a[11] = { 2.l, 5.1, 5.9, 3.7, 2.7, 66.7, 43.4, 33.4, 1.2, 1.4, 57.3 };
    double b[34] = { 1.2, 6.8, 7.0, 5.3, 3.5, 5.2, 24.1, 35.3, 65.4, 2.3, 43.2, 23.2,
    24.1, 24.6, 6.9, 1.9, 6.6, 76.3, 5.3, 3.4, 5.3, 3.3, 3.4, 7.5, 8.6, 9.8, 8.3, 6.4,
    7.4, 4.2, 2.4, 1.5, 8.4, 4.2 };
    double c[45];
    int i;
 
    cout << "Element\narray a     " << "Value" << endl;
 
    // Вывод содержимого массива a
    cout.setf (ios::right);
 
    for ( i = 0; i < 11; i++) {
        cout.width(8);
        cout << i;
        cout.width(10);
        cout << a[i] << endl; }
 
    cout << "Element\narray b     " << "Value" << endl;
 
    // Вывод содержимого массива b
    cout.setf (ios::right);
 
    for ( i = 0; i < 34; i++) {
        cout.width(8);
        cout << i;
        cout.width(10);
        cout << b[i] << endl; }
    
    cout << "Element\narray c    " << "Value" << endl;
    
    // Вывод содержимого массива b
    cout.setf (ios::right);
 
    for ( i = 0; i < 45; i++) {
        cout.width(8);
        cout << i;
        cout.width(20);
        cout << b[i] << endl; }
    
    memcpy(b, a, sizeof(b));
 
}
Но он копирует в конец, а не в начало. Как сделать чтоб копировал в начало? И результат всех трех массивов был таблицей, а не друг
под другом?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2013, 13:10     Скопировать массив а в начало массива b
Посмотрите здесь:

Отрицательные элементы массива А(N) переставить в начало массива и расположить их в порядке возрастания C++
одномерный массив. Все его элементы, не равные нулю, переписать, сохраняя их порядок в начало массива, а нулевые элементы в конец массива in c++ C++
Как скопировать символ из символьного массива в другой массив C++
C++ Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные
Дан одномерный массив А, состоящий из N элементов. Перенести в начало массива все четные элементы, а в конец массива - все нечетные C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
21.11.2013, 13:11     Скопировать массив а в начало массива b #2
Monika23, попробуй просто взять третий массив и записать туда сперва а, потом б.
Monika23
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
21.11.2013, 13:13  [ТС]     Скопировать массив а в начало массива b #3
Я сначала так хотела сделать, но у меня не получилось, не знаю как. Смогла только так)))
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
21.11.2013, 13:27     Скопировать массив а в начало массива b #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
void main()
{
input();//ввод массивов мне лень писать
for (int i=0; i<n+m; i++)//n это размер а[] m размер b
{
if (i<n) 
{c[i]=a[i];}
else
{c[i]=b[i-n];}
}
output();//вывод тоже лень
}
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,308
21.11.2013, 13:33     Скопировать массив а в начало массива b #5
К чему усложнять? Копирование делается одной строчкой:
C++
1
memcpy(b, a, sizeof(a));
Вуаля.
Monika23
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
21.11.2013, 13:36  [ТС]     Скопировать массив а в начало массива b #6
Ну да одной строчкой, только вот копирует в конец, а не в начало!!!
Angeline
36 / 30 / 2
Регистрация: 21.10.2013
Сообщений: 197
21.11.2013, 13:43     Скопировать массив а в начало массива b #7
Monika23, а копируй не а в б, а б в а
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 13:51     Скопировать массив а в начало массива b
Еще ссылки по теме:

C++ Поместить элементы массива M в начало массива B в обратном порядке
C++ Напишите программу, которая выполняет неполную сортировку массива: ставит в начало массива три самых меньших
C++ Как скопировать одну половину массива (количество элементов массива четноё) в другую?

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

Или воспользуйтесь поиском по форуму:
Monika23
0 / 0 / 0
Регистрация: 13.05.2013
Сообщений: 20
21.11.2013, 13:51  [ТС]     Скопировать массив а в начало массива b #8
Я переставляла а и b местами и по всякому, все равно копирует в конец
Yandex
Объявления
21.11.2013, 13:51     Скопировать массив а в начало массива b
Ответ Создать тему
Опции темы

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