View difference between Paste ID: N64z4Hyq and LgNR1SyR
SHOW: | | - or go back to the newest paste.
1
#include <stdio.h>
2
#include <stdlib.h>
3
 
4
5
double *res (double array[], int n, double *pmed, double *pmod, double *psred)
6
{
7
   
8
    int i;
9
    double sred=0, mediana;
10
    for (i=0;i<=n;i++)
11
    sred+=array[i];
12
   
13
    // среднее
14
    sred/=n;    
15
   
16
   
17
    for (i = 0; i < n; i++)
18
    {
19
        int j, tmp = 0;
20
        for (j = (i + 1); j < n; j++)
21
        {
22
            if (array[i] < array[j])
23
            {      
24
                tmp = array[i];
25
                array[i] = array[j];
26
                array[j] = tmp;
27
            }
28
        }
29
    }  
30
        //медиана
31
    if (n%2!=0)
32
        mediana = array [n/2];
33
    else
34
        mediana = (array [(n/2)-1] + array[n/2])/2;
35
   
36
   
37
    double moda = array[0], cmax = 0, rmax = 0;
38
    for (int i = 0; i < n; i++) {
39
        if (cmax > rmax) {
40
            rmax = cmax;      
41
            //мода
42
            moda =  array[i - 1];    
43
        }
44
        cmax = 0;
45
        for (int j = i; j < n; j++)
46
           if (array[j] == array[i])
47
              cmax++;
48
    }
49
 */ Вроде так 
50-
   pmed = &mediana;
50+
	\/ */
51-
   pmod = &moda;
51+
   *pmed = mediana;
52-
   psred = &sred;
52+
   *pmod = moda;
53
   *psred = sred;
54
   
55
    //return  0;
56
   
57
}
58
 
59
int main()
60
{
61-
    double *pmed, *pmod, *psred;
61+
62
    /* обычные перменные */ double pmed, pmod, psred;
63-
    double* (*f) (double array[], int n, double *pmed, double *pmod, double *psred);
63+
    													/* ССЫЛКИ
64
															\/  */
65
    double* (*f) (double array[], int n, double &pmed, double &pmod, double &psred);
66
    f = res;
67
    
68
    double *b = f(a, 9, pmed, pmod, psred);
69
	/* ЗДЕСЬ ВЫВОДИ pmed pmod psred */
70
    printf("%.2lf %.2lf %.2lf", *b, *(b+1), *(b+2) );
71
 
72
return 0;
73
}