Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2010, 18:46   #1
ATAMAN200
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 41
Вопрос Копирование массивов

Надо скопировать массив
Код:
int bbb[] = {645,998,333}
в массив
Код:
int aaa[] = {4,2,6}
вот код
Код:
#include "stdafx.h" 
#include <iostream>
#include "conio.h" 
#include "string.h" 
using namespace std;
int aaa[] = {4,2,6}, bbb[] = {645,998,333}, c;
int main()
{
memmove(aaa, bbb, sizeof(aaa));
	for(aaa[c]; c < sizeof(aaa)/sizeof(*aaa); c++)
	{
cout << aaa[c] << endl;
	}
getch();
}
когда происходит копирование то значения массива bbb перезаписывает значения массива aaa.
Как добавить значения массива bbb к массиву aaa не терея данныи в aaa
ATAMAN200 вне форума Ответить с цитированием
Старый 24.10.2010, 18:48   #2
Xeonc
Форумчанин
 
Регистрация: 20.10.2010
Сообщений: 143
По умолчанию

Объявить массив А на 6 элементов, чтобы поместилось 3 своих, и 3 из элемента б. По другому, по идее, никак
451 -870-7(три)6. Выполняю работы на заказ, гарант честности - ВМ аттестат с 60+ БЛ без претензий
Xeonc вне форума Ответить с цитированием
Старый 24.10.2010, 19:30   #3
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

ему 1 в другой нужно скопировать. можешь использовать memcpy, только зарание нужно узнать размер массива, вариант деления через sizeof неочень безопастный, есть более умный метод..

выглядет как-то так
Код:
template<typename T> 
inline int arrlen(T *arr)
{
    return static_cast<int>(_msize(arr)/sizeof(T));
}
elja_1989 вне форума Ответить с цитированием
Старый 24.10.2010, 19:47   #4
ATAMAN200
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 41
Печаль

Цитата:
Сообщение от elja_1989 Посмотреть сообщение
ему 1 в другой нужно скопировать. можешь использовать memcpy, только зарание нужно узнать размер массива, вариант деления через sizeof неочень безопастный, есть более умный метод..

выглядет как-то так
Код:
template<typename T> 
inline int arrlen(T *arr)
{
    return static_cast<int>(_msize(arr)/sizeof(T));
}
очень интересный пример но я начинающий и кроме int и sizeof(T)) я не чего не пойму
может есть какая небудь функция
ATAMAN200 вне форума Ответить с цитированием
Старый 24.10.2010, 19:53   #5
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

взял и радуйся, чего тебе париться.. прочитай про преведения типов в C++, если не знаешь про cast
elja_1989 вне форума Ответить с цитированием
Старый 24.10.2010, 19:54   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
может есть какая небудь функция
Сказали же memcpy. В Хелпе даже пример есть.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.10.2010, 20:03   #7
ATAMAN200
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Сказали же memcpy. В Хелпе даже пример есть.
memcpy тоже так же работает как memmove а в начале блога я написал

"когда происходит копирование то значения массива bbb перезаписывает значения массива aaa.
Как добавить значения массива bbb к массиву aaa не терея данныи в aaa"
ATAMAN200 вне форума Ответить с цитированием
Старый 24.10.2010, 20:43   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Цитата:
Как добавить значения массива bbb к массиву aaa не терея данныи в aaa"
Ответ во втором посте или юзать вектора.
p51x вне форума Ответить с цитированием
Старый 24.10.2010, 20:48   #9
elja_1989
Пользователь
 
Регистрация: 16.03.2010
Сообщений: 58
По умолчанию

добавить не скопировать, лол!

memcat вроде есть, но массив должен быть заведомо больше..
можешь как во втором после.. выделяешь отдельный массив, потом а туда копаешь, потом б, только уже со смещение а
elja_1989 вне форума Ответить с цитированием
Старый 24.10.2010, 20:52   #10
ATAMAN200
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от elja_1989 Посмотреть сообщение
добавить не скопировать, лол!

memcat вроде есть, но массив должен быть заведомо больше..
можешь как во втором после.. выделяешь отдельный массив, потом а туда копаешь, потом б, только уже со смещение а
не извращайся над русским языкам извращениц.
Надо писать не лол а лох но если ты не умееш выговаривать слова то иди к логопеду.
ATAMAN200 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
сортировка массивов Veronik@ Общие вопросы C/C++ 9 24.10.2010 14:46
Суммирование массивов om3n Паскаль, Turbo Pascal, PascalABC.NET 5 16.09.2010 21:28
класс массивов 1mposs1ble Общие вопросы C/C++ 0 04.04.2010 23:53
О сортировке массивов в C++ Frame1992 Помощь студентам 6 28.10.2009 16:50