Quantcast
Channel: Форум программистов и сисадминов Киберфорум
Viewing all 517376 articles
Browse latest View live

Ребята, могли бы вы объяснять что делает эта функция? - C (Си)

$
0
0
Заранее благодарен

:

void GoToXY(int x, int y)
{
COORD position = { x, y };
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorPosition(hConsole, position);
}


Связать цену с услугой из бд - C# Windows Forms

$
0
0
В Windows Form создал бд в которой находятся столбцы "услуги" и "цена за услугу".
Затем на самой форме создал элемент ComboBox где выпадает список услуг из бд.
Задача такая пользователь выбирает какую-нибудь услугу, затем вводит количество услуги и нажимает на кнопку "Рассчитать" и в поле "Сумма покупки" должно вывестись сумма покупки и в поле "Сдача" должна вывестись сдача.
Вопрос такой как связать услугу с ценой из бд? Чтобы можно было расчёт совершить.

Изображения
Тип файла: png бд.png (6.7 Кб)
Тип файла: png форма.png (19.5 Кб)

Не могу создать том для SSD - Жесткие диски, HDD

$
0
0
Ноутбук перестал отображать ссд При создании тома выдает такую ошибку

Как создать поле, которое подтягивает значение из пред идущих - Microsoft Access

$
0
0
Я работаю с большой базой данных и возникла необходимость задать поле с остатками материалов для каждого заказа. Для упрощения прикреплю простенький пример с подобной проблемой.

Есть таблица поставки, где отображаются поставки материала. Пусть это будут рулоны ткани какой-то длины. И таблица заказы, к которой привязан материал из таблицы поставки. На каждый заказ отрезают какое-то количество материала(Расход).
Нужно сформировать поля Было и Осталось.
С осталось все понятно: [Было]-[Расход]
Но как быть с Было?
туда должно подтягиваться значение "Осталось" из пред идущей записи, в которой указан тот же материал и которая имеет самую позднюю дату, которая меньше даты текущей записи. Если такой записи нет, то значение берётся из поставок.
Возможно ли такое реализовать в Access?
Это не обязательно должно быть в таблице, можно и в запросе, но я уповал на макросы данных, однако они относительно недавно появились и примеров с ними мало.

P/s: Добавляю архивом, так как форум не поддерживает формат БД

Вложения
Тип файла: rar Database2.rar (17.3 Кб)

Посоветуйте с выбором видеокарты - Видеокарты

$
0
0
Здравствуйте,посоветуйте какую видеокарту взять
Процессор Ryzen 5 3600
Мать поддерживает pcie 4.0
ASUS RTX 2060 12GB
ASUS RX6600 8GB

Задача: Сделать массив "хорошим" - C# для начинающих

$
0
0
Давайте вызовем массив из n чисел, например: [b1,b2,b3...bn]. Хоршо, если: b1*b2*b3*...*bn= b1+b2+b3+...+bn. За одну операцию можно добавить 1 целочисельный елемент. Нужно вывести количество операций, за которые можно сделать массив хорошим.

Проблема с передачей переменных функций в поток - С++ для начинающих

$
0
0
Добрый день, у проблема с передачей переменных в функцию в потоке. Вроде бы на более простых примерах у меня все работает, а тут проблема. Как правильно вызывать функцию с переменными в потоке?

Ошибка в строке вызова потока std::thread th1(MathForm1, std::ref(a12), std::ref(b12));


Ошибка C3867 "Project4::MyForm::MathForm1": нестандартный синтаксис; используйте "&", чтобы создать указатель на член
Ошибка (активно) E0289 отсутствуют экземпляры конструктора "std::thread::thread", соответствующие списку аргументов




:

        double MathForm1(double &a, double &b)
        {
                double x = 0;
                richTextBox->AppendText("Решаем первое уравнение" + "\n");
                richTextBox->AppendText("\n" + "\n" + "Корень уравнениея: " + "\n" + "\n" + "X = " + -b + " / " + a);
                x = -b / a;
                richTextBox->AppendText("\n" + "\n" + "X = " + x);
                richTextBox->AppendText("\n" + "---------------------" + "\n");
                return x;
        }
        vector <double> MathForm2(double a, double b, double c)
        {
                std::vector<double> x(2);
                double d = pow(b, 2.0) - 4 * a * c;
                richTextBox->AppendText("Решаем второе уравнение" + "\n");
                richTextBox->AppendText("\n" + "\n" + "Нахождение дискриминанта: " + "\n" + "D = " + pow(b, 2) + " - 4 * " + a + " * " + c);
                richTextBox->AppendText("\n" + "\n" + "Дискриминант: " + d);
                if (d < 0)
                {
                        richTextBox->AppendText("\n" + "\n" + "Дискриминант отрицательный" + "\n" + "\n" + "Уравнение не имеет действительных решений");
                }
                if (d == 0)
                {
                        x[0] = -b / 2 * a;
                        richTextBox->AppendText("\n" + "\n" + "Дискриминант равен нулю");
                }
                if (d > 0)
                {
                        richTextBox->AppendText("\n" + "\n" + "Дискриминант положительный, уравнение имеет два корня");
                        x[0] = (-b + sqrt(d)) / 2 * a;
                        richTextBox->AppendText("\n" + "\n" + "Первый корень:" + x[0]);
                        x[1] = (-b - sqrt(d)) / 2 * a;
                        richTextBox->AppendText("\n" + "\n" + "Первый корень:" + x[1]);
                }
                richTextBox->AppendText("\n" + "---------------------" + "\n");
                return x;
        }

#pragma endregion
        private: System::Void ButtonReadFile_Click(System::Object^ sender, System::EventArgs^ e) {
                const int siz = 5;
                int mas[siz];
                std::ifstream f;
                f.open("Input.txt");
                if (f) {
                        for (int i = 0; i < siz; i++) {
                                f >> mas[i];
                        }
                }
                a1 = mas[0];
                b1 = mas[1];
                a2 = mas[2];
                b2 = mas[3];
                c2 = mas[4];
                richTextBox->AppendText("Полученные из файла данные:" + "\n" +
                        "\nПервое уравнение:" + "\n"
                        + a1 + " * X + " + b1 + " = 0 " +
                        "\n" + "\nВторое уравение:" + "\n"
                        + a2 + " * X^2 + " + b2 + " + X +" + c2 + " = 0");
        }
private: System::Void MyForm_Load(System::Object^ sender, System::EventArgs^ e) {

       
}
public: System::Void buttonExecute_Click(System::Object^ sender, System::EventArgs^ e) {

        double a12 = a1;
        double b12 = b1;
        //MathForm1(a1, b1);
        //MathForm2(a2, b2, c2);       
        std::thread th1(MathForm1, std::ref(a12), std::ref(b12));
        th1.join();
        //th1.join();
       
}
};

Духовка Beko CSM 67300 куда глядеть? - Ремонт варочных панелей, духовок

$
0
0
Всем доброго времени!

Электроплита Beko CSM 67300 GA
Внезапно перестала работать духовка, просто никак не реагирует на включение, сигнальная лампа не загорается и ничего не происходит и ничего не предвещало, крайний раз просто закончили готовку.

По общим инструкциям в инете проверил термостат - рабочий. Визуально плату управления, она небольшая и в ней тоже ничего не заметил (следов выгорания и т.п.), верхняя часть плиты работает.
Тены тоже проверил - все ОК. Да и там тен не один, есть грили, конвекция и т.п. вряд ли бы все одновременно выгорело, а не работает ничего.

Внимание обратил на переключатель режимов плиты
Сразу видно было два провода, почему то отличающиеся наличием пластиковой части (зачем?) которые подгорели, а также следы подгорелости первых контактов.
Как я понял это самые часто используемый режим (гриль).

На самом переключателе центральная ось имеет гребенки которые и переключают комбинации режимов. Вот здесь как раз и заметил, что 2 гребня подплавлены и потому не имеют достаточной высоты, а потому лепестки контактов (как раз там где горелости) постоянно замкнуты в любом режиме.

С помощью паяльника я наростил эти гребни, т.е. восстановил размыкание, но ничего не изменилось.
Сам переключатель нашел в своем городе, но поможет ли его замена? Старый после напайки ведь тоже должен выполнять свои функции.

Фото прилагаю.

Спасибо за внимание!

Изображения
Тип файла: jpg 918881d6-8fcc-49ab-bd60-228325cecfa6.jpg (180.5 Кб)
Тип файла: png Screenshot_1.png (1.00 Мб)
Тип файла: png Screenshot_18.png (1.19 Мб)
Тип файла: png Screenshot_23.png (1.34 Мб)

Label - изменение размеров - Delphi: FireMonkey

$
0
0
Здравствуйте!
На форме есть Label1. Если в Label1 установить свойства Autosize и WordWrap то при изменении размеров формы изменяются размеры Label1 и соответственно текст подстраивается под размеры Label 1. Если в Label1 убрать текст и вставить Label2, в котором прописать текст, ТО при выставлении у двух Label-ов свойств Autosize и WordWrap, при изменении размеров формы размеры Label1(свойство Align - Top) фиксируются, а меняются только размеры Label2 и текст не вмещается в Label1.
Как сделать так, чтобы менялись оба Label и текст был виден????

Изображения
Тип файла: png 014.png (19.2 Кб)

Доказать оценку аналитически - Математический анализ

$
0
0
Имеется следующая оценка:
https://www.cyberforum.ru/cgi-bin/latex.cgi?|\log x| > -\frac{1}{e} x, 0 < x < 1
Как ее доказать аналитически?

Настроить переадресацию - SEO для начинающих

$
0
0
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} google [OR]
RewriteCond %{HTTP_REFERER} yandex

RewriteRule ^(.*)$ http://site1.ru/$1 [R]

Как изменить код чтобы переадресация шла не только с главной страницы сайта а с любой страницы

В каждом нечетном числе поменять местами младший байт со старшим. Найти сумму чисел до и после замены - Assembler для начинающих

$
0
0
Подскажите, пожалуйста, как поменять местами младший и старший байт

Нарисовать две фигуры звёздочками - С++ для начинающих

Большое число, C++ - С++ для начинающих

$
0
0
Задача. Большое число.
Вася написал на длинной полоске бумаги большое число и решил похвастаться своему старшему брату Пете этим достижением. Но только он вышел из комнаты, чтобы позвать брата, как его сестра Катя вбежала в комнату и разрезала полоску бумаги на несколько частей. В результате на каждой части оказалось одна или несколько идущих подряд цифр. Теперь Вася не может вспомнить, какое именно число он написал. Только помнит, что оно было очень большое и, разумеется, не начиналось с нуля. Чтобы утешить младшего брата, Петя решил выяснить, какое максимальное число могло быть написано на полоске бумаги перед разрезанием. Помогите ему!
Входные данные:
В первой строке входных данных содержится натуральное число N, не превосходящее 100 — количество строк. Далее заданы N строк, каждая из которых содержит последовательность цифр. Каждая строка содержит от 1 до 100 цифр. Гарантируется, что хотя бы в одной строке первая цифра отлична от нуля.
Выходные данные:
Выведите одну строку — максимальное число, которое могло быть написано на полоске перед разрезанием.

Пример.
Ввод:
4
2
20
004
66
Вывод:
66220004

Мой код выдаёт ошибку в первом же тесте. Пожалуйста, помогите его исправить, указав, что в нём неверно. Мой код:
:

#include <iostream>
#include <vector>
#include <algorithm>

bool Cmp(std::string x, std::string y){
    if (x.size() < y.size()){
        while (x.size() < y.size()){
            x += '0';
        }
    }
    if (y.size() < x.size()){
        while (y.size() < x.size()){
            y += '0';
        }
    }
    return x < y;
}

int main() {
    int N;
    std::cin >> N;
    std::vector<std::string> v(N);
    for (int i = 0; i < N; ++i){
        std::cin >> v[i];
    }
    sort(v.rbegin(), v.rend(), Cmp);
    for (int i = 0; i < v.size(); ++i){
        std::cout << v[i];
    }
}

Создать массив и поменять элементы в нем - С++ для начинающих

$
0
0
Нужно создать массив и поменять местами второй отрицательный элемент с третьим положительным. Если действие невозможно, то вывести сообщение об ошибке. Можете помочь?

Обойти друзей - Python: Решение задач

$
0
0
На прямой дороге живут n друзей. Координата i-го друга x. Однажды первый друг решил зайти в гости ко всем своим друзьям и потом вернуться домой. Какое минимальное расстояние ему нужно будет пройти?
==========================================
Входные данные:
Первая строка содержит число n — число друзей (2≤n≤100), вторая строка содержит n чисел x — координаты друзей (1≤xi≤100).
==========================================
Выходные данные:
Выведите одно число — минимальное расстояние, которое нужно пройти первому другу, чтобы обойти всех друзей и вернуться домой.
==========================================
Примеры:
1) Входные данные:
4
3 6 1 4
Выходные данные:
10
--------------------------------
2) Входные данные:
2
1 2
Выходные данные:
2
--------------------------------
3) Входные данные:
10
4 2 5 6 10 3 7 8 1 9
Выходные данные:
18
===========================================
Примечание:
В первом примере можно сначала дойти до друга в точке 1, затем до друга в точке 6, затем до друга в точке 4, и затем вернуться домой в точку 3. Суммарное расстояние, которое придется пройти, равно 2+5+2+1=10.

Соединение сигнала со слотом внутри класса - C++ Qt

$
0
0
Добрый день! Продолжаю изучать Qt по книге Макса Шлее, имеется класс Progress и мейн:

progress.h
:

#ifndef PROGRESS_H
#define PROGRESS_H

#include <QWidget>

class QProgressBar;

class Progress : public QWidget
{
    Q_OBJECT
private:
    // Указатель на виджет индикатора выполнения.
    QProgressBar* m_pprb;
    // Целое значение, представляющее номер шага.
    int          m_nStep;

public:
    Progress(QWidget *pobj = 0);

public slots:
    // Для наращивания шага на единиу.
    void slotStep ();
    // Для установки индикатора выполнения в нулевое положение.
    void slotReset();

signals:
    void goodbye();
};

#endif // PROGRESS_H

progress.cpp
:

#include <QtWidgets>
#include "progress.h"

Progress::Progress(QWidget *pobj)
    : QWidget(pobj)
    , m_nStep(0)
{
    m_pprb = new QProgressBar;
    // Задаем количество шагов, равное 5.
    m_pprb->setRange(0, 5);
    // Устанавливает минимальную длину виджета индикации выполнения.
    m_pprb->setMinimumWidth(200);
    // Переводим индикатор в режим отображения процентов в центре.
    m_pprb->setAlignment(Qt::AlignCenter);

    QPushButton* pcmdStep =  new QPushButton("&Step");
    QPushButton* pcmdReset = new QPushButton("&Reset");

    connect(pcmdStep, SIGNAL(clicked()), SLOT(slotStep()));
    connect(pcmdReset, SIGNAL(clicked()), SLOT(slotReset()));

    // Layout setup
    QHBoxLayout* phbxLayout = new QHBoxLayout;
    phbxLayout->addWidget(m_pprb);
    phbxLayout->addWidget(pcmdStep);
    phbxLayout->addWidget(pcmdReset);
    setLayout(phbxLayout);
}

void Progress::slotStep()
{
    if (++m_nStep > 5)
        emit goodbye();
    m_pprb->setValue(m_nStep);
    // Значение атрибута увеличивается на 1 и передается
    // в слот объекта индикатора выполнения.
    //m_pprb->setValue(++m_nStep);
}

void Progress::slotReset()
{
    m_nStep = 0;
    // Возвращает индикатор в исходное состояние.
    m_pprb->reset();
}

main.cpp
:

#include <QApplication>
#include "progress.h"

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    Progress    progress;

    QObject::connect(&progress, SIGNAL(goodbye()), &app, SLOT(quit()));

    progress.show();

    return app.exec();
}

"По умолчанию" в книге нету сигнала goodbye и окно не закрывается. Я решил это исправить и сделать так, чтобы когда виджет индикатора выполнения достигал 100% окно закрывалось. Для этого я добавил сигнал goodbye и соединил его со слотом приложения quit в мейне, поскольку не смог придумать как сделать это внутри класса. Возможно ли сделать это внутри класса и насколько плох мой вариант? Заранее спасибо за ответ.

Можно ли пользоваться блоком питания ноутбука, после того как сработал автомат в электро щитке? - Ремонт ноутбуков

$
0
0
Подключил блок питания ноутбука к сети и выбило автомат, в воздухе немного запахло гарью. Подумал, что сгорел блок питания. Но попробовал ещё раз и подключил к ноуту - вроде ноут работает, но сразу на всякий случай ноут выключил. Вопрос - можно ли продолжать пользоваться этим блоком питания? Будут ли какие негативные последствия для ноутбука? Что можете посоветовать?

Разложение в ряд подынтегральную функцию - Python для начинающих

$
0
0
Подскажите все ли верно тут прописал в коде?
Нигде ошибку не допустил?
Посчитать нужно с точность до 1е-5

:

import math as m1

def f(x):
    return (1/(m1.sqrt(1-x**4)))

def test(x,eps):
    sum = 1
    n = 1
    t = 1
    while t*t > eps*eps:
        t *= -(2*n-1)*x/(2*n)
        n += 1
        sum += t
    return sum

a = 0.5
b = 0.6
eps = 0.00001

print("  xi | f(xi)")
print("---------------------------------------------------------------------")
while a < b:
    if a != 0.5:
        print("", round(a, 2), "|", round(f(a), 5), round(test(a,eps),5))
    else:
        print(round(a, 2), "|", round(f(a), 5), round(test(a,eps),5))
    a += 0.1
    print("---------------------------------------------------------------------")


Изображения
Тип файла: jpeg ScreenShot_20221105111035.jpeg (3.4 Кб)

NASM Не могу посчитать размер символов в текстовом файле - Assembler: Linux

$
0
0
Здравствуйте, в ассемблере NASM на Ubuntu при открытии файла в отладчике у регистра RAX выходит ошибка ENOENT, но если я использую вывод информации из этого текстового файла, то все работает. т.е. ошибка непонятная для меня, получается этот файл он видит. Вопрос: функция lseek, т.е. № 19 выводит всегла '0', независимо от кол-ва символов в файле. Помогите пожалуйста как сделать, чтобы функция подсчета заработала и вывела кол-во символов в файле. Спасибо.

Вот мой код на NASM:

SECTION .data ;для инициализированных данных

filetoopen: db 'forsearch.txt',0 ;ввод адреса
lfiletoopen equ $-filetoopen

SECTION .bss ;для НЕинициализированных данных
input: resb 100
linput equ $-input

input1: resb 100
linput1 equ $-input1

SECTION .text
GLOBAL _start
_start:

;- открыть файл, прочитать его в буфер и найти в содержимом подстроку, используя строковые инструкции;-
mov eax,5 ;open
mov ebx,filetoopen ;имя/адрес файла
mov ecx,0 ;0-read, 1-write, 2-read and write
int 80h

mov ebx,eax ;filedes
mov eax,19 ;системный номер функции
mov ecx,0 ;offset
mov edx,2 ;whence
int 80h

add ah,'0'
mov byte[input],ah

;вывод результата
mov ecx,input ;ввод полученного количества символов
mov edx,eax ;ввод количества символов
mov eax,4
mov ebx,1
int 80h

;закрыть файл
mov eax,6
mov ebx,0 ;дескриптор
int 0x80
;возвращаемое значение — 0; значение -1 возвращается в случае ошибки.

;- завершить программу.+


mov eax, 1 ;содержимое помещается в регистр в EAX помещается 1 - номер системного вызова "exit"
mov ebx, 0 ;содержимое помещается в регистр в EBX помещается 0 - параметр вызова "exit" означает код с которым завершится выполнение программы
int 0x80 ;системный вызов. После системного вызова "exit" выполнение программы завершается
Viewing all 517376 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>