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

Построение вариационного ряда - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Функция со сменным числом параметров http://www.cyberforum.ru/cpp-beginners/thread672047.html
Нужно написать программу на С в которой будет функция у какую передаются масивы целых чисел. Элементы с номерами 0,2,4 и т.д. сортовать по росту,а с номерами 1,3,5 и т.д. сортовать по убыванию. Спасибо.
C++ Работа с текстовой информацией, одномерными массивами и матрицами 7. Дана квадратная матрица размерности K<20. Найти сумму ее элементов, находящихся на диагонали, «ортогональной » главной. http://www.cyberforum.ru/cpp-beginners/thread672042.html
Вычислить значение выражения C++
на языке c++ составить программу которая для заданного действительного числа x и натурального n вычисляет ((x-2)*(x-4)*...*(x-2n))/((x-1)*(x-3)*..*(x-2n-1))
C++ Как реализовать проверку скобок в выражении?
Столкнулся с такой проблемой, что при вводе такого выражения "2+2)(" у меня не выполняется условие соблюдения правил использования скобок. Я реализовал свою версию правильности скобок через подсчёт, например: "(2+2)"(1 закрывающаяся, а другая открывающаяся). Я не учёл что можно написать скобки в разном порядке. Помогите это реализовать пожалуйста, т.к. в голове не укладывается как это можно...
C++ Вывести на экран все четные палиндромы http://www.cyberforum.ru/cpp-beginners/thread672020.html
Помогите пожалуйста !) Палиндром -- число, одинаково читающееся слева направо и справа налево, например, 13531. Задача.Вывести на экран все четные палиндромы(22,44,66,88) из интервала чисел от 10 до 100. Заранее спасибо)
C++ Преобразовать массив таким образом, чтобы элементы, равные нулю располагались после остальных. Напишите, пожалуйста, программу. Преобразовать массив таким образом, чтобы элементы, равные нулю располагались после остальных. подробнее

Показать сообщение отдельно
sergio6
0 / 0 / 0
Регистрация: 01.05.2012
Сообщений: 8
15.10.2012, 22:44     Построение вариационного ряда
Здравствуйте! Нашел в интернете код считывание выборки с файла и последующее построение вариационного ряда. Не могли бы вы объяснить часть кода приведенного ниже.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void do_vr(float *a,int n,element* &vr,int &nvr)
{bubbleSort(a,n);
 nvr=0;
 vr = (element *)malloc(n* sizeof(element));
 for(int i=0;i<n;i++){
     int j=0;
     while(j<nvr && vr[j].xi != a[i])
     j++;
     if (vr[j].xi==a[i])
     vr[j].ni++;
     else
     {vr[nvr].xi=a[i];
      vr[nvr].ni=1;
      nvr++;
     }
    }
Весь код
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
bool load(char * fname,float *& a,int &n)
{ifstream f(fname);                               
  {a = (float *)malloc(10000 * sizeof(float));    
   n=0;                                           
   while (!f.eof())                               
    {f>>a[n];                                     
     n++;                                         
    }
   a = (float *)realloc(a,n * sizeof(float)); 
  }
 
}
 
/*---------------------------------------------------------------------------*/
 
template< class T >
void bubbleSort(T* a, int n)  
{
    T tmp;
 
    for(int i = 0; i < n - 1; ++i) 
    {
        for(int j = 0; j < n - 1; ++j) 
        {
            if (a[j + 1] < a[j])
            {
                tmp = a[j + 1];  
                a[j + 1] = a[j]; 
                a[j] = tmp;      
            }                    
        }
    }
}
/*---------------------------------------------------------------------------*/
 
void do_vr(float *a,int n,element* &vr,int &nvr)
{bubbleSort(a,n);
 nvr=0;
 vr = (element *)malloc(n* sizeof(element));
 for(int i=0;i<n;i++){
     int j=0;
     while(j<nvr && vr[j].xi != a[i])
     j++;
     if (vr[j].xi==a[i])
     vr[j].ni++;
     else
     {vr[nvr].xi=a[i];
      vr[nvr].ni=1;
      nvr++;
     }
    }
 vr = (element *)realloc(vr,nvr* sizeof(element));        
 for(int i=0;i<nvr;i++)
 {vr[i].fi=vr[i].ni/(float) n;
  if (i==0)
  vr[i].Fni=vr[i].fi;
  else
   vr[i].Fni=vr[i-1].Fni+vr[i].fi;
 }
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru