Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/125: Рейтинг темы: голосов - 125, средняя оценка - 4.73
2 / 2 / 0
Регистрация: 07.06.2016
Сообщений: 63
1

Скопировать один массив в другой, используя указатели

28.09.2016, 19:56. Показов 24598. Ответов 3
Метки нет (Все метки)

всем привет. простейшая задачка на копирование массива при помощи указателей. все работает, но хочу, чтобы массив рисовался в ряд. а компилятор мне выдает каждый его элемент с новой строки. подскажите пожалуйста что я не учел?

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
/*Используя два указателя на массив целых чисел, скопировать один массив в другой. 
Использовать в программе арифметику указателей для продвижения по массиву, а также оператор разыменования.*/
 
#include <iostream>
using namespace std;
 
void main ()
{
    const int size = 10;
    int arr1 [size] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
    int arr2 [size];
    int *ptr_arr1 = arr1;
    int *ptr_arr2 = arr2;
    
    cout << "{ ";
    for (int i = 0; i < size; i++)
    {
        ptr_arr2 = ptr_arr1;
        cout << *ptr_arr2 << " " << endl;
        ptr_arr1++;
        ptr_arr2++;
    }
    cout << "}\n\n";
 
    system ("PAUSE");
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2016, 19:56
Ответы с готовыми решениями:

Скопировать все отрицательные числа из массива A в массив B, в обратном порядке используя указатели
Скопировать все отрицательные числа из массива A в массив B, в обратном порядке используя...

Скопировать один динамический массив в другой
Доброго времени суток. int *Array = new int; int *B_Array = new int; Первый массив я наполняю...

Скопировать один символьный массив в другой
Привет всем, многоуважаемые пользователи не могу сделать программу. Нам даны два массива s1 и s2...

Как скопировать один массив в другой
как присвоить один массив другому без перебора

3
59 / 59 / 53
Регистрация: 05.05.2013
Сообщений: 150
28.09.2016, 20:13 2
Цитата Сообщение от Техник228 Посмотреть сообщение
C++
1
cout << *ptr_arr2 << " " << endl;
а нужно так:
C++
1
cout << *ptr_arr2 << " ";
0
426 / 257 / 169
Регистрация: 06.06.2016
Сообщений: 509
28.09.2016, 20:33 3
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
#include <iostream>
using namespace std;
//---------------------------------------------------------------
void show_array( int arr[], const size_t &arr_size )
{
    int *arr_end = arr + arr_size;
    cout << "{ ";
        while( arr != arr_end )
           cout << *arr++ << " ";
    cout << "}\n";
}
//---------------------------------------------------------------
int main ()
{
    const int size = 10;
    int arr1 [size] = { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 };
    int arr2 [size] = { 0, 0, 0, 0, 0,  0,  0,  0,  0,  0 };
 
    show_array( arr1, size );
    show_array( arr2, size );
 
    int *ptr_arr1 = arr1;
    int *ptr_arr2 = arr2;
    int *arr_end = ptr_arr1 + size;
           for( ; ptr_arr1 != arr_end; ++ptr_arr1, ++ptr_arr2 )
             *ptr_arr2 = *ptr_arr1;
 
    show_array( arr1, size );
    show_array( arr2, size );
 
    system ("PAUSE");
    return 0;
}
0
0 / 0 / 0
Регистрация: 15.10.2021
Сообщений: 2
15.10.2021, 17:19 4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
 
int main()
{
    const int arrSize{ 10 };
    int arr1[arrSize]{ 1,2,3,4,5,5,4,3,2,1 };
    int arr2[arrSize]{};
 
    int* ptr1{ arr1 };
    int* ptr2{ arr2 };
 
    int* end{ arr1 + arrSize };
 
    for (;ptr1 != end; ptr1++, ptr2++)
    {
        *ptr2 = *ptr1;
 
        std::cout << *ptr2 << ' ';
    }
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.10.2021, 17:19

Скопировать один массив char в другой
у меня двухмерный символьный и одномерный массивы символов. Что в общем то мне нужно. После...

Как один массив скопировать в другой однотипный массив?
Всем здравствуйте. Есть два однородных массива. Второй не длиннее первого. Второй массив...

Скопировать один массив в другой с помощью разных операоров циклов
написать программу для массива int a={1,2,3,4,5,6,7,8,9,0},b{20} char s1=&quot;zdes text&quot;,s2; а...

Скопировать из исходного вектора положительные элементы в один массив, а отрицательные - в другой
Переписать отдельно в разные массивы положительные и отрицательные элементы вектора.


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru