Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Двумерный массив с сортировкой методом выбора https://www.cyberforum.ru/ cpp-beginners/ thread892817.html
Дан массив из N целых чисел. Получить из него массив чисел больших 15 и отсортировать его по возрастанию методом выбора (ошибочка, массив одномерный)
Одномерный массив. Найти наибольший элемент массива и поменять его местами с наименьшим элементом C++
Дан массив из N чисел. Найти наибольший элемент массива и поменять его местами с наименьшим элементом.
C++ Опишите структуру worker Опишите структуру worker (фамилия и инициалы работника, должность, год поступления ни работу, отдел, зарплата). Введите с клавиатуры данные в мас- сив, состоящий из пяти элементов типа worker. Выведите на экран информацию о работниках зарплата, у которых не ниже введенного с клавиатуры числа. Если такого работника нет, то программа должна выдать соответствующее сообщение на экран. Помогите... https://www.cyberforum.ru/ cpp-beginners/ thread892812.html C++ Если в среднем каждые 2 года увеличивать урожайность на 5% , то через сколько лет она превысит К центнеров с гектара (МАССИВ!) https://www.cyberforum.ru/ cpp-beginners/ thread892811.html
В этом году урожай пшеницы составил Р центнер с гектара. Если в среднем каждые 2 года увеличивать урожайность на 5% , то через сколько лет она превысит К центнеров с гектара
C++ Удаление из массива
Ребят помогите с задачкой. Удалить из массива элемент, расположенный перед первым элементом с максимальным значением и элемент после первого элемента с минимальным значением. Если удаление элементов невозможно, выдать об этом сообщение. Прошу решите эту задачку. Только не очень мудрёно я на 1 курсе))) Зарание спасибо.
C++ Одномерный массив. Все отрицательные среди них числа возвести в квадрат, найти их сумму и количество https://www.cyberforum.ru/ cpp-beginners/ thread892803.html
Дана последовательность из М чисел. Все отрицательные среди них числа возвести в квадрат, найти их сумму и количество
C++ Вывести на печать первый отрицательный элемент массива и его порядковый номер https://www.cyberforum.ru/ cpp-beginners/ thread892787.html
1. Дан массив чисел B. Вывести на печать первый отрицательный элемент массива и его порядковый номер.
C++ Элементы массива по убыванию модулей упорядочить методом выбора!
Дан целочисленный массив A(n) с элементами, сгенерированными случайными числами в диапазоне (-20, 20). Требуется: Упорядочить методом выбора элементы массива по убыванию модулей. есть на паскале эа прога, на С++ надо написать сейчас.. Var a: Array of Integer; i,j,n,c,c2: Integer; BEGIN Randomize; Write('Введитекол-воэлементов: '); Readln(n); Writeln('Случайныймассив:'); For i:=1 to n do
C++ Пожалуйста, исправьте ошибку https://www.cyberforum.ru/ cpp-beginners/ thread892777.html
Не работает функция удаления, кому не сложно исправьте пожалуйста. #include <iostream> #include <stdio.h> #include <stdlib.h> #include <conio.h> #include <Windows.h> using namespace std;
C++ Решение задачи Нужна помощь в решении задачи. Прошу помочь надеюсь в вашей поддержке:( прошу решить задачу https://www.cyberforum.ru/ cpp-beginners/ thread892770.html
полученые значения формулы разместить в массив C++
Задание: Задано множество точек на плоскости. Найти среднее расстояние между точками. массивом. имеется свободная строка массива в которую хочу поместить полученые значения. три строки выделил под координаты X, Y, Z https://www.cyberforum.ru/attachment.php?attachmentid=278499&stc=1&d=1370461195 как произвести расчет и поместить данные в ячейки массива?
C++ Метод непосредственной развёртки double f(double x) { return (2.1-x)*(2.6-x)*(3.1-x)+(2*1.1*1.1)-(3.1-x)-1.1*1.1*(2.1-x)-1.1*1.1*(2.6-x); // ф-я, корни которой мы ищем } // a, b - пределы хорды, eps - необходимая погрешность double hord(double a,double b,double eps) // нахождение корней методом хорд { while(fabs(b - a) > eps) { https://www.cyberforum.ru/ cpp-beginners/ thread892768.html
Форумчанин
Эксперт CЭксперт С++
8216 / 5046 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
06.06.2013, 01:04 0

Перегрузка () - C++ - Ответ 4677781

06.06.2013, 01:04. Показов 880. Ответов 14
Метки (Все метки)

Ответ

Я просто положу это сюда.
Matrix.h
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#ifndef _MATRIX_H_
#define _MATRIX_H_
#include <iostream>
#include <vector>
#include <cstddef>
#include <stdexcept>
 
 
template <typename T>
class Matrix
{
    public:
        // синонимы
        typedef std::vector<T> vec_T;
        typedef typename vec_T::iterator vec_T_it;
        typedef typename vec_T::const_iterator vec_T_cit;
        typedef std::vector< vec_T > vec_v;
        typedef typename vec_v::iterator vec_v_it;
        typedef typename vec_v::const_iterator vec_v_cit;
 
        // конструкторы
        Matrix();
        Matrix(const size_t);
 
        // set-методы
        void setSize(const size_t);
        void setMatrix(const vec_v &);
 
        // get-методы
        size_t getSize() const;
        const vec_v& getMatrix() const;
 
        // опреаторы обращения
        T operator() (size_t index1, size_t index2);
        const T operator() (size_t index1, size_t index2) const;
 
        template <typename U>
        friend std::ostream & operator<< (std::ostream &, const Matrix<U> &);
        template <typename U>
        friend std::istream & operator>> (std::istream &, Matrix<U> &);
 
    private:
        vec_v matr; // матрица
        size_t N;   // размер
};
 
template <typename T>
Matrix<T>::Matrix() : matr(), N(0)
{}
 
template <typename T>
Matrix<T>::Matrix(const size_t size) : matr(size), N(size)
{}
 
template <typename T>
void Matrix<T>::setSize(const size_t size)
{
    N = size;
}
 
template <typename T>
void Matrix<T>::setMatrix(const vec_v& v)
{
    matr = v;
}
 
template <typename T>
size_t Matrix<T>::getSize() const
{
    return N;
}
 
template <typename T>
const std::vector<std::vector<T> >& Matrix<T>::getMatrix() const
{
    return matr;
}
 
template <typename T>
T Matrix<T>::operator() (size_t index1, size_t index2)
{
    if (index1 >= N || index2 >= N)
        throw std::out_of_range("Matrix subscript out of range");
    return matr[index1][index2];
}
 
template <typename T>
const T Matrix<T>::operator() (size_t index1, size_t index2) const
{
    if (index1 >= N || index2 >= N)
        throw std::out_of_range("Matrix subscript out of range");
    return matr[index1][index2];
}
 
 
// перегружаем оператор вывода, функция принимает в качестве параметров ссылку
// на ostream и константную ссылку на объект Matrix
template <typename T>
std::ostream & operator<< (std::ostream &out, const Matrix<T>& m)
{
    typedef std::vector<T> vec_T;
    typedef typename vec_T::const_iterator vec_T_cit;
    typedef std::vector< vec_T > vec_v;
    typedef typename vec_v::const_iterator vec_v_cit;
 
    for (vec_v_cit cit = m.matr.begin();
        cit != m.matr.begin() + m.N && cit != m.matr.end(); ++cit)
    {
        for (vec_T_cit cit2 = cit->begin();
            cit2 != cit->begin() + m.N && cit2 != cit->end(); ++cit2)
        {
            std::cout << *cit2 << ' ';
        }
        std::cout << std::endl;
    }
    return out; // возвращаем сформированный поток
}
 
// перегружаем оператор вывода, функция принимает в качестве параметров ссылку
// на istream и ссылку на объект Matrix
template <typename T>
std::istream & operator>> (std::istream &ist, Matrix<T>& m)
{
    if (m.N != 0)
    {
        typedef std::vector<T> vec_T;
 
        m.matr.clear();
        for (size_t i=0; i < m.N; i++)
        {
            vec_T vi; // строка матрицы
            T tmp;    // временная переменная
            for (size_t j=0; j < m.N && ist >> tmp; j++)
                vi.push_back(tmp);
            if (vi.size() != m.N)
                throw std::range_error("Bad size given");
 
            m.matr.push_back(vi); // добавляем строку в вектор
        }
 
        if (m.matr.size() != m.N)
            throw std::range_error("Bad size given");
    }
 
    return ist;
}
 
#endif


Вернуться к обсуждению:
Перегрузка () C++
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2013, 01:04
Готовые ответы и решения:

Перегрузка в виде метода VS Перегрузка в виде функции друг
Привет! Собственно сабж: В каких случаях используется перегрузка в виде метода, а когда в виде...

Множественное наследование, Перегрузка функций, Перегрузка операторов, Использование дружественных функций и классов, Использование шаблонов классов
Здравствуйте!!! Я бы хотел попросить помоч решить...ну или скинуть примеры таких задач, если вдруг...

Перегрузка
даны две перегрузки: 1. постфиксная для ++ чтобы прибавить 1 к height и к width Rectang &amp;...

перегрузка в с++
Помогите нужно очень срочно!недавно писал о перегрузке есть перегрузка постфиксного инкремента ...

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

перегрузка <<, >>, []
правильно ли я перегрузил &gt;&gt;, &lt;&lt;, !?? у меня такое ощущение что неправильно, если всатвил...

Перегрузка >>
Перегрузила оператор в соответствии с примером в документации std::istream &amp;operator&gt;&gt;...

перегрузка
а чем отличаются перегрузка как метод и как функция?

Перегрузка <<
Почему не работает этот код? Должно быть выведено &quot;ABCDE&quot;. #include &lt;iostream&gt; #include...

Перегрузка
ребята помогите сделать тут перегрузку очень нужно :) #include &quot;stdafx.h&quot; #include &lt;iostream&gt;...

Перегрузка ~
Все привет. Есть класс в котором перегружен оператор тильда,он должен возвращать значение...

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