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

классы с массивами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить среднее арифметическое всех отрицательных элементов матрицы http://www.cyberforum.ru/cpp-beginners/thread272137.html
Для заданной матрицы A(n, m) определить среднее арифметическое всех отрицательных элементов.В случае отстутствия вывести сообщение про их отсутствие. Очень нужно.
C++ Массив-проверка В целочисленном масиве найти сумму всех элементов кратных двум и трём. Вот код реализации #include <iostream> #include <cmath> #include <iomanip> #include <ctime> #include <conio.h> #include "fun_console.h" using namespace std; http://www.cyberforum.ru/cpp-beginners/thread272134.html
Создать класс Date – дата, содержащая поля: день, месяц, год. C++
Создать класс Date – дата, содержащая поля: день, месяц, год. Определить операторы "+" и "-", как методы класса, а "++" и "--" в обеих формах (префиксная и постфиксная) как дружественные функции. Оператор "+" должен позволять осуществление операции только с переменными встроенного int. (x=y+5.)Должна быть предусмотрена корректная работа с високосными годами.
Создать матрицу.Вывести самый меньший парный элемент C++
Создать матрицу.Вывести самый меньший парный элемент.Парный имеется ввиду который стоит к примеру во втором столбце и второй строчке.
C++ Проверить матрицу на ортоганальность http://www.cyberforum.ru/cpp-beginners/thread272114.html
Всем привет=) Вот такое задание есть: "Проверить матрицу ортоганальная ли она (с помощью функций), то есть скалярные произведения каждого ряда на другой равны о" Подкиньте идею пож... Заранее спасибо=)
C++ Циклы в C# Подскажите, пожалуйста, где ошибка? Программа неправильный результат выдаёт! Вот исходные данные: p=s=4*(1-(1/3)+...+((-1)^n*(1/2*n+1)+...) e=0.0001 Через рекуррентное соотношение: q=-(2*n+1)/(2*n+3) Вот сама программа: { подробнее

Показать сообщение отдельно
victoire1992
0 / 0 / 0
Регистрация: 20.03.2011
Сообщений: 9

классы с массивами - C++

07.04.2011, 22:51. Просмотров 347. Ответов 1
Метки (Все метки)

есть класс,который загоняет числа рандомно в массив,выводит его размер,считает сумму и среднее арифметическое элементов
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
#include "stdafx.h"
#include <iostream.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
 
 
class Array
{
    int *ar;
    int size;
    public:
        Array(int size_=0);
        ~Array(){if (ar) delete []ar;}
        void Set(int i, int e);
        int Get(int i);
        int GetSize(){return size;}
        void Add(int e=0);
        double sum();
        double avg(){return sum()/GetSize();}
        void SetRand(int min=0, int max=RAND_MAX);
        void SetSize(int new_size);
};
 
Array::Array(int size_)
{
    size=size_;
    if (size==0)
    {
        ar=0;
        return;
    }
 
    ar=new int[size];
    for (int i=0;i<size;i++) ar[i]=0;
}
 
void Array::Set(int i, int e)
{
    if (i>=0 && i<size) ar[i]=e;
}
 
int Array::Get(int i)
{
    if (i>=0 && i<size) return ar[i];
    return 0;
}
 
double Array::sum()
{
    double s=0;
    for (int i=0;i<size;i++)
        s+=ar[i];
    return s;
}
 
void Array::SetRand(int min, int max)
{
    srand( (unsigned)time( NULL ) );
    for (int i=0;i<size;i++)
        ar[i]=rand()%(max-min-1)+min;
}
 
void Array::SetSize(int new_size)
{
    int *t=new int[new_size];
 
    for (int i=0;i<new_size;i++)
    {
        if (i<size) t[i]=ar[i];
        else t[i]=0;
    }
 
    if (ar) delete []ar;
    ar=t;
    size=new_size;
    
}
 
void Array::Add(int e)
{
    SetSize(size+1);
    ar[size-1]=e;
}
 
 
int main(int argc, char* argv[])
{
    int i;
    Array a(10);
 
    a.SetRand(1,100);
    cout<<"size="<<a.GetSize()<<"\n";
    
    for (i=0;i<a.GetSize();i++)
        cout<<i<<": "<<a.Get(i)<<"\n";
 
    cout<<"sum="<<a.sum()<<"\n";
    cout<<"avg="<<a.avg()<<"\n";
 
    
    a.Add(33);
    //a.SetSize(20);
    cout<<"size="<<a.GetSize()<<"\n";
    
    for (i=0;i<a.GetSize();i++)
        cout<<i<<": "<<a.Get(i)<<"\n";
 
    cout<<"sum="<<a.sum()<<"\n";
    cout<<"avg="<<a.avg()<<"\n";
    
 
 
 
 
    return 0;
}
Не могу понять как мне отнять последний элемент от каждого предыдущего и отсортировать по возрастанию.Реализовать нужно,дописав функции в класс!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru