1

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

З приводу 3.5 правил. Які в мене можуть бути напрацювання, якщо я навіть завдання не розумію?

2

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

Вірите чи ні, але це і є завдання повністю. Я 7 варіант https://replace.org.ua/uploads/images/8036/c37f58794e743d0357b7082f7258e453.png

https://replace.org.ua/uploads/images/8036/389033499304e3d54e61912d20b1795a.png

3

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

Завдання: замінити вираз X==Y іншим, що містить бітову(і) операцію(ї);

1)… 3), 12), 14) X=124; n=6
4) X=124
7)… 8), 10), 13) X=124; Y=68
9), 11) Z=-124


Як це робиться? Я не розумію

4

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

koala написав:

Ви не зберігаєте всю послідовність, лише останній x.

Я зробив вже, потрібно було smax = xmax = 0; винести за цикл. В цьому вся проблема

5

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

Завдання: Визначити функцію обчислення суми цифр довільного натурального числа та за допомогою неї з’ясувати, який з членів генерованої послідовності має найбільшу таку суму.

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
int sumdigs(int k);

int sumdigs(int k)
{
    int s = 0;
    while (k > 0)
    {
        s += k % 10;
        k = k / 10;
    }
    return s;
}
int main()
{
    double s = 0, a;
    unsigned int i, n,x;
    int smax,xmax;
    printf("n=");
    scanf_s("%u", &n);
    for (int i = 0; i < n; i++)
    {
        x = rand() % 100;
        printf("%d ", x); 
    } 
    smax = xmax = 0;

    for (i = 0; i < n; i++)
    {
        int k;
        k = sumdigs(x);
        if (k > smax) 
        {
            smax = k;
            xmax = x;
        }
    }
    printf("\nMax summ numbers =%d in number %d\n", smax, xmax); 
    _getch();
    return 0;
}
 

6

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

u% не працює

#include <stdio.h>
#include <ctype.h>
 
unsigned foo(char* src)
{
    unsigned total = 0;
    for (unsigned idx = 0; *src; src++)
        total += (++idx & 1) & isdigit(*src);
    return total;
}
int main()
{
    char symbols[] = "lkdrjvf9ei48r4hjrfwh74h827h34r0239r34jt93o84rtj";
        printf("Digits on even places found=%u", foo(symbols));
    return 0;
}

7

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

Завдання:
Ввести довільну послідовність символів. Визначити у заданій послідовності кількість символів, котрі є цифровими та мають парні порядкові номери.

Я знайшов схожий код на С++ та переписав його на С, але не розумію як зробити другу частину завдання (парні порядкові номери)

Код, який я знайшов

#include <iostream>
#include <string>
#include <algorithm>
 
int main()
{
    std::string sequence{ "0ab.c1defg,2hi:3jk=lmo4pqr5s67tu" };
    std::size_t index = 0;
    auto digit_count =
        std::count_if(std::begin(sequence), std::end(sequence), [&index](unsigned char c) { return ++index % 2 == 0 && std::isdigit(c); });
    std::cout << "Result = " << digit_count << std::endl;
 
    return 0;
}

Мій код

 
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
main()
{
    const char enter = '\r';
    unsigned int s = 0;
    char c;
    printf("Input text:");
    do
    {
        c = _getche();  
        if (isdigit(c))s++;  
    } while (c != enter);
    printf("\nDigits=%u", s);

    
    _getch();
    return 0;
}

В мене є форма Menu.xaml і я хочу, щоб там при натисканні на певну кнопку, що перекидує на іншу форму Main. Форма Меню скривалася

Я намагався це, але це не працює

private void Start_Button(object sender, RoutedEventArgs e) //кнопка старт
{    
    MainWindow mainWindow = new MainWindow();
    mainWindow.Show();
    this.Visible = false; // помилка
}

9

(4 відповідей, залишених у C#, .NET)

leofun01 написав:
kerimov_e написав:
if (goods[i, j] != 0 && (Vpotent[i] == 99999 || Upotent[j] == 99999))
{
    if (Vpotent[i] == 99999 && Upotent[j] == 99999)
        continue;
    if (Vpotent[i] != 99999)
    {
        for (int k = 0; k < cost.GetLength(1); k++)
            if (goods[i, k] != 0)
                Upotent[k] = cost[i, k] - Vpotent[i];
    }
    if (Upotent[j] != 99999)
    {
        for (int k = 0; k < cost.GetLength(0); k++)
            if (goods[k, j] != 0)
                Vpotent[k] = cost[k, j] - Upotent[j];
    }
}

Практикуєте окультизм ?

Я знайшов схожий приклад та написав як і там. Я знаю, що це дуже погано написано, дуже неякісний код, але єдина проблема, яку я не можу вирішити на даний момент це оптимизація з методом потенціалів. Навіть адекватного прикладу не знайшов :(

10

(4 відповідей, залишених у C#, .NET)

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

ось це "rar" своє приберіть, ми з таким не злигаємось. Або zip, або tar.gz

Прибрав :)

11

(4 відповідей, залишених у C#, .NET)

Не можу зрозуміти як зробити так, щоб при виборі методу північно-західного кута + метод оптимизації потенціалів оптимізувало за один клік.
Наприклад: В мене є деяка транспортна задача і я хочу її порахувати методом північно-західного кута, а потім хочу оптимізувати її за допомогою методу потенціалів.

Я написав код, який робить це, але після двух кліків по кнопці "Знаходимо рішення методом потенціалів" видає "План є оптимальним", отже робиться лише кілька ітерацій. Я хочу збільшити кількість ітерацій при розрахунку метод північно-західного кута+методом потенціалів.

При розрахунку методом мінімальних затрат рахує вірноhttps://replace.org.ua/uploads/images/8036/ef2800e6b8a9079d35df05df61ade9ee.png
, а при виборі північно-західного кута ні.https://replace.org.ua/uploads/images/8036/9d76c96f2c076f2bb132e28f08cc4799.png

Інакше кажучи, я хочу, щоб і в методі мін. затрат і в методі північно-західного кута при оптимізації були однакові відповіді  (як це і повинно бути).
Прикріпив увесь проект

12

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

Як правильно організувати виведення та розрахунок комплексного числа? Комплексний поліном вивести можу, а ось комплексне число ні.
Результат повинен бути щось кшталт цього. https://replace.org.ua/uploads/images/8036/c5882c78ade956635e8a9f24d69e02e6.png


Код Complex.h

#pragma once
#include <iostream>

class Complex
{

private:
    float real;
    float imaginary;
 
public:

    Complex() {
        this->imaginary = 0;
        this->real = 0;
    }

    Complex(float real, float imaginary) {
        this->real = real;
        this->imaginary = imaginary;
    }

    Complex(const Complex& complex) {
        this->imaginary = complex.imaginary;
        this->real = complex.real;
    }

    void setReal(float real) {
        this->real = real;
    }

    void setImaginary(float imaginary) {
        this->imaginary = imaginary;
    }

    float getReal() {
        return real;
    }

    float getImaginary() {
        return imaginary;
    }

    virtual void show() {

        std::cout << this->getReal() << " + " << this->getImaginary() << "i";

    }

    virtual void input() {
    
            std::cout << "Enter real: ";
            std::cin >> this->real;
            std::cout << "Enter imaginary: ";
            std::cin >> this->imaginary;
        
    }

    void operator += (Complex complex)
    {

        this->setReal(this->getReal() + complex.getReal());
        this->setImaginary(this->getImaginary() + complex.getImaginary());

    }

    Complex operator * (int number)
    {

        return Complex(this->getReal() * number, this->getImaginary() * number);

    }


};

Код Main.cpp

#include <iostream>
#include "Complex.h"
class Polynomial : public Complex
{
private:
    int power;
    Complex* koeff;
public:
    Polynomial()
    {
        this->power = 0;
        this->koeff = NULL;
    }

    Polynomial(int power, int countOfKoeff, Complex* koeff)
    {
        this->power = power;

        this->koeff = new Complex[countOfKoeff];

        for (int i = 0; i < this->getPower(); i++)
        {
            this->koeff[i] = koeff[i];
        }


    }

    ~Polynomial()
    {
        delete[] koeff;
    }
    int getPower()
    {
        return this->power;
    }

    void setKoeff(Complex * complex, int count)
    {
        this->koeff = new Complex[count];
        this->power = count;

        for (int i = 0; i < count; i++)
            this->koeff[i] = complex[i];
    }
    void input() {
        int n = 0;
        float r, im;
        std::cout << "Enter count of elements: ";
        std::cin >> n;
        Complex* pc = new Complex[n];
        for (int i = 0; i < n; ++i) {
            std::cout << "Enter real: ";
            std::cin >> r;
            std::cout << "Enter imaginary: ";
            std::cin >> im;
            pc[i] = Complex(r, im);
        }
        this->power = n;
        this->koeff = pc;
    }

    void show()
    {
        for (int i = 0; i < this->getPower(); i++)
        {
            std::cout << "(";
            this->koeff[i].show();
            std::cout << ")";
            std::cout << " * " << "x^" << i + 1;

            if (i == this->getPower() - 1)
                std::cout << " ";
            else
                std::cout << " + ";
        }
    }

    Complex computePolynomial()
    {
        Complex complex;

        for (int i = 0; i < this->getPower(); i++)
        {
            complex += this->koeff[i];
        }

        return complex;
    }
};


    

     
int main() {
    Polynomial polynom;
    polynom.input();
    polynom.show(); //виведення комплексного поліному 

 

   // std::cout << "\n";
    //Complex complex; //тут я намагаюся викликати класс комплексне число, але маю результат 0 
    //complex.show();
}

13

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

Дякую! Тепер все працює!

14

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

Доброго вечора.
Маю помилку:
Помилка C2248 Person::GetNumber_I: неможливо звернутися до private члену, оголошеному в класі "Person" main   
Знаю, що потрібно використовувати friend класи, але я не розумію як це організувати в цьому коді (код не мій, а взятий з лабораторної, яку просто потрібно запустити). Переписувати на своє неможна.
Постановка задачі:
Описати клас ЛІКАР на базі класу Person  та реалізувати алгоритм методу розрахунку зарплатні в залежності від  кількості хворих.

Код Doctor.cpp:

 
#include "Doctor.h"
#include <iostream>
using namespace std; 

Doctor::Doctor() : Person()
{
    this->countOfPatiens = 0;
}

Doctor::Doctor(string name, string surname, int year, int countOfPatiens) : Person(name, surname, year)
{
    this->countOfPatiens = countOfPatiens;
}


Doctor::~Doctor()
{

}

void Doctor::setCountOfPatients(int countOfPatiens)
{
    this->countOfPatiens = countOfPatiens;
}

int Doctor::getCountOfPatients()
{
    return this->countOfPatiens;
}
void Doctor::input()
{
    Person::input();
    countOfPatiens = GetNumber_I(); // тут помилка 
    std::cout << "Enter count of patiens: ";
    
    std::cin >> this->countOfPatiens;
}

void Doctor::output()
{
    Person::output();

    cout << "Count of patients: " << this->getCountOfPatients() << endl;
    cout << "Salary: " << this->salary() << " dollars" << endl;
}

float Doctor::salary()
{
    return this->getCountOfPatients() * PRICE;
}

Код Doctor.h:

#pragma once
#include "Person.h"

#define PRICE 50

class Doctor : public Person
{
private:
    int countOfPatiens;
public:
    Doctor();
    Doctor(string, string, int, int);
    ~Doctor();
    void setCountOfPatients(int);
    int getCountOfPatients();
    void input();
    void output();
    float salary();
};

Код Person.cpp:

#include "Person.h"
#include <iostream>
using namespace std;


Person::Person()
{
    this->name = "";
    this->surname = "";
    this->year = 0;
}

Person::Person(string name, string surname, int year)
{
    this->name = name;
    this->surname = surname;
    this->year = year;
}

Person::~Person()
{

}

void Person::setName(string name)
{
    this->name = name;
}

void Person::setSurname(string surname)
{
    this->surname = surname;
}

void Person::setYear(int year)
{
    this->year = year;
}

string Person::getName()
{
    return this->name;
}

string Person::getSurname()
{
    return this->surname;
}

int Person::getYear()
{
    return this->year;
}

void Person::input()
{
    cout << "Enter name: ";
    cin >> name;

    cout << "Enter surname: ";
    cin >> surname;

    cout << "Enter year: ";
    year = GetNumber_I();
}

void Person::output()
{
    cout << "Name: " << this->getName() << endl;
    cout << "Surname: " << this->getSurname() << endl;
    cout << "Year: " << this->getYear() << endl;
}

Код Person.h:

#define MAX 50
#include <string>
#pragma once
using namespace std;
class Person
{
    int GetNumber_I() // до цього тут було просто int GetNumber_I(); я додав return int(year), але не впевнений що це вірно
    {
        return int(year);
    }
    


private:
    std::string name;
    std::string surname;
    int year;

public:
    Person();
    Person(string, string, int);
    ~Person();
    virtual void input();
    virtual void output();
    void setName(string);
    void setSurname(string);
    void setYear(int);
    string getName();
    string getSurname();
    int getYear();
};

Код main.cpp:

#include "Doctor.h"
#include <iostream>
#include <conio.h>
using namespace std;
void menu();

int main()
{
    Doctor* doctor = new Doctor();
    char c;

    do
    {
        system("cls");
        menu();
        do
        {
            c = _getch();
        } while ((c <= '0' || c >= '4') && c != 27);

        system("cls");

        switch (c)
        {
        case '1':
            doctor->input();
            system("pause");
            break;
        case '2':
            doctor->output();
            system("pause");
            break;
        case '3':
            cout << "Salary: " << doctor->salary() << endl;
            system("pause");
            break;

        default:
            break;
        }

        system("cls");

    } while (c != 27);

    return 0;
}

void menu() {
    cout << "1) Input" << endl;
    cout << "2) Outut" << endl;
    cout << "3) Salary" << endl;
}

15

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

Дякую, запрацювало!

16

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

Нічого я не писав, це приклад з лабораторної який просто необхідно запустити. Свій код неможна писати, тільки цей виправати на робочий. Мій викладач мабуть взагалі не знає програмування, або цю тему класів.
Але дякую, що пояснили!

17

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

Постановка задачі: Описати клас ЗАПИСНИК на базі класу ДАТА, який містить Ф.І.О., телефон, дату народження та функцію обчислення кількості днів до дня народження.

Це код з лабораторної, який просто треба запустити, я не дуже розумію, що там повинно бути взагалі. Якщо б дозволили писати самому, а не здавати чужий код (+ вони приймають тільки це), то я б не запитував такі речі:( 
Я не зрозумів ваш другий пункт, вибачте

18

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

Доброго вечора, допожіть будь-ласка вирішити помилку.
Помилка у 26 строчці main.cpp C2662 int Date::getDay(void): неможливо перетворити покажчик "this" з"const NoteBook" у "Date &"    


Код date.h

class Date {
private:
    int day;
    int month;
    int year;

public:
    Date() {
        this->day = 0;
        this->month = 0;
        this->year = 0;

    }

    Date(int day, int month, int year) {
        this->day = day;
        this->month = month;
        this->year = year;
    }

    Date( const Date& date)  {
        this->day = date.day;
        this->month = date.month;
        this->year = date.year;
    }

    void  setDay(int day) {
        this->day = day;
    }

    void  setMonth(int month) {
        this->month = month;
    }

    void setYear(int year) {
        this->year = year;
    }


     int getDay() {
        return day;
    }

     int getMonth() {
        return month;
    }

     int getYear() {
        return year;
    }

    virtual void show() {
        std::cout << "Date: " << this->getDay() << ":" << this->getMonth() << ":" << this->getYear() << "\n";
        std::cout << std::endl;
    }

    virtual void input() {

        std::cout << "Enter day: ";
        std::cin >> this->day;

        std::cout << "Enter month: ";
        std::cin >> this->month;

        std::cout << "Enter year: ";
        std::cin >> this->year;
    } 
};

Код main.cpp

#include <iostream>

#pragma once

#include "Header.h"
#include "Date.h"

#define YEAR 365
#define MONTH 31

class  NoteBook : public Date {
private:
    std::string name;
    std::string phoneNumber;
public:
    NoteBook() : Date() {
        this->name = "";
        this->phoneNumber = "";
    }

      NoteBook(std::string name, std::string phoneNumber, int day, int month, int year) : Date(day, month, year) {
        this->name = name;
        this->phoneNumber = phoneNumber;
    }

      NoteBook(const NoteBook& noteBook) : Date(Date(noteBook.getDay(), noteBook.getMonth(), noteBook.getYear())) { //помилка
        this->name = noteBook.name;
        this->phoneNumber = noteBook.phoneNumber;

        //Date(Date(noteBook.getDay(), noteBook.getMonth(), noteBook.getYear()));
    
    }

    void setName(std::string name) {
        this->name = name;
    }

    void setPhoneNumber(std::string phoneNumber) {
        this->phoneNumber = phoneNumber;
    }

    std::string getName() {
        return this->name;
    }

    std::string getPhoneNumber() {
        return this->phoneNumber;
    }

    void show() {
        std::cout << std::endl;
        std::cout << "Name: " << this->getName() << std::endl;
        std::cout << "Phone number: " << this->getPhoneNumber() << std::endl;

        Date::show();
    }

    void input() {
        std::cout << "Enter name: ";
        std::cin >> name;

        std::cout << "Enter phone number: ";
        std::cin >> phoneNumber;

        Date::input();
    }

    int getDaysBeforeBirthDay() {
        Date* date = new Date();

        std::cout << "Enter current date:" << std::endl;
        date->input();

        int dayBefore;
        int monthBefore;
        int yearBefore;

        yearBefore = abs(this->getYear() - date->getYear()) * YEAR;

        monthBefore = abs(this->getMonth() - date->getMonth()) * MONTH;

        dayBefore = abs(this->getDay() - date->getDay()) + monthBefore;

        std::cout << "Days before birthday: " << dayBefore << std::endl;

        delete date;
        return dayBefore;
    }
};

int main() {
    NoteBook notebook;
    notebook.input();
    notebook.show();
}

19

(17 відповідей, залишених у Системне програмування)

я зробив :) тему можна закривати

.686P
.MODEL      FLAT, STDCALL
.STACK      4096
.DATA
MB_OK       EQU     0
str_format  DB     "X = %d",0
str_buffer  DB      256 dup (0)
m_title     DB      "Lab #1",0
A           DB      -4    ;a = -4
B           DB      10    ;b = 10
C1          DB      5      ;c = 5
D           DB      -7     ;d = -7
X           DD      ?

    extern MessageBoxA@16:NEAR
    extern wsprintfA:NEAR
.CODE
Start:

movsx eax, A
imul eax    ; a^2 
add eax, 9     ;eax = a^2+9
mov    ecx,eax        ;ecx = a^2+9
mov eax,3        ;3
movsx edx,c1
imul edx        ;3c
movsx edx,b
imul edx        ;3cb
mov ebx,eax        ;ebx=3cb
movsx eax,b        ;b
imul eax        ;b^2
sub eax,ebx        ;eax=b^2-3cb
cdq
idiv ecx           ;eax = (b^2-3*c*b)/(a^2+9)
mov ecx,eax     ;ecx = (b^2-3*c*b)/(a^2+9)
movsx eax,d        ;d
mov ebx,eax        ;d
imul eax        ;d^2
imul ebx        ;d^3
add eax,ecx        ;d^3-(b^2-3*c*b)/(a^2+9)
add eax,350
mov x,eax
push            eax
PUSH            OFFSET str_format
PUSH            OFFSET str_buffer
CALL            wsprintfA
ADD             esp, 12
PUSH            MB_OK
PUSH            OFFSET m_title
PUSH            OFFSET str_buffer
PUSH            0
CALL            MessageBoxA@16
RET
END START

20

(17 відповідей, залишених у Системне програмування)

Після двох годин пошуку прикладів я написав наступне, але відповідь завжди різна. Не можу знайти помилку.

.686P
.MODEL      FLAT, STDCALL
.STACK      4096
.DATA
MB_OK       EQU     0
m           EQU     848h        ;m = 350d
str_format  DB     "X = %d",0
str_buffer  DB      256 dup (0)
m_title     DB      "Lab #5",0
A           DB      0F4h    ;a = -4
B           DB      0Ah    ;b = 10
C1          DB      05h      ;c = 5
D           DB      0F7h     ;d = -7
X           DD      ?

    extern MessageBoxA@16:NEAR
    extern wsprintfA:NEAR
.CODE
Start:

movsx           edx, A
imul            ecx, ecx    ;ecx = a^2
add             ecx, edx     ;ecx = a^2+9

movsx           ecx, B   
imul            ebx, ecx   ;ebx = b^2
imul            ecx, ecx

movsx           edx, C1
imul            edx, edx    ;edx =(-3*c)
sub             ecx, edx    ;ebx=b^2-3*c*b

movsx           eax, D
imul            eax, eax    ;eax = d^3
cdq                         
idiv            ecx           ;eax = (b^2-3*c*b)/(a^2+9)

add         eax, ebx     ;eax = d^3 +(b^2-3*c*b)/(a^2+9)
add         eax, m     ;eax = d^3 +(b^2-3*c*b)/(a^2+9)+350

push            eax

PUSH            OFFSET str_format
PUSH            OFFSET str_buffer
CALL            wsprintfA
ADD             esp, 12
PUSH            MB_OK
PUSH            OFFSET m_title
PUSH            OFFSET str_buffer
PUSH            0
CALL            MessageBoxA@16
RET
END START