Премини към съдържанието
  • публикации
    5
  • коментари
    11
  • прегледи
    3678

Запознаство

Галин Радославов

607 прегледа

Здравейте, Може би е редно да се представя накратко. Казвам се Галин Радославов, по професия съм електро инженер и се занимавам с различни неща, част от тях са електрически. Започнах да се занимавам с подобни системи през 2008 г. Първият контролер, който си купих през интернет беше от Гърция, разбира се правен в Китай, и брандиран с търговска марка на трета фирма. Трябваше ми известно време, за да разбира разни взаимни връзки в този бранш. Точно когато дойде, беше събота и заминавах на море и крастата да го разуча, бе подложена на риска да изпусна самолета за почивката. Продадох го на един човек, който се занивама с интернет, който пък от своя страна го ползваше да захранва точка за интернет достъп. И си купих нов, по-голям, този път немски. После почнах да внасям и панели, правех опити с автомобилни батерии, и такива от сот системи. След това реших да стана дилър на една от фирмите на пазара за електроника. Купувах вече контролари и инвертори, първо да ги тествам, после и да ги продавам и инсталирам. След време реших да разширя гамата продукти и потърсих алтернативни производители. Разбира се повечето бяха надути, че пазара в България е малък, не ги интересува. Пробвах разни продукти, разправях се с рекламации, налагаше се да ремонтирам повредени контролери. Докато един ден взех решение да изчистя всякакви продукти, които създават проблеми. Минах през периода, през който с колегите си викахме даскале, нашият професионалн празник бе на 24 май, защото аз учех клиентите, а те отиваха на Илиянци. И после ревяха, по телефона или в офиса. Но бе вече късно. И така до днес. Близо шест години какви ли не опити и поуки. Така че, един ден реших да пробвам и този блог.



0 Коментара


Препоръчани коментари

Все още няма коментари.

Гост
Добави коментар...

×   Вмъкнахте текст, който съдържа форматиране.   Премахни форматирането на текста

  Разрешени са само 75 емотикони.

×   Съдържанието от линка беше вградено автоматично.   Премахни съдържанието и покажи само линк

×   Съдържанието, което сте написали преди беше възстановено..   Изтрий всичко

×   You cannot paste images directly. Upload or insert images from URL.

  • Разглеждащи това в момента   0 потребители

    Няма регистрирани потребители разглеждащи тази страница.

  • Горещи теми в момента

  • Подобни теми

    • от ValentinMitev1
      Здравейте! Имам нужда от помощ за сортиравката на една програма. Тя е следната: 
      Да се състави програма, която да съдържа следните функции:
      1.Съставяне на динамично представен дек с целочислени данни, съдържащи се във външен файл.
      2.Сортиране на елементите в структурата по метода :чрез просто вмъкване ( полуобмен);
      3. Търсене на минималния елемент в интервала между максималния и минималния елемент по стойност кратен на 3 и последващото му изтриване от структурата.
      4.Запис на изходните резултати във външей файл.
      Главна функция main() -с меню за избор на функции и проверка за състоянието на данните.
       
      Това е програмата в непълен вид. Ако някой има малко свободно време, моля да я погледне. Благодаря!
      #include<iostream>
      #include<fstream>
      #include<stdlib.h>
      #include<stdio.h>
      using namespace std;
      int temp;
      int br = 1;
      void push_l(int n);
      void push_r(int n);
      int pop_l(int &n);
      int pop_r(int &n);
      struct elem                             //структура на дек
      {
          int key;                         //съдържа стойността на елемента
          elem *next;          //сочи към следващия елемент                       
      } *_left = NULL, *_right = NULL;        //left сочи към краиния ляв елемент,а right сочи към крайния десен
      void push_l(int n)              //добавяне на елемент със стойност n
      {
          elem *p;                //създаване на указател p от тип elem
          p = _left;                      //p приема стойността на крайния ляв елемент
          _left = new elem;       //създава нов елемент сочен от left
          _left->key = n; //установяване на  n заа стойност на крайния ляв елемент 
          _left->next = p;                //следващия елемент left приема стойността на p
          if (right == NULL)           //ако няма краен десен елемент, то left  става такъв
          {
              _right = _left;
          }
      }
      void push_r(int n)              //добавяне отдясно на елемент със стойност  n
      {
          elem *p;                //създаване на указател  p от тип elem
          p = _right;             //p приема стойността на краиния десен елемент
          _right = new elem;      //създаване на нов елемент сочен от right
          _right->key = n;                //установяване на n за стойнот на крайния десен елемент
          _right->next = NULL;    //следващия елемент right приема NULL
          if (_left == NULL)              //ако няма краен ляв елемент 
          {
              _left = _right;         //крайният ляв приема стйността на крайния
          }
          else                            //десен, в противен случей                      
              p->next = _right;       // следващият елемент райт приема стойността на крайния десен елемент
      }
      int pop_l(int &n)                       //извличане на елемент отляво
      {
          elem *p;                        //създаване на указател p от тип elem
          if (_left)                              //проверка за наличие на краен ляв елемент 
          {
              n = _left->key;             //n приема стойността на крайния ляв елемент
              p = _left;                      //p  сочи крайния елемент
              _left = _left->next;    //left сочи следващият негов елемент
              if (left == NULL)               //ако няма краен ляв елемент
                  _right = NULL;          //указателят right се занулява
              delete p;               //изтриване на указателя  p
              return 1;
          }
          else
              return 0;
      }
      int pop_r(int &n)                       //извличане на елемент отдясно
      {
          elem *p;                        //създаване на указател p от тип elem
          if (right)                      //проверка за наличие на краен десен елемент
          {
              n = _right->key;                 //n приема стойността на крайния десен елемент
              if (_left == _right)            //ако крайния десен елемент=крайния ляв
              {
                  delete _right;          //изтриване на крайния десен
                  _left = _right = NULL;  //нулиране на указателите
              }
              else
              {
                  p = _left;                      //p приема стойността на крайния ляв елемент
                  while (p->next != _right)       //докато следващия p елемент 
                      //е различен от крайния десен
                      p = p->next;                    //p преминава на следващия елемент
                  n = _right->key;                        //n приема стойността на крайния десен
                  p->next = NULL;         //указателят за следващият на  p се нулира
                  delete _right;                  //изтриване на крайния десен елемент
                  _right = p;                     //крайният десен приема стойността на p
              }
              return 1;
          }
          else
              return 0;
      }
      void output(ofstream& ostr, int n)              //за запис във файл
      {
          ostr << n << endl;
      }
      void get(int n)                 //достъп до n-тия елемент
      {
          int i, t;
          for (i = 1; i<br; i++)  //цикъл за обхождане на дека
          {
              pop_l(t);       //извличане на крайния ляв елемент 
              if (i == n)             //проверка за достигнат n-ти  елемент
              {
                  temp = t;       //запомня стойността му
              }
              push_r(t);      //добавяне на извлечения елемент от дясно
          }
      }
      void set(int n, int d)          //установяване на стойност d на n-тия елемент
      {
          int t;
          for (int i = 1; i<br; i++)      //цикъл за обхождане на дека    
          {
              pop_l(t);       //извличане на крайния ляв елемент
              if (i == n)             //проверка за достигане  n-тия елемент
              {
                  t = d;  //установяване на новата стойност
              }
              push_r(t);      //добавяне на извлечения елемент отдясно
          }
      }
      void list()                     //извеждане на елементите на дека
      {
          cout << "\n DEK:";
          for (int i = 1; i<br; i++)              //цикъл за обхождане
          {
              get(i);                         //извличане на стойността на съответният елемент
              cout << "\t" << temp;           //извеждане на екран
          }
      }
      void mergesort(int a[] = 0, int n = 0)//функцията разделя масива рекурсивно на две части//след което функцията merge ги обединява
      {
          if (n<2) return;
          int _left = n / 2, _right = n - _left;
          mergesort(a, _left);
          mergesort(a + _left, _right);
          int *p = new int[n];
          for (int i = 0; i<n; i++)
              a = p;
          delete[]p;
      }
      void search()   //търсене  на най-големия елемент
      //кратен на 5 и по-малък от макс кратно число на 7
      {
          void mergesort(int a[] = 0, int n = 0);    //сортиране на дека ако не е бил сортиран
          int t = 0;
          for (int i = 1; i<br; i++)      //цикъл за обхождане
          {
              get(i);                 //извличане на ития елемент
              if (temp % 5 == 0)      //проверка за точно делене на 5
                  t = temp;               //запомняне на стойността му
          }
          cout << "\n Maksimalen element kraten na 5: " << t << endl;
          cout << "\n Elementi kratni na 7 i po-malkiq ot maksimalniq kraten na 5: " << endl;
          for (int i = 1; i<br; i++)              //цикъл за обхождане
          {
              get(i);                 //извличане на ития елемент
              if (temp % 7 == 0 && temp<t)    //проверка за точно делене на 7 и по-малк от
              {                               //макс кратен на 5
                  cout << "\t" << temp;   //извеждане
              }
          }
      }
      int main()
      {
          system("chcp 1251");
          int ch, m;
          do
          {
              cout << "\n\n\t\t MENU" << endl;
              cout << "\n\t1-Zarejdane na DEK ot file" << endl;
              cout << "\t2-Sortirane po metod chrez slivane" << endl;
              cout << "\t3-Elementi kratni na 7 i po-malkiq ot maksimalniq kraten na 5" << endl;
              cout << "\t4-Zapis na DEK vuv file" << endl;
              cout << "\t5-IZHOD!" << endl;
              cout << "\n\t IZBERETE:";
              cin >> m;
              cout << endl;

              switch (m)
              {
              case 1:
              {
                        ifstream ff;
                        ff.open("deck.txt");
                        while (ff)
                        {
                            ff >> ch;
                            if (ch == 0) break;
                            else
                            {
                                push_r(ch);
                                br++;
                            }
                        }
                        list();
                        break;
              }
              case 2:
              {
                        mergesort(int a[] = 0, int n = 0);
                        list();
                        break;
              }
              case 3:
              {
                        search();
                        break;
              }
              case 4:
              {
                        ofstream ff("sorted deck.txt");
                        while (pop_l(ch))
                        {
                            output(ff, ch);
                        }
                        cout << "\n\t *** File saved! ***" << endl;
              }
              }
          } while (m != 5);
      }
×
×
  • Добави ново...