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

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

Войти
Регистрация
Восстановить пароль
 
Федорец
1 / 1 / 1
Регистрация: 02.02.2014
Сообщений: 65
#1

Сделать дружественную функцию для критерия Кохрена - C++

24.03.2014, 13:42. Просмотров 292. Ответов 6
Метки нет (Все метки)

Не знаю как сделать дружественную функцию для критерия кохрена, все остальное работает


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
#include <iostream>
#include <math.h>
#include <conio.h>
using namespace std;
 
class Sample
{
    int n;
    int a[50];
public:
    Sample();
    Sample(int n, int a[50]);
    void scan();
    void print();
    double sred();
    int rozmah();
    double disp();
    double sred_otkl();
    friend double kokhren (Sample a);
    
};
 
Sample::Sample()
{
    n=0;
    for(int i=0;i<50;i++)
        a[i]=0;
}
 
Sample::Sample(int n, int a[50])
{
    this->n=n;
    for(int i=0;i<50;i++)
        this->a[i]=a[i];
}
 
void Sample::scan()
{
    cout<<"print count elements: ";
    cin>>n;
    cout<<"print "<<n<<" elementts: ";
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
}
 
void Sample::print()
{
    cout<<n<<" elements: ";
    for(int i=0;i<n;i++)
        cout<<a[i]<<" ";
    cout<<endl;
}
 
int Sample::rozmah()
{   int r=0;
    cout<<"Rozmah => ";
    for (int i=0;i<n;i++)
    {
            r=a[i]-a[0];
        }
            return r;
}
 
 double Sample::disp()
 {
    double D=0;
    for (int i=0;i<n;i++)
    {
     D+=(a[i]-(sred()))*(a[i]-(sred()));
    }
    return D/(n-1);
 }
 
double Sample::sred()
{
    double c=0,s=0;
    for(int i=0;i<n;i++)
    {
        c+=a[i];
        s=c/n;
    }
    return s;
}
 
 double Sample::sred_otkl()
 {
  double Otkl;
  for (int i=0;i<n;i++)
  {
    Otkl=sqrt(disp());
  }
  return Otkl;
}
 
double kokhren (Sample aa)
{
  double max=0,s=0,K=0;
    for(int i=0;i<aa.n;i++)
    {
        if(aa.a[i]>max)
            max=aa.a[i];
        s+=aa.a[i];
        K=max/s;
    }
    return K;
 
}
 
int main()
{
    Sample a;
    a.scan();
    cout<<"Srednee=> "<<a.sred()<<endl;
    cout<<a.rozmah()<<endl;
    cout<<"Disperciya=> "<<a.disp()<<endl;
    cout<<"Sred.otkl.=> "<<a.sred_otkl()<<endl;
    cout<<"Kriteriy Kokhrena=> "<<kokhren(a)<<endl;
    return 0;
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.03.2014, 13:42     Сделать дружественную функцию для критерия Кохрена
Посмотрите здесь:

Друзья, подскажите, можно ли дружественную функцию сделать виртуальной? - C++
Допустим есть какой-то базовый класс в котором объявлена дружественная функция, а определена она в глобальной области. Можно ли эту...

Как организовать дружественную функцию для печати массива - C++
\\void ww_mas(); надо сделать как дружественную функцию #pragma once class massiv { float *a,sum; int n; public: ...

Как переопределить дружественную функцию ввода для класса наследника - C++
Есть класс предок, который имеет такую вот дружественную функцию ввода: friend ifstream &amp; operator &gt;&gt;(ifstream &amp; inf, Tovar &amp; obj) ...

Описать дружественную функцию для вывода товаров, у которых срок годности менее 3 месяцев - C++
Ребята , помогите пожалуйста с таким вот заданием: &quot; Создать класс товар с полями: название, срок годности, количество. Описать...

Добавить дружественную функцию - C++
Создать класс машина, имеющий марку (указатель на строку) , число цилиндров, мощность. Определить конструкторы, деструктор и функцию...

Добавить дружественную функцию в программу - C++
Помогите переделать программу. Не могу добавить дружественную функцию. Задание. Создать два класса: целые(Integer) и матрица (int...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.03.2014, 13:55     Сделать дружественную функцию для критерия Кохрена #2
а зачем? разве нельзя сделать эту ф-цию членом и вызывать ее у экземпляра класса?
Федорец
1 / 1 / 1
Регистрация: 02.02.2014
Сообщений: 65
24.03.2014, 14:03  [ТС]     Сделать дружественную функцию для критерия Кохрена #3
извините, можно кодом обьяснить?
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.03.2014, 14:08     Сделать дружественную функцию для критерия Кохрена #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
class Sample
{
    ...
public:
    ...
    double kokhren ();
    
};
 
double Sample::kokhren ()
{
  double max=0,s=0,K=0;
    for(int i=0;i<n;i++)
    {
        if(a[i]>max)
            max=a[i];
        s+=a[i];
        K=max/s;
    }
    return K;
 
}
Федорец
1 / 1 / 1
Регистрация: 02.02.2014
Сообщений: 65
24.03.2014, 14:25  [ТС]     Сделать дружественную функцию для критерия Кохрена #5
так в задании сказано, обязательно дружественной функцией. И, кстати, у меня она не верна. Там формула другая
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
24.03.2014, 14:28     Сделать дружественную функцию для критерия Кохрена #6
Цитата Сообщение от Федорец Посмотреть сообщение
дружественную функцию для критерия кохрена, все остальное работает
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
double kokhren (Sample& aa)
{
  double max=0,s=0,K=0;
    for(int i=0;i<aa.n;i++)
    {
        if(aa.a[i]>max)
            max=aa.a[i];
        s+=aa.a[i];
        K=max/s;
    }
    return K;
 
}
не работает потому что вы копируете аргумент попробуйте & поставить или конструктор копирования определить вручную
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2014, 15:34     Сделать дружественную функцию для критерия Кохрена
Еще ссылки по теме:

Передача строки в дружественную функцию - C++
Доброго времени суток! Помогите пожалуйста исправить программу( было много попыток, но все тщетно), чтобы она работала, а именно заработали...

Передача параметров в дружественную функцию класса - C++
Всем доброго времени суток. Читал про дружественные функции, в учебнике по которому учусь написано, что в дружественную функцию класса...

Можно ли объявить дружественную функцию как шаблон? - C++
Так всё работает: template&lt;class T&gt; class random { /*всячина*/ public: friend void function(random&lt;int&gt;&amp;); ...

Реализовать в пользовательском классе дружественную функцию согласно условию - C++
Помогите пожалуйста, много задач за день прорешал и эту уже не понимаю(( Дан класc. Добавьте дружественную функцию ИмяФункции(),...


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

Или воспользуйтесь поиском по форуму:
Федорец
1 / 1 / 1
Регистрация: 02.02.2014
Сообщений: 65
24.03.2014, 15:34  [ТС]     Сделать дружественную функцию для критерия Кохрена #7
моя запись рабочая и так, но она не по формуле. Формула:G=Smax / ∑ Si
Преподаватель сказала эти строки написать в мейн:
Sample*a=new Sample [n];
kokhren (Sample *a);
a[i].disp;
Yandex
Объявления
24.03.2014, 15:34     Сделать дружественную функцию для критерия Кохрена
Ответ Создать тему
Опции темы

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