1 / 1 / 1
Регистрация: 03.04.2012
Сообщений: 99
|
||||||
1 | ||||||
Копирование массивов03.11.2014, 13:55. Показов 6508. Ответов 10
Метки нет (Все метки)
Реализуйте функцию копирования элементов copy_n из массива источника типа U* в целевой массив типа T*, где T и U произвольные типы, для которых определено преобразование из U в T. На вход функция принимает два указателя и количество элементов, которые необходимо скопировать.
int ints[] = {1, 2, 3, 4}; double doubles[4] = {}; copy_n(doubles, ints, 4); // теперь в массиве doubles содержатся элементы 1.0, 2.0, 3.0 и 4.0 Ну вот что то такое придумал, но в чем то ошибка. Помогите плз
0
|
03.11.2014, 13:55 | |
Ответы с готовыми решениями:
10
Копирование массивов Копирование массивов Копирование массивов Копирование массивов char |
03.11.2014, 14:46 | 2 | |||||
Предлагаю так:
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
03.11.2014, 14:59 | 4 |
0
|
2835 / 1644 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
03.11.2014, 15:07 | 6 |
Во-первых, он в cstddef. Во-вторых, в глобальной он может быть, как и всё остальное сишное, но не обязан.
0
|
al_ryaz
|
|
08.11.2014, 10:01 | 7 |
Реализация правильная, только перепутано что откуда копировать. Условие сформулировано немного запутанно, но пример должен помочь
|
2 / 2 / 0
Регистрация: 01.04.2017
Сообщений: 29
|
|
18.08.2017, 18:07 | 8 |
#include "stdafx.h"
#include <iostream> #include <conio.h> using namespace std; template <class U, class T> void copy_n(T* mass1, U* mass2, size_t e) { for (int q = 0; q != e; q++) mass1[e] = (T)mass2[e]; } int main() { int ints[] = { 1, 2, 3, 4 }; double doubles[4] = {}; copy_n(doubles, ints, 4); for (int t = 0; t != 4; t++) std::cout << doubles[t]; return 0; } Я прохожу онлайн курс программирования. Почему у них это компилируется и выдает неверный ответ, а у меня в вижуал студио не компилируется? Добавлено через 15 секунд #include "stdafx.h" #include <iostream> #include <conio.h> using namespace std; template <class U, class T> void copy_n(T* mass1, U* mass2, size_t e) { for (int q = 0; q != e; q++) mass1[e] = (T)mass2[e]; } int main() { int ints[] = { 1, 2, 3, 4 }; double doubles[4] = {}; copy_n(doubles, ints, 4); for (int t = 0; t != 4; t++) std::cout << doubles[t]; return 0; } Я прохожу онлайн курс программирования. Почему у них это компилируется и выдает неверный ответ, а у меня в вижуал студио не компилируется?
0
|
Любитель чаепитий
|
|
18.08.2017, 19:39 | 10 |
using namespace std; наконец-то сделал своё грязное дело. http://en.cppreference.com/w/cpp/algorithm/copy_n
0
|
2 / 2 / 0
Регистрация: 12.05.2020
Сообщений: 4
|
|
22.05.2020, 23:55 | 11 |
А я предлагаю вот так:
#include <cstddef> #include <iostream> template <class U, class T> void copy_n(T* mass1, U* mass2, size_t e) { for (int q = 0; q != e; q++) mass1[q] = (T)mass2[q]; }
0
|
22.05.2020, 23:55 | |
22.05.2020, 23:55 | |
Помогаю со студенческими работами здесь
11
Копирование текстовых массивов Копирование символьных массивов Быстрое копирование массивов с условиями Копирование двумерных динамических массивов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |