1

(6 відповідей, залишених у Обговорення)

Так, дякую

2

(6 відповідей, залишених у Обговорення)

А якщо підручника немає?
Гуглю - теж нічого не можу розібрати...
Можете хоча б останнє підказати?

3

(6 відповідей, залишених у Обговорення)

А можна якось більш ясніше, а то я не сильно зрозумів)
Як я можу відповісти на дані питання?

4

(6 відповідей, залишених у Обговорення)

Доброго всім вечора)
Хочу попросити вас роз'яснити мені нижче задане...
Оператор варіанту. До яких типів даних не може належати значення виразу-селектора в операторі вибору? Наведіть приклади використання оператора варіанту.
Що визначає тип даних? (Я так розумію тут іде мова про char, int, double...?)

Для уточнення - ми вчимо с++

5

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

koala написав:

У C++ натуральний логарифм обчислюється функцією log бібліотеки <cmath>.

Просто log() і все? (ну те що потрібно <cmath> то понятно)

6

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

Як в c++ обчислюється ln?
Гуглив, але нічо так і не зрозумів. Може хоч тут мені хтось пояснить.
Буду дуже вдячний.

7

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

double k = (x + 2) / h; // k = (x - (-minx)) / h
if (abs(k - round(k)) < 1e-9)

Можете будь ласка пояснити як працюють ці рядки коду, бо я щось не дуже розумію  *SCRATCH*

І чому при запуску цього коду

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    setlocale(LC_CTYPE, "ukr");
    double y, x = -2, i = 23.0, h = 0.1 * i, n = 0, min_y, x_for_m_y, lichulnuk = 0;
    double s[3];
    int p = 0;
    while (x <= i)
    {
        if (-2 <= x and x <= 0)
        {
            y = exp(-x) + exp(-2 * x);
            cout << x << " " << y << endl;
            s[p] = y;
            p++;
        }
        if (0 <= x and x <= 2)
        {
            y = exp(-(x + 5)) + exp(-x / 2);
            cout << x << " " << y << endl;
            s[p] = y;
            p++;
            n = n + y * y;
        }
        if (-2 > x or x > 1)
        {
            cout << "Функцiя не визначена" << endl;
        }
        if (lichulnuk == 0)
        {
            min_y = y;
            x_for_m_y = x;
        }
        else if (y < min_y)
        {
            min_y = y;
            x_for_m_y = x;
        }
        lichulnuk++;
        x = x + h;
    }
    cout << "х, до якого хочете знайти вiдповiдне у: ";
    cin >> x;
    double k = (x + 2) / h; // k = (x - (-minx)) / h
    if (abs(k - round(k)) < 1e-9) {
        if (-2 <= x and x <= 1)
        {
            int o = k;
            cout << s[o] << endl;
        }
        else if (-2 <= x and x <= i)
        {
            cout << "Функцiя не визначена" << endl;
        }
        else cout << "Немає значення" << endl;
    }
    else cout << "Немає значення" << endl;
    cout << "Сума квадратів усіх додатних значень функцій у: " << n << endl;
    cout << "Функція набуває мінімального значення при х: " << x_for_m_y << endl;
    system("PAUSE");
    return 0;
}

при пошуку "0.3" вибиває "61.9872", а не "0.8657"?

-2 61.9872
0.3 0.8657
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
х, до якого хочете знайти вiдповiдне у: 0.3
61.9872
Сума квадрат?в ус?х додатних значень функц?й у: 0.749436
Функц?я набуває м?н?мального значення при х: 0.3

Хоча в інших варіантах все норм...

8

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

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    setlocale(LC_CTYPE, "ukr");
    double y, x = -2, i = 23.0, h = 0.1 * i;
    double s[3];
    int p = 0;
    while (x <= i)
    {
        if (-2 <= x and x <= 0)
        {
            y = exp(-x) + exp(-2 * x);
            cout << x << " " << y << endl;
            s[p] = y;
            p++;
        }
        if (0 <= x and x <= 2)
        {
            y = exp(-(x + 5)) + exp(-x / 2);
            cout << x << " " << y << endl;
            s[p] = y;
            p++;
        }
        if (-2 > x or x > 1)
        {
            cout << "Функцiя не визначена" << endl;
        }
        x = x + h;
    }
    cout << "х, до якого хочете знайти вiдповiдне у: ";
    cin >> x;
    double k = (x - (-2)) / h;
    if (k - int(k) < 1e9)
    {
        if (-2 <= x and x <= 1)
        {
            int o = k;
            cout << s[o] << endl;
        }
        else if (-2 <= x and x <= i)
        {
            cout << "Функцiя не визначена" << endl;
        }
        else cout << "Немає значення" << endl;
    }
    else cout << "Немає значення" << endl;
    return 0;
}
-2 61.9872
0.3 0.8657
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
Функцiя не визначена
х, до якого хочете знайти вiдповiдне у: 0.3
61.9872

Чому?

9

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

koala написав:
double k = (x + 2) / 1.1;

Що ви тут обчислюєте?

Все, зрозумів де провтикав...
Взяв з вашого коду і не подумав, що замість (x + 2) має бути (x + 1) бо тільки 2 значення х мають у
Дякую))

10

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

Дякую. Все запрацювало :)
Але робив схожу задачку і виникла проблема...
Код:

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

int main()
{
    double y, x = -2, i = 23, h = 0.1 * i;
    double s[3];
    int p = 0;
    while (x <= i)
    {
        if (0 <= x and x <= 1)
        {
            y = pow(cos(x), 2) - cos(x * x);
            cout << x << " " << y << endl;
            s[p] = y;
            p++;
        }
        if (-2 <= x and x <= 0)
        {
            y = cos(x * x * x) + cos(2 * x);
            cout << x << " " << y << endl;
            s[p] = y;
            p++;
        }
        if (-2 > x or x > 1)
        {
            cout << "Function not defined" << endl;
        }
        x = x + h;
    }
    cout << "search: ";
    cin >> x;
    double k = (x + 2) / 1.1;
    if (k - int(k) < 1e9)
    {
        if (-2 <= x and x <= 1)
        {
            int o = k;
            cout << s[o] << endl;
        }
        else if (-2 <= x and x <= i)
        {
            cout << "Function not defined" << endl;
        }
        else cout << "No value" << endl;
    }
    else cout << "No value" << endl;
    return 0;
}


Вивід:

-2 -0.799144
0.3 -0.0832849
Function not defined
Function not defined
Function not defined
Function not defined
Function not defined
Function not defined
Function not defined
Function not defined
Function not defined
search: 0.3
-9.25596e+61

Чому виводить -9.25596e+61 а не -0.0832849?

11

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

Можете будь ласка допомогти з написанням коду пошуку. Так, хочу зробити через масив, але проблема в тому, що не знаю як це записати. Хочу записувати в масив кожний вивід циклу в вигляді строки, але я не знаю як перетворити змінну з цифрою, на строку з тою цифрою, щоб зберегти в масиві... Можете хоча б навести приклад?
Зараз мій код виглядає якось так:

#include <iostream>
#include <math.h>
#include <string>
using namespace std;

int main()
{
    double y, x = -2, i = 11, h = 0.1 * i, n = 0, max_y = 0;
    int k = 0;
    string s[11];
    while (x <= i)
    {
        if (0 <= x and x <= 1)
        {
            y = pow(cos(x), 2) - cos(x * x);
            cout << x << " " << y << endl;
            if (y < 1.2 || y > 4) n = n + x;
            if (y > max_y) max_y = y;
            s[k] = ("%f %f", x, y);
        }
        if (-2 <= x and x <= 0)
        {
            y = cos(x * x * x) + cos(2 * x);
            cout << x << " " << y << endl;
            if (y < 1.2 || y > 4) n = n + x;
            if (y > max_y) max_y = y;
            s[k] = ("%f %f", x, y);
        }
        if (-2 > x or x > 1)
        {
            cout << "Function not defined" << endl;
            s[k] = "Function not defined";
        }
        x = x + h;
        k++;
    }
    cout << "search: ";
    cin >> k;
    cout << s[k] << endl;
    cout << "sum y<1.2 or y>4 :";
    cout << n << endl;
    cout << "max y: " << max_y;
    return 0;
}

Ps. Розумію, що погано читабельний, але який є...

12

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

Що означає sh ?

13

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

Дякую  :)

koala написав:

Ви при розрахунку функції двічі обчислюєте її значення в 0. Втім, це не ваша помилка - так в умові. Ще раз переказуйте великий привіт викладачеві.

Да, доволі дивна і смішна ситуація  :)   Наша освіта...

koala написав:

До речі, раджу саме таку форму об'єднання кількох порівнянь з однією змінною - зі знаками < (чи <=) та впорядковану за зростанням; це покращує читанабельність, порівняйте if-и у вашому коді.

Не зрозумів  *SCRATCH*

14

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

Моя задача:
Протабулювати функцію y=f(x)задану системою рівнянь на проміжку [-2; і] з кроком h=0.1*і, де і -номер варіанта.
***Тут має бути система, яка прикріплена в файлі
Результати обчислень вивести на екран у вигляді таблиці пар чисел х, у.
1.    Виконати  пошуку даних. Якщо шуканих даних немає, вивести про це повідомлення.   Обчислити суму усіх значень функції у, для яких виконуються нерівності y<1,2 або y>4. Визначити максимальне значення функції.

Мій розв'язок:

#include <iostream>
#include <math.h>
using namespace std;

int main()
{
    double y, x = -2, i = 11, h = 0.1 * i, n = 0, max_y = 0;
    while (x <= i)
    {
        if (x >= 0 and x <= 1)
        {
            y = pow(cos(x), 2) - cos(x * x);
        }
        if (-2 <= x and x <= 0)
        {
            y = cos(x * x * x) + cos(2 * x);
        }
        x = x + h;
        cout << x << " " << y << endl;
        if (y < 1.2 || y > 4) n = n + x;
        if (y > max_y) max_y = y;
    }
    cout << "sum y<1.2 or y>4 :";
    cout << n << endl;
    cout << "max y: " << max_y;
}

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

Я б спитав би це все в викладача, але може бути пізно... Тому якщо хтось розуміє - поясніть будь ласка. ;)

15

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

Доброго вечора
Виникла проблема... При запуску цього коду вибиває помилку:

from tkinter import *
colorchooser.askcolor()

Ця помилка:

Traceback (most recent call last):
  File "D:/d/illya/practice/lesson_2.py", line 2, in <module>
    colorchooser.askcolor()
NameError: name 'colorchooser' is not defined

Я так зрозумів, що в мене, напевно, десь пошкоджена частина модуля tkinter, чи в чому проблема? Як її виправити?

16

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

Ну що ж...
Я дуже захоплювався грою 2048, тому зацікавила ця тема.
Гру скачав без проблем. Запустив у режимі 4х4 - все працює.
Серед мінусів:
-Дуже дратує довга обробка ходу. Тобто вся ця анімація занадто довго триває. Гляньте на інші версії 2048. Там все набагато скоріше. Розумієте, коли ти довгий час повторяєш одні і ті ж дії - це вже починає набридати, а коли між тими діями є доволі примітна затримка в часі це надоїдає набагато скоріше.
-Занадто багато ходів можна повернути. До того я грав в версію 2048 де можна було лише раз повернути хід. І це вже неабияк допомагало. Проходило дуже багато часу, доки ти не програв. Тут можна повернути назад кучу ходів (не рахував, но помоєму не менше 5-ти) - це робить гру чуть не безкінечною. І в даному випадку в виграші буде той, хто провів більше часу граючи цю гру, а не той, хто розумніший і з кращими навичками.
-Інтерфейс. Як на мене інтерфейс якийсь "не такий". Якийсь "тусклий". Побільше б яскравих  кольорів... Або взагалі неон! Виглядало б дуже класно в неоновому стилі (тепер так модно  ;) ).
-Рейтинг. Чому не зробити окремий рейтинг для 3х3, 4х4... І показувати на тільки сам рахунок, але й найбільше число. Добавити можливість редагувати нік, додати аватар, можливість вказувати країну.
-Чат. Проблема в чаті, а точніше в його відсутності. Якщо ви хочете реально конкурувати з іншими більш поширеними версіями 2048, то додати чат (як пп, так і мультиплеєрний) буде чудовим рішенням.
Здається все  :)
Доволі непогана задумка з 3D. Тільки проблема в тому, що я граю за певною стратегією і пересуваю лише вліво і вверх (звичайно є виняткові ситуації...), тому бачу лише 2 види 3D ефектів при пересуванні, але це вже мої проблеми))
А і перша проблема, якою потрібно зайнятися, на мою думку - інтерфейс...

17

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

koala написав:

Це якраз САМЕ ТАКА сума. У вас є формула для ai, яка містить множення, степінь, ділення і ще казна-що, яка різниця? Ви просто обчислюєте цю формулу, знаходите таким чином ai і додаєте до загальної суми (акумулятора).

Дякую. Нарешті до мене дійшло...

koala написав:

От просто цікаво: ви взагалі з нуля програмування без вчителя і підручника "для чайників" учите?

Я вчу c++ у коледжі... Там дуже корява програма (принаймні мені так здається). Вдома тільки розв'язую ось такі задачкі, які нам дають на практичні. Весь інший час - вчу python. Ще не знаю точно чи хочу я в майбутньому програмувати на с++. python мені більше подобається, але мушу вчити с.

18

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

koala написав:

У формулі за вашим посиланням рівно одна кома, після дробу. От про нею і кажу.

Я зрозумів. Але не вкажу ж я в програмці p != 1. Воно просто-на-просто ті значення не обчислить і всеодно виб'є помилку. Виходить як не крути - потрібна інша формула.

koala написав:

Чекайте. То ви не знаєте, як обчислювати суму в циклі?

Знаю. Але це не просто сума в циклі як ось така - https://wikimedia.org/api/rest_v1/media … de1a7f91ac    Тут ще якесь множення на а в і степені.

19

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

koala написав:

Ви обговорення там дивилися?

Нарешті зрозумів  :)
Дякую)

20

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

Знайти суму цифр даного двоцифрового числа.

Вхідні дані

У єдиному рядку задане двоцифрове ціле число.

Вихідні дані

У єдиному рядку сума його цифр.