41

(11 відповідей, залишених у C++)

Дивлячись по архіву це всього оболонка написана на С++ над системними бібліотеками. Можливо краще не використовувати її а писати на пряму, підключивши відповідні бібліотеки

42

(11 відповідей, залишених у C++)

Для збірки тобі, ще знадобиться Python3 та https://catkin-tools.readthedocs.io/en/ … lling.html

43

(10 відповідей, залишених у Електроніка)

ну тоді шукай в Китаї. Але може бути, що не знайдеш.. Прийдеться купувати цілу плату. Енкодери майже всі із "кнопкою".
Якщо порахуєш контакти, заміряєш його габарити тоді можна знайти аналог.

44

(10 відповідей, залишених у Електроніка)

http://www.kosmodrom.com.ua/prodlist.ph … rnsencoder інколи замовляю деталі у цього магазину

45

(10 відповідей, залишених у Електроніка)

Схоже на енкодер.
Ви фото, що робили на nokia 3310? Якість фото, бл.. як із 90х

46

(7 відповідей, залишених у C++)

 for (int i = imin + 1; i < imax; i++) {
            prod *= arr[i];
        }
        for (int i = imax + 1; i < imin; i++) {
            prod *= arr[i];
        }

другий цикл FOR зайвий. Він може не спрацювати так як ти задумав. Крім того можна отримати помилку коли максимальний елемент масиву буде останнім елементом. Перед ініціалізацією циклу, краще перевір індекси масиву хто більший imin чи imax, а тоді вирішую, чи буде i рівне мін./мак. індексу.
А на рахунок того, що виходить 1 - перевір вхідний масив. можливо максимальний та мінімальний елементи стоять поруч, через те і не виходить.

Ще хочу підмітити, що float prod = 1.0; не зобов'язаний бути float. Коли множиш, додаєш чи віднімаєш цілі числа результат - ціле число, А от при ділені - float;

47

(14 відповідей, залишених у Залізо)

karmeljuk написав:
Прихований текст
HetmanNet написав:
karmeljuk написав:

Дякую. Я все почистив, але все одно чутно дивиний звук. Після зарядки батареї звук зникає. Також через зарядну станцію та 220В такого звуку не чутно. Розумна розетка показує напругу в мережі 240В

То може бути в середині, там де роз'єм в який вставляється кабель впаяний у плату, таке не раз зустрічав коли там пайка руйнувалася чи доріжки відшаровувалися до яких припаяний роз'єм.

Зрозуміло. Мабуть з цим нічого не вдіяти, хіба міняти як повністю зіпсується. Або можу спробувати заряджати через type-c + перехідник коли приїде зарядна станція

Ви ні. А в сервісі замінять гніздо чи припаяють холодну пайку. Якщо проблема у цьому.
У вашій моделі ноутбука можна зняти кришку з нижнього корита (не розбираючи ноутбук повністю) та візуально глянути на плату в район живлення. І якщо там при вставлення у гніздо штекер іскрить тоді проблема в цьому.

48

(14 відповідей, залишених у Залізо)

Скажіть, а блок живлення оригінальний? Наскільки мені відомо, то для цієї машини має йти 90W (19.5V 4.62A) зарядка. Якщо блок оригінальний, тобі потрібно знайти причину. Чи це плата ноутбука видає (гніздо чи схема розпізнання БЖ ноутбука), чи сам штекер? (Діагностується підміною іншого БЖ, можна позичити у сусіда наприклад). Зверніть увагу на сам штекер БЖ. Наскільки мені відомо, коли блок оригінальний там також може бути схема індикації (світитись індикатор білий чи синій), схема ІД (ІДЕНТИФІКАЦІЇ оригінальності БЖ).

Якщо ж таки блок не оригінальний (коли при завантажені ноутбука у вас повідомляє про це), тоді гляньте чи відповідає вона заданим параметрам оригінального блока живлення описаним вище. Вона може банально не справлятись зі своєю роботою і схема захисту плати ноутбука може вимикати із певною періодичністю і в той період коли блок не живить плату він живиться від батарей (в такому випадку вийміть батарею ноутбука, увімкніть ноутбук та перевірте чи є шум, і чи взагалі запуститься машина на графіці). В ідеалі не оригінальні блоки мають бути з більшими параметрами на 10-15%.

Також шуміти може ШІМ-контроллер БЖ, тобто зайвий шум чути у районі самого блока живлення. Це нормально, зараз майже уся імпульсна техніка так працює.

Якщо, не має видимих фізичний пошкоджень, і вас це дратує. Несіть у сервісний центр. А якщо блок не оригінальний можете його відразу замінити. Ціна за ремонт коштує ціні нового БЖ. Ну а з оригінальним можна погратись. В кращому випадку вам можуть замінити сам шнур зі штекером. Правда, якщо проблема тільки в зарядці.

49

(3 відповідей, залишених у C++)

Дуже цікаві ВИ люди. Як вам допомагати, якщо ви не вмієте висвітлити вашу проблему?!
Для початку, Ви мали б вказати, що робить або що мала б робити програма за Вашим задумом.
Тут потрібно здогадуватись, що це який клієнт-сервер на протоколі FTP, котрий надсилає кудись дані.
Коли мова йде по роботі з мережею, тут причин може бути багато. Від налаштування ОС (брандмауеру), до невірно проініціалізованих властивостей об'єкту FTP класу. (налаштування хосту тобто "порт, адреса, і т.д"), чи існують каталоги куди потрібно зберегти отриманий файли, або чи є в цих каталогах права на запис файлів, або чи існують файли котрі потрібно надіслати.

Can`t open that file: no such file or directory

В повідомленні про помилку говориться "немає такого файлу чи каталогу". Отже його не має, або не вірно вказано  шлях. І те, що ви переглядали, перегляньте ще раз... 100% проблема там...

50

(10 відповідей, залишених у C++)

Чесно кажучи, не дуже зрозуміло, що потрібно на вхід програми, та що вона має видати. Складається з послідовностей чого (чисел)? Можна приклад цього виразу? На скільки я зрозумів із ТЗ - на вхід іде послідовність, ну наприклад із вашого коду, "45, 67, 101, -23". Нехай десь в цій послідовності зустрінеться "*", який непевне десь має бути "45, 67, *, 101, -23". Отже на виході ми отримаємо, що? Послідовність виду - "45, 67101, -23" (множення(конкатенація) виразу 67, *, 101 - я зрозумів так  67101)? Конкретизуйте.

51

(25 відповідей, залишених у Залізо)

А більше 15 Ват давали навантаження? За вищеподаними Вашими посиланням, бачив у довіднику, що нижче цієї потужності ДБЖ може вважати, що до нього нічого не під'єднано та переходить в режим збереження енергії АКБ. І виставляється до речі цей параметр десь також у безперебійнику.

52

(25 відповідей, залишених у Залізо)

HetmanNet написав:
Прихований текст
comport написав:

Л - означає літієвий акумулятор, без л - свинцевий. Акумулятор Ніссана літієвий, то можна вважати, що Л. Іншої різниці немає.

Різниця є як у напрузі зарядки так і розрядки, а також в тому коли міряти: під навантаженням чи без (різниця є, особливо якщо батарея зношена).

Почнемо з того що по маркуванню номінал літієвої 38.4 (для цього UPS), що підказує що вона зібрана на основі "пакетів" lipo, а не чогось типу 18650/14500/26650, тоді як свинцева 36.

У lipo напруга в зарядженому стані 4.35, тобто при S10 43.5, в той час як для свинцевих 13.6-13.8, тобто при S3 40.8-41.4, на нісановських 42.

Також згадаймо струм зарядки, у літієвих то 0.2С-0.5С і для швидкого до 5С, а для свинцевих 0.1-0.125С.

Ну найголовніше це напруга розряджених батарей, для lipo то то 33.5, для нісанівських 32, для свинцю при малих струмах розрядки до 31.8, але в UPS високі струми розрядки тому мінімальною напругою вважається 35.1 в простої, та від 36.0-36.4 до 37.5 під час розрядки. Тож якщо ваша батарея просідає під навантаженням до 37.5 то UPS її може вважати розрядженою. При тому чим дорожчий UPS тим більша ймовірність що при невеликих навантаженнях від номіналу може ще перераховувати напругу на коефіцієнт для отримання еквівалентного значення яке мало би бути при повному навантаженні, тому навіть якщо батарея при 20% навантаження на UPS просяде не до 37.5 а до 38 то може вважати її розрядженою бо по його таблиці коефіцієнтів для свинцю виходить що якщо зросте навантаження вона просяде нижче 37.5. Проблема може бути як в зношеній батареї, так і в поганому контакті чи малому січені дротів якими підключаєте.

Тому вони різняться не просто батареєю яка стоїть, а вбудованою прошивкою, номіналами деяких компонентів, та схемою зарядки (там ще алгоритм інший). Частина по інвертору там зазвичай ідентичні або зі змінами для актуалізації компонентної бази.

Тоді виходить, що ДБЖ виробляються під конкретний тип батарей?! Я правильно зрозумів? І в даному випадку, якщо прошити цей пристрій (не зважаючи на топологію плати: спів-падіння входів-виводів мікроконтролера, номінали деталей і т.д.) він може не правильно працювати? (якщо взагалі запуститься).

53

(15 відповідей, залишених у C++)

Олександр Ковальчук написав:

Для чого delete[ ] p[ i ] ?  там вказівник на об'єкт а не на масив.

Як саме ви цей об'єкт створюєте? Я щось його не бачу в коді.
Якщо це вказівник на об'єкт, тоді вказівник на вказівник зайвий.

Через те і питаю, як ви створювали цей об'єкт? За допомогою оператора new?

operator new, operator new[]
operator delete, operator delete[]

54

(15 відповідей, залишених у C++)

Олександр Ковальчук написав:

Доброго дня.
Діло в тому що в подальшому можна написати слідуюче:

MyClassArr marr(6);
baseAbstract * mclass = _arr.getMyClass(3);
delete mclass;

В останньому рядку було видалено елемент масиву.... а клас MyClassArr про це навіть не "здогадується"....

Це не так. Він не є елементом масиву.

По-перше, baseAbstract * mclass - буде створено у СТЕКУ.
По-друге,  baseAbstract * mclass = marr.getMyClass(3); присвоїть цій ділянці пам'яті адресу із КУПИ. В даному випадку 4-го  (4-1=3) елементу масиву вказівників - marr. Аж ніяк не буде навпаки.

class Myclass : public baseAbstract {}
class MyClassArr
{
    public:
        MyClassArr(int size):size(size)
        {
            arr = new MyClass*[size]{}; // тут потрібно виділяти пам'ять не під похідні елементи класу, а базові (baseAbstract)
        }

Ви не вірно звільняєте пам'ять.
Створюєте масив вказівників "Базового класу"

arr = new MyClass*[size]{};

А Видаляєте елементи, котрих ще навіть і не існує.

for(int i = 0;i < size;i++) delete arr[i];

Нагадаю. Масиви видаляються

delete [] arr

, під-масиви або елементи масиву -

delete [] arr[i];
delete arr[i]

.
Зразок коду, як потрібно працювати із розподілом пам'яті для Вашого завдання.

#include <iostream>
using namespace std;

class Base { /* ... */ };
class Derived_1 : public Base { /* ... */ };
class Derived_2 : public Base { /* ... */ };
class Derived_3 : public Base { /* ... */ };
class Array
{
public:
    ~Array()
    {
        /* ... */
        for (size_t i = 0; i < s; ++i)
            if (p[i])
                delete[] p[i], p[i] = nullptr;
        /* ... */
        delete[] p;
    }
    Array(size_t siz) : s(siz) {
        p = new Base *[s];
    }
    void setBase(Base *pb, size_t id) { p[id] = pb; }
    Base *getBase(size_t id) { return p[id]; }

private:
    Base **p = nullptr;
    size_t s;
};
int main()
{
    Array a1(2);
    Base *b1 = new Derived_1[4]{};
    Base *b2 = new Derived_3[7]{};
    a1.setBase(b2, 0);
    a1.setBase(b1, 1);
    
    // Видалення b1, b2 виконає ~Array    
    
    Array a2(3);
    a2.setBase(new Derived_1[5]{}, 0);
    a2.setBase(new Derived_3[3]{}, 2);
    a2.setBase(new Derived_2[1]{}, 1);

    // Видалення об'єктів Base виконується вручну
    delete[] a2.getBase(2), a2.setBase(nullptr, 2);
    delete[] a2.getBase(0), a2.setBase(nullptr, 0);
    delete[] a2.getBase(1), a2.setBase(nullptr, 1);

    return 0;
}

55

(25 відповідей, залишених у Залізо)

Щось не зрозумів, як ви підключили 10S (36..42V) до упса? Читаю в документації, що на вхід нього йде 12V. Не думаю, що проблема в ПЗ. Скоріш за все він не вміє працювати із цим видом батареї.

56

(8 відповідей, залишених у Java)

Нащо тобі ті ІФИ?

public static boolean flipBoolean(boolean flip) {
        return !flip;
}

57

(5 відповідей, залишених у C++)

Тут можете подивитись. Висловлюйтесь наступного разу чіткіше. Так, щоб не додумувати.
Як це працює? Оцінка складності алгоритмів

58

(5 відповідей, залишених у C++)

Вас цікавить оцінка складності алгоритму. Що значить теоретично?
Сортування масиву методом вибору Що саме вас не влаштувало у попередньому вашому пості?

59

(3 відповідей, залишених у C++)

Nastyaа написав:

Доброго вечора! Маю завдання написати код який рахуватиме кількість виробленої продукції з 2011 по 2022 рік, кількість продукції рахується за формулою [color]100*(10.8*abs(cos(pow(k,2)/1.13))*(sin(k+1.4)))[/color]. І обчислити суму кількості приладів по збитковим рокам, для яких справджуються умови y<-550 або y>-150 тис. виробів, а також визначити найбільшу кількість вироблених приладів. Код написала, він працює, але я сумніваюсь у його правильності, перевірте, будь ласка))

#include <vcl.h>
#include <windows.h>
#pragma hdrstop
#pragma argsused
#include <math.h>
#include <tchar.h>
#include <stdio.h>
#include <iostream>
using namespace std;
  
int _tmain(int argc, _TCHAR* argv[])
{
{ // <-- ЗАЙВА ФІГУРНА ДУЖКА
  SetConsoleOutputCP(1251);
  SetConsoleCP(1251);
  
  float y, sumBadYears =0,maxSum,Yarr[2022-2011];
  int numBadYear;
  
  for(int k=2011;k<2022;k++){
      y=100*(10.8*abs(cos(pow(k,2)/1.13))*(sin(k+1.4)));
      Yarr[k-2011]=y;
                            
  }if(sumBadYears<-550; sumBadYears>-150){  // Що Ви тут перевіряєте?
      sumBadYears+=y;
      numBadYear++;

                                       
  }if (k-2011>0||maxSum>y){  // <-- Уважно подивись на умову
       maxSum =y;
       cout<<"Рік: "<< k<< " Кількість реалізованої продукції: "<<y<<endl;

  }if (numBadYear !=0){
       cout<<"Кількість приладів в усіх збиткових роках: "<<abs(sumBadYears)<<"Найбільша кількість приладів була "<< abs(maxSum);



  }else{
       cout<<" Не було збиткових років";

  }system("pause");
  return 0;
}

Перше, що кинулось в очі. А так не зрозуміло, що ви хочете від спільноти? Переглянути чи програма правильно синтаксично написана? Перевірити алгоритм роботи коду? Що? Ви хоч його компілювали? Ваше середовище розробки видало вам, якісь помилки. І якщо видало, то які? Незрозуміло

60

(3 відповідей, залишених у C++)

Що значить Сумніваюсь? Програма видає якісь помилки?