Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
monk1992
0 / 0 / 0
Регистрация: 03.12.2012
Сообщений: 9
#1

Шаблоны классов. Обработка исключительных ситуаций - C++

04.12.2012, 21:32. Просмотров 240. Ответов 0
Метки нет (Все метки)

вот прога Составить описание класса для определения одномерных массивов целых чисел (векторов). Предусмотреть возможность обращения к отдельному элементу массива с контролем выхода за пределы массива, возможность предоставления произвольных границ индексов при создании объекта, возможность выполнения операций поэлементного сложения и вычитания массивов с одинаковыми пределами индексов, умножения и деления всех элементов массива на скаляр, вывода на экран элемента массива по заданному индексу, вывода на экран всего массива.
Написать программу, демонстрирующую работу с этим классом.
код
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
#include "stdafx.h"
#include <iostream>
using namespace std;
 
class Vector
{
    friend Vector operator+(const Vector& lv, const Vector& rv);
private:
    int* data;
    int minI;
    int maxI;
    int lengths;
public:
    Vector(int minIndex, int maxIndex);
    Vector(int len);
    ~Vector();
    int Get(int index);
    int SetValue(int index, int value);
    void Show();
    void Div(int el);
    void Mul(int el);
};
 
Vector operator+(const Vector& lv, const Vector& rv)
{
 
    if (lv.maxI == rv.maxI && lv.minI == rv.minI)
    {
        Vector temp(rv.lengths);
        for (int i = 0; i < rv.lengths; ++i)
        {
            temp.data[i] = lv.data[i] + rv.data[i];
        }
        return temp;
    }
}
 
Vector::Vector(int minIndex, int maxIndex):
    minI(minIndex), maxI(maxIndex - 1)
{
    lengths = maxI + 1 - minI;
    data = new int[lengths];
 
    for (int i = 0; i < lengths; ++i)
        data[i] = 0;
}
Vector::Vector(int len):
    minI(0),maxI(len-1)
{
    data = new int[len];
    lengths = len;
    for(int i = 0; i < len; ++i)
        data[i] = 0;
}
int Vector::Get(int index)
{
    if (index < minI || index > maxI)
        return -1;
    else
        return data[index - minI];
}
int Vector::SetValue(int index, int value)
{
    if (index < minI || index > maxI)
        return -1;
    else
        data[index - minI] = value;
}
Vector::~Vector()
{
    delete[] data;
}
void Vector::Show()
{
    cout << "vector : " << endl << "Lengths = " << lengths << "\t Indexes " << minI << " to " << maxI << endl;
    for (int i = 0; i < lengths; ++i)
    {
        cout << data[i] << " ";
    }
    cout << endl;
}
void Vector::Div(int val)
{
    for (int i = 0; i < lengths; ++i)
    {
        data[i] /= val;
    }
}
 
void Vector::Mul(int val)
{
    for (int i = 0; i < lengths; ++i)
    {
        data[i] *= val;
    }
}
 
int main()
{
    Vector vector(10);
    vector.SetValue(1,100);
    vector.SetValue(9,100);
    vector.Show();
    Vector data(5,10);
    data.SetValue(6,50);
    data.SetValue(8,50);
    data.Show();
    system("@pause");
    return 0;
}
но надо еще штоб Программа должна содержать меню, позволяющее осуществить проверку всех методов класса. помогите ато не шарю где шо дописать надо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 21:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Шаблоны классов. Обработка исключительных ситуаций (C++):

Обработка исключительных ситуаций - C++
Нужна одна работающая программа из 2. 1) Наберите текст программы приведенного примера обработки исключительных ситуаций и...

Обработка исключительных ситуаций - C++
Мне нужно было создать шаблонный класс и написать обработку исключающих ситуаций. Вот, что я сделал #pragma once #include &lt;iostream&gt;...

Обработка исключительных ситуаций - C++
Здравствуйте, друзья. Подскажите, пожалуйста, как можно при помощи try-throw-catch &quot;защититься&quot; от ввода пользователем &quot;не того типа...

Обработка исключительных ситуаций. - C++
Пожалуйста,помогите решить..В субботу экзамен,а я физически не успеваю написать 6 программок..( Написать функцию вычисления...

Обработка исключительных ситуаций! - C++
Составьте программу на языке С++. Обрабатывающую исключительную ситуацию, которая может возникнуть в ходе выполнения программы. ...

Обработка исключительных ситуаций - C++
Всем доброго времени суток, не понимаю как сделать обработку исключительной ситуации когда при вводе количества строк, вводится не целое, а...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2012, 21:32
Привет! Вот еще темы с ответами:

Обработка исключительных ситуаций - C++
Правильно ли тут я обрабатываю исключения? #pragma once #include &lt;iostream&gt; #include &quot;stdio.h&quot; #include &quot;stdlib.h&quot; #include...

Обработка исключительных ситуаций - C++
Доброго времени суток уважаемы программисты и начинающие программисты :) Скажите, почему появляется ошибка на 6й строке? Задача стоит...

Обработка исключительных ситуаций - C++
Помогите сделать обработку исключительных ситуаций вот мой код: #include &lt;iterator&gt; #include &quot;conio.h&quot; #include &lt;iostream&gt; ...

Обработка исключительных ситуаций - C++
Код программы,Что та не робит помогите #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include&lt;conio.h&gt; using namespace std; int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru