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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
>N!_kO>
0 / 0 / 0
Регистрация: 16.03.2009
Сообщений: 5
#1

Одномерный массив - C++

16.03.2009, 12:53. Просмотров 1139. Ответов 2
Метки нет (Все метки)

Привет. Прошу прощения если повторяю чей-то вопрос... Помогите программу написать пожалуйста!!! Очень-преочень нужно!!!
Вот задание:

В одномерном массиве, состоящем из N вещественных элементов, вычислить:
· номер и значение максимального по модулю элемента массива;
· разность элементов массива, расположенных между вторым и пятым поло-
жительными элементами.
Упорядочить элементы массива по убыванию.



(нужно разработать класс, моделирующий массив целых или вещественных чисел и его
обработку:
1. Формат компонентных данных класса должен обеспечить возможность соз-
дания объекта произвольной размерности (т.е. моделировать динамический
массив);
2. Класс должен содержать минимально необходимый набор конструкторов и
деструктор (их наличие определяет автор программы).
3. Компонентными функциями класса оформить выполнение следующих дей-
ствий:
· ввод исходных данных (заполнение элементов массива): осуществляется
с использованием функции random, которая генерирует случайные числа
в заданном диапазоне (описание функции находится файле stdlib.h);
· вывод на экран исходного и конечного содержимого объекта;
· других действий, необходимых для решения задачи, например, определе-
ние минимального (максимального) элемента, суммы (произведения) за-
данных элементов, количества элементов массива, равных нулю (нерав-
ных нулю, четных, нечетных) и т.д. – в зависимости от условия задачи.
4. Основная программа (функция main) должна подтверждать работоспособ-
ность всех разработанных функций и содержать: определение объекта клас-
са и поочередный вызов для него компонентных функций с выводом резуль-
татов.)

ЗАРАНЕЕ БЛАГОДАРЕН!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2009, 12:53     Одномерный массив
Посмотрите здесь:

Одномерный массив. Создать массив Х суммы среднеарифметического элементов массива А с каждым элементом массива А - C++
Дан массив А.Создать массив Х суммы среднеарифметического элементов массива А с каждым элементом массива А.

Одномерный массив - C++
Помогите,пожайлуста,решить эту задачу! В одномерном массиве,состоящем из n вещественных элементов,вычислить: 1)максимальный по модулю...

Одномерный массив - C++
В одномерном массиве состоящем из n вещественных элементов, вычислить: 1) количество элементов массива равных 0. 2)сумму элементов...

Одномерный массив - C++
Доброго времени суток. Только начал изучать Си. Хочу создать массив из 10 чисел, каждое число было рандомно. После запуска...

Одномерный массив. - C++
Здравствуйте, помогите,пожалуйста, составить программу. Вот задание: "Составить программу нахождения наибольшего элемента каждой строки...

Одномерный массив - C++
Здрасте помогите пожалуста зделать задачку Нездала практику очень нада эта задачка. Задан массив с количеством элементов N....

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

одномерный массив - C++
в однородном массиве, состоящем из n целых элементов, вычислить сумму элементов массива расположенных между первым и последним...

Одномерный массив C++ - C++
1.Дан одномерный массив В состоящий из 10 элементов. Найти максимальный и минимальный элементы данного массива. 2.Написать функцию, в...

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


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ISergey
Maniac
Эксперт С++
1373 / 884 / 52
Регистрация: 02.01.2009
Сообщений: 2,652
Записей в блоге: 1
16.03.2009, 15:28     Одномерный массив #2
Вот для начала (остальные функции сами допишете )
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
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
#include <algorithm>
#include <iostream>
#include <cassert>
#include <cstdlib>
#include <cmath>
using namespace std;
 
template<typename T>
class array
{
    typedef unsigned int uint;
public:
    array():used(0),allocated(0),arr(0){}
    array(uint s_count):used(0),allocated(0),arr(0){
        reallocate(s_count);
    }
    array(const array<T> &rhs):arr(0){
        *this = rhs;
    }
 
    ~array(){
        clear();
    }
    void reallocate(uint n_size){
        T* old_arr = arr;
        arr = new T[n_size];
        allocated = n_size;
 
        uint end = used < n_size ? used : n_size;
 
        for(uint i = 0; i < end; ++i)
            arr[i] = old_arr[i];
 
        if(allocated > end)
            for(uint i = end; i < allocated; ++i)
                arr[i] = 0;
 
        used = allocated;
        delete[] old_arr;
    }
 
    void push_back(const T &rhs){
        reallocate(used + 1);
        arr[used - 1] = rhs;
    }
 
    void operator=(const array<T>& rhs){
        if (arr)
            delete[] arr;
 
        if (rhs.allocated == 0)
            arr = 0;
        else
            arr = new T[rhs.allocated]; 
 
        used = rhs.used;
        allocated = rhs.allocated;
 
        for (uint i=0; i<rhs.used; ++i)
            arr[i] = rhs.arr[i];
    }
 
    bool operator == (const array<T>& rhs) const{
        if (used != rhs.used)
            return false;
 
        for (uint i = 0; i < rhs.used; ++i)
            if (arr[i] != rhs[i])
                return false;
        return true;
    }
 
    bool operator != (const array<T>& rhs) const{
        return !(*this == rhs);
    }
 
    T& operator [](uint index){
        assert(index < used);
        return arr[index];
    }
 
    const T& operator [](uint index) const{
        assert(index < used); 
        return arr[index];
    }
 
    const uint size() const{
        return used;
    }
    void clear(){
        if(arr)
            delete[] arr;
        arr = 0;
        used = allocated = 0;
    }
 
    void Input(){
        for(uint i = 0; i < used; ++i){
            cout<<"arr["<<i<<"]: ";
            cin>>arr[i];
        }
    }
 
    void Random(uint max){
        for(uint i = 0; i < used; ++i)
            arr[i] = rand()%max;
    }
 
    void sort_arr(bool (*foo)(int,int))
    {
        std::sort(arr,arr+used,foo);
    }
    const T max_element()
    {
        T max = arr[0];
        for(uint i = 1; i < used; ++i)//!i = 1;
            if(max < arr[i])
                max = arr[i]; //max elem
        return max;
    }
 
    const T max_abs()
    {
        T max = arr[0];
        for(uint i = 1; i < used; ++i)//!i = 1;
            if(abs(max) < abs(arr[i]))
                max = arr[i]; //max elem
        return max;
    }
 
    const T min_element()
    {
        T min = arr[0];
        for(uint i = 1; i < used; ++i)//!i = 1;
            if(min > arr[i])
                min = arr[i]; //min elem
        return min;
    }
 
    const size_t count_element(const T& elem)
    {
        return std::count(arr,arr+used,elem);
    }
    friend ofstream& operator<<(ofstream& stream, const array<T> &rhs);
private:
    T* arr;
    uint used;//
    uint allocated;
 
};
template<typename T>
ostream& operator<<(ostream& stream, const array<T> &rhs){
    stream<<"[ ";
    for(unsigned i = 0; i < rhs.size(); ++i)
        stream<<rhs[i]<<" ";
    stream<<"]";
    return stream;
}
 
bool foo(int i,int j){ return i > j; }
 
int main()
{
    array<int> arr;
    arr.push_back(10);
    arr.push_back(20);
    arr.push_back(30);
    arr.push_back(40);
    cout<<arr.size();
    cout<<endl<<arr[0]<<endl;
    cout<<arr<<endl;
    arr.Random(10);
    arr.sort_arr(foo);
    cout<<arr<<endl;
    cout<<arr.max_element()<<endl;
    cout<<arr.min_element()<<endl;
    cout<<arr.count_element(0)<<endl;
    arr.push_back(-8);
    cout<<arr.max_abs()<<endl;
    return 0;
}
>N!_kO>
0 / 0 / 0
Регистрация: 16.03.2009
Сообщений: 5
16.03.2009, 20:12  [ТС]     Одномерный массив #3
Спасибо огромное!!!! А какие функции мне ещё дописать нужно?
Yandex
Объявления
16.03.2009, 20:12     Одномерный массив
Ответ Создать тему
Опции темы

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