/*$Id:$*/
/*30.01.2024	18.01.2022	Белых А.И.	iceb_tu_double.h
*/

class iceb_tu_double
 {
  private:
   int    optimiz;  //0-записывать в масив без оптимизации 1-с оптимизацией
   int	 kolz;    //Количество элементов массива
   double *masiv_double;  //Массив 
  
  public:

   iceb_tu_double(int); //Конструктор c созданием массива указанного размера
   iceb_tu_double(); //Конструктор
   ~iceb_tu_double();      //Деструктор

   int find(double); //Найти в какой ячейке искомое значение
   int find(const char*); //Найти в какой ячейке искомое значение
 
   int plus(double,int);      //Записать значение просумировав его с предыдущим и если нужно увеличить размер массива
   int plus_str(int);  /*Увеличить размер массива на заданное количество елементов*/
   int plus(double);      //Записать значение в добавленную ячейку массива
   int plus(const char*);      //Записать значение в добавленную ячейку массива
   int new_plus(double,int);      //Записать значение не просумировав его с предыдущим и если нужно увеличить размер массива

   int make_class(int);     //создать массив нужного размера
   void print_class(); //вывести содержимое массива для контроля

   double ravno(int elem); //вернуть значение нужного елемента

   void clear_class(); //Обнулить массив
   void free_class(); //Удалить массив
   double suma(); //Вернуть сумму элементов массива
   int kolih(); //Вернуть количество элементов в массиве

   int prov_kol(int kol_str,int kol_kol,int nom_kol); /*проверить есть ли не нулевые значения в колоке двумерного массива 
                                                       0 - значит все значения нулевые 1-есть не нулевое значение -1-массив меньше чем заданно в параметрах -2-номер колонки больше чем максимальное количество колонок*/
   double suma_kol(int kol_str,int kol_kol,int nom_kol); /*получить сумму по колонке двухмерного массива*/

   int prov_str(int kol_str,int kol_kol,int nom_str); /*проверить есть ли не нулевые значения в строке двумерного массива 
                                                        0 - значит все значения нулевые 1-есть хотябы одно не нулевое значение -1-ошибка в размере массива -2-номер строки больше чем максимальное количество строк*/
 };
