|
1 / 1 / 1
Регистрация: 03.04.2012
Сообщений: 99
|
||||||
Копирование массивов03.11.2014, 13:55. Показов 6913. Ответов 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
Копирование массивов Копирование массивов
|
|
|
||||||
| 03.11.2014, 14:46 | ||||||
|
Предлагаю так:
0
|
||||||
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 03.11.2014, 14:59 | |
|
0
|
|
|
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
|
|
| 03.11.2014, 15:07 | |
|
Во-первых, он в cstddef. Во-вторых, в глобальной он может быть, как и всё остальное сишное, но не обязан.
0
|
|
|
al_ryaz
|
|
| 08.11.2014, 10:01 | |
|
Реализация правильная, только перепутано что откуда копировать. Условие сформулировано немного запутанно, но пример должен помочь
|
|
|
2 / 2 / 0
Регистрация: 01.04.2017
Сообщений: 30
|
|
| 18.08.2017, 18:07 | |
|
#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
|
|
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
||||||||
| 18.08.2017, 19:26 | ||||||||
|
Добавлено через 8 минут
0
|
||||||||
|
Любитель чаепитий
|
||
| 18.08.2017, 19:39 | ||
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 | |
|
А я предлагаю вот так:
#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 | |
|
Помогаю со студенческими работами здесь
11
Копирование массивов char
Копирование символьных массивов Быстрое копирование массивов с условиями
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|