Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Аналог pygame для C++ Начал изучать C++ и захотелось реальной практики. Не могу определиться с библиотекой. Мне нужен аналог pygame из python, более мощных библиотек мне не хочется - уже наигрался в mad games tycoon. (Велосипеды на SDL писать не хочется + уроков по нему мало.) https://www.cyberforum.ru/ cpp-beginners/ thread2024496.html Проверить являются ли слова синонимами C++
Два слова называются синонимами друг друга, если они имеют похожие значения. Реализуйте следующие операции над словарём синонимов: ADD word1 word2 — добавить в словарь пару синонимов (word1, word2). COUNT word — узнать количество синонимов слова word. CHECK word1 word2 — проверить, являются ли слова word1 и word2 синонимами. Слова word1 и word2 считаются синонимами, если среди запросов ADD был...
C++ Поиск лексикографически минимальной строки https://www.cyberforum.ru/ cpp-beginners/ thread2024427.html
Условия задания: В стандартном потоке даны три строки, разделённые пробелом. Каждая строка состоит из строчных латинских букв и имеет длину не более 30 символов. Выведите в стандартный вывод лексикографически минимальную из них. Мой вариант: #include <iostream> #include <string> #include <vector> #include <algorithm> using namespace std;
C++ Long hex > dec Никак не могу понять, как перевести большое 16-ричное в 10-ричное число. Вся суть заключается в том, что пользователь вводит в программу данные (к примеру, 0FfaFFd6014), далее эти данные переводятся в 10х и в свою очередь обрабатываются программой. Кто-нибудь уже решал эту проблему? Буду очень благодарен за предоставленные ответы с: https://www.cyberforum.ru/ cpp-beginners/ thread2024426.html
C++ Ссылка на неразрешенный символ. OpenGL/VS2017
Спустя два дня мой прогресс в "Изучении" OpenGL дошел до того ,что я смог хотя бы запускать готовые исходные коды без ошибок, однако рано радоваться. Я начал изучение этой "Прекрасной" технологии с одной книги, записав код первого проекта натолкнулся на такие проблемы как: Ошибка (активно) E0167 аргумент типа "const char *" несовместим с параметром типа "LPCWSTR" это пр попытке вызова...
C++ Подключение новой библиотеки Здравствуйте. Помогите разобраться, пожалуйста, как установить библиотеку <bits/stdc++.h> для Visual Studio? Она содержит в себе кучу штучек (https://gist.github.com/eduarc/6022880). Просто хочется не прописывать их каждый раз https://www.cyberforum.ru/ cpp-beginners/ thread2024406.html
C++ Не отправляется post запрос https://www.cyberforum.ru/ cpp-beginners/ thread2024391.html
не отправляется post запрос снифер не видет что запрос отправляется на http вот сам запрос char f; char postRequest; std::ostringstream stream; stream << GetHWID(); std::string hwidstr = stream.str(); sprintf(postRequest, "in=%s", hwidstr.c_str());
C++ Ошибка после перегрузки оператора +
Здравствуйте, решил для себя попробовать перегрузить оператор + в классе. Вроде все хорошо работает и результат при складывании нескольких экземпляров класса выдает правильный результат, но вместе с результатом появляется какая-то ошибка связанная, вроде, с памятью в куче. Вот моя программка: #include "stdafx.h" #include <iostream> using namespace std; class String {
C++ Вычислить значение функции разложением в ряд Тейлора https://www.cyberforum.ru/ cpp-beginners/ thread2024329.html
Дано действительное число x. Вычислить значение y с помощью стандартной функции и с помощью ряда с точностью 0,0001: #include <iostream> #include <cmath> #define Epsilon 0.0001 class Cosx { float x; float y; float a;
C++ Найти ошибку в коде int i = 0, counter; float sum = 0, grade, quality; cout << "Inter a number of pupils: "; cin >> counter; if (counter > 0) { for (;;) { https://www.cyberforum.ru/ cpp-beginners/ thread2024296.html
Вывести те элементы, которые встречаются в массиве только один раз C++
Привет всем. Изучаю c++, ломаю уже 1 день голову над данной задачей: Дан массив. Выведите те его элементы, которые встречаются в массиве только один раз. Элементы нужно выводить в том порядке, в котором они встречаются в списке. Сделал идею такую: если элемент встречается 1 раз - то вывести его. НО, почему то, выводятся все элементы, день ломаю голову, не могу найти ошибку... код: ...
C++ Заполнение списка инициализации для трёхмерного массива https://www.cyberforum.ru/ cpp-beginners/ thread2024273.html
Здравствуйте как правильно инициализировать и заполнить статический трёх мерный массив? с двух мерным всё ясно и просто int stock ={ {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,}, ...
3 / 3 / 1
Регистрация: 01.12.2016
Сообщений: 19
0

Stepik.org Программирование на языке C++ Шаблоны функций - C++ - Ответ 10667209

05.08.2017, 23:30. Показов 3160. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, уже который день не могу сделать программу.

Шаблонный класс Array может хранить объекты любого типа, для которого определён конструктор копирования, в том числе и другой Array, например, Array< Array<int> >. Глубина вложенности может быть произвольной. Напишите шаблонную функцию (или несколько) flatten, которая принимает на вход такой "многомерный" Array неизвестной заранее глубины вложенности и выводит в поток out через пробел все элементы, хранящиеся на самом нижнем уровне. Примеры работы функции flatten:

C++
1
2
3
4
5
6
7
8
Array<int> ints(2, 0);
ints[0] = 10;
ints[1] = 20;
flatten(ints, std::cout); // выводит на экран строку "10 20"
Array< Array<int> > array_of_ints(2, ints);
flatten(array_of_ints, std::cout); // выводит на экран строку "10 20 10 20"
Array<double> doubles(10, 0.0);
flatten(doubles, std::cout); // работать должно не только для типа int
Note: лидирующие и завершающие пробельные символы будут игнорироваться проверяющей системой, т. е. там где ожидается "10 20" будет так же принят, например, вариант " 10 20 ", но не вывод "1020".

Hint: шаблонные функции тоже можно перегружать, из нескольких шаблонных функций будет выбрана наиболее специфичная.

Sample Input:
There are no tests for this task

Sample Output:
OK


Мой код:
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
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <cstddef>
 
template <typename T>
class Array
{
 
public:
    explicit Array(size_t size = 0, const T& value = T()) : size_(size), data_(new T[size]) {
        for (size_t i = 0; i != size_; ++i){
            data_[i] = value;
        }
    }
    Array(const Array & obj) : size_(obj.size_), data_(new T[obj.size_]) {
        for (size_t i = 0; i != size_; ++i){
            data_[i] = obj.data_[i];
        }
    }
    Array& operator=(const Array & obj){
        if (this != &obj) {
            delete [] data_;
            size_ = obj.size_;
            data_ = new T[size_];
            for (size_t i = 0; i != size_; ++i) {
                data_[i] = obj.data_[i];
            }
        }
        return *this;
    }
 
    size_t size() const {
        return size_;
    }
    T& operator[](size_t i) {
        return data_[i];
    }
    const T& operator[](size_t i) const {
        return data_[i];
    }
    ~Array() {
        delete[] data_;
    }
 
private :
    size_t size_ ;
    T * data_ ;
};
 
template <typename Type>
void flatten(const Array<Type>& array, std::ostream& out)
{
    for (size_t i=0; i != array.size(); ++i){
        out << array[i] << " ";
    }
}
template <typename Type>
void flatten(const Array< Array<Type> >& array, std::ostream& out)
{
    for (size_t i=0; i != array.size(); ++i){
        flatten(array[i], out);
    }
}
Выдает такую ошибку:
Compilation error
main.cpp:68:7: error: redefinition of 'class Array<T>'
class Array
^
main.cpp:5:7: error: previous definition of 'class Array<T>'
class Array
^

Вернуться к обсуждению:
Stepik.org Программирование на языке C++ Шаблоны функций C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.08.2017, 23:30
Готовые ответы и решения:

Шаблоны функций 9 Step stepik.org Программирование на языке C++
Помогите пожалуйста, уже который день не могу сделать программу. Шаблонный класс Array может...

Программирование на языке C++ Шаблоны функций
Помогите пожалуйста В первом уроке вы реализовали простой шаблон ValueHolder, в этом задании мы...

Перегрузка функций, шаблоны функций Функция определения объемов: шара по его радиусу
Перегрузка функций, шаблоны функций Функция определения объемов: шара по его радиусу (V=4/3пиR2),...

Stepic.org. Программирование на С++. Многомерные массивы. Step 9. Задача
Помогите понять суть задачи. Т.е. на вход подается массив 1-я строка, которого содержит...

3
05.08.2017, 23:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.08.2017, 23:30
Помогаю со студенческими работами здесь

Программирование функций, Программирование процедур, рекурсивную подпрограммa
1 (Программирование функций) Вычислить площадь правильного шестиугольника со стороной a, используя...

Программирование функций. Сделать решение задачи с использованием функций или процедур VBA excel
1. Заданы матрицы С(4,4) и D(3,3). Определить индексы макси- мального элемента каждой из матриц...

Шаблоны классов в языке с++.Нужна доступная информация.
Нужна информация о шаблонах классов в языке с++,что с чем едят,в доступной форме для...

Шаблоны функций
В общем сделал проэкт по шаблонам... но почемуто он не компилируется... как я понял то не видит СРР...

Шаблоны функций
не совсем понимаю, как работают шаблоны функций , в учебнике только дан пример и не объяснено ниче(...

Шаблоны функций
Путем перестановки элементов квадратной натуральной матрицы добиться того, чтобы ее максимальный...

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