21

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

ось цитата автора

fruktsashamaks написав:

На площині задані обмежена лініями x^2 +y^2=9, y = x/2, y <=0 область R і точки A (x1, y1), B (x2, y2), C (x3, y3). Розробити програму, яка обчислює периметр і площу трикутника ABC, якщо точки A,B,C належать області R і не лежать на одній прямій, інакше видати відповідне повідомлення.

y = x/2

ось ваш Y y ≤ х/2 у графіку. Виправіть у графіку будь ласка

22

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

koala написав:

Перечитайте завдання: y=х/2  - це лінія, що обмежує область, у якій лежать точки, а не їхнє ГМТ. Ба більше, якщо точки на одній прямій, то там прямо вказано, що це треба виявляти, а нащо виявляти те, що задане умовою?

тоді ще простіше. Треба перевіряти по х діапазон -2,68...2,68, а по y-1,34...0, а не займатися перевіркою суми квадратів, і при введенні значень вказувати діапазон.

І тоді виходить щось таке

#include <stdio.h>
#include <math.h>
#include <locale.h>

int main()
{
    setlocale(LC_CTYPE, "ukr");

    float x1, x2, x3, y1, y2, y3;

    printf("ЛІМІТИ Х -2,68...2,68 \n");
    printf("ЛІМІТИ Y -1.34...0.0 \n");

    printf("Введіть координату А:x ");
    scanf_s("%f", &x1);
    if (x1 < -2.681 || x1 > 2.681)
    {
        printf("точка поза зоною\n");
        return 0;
    }
    printf("Введіть координату А:y ");
    scanf_s("%f", &y1);
    if (y1 < -1.341 || y1 > 0.1)
    {
        printf("точка поза зоною\n");
        return 0;
    }
    printf("А( %f , %f)\n",x1,y1);

    printf("Введіть координату B:x ");
    scanf_s("%f", &x2);
    if (x2 < -2.681 || x2 > 2.681)
    {
        printf("точка поза зоною\n");
        return 0;
    }
    printf("Введіть координату B:y ");
    scanf_s("%f", &y2);
    if (y2 < -1.341 || y2 > 0.1)
    {
        printf("точка поза зоною\n");
        return 0;
    }
    printf("B( %f , %f)\n", x2, y2);

    printf("Введіть координату C:x ");
    scanf_s("%f", &x3); 
    if (x3 < -2.681 || x3 > 2.681)
    {
        printf("точка поза зоною\n");
        return 0;
    }
    printf("Введіть координату C:y ");
    scanf_s("%f", &y3);
    if (y3 < -1.341 || y3 > 0.1)
    {
        printf("точка поза зоною\n");
        return 0;
    }
    printf("C( %f , %f)\n", x3, y3);

    float a, b, c, p, S, P;

    a = sqrt(((x2 - x1) * (x2 - x1)) + ((y2 - y1) * (y2 - y1)));
    b = sqrt(((x3 - x2) * (x3 - x2)) + ((y3 - y2) * (y3 - y2)));
    c = sqrt(((x1 - x3) * (x1 - x3)) + ((y1 - y3) * (y1 - y3)));
    printf("a = %f, b = %f, c = %f\n", a, b, c);

    p = (a + b + c) * 0.5;
    printf("p = %f\n", p);

    S = sqrt(p * (p - a) * (p - b) * (p - c));

    if (S <= 1e-10)
    {
        printf("точки на одній прямій\n"); 
        return 0;
    }
    P = a + b + c;

    printf("S = %f, P = %f\n", S, P);
    return 0;     
}

23

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

koala, додайте також що і х≤0, та yвираховується автоматично, згідно з умовами завдання y=0,5*х, а у вашому прикладі обидві координати вводяться вручну і друга не залежить від першої.
а також можна замінити умову х*х+y*y<=9 на х>=-2,68 && x <= 0, тому що (-2,68)*(-2,68)+(-1,34)*(-1,34)=8,978 а (-2,69)*(-2,69)+(-1,345)*(-1,345)=9,045125

24

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

поправив

#include <stdio.h>
#include <math.h>
#include <locale.h>

int main()
{
    setlocale(LC_CTYPE, "ukr");

    float x1, x2, x3, y1, y2, y3;

    printf("Введіть координату А:");
    scanf_s("%f", &x1);
    y1 = x1 * 0.5;
    printf("А( %f , %f)\n",x1,y1);

    printf("Введіть координату B:");
    scanf_s("%f", &x2); 
    y2 = x2 * 0.5;
    printf("B( %f , %f)\n", x2, y2);

    printf("Введіть координату C:");
    scanf_s("%f", &x3); 
    y3 = x3 * 0.5;
    printf("C( %f , %f)\n", x3, y3);

    printf("AA: %f\n", (x1 * x1) + (y1 * y1));
    printf("BB: %f\n", (x2 * x2) + (y2 * y2));
    printf("CC: %f\n", (x3 * x3) + (y3 * y3));

    if (((x1 * x1) + (y1 * y1)) <= 9 && ((x2 * x2) + (y2 * y2)) <= 9 && ((x3 * x3) + (y3 * y3)) <= 9 &&
        y1 <= 0 && y2 <= 0 && y3 <= 0 && x1 <= 0 && x2 <= 0 && x3 <= 0)
    {
        float a, b, c, p, S, P;

        a = sqrt(((x2 - x1) * (x2 - x1)) + ((y2 - y1) * (y2 - y1)));
        b = sqrt(((x3 - x2) * (x3 - x2)) + ((y3 - y2) * (y3 - y2)));
        c = sqrt(((x1 - x3) * (x1 - x3)) + ((y1 - y3) * (y1 - y3)));
        printf("a = %f, b = %f, c = %f\n", a, b, c);

        p = (a + b + c) * 0.5;
        printf("p = %f\n", p);

        S = sqrt(p * (p - a) * (p - b) * (p - c));
        P = a + b + c;

        printf("S = %f, P = %f\n", S, P);
    }
    else
    {
        printf("Задані некоректні значення\n");
    }

    return 0;
}

25

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

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

26

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

lissakorn написав:

Вибачте не в тему але я тільки що зареєструвалася на сайт і поки не знаю як написати своє запитання на форум, допоможіть будь ласка

Головна сторінка форуму -->вибираєте розділ -->створити нову тему

27

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

fruktsashamaks написав:

Ааа, точно, "y" ще до умови if має дорівнювати 1/2 * x, ось воно що.

Так, і поділ від'ємних чисел /=

28

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

ось код

#include <stdio.h>
#include <math.h>
#include <locale.h>

int main()
{
    setlocale(LC_CTYPE, "ukr");

    float x1, x2, x3, y1, y2, y3;

    printf("Введіть координату А:");
    scanf_s("%f", &x1);
    y1 = x1/=2;
    printf("А: %f %f",x1,", %f",y1);

    printf("Введіть координату B:");
    scanf_s("%f", &x2); 
    y2 = x2/=2;
    printf("B: %f %f", x2, ", %f", y2);

    printf("Введіть координату C:");
    scanf_s("%f", &x3); 
    y3 = x3/=2;
    printf("C: %f %f", x3, ", %f", y3);

    printf("AA: %f", (x1 * x1) + (y1 * y1));
    printf("BB: %f", (x2 * x2) + (y2 * y2));
    printf("CC: %f", (x3 * x3) + (y3 * y3));

    if (((x1 * x1) + (y1 * y1)) <= 9 && ((x2 * x2) + (y2 * y2)) <= 9 && ((x3 * x3) + (y3 * y3)) <= 9 &&
        y1 <= 0 && y2 <= 0 && y3 <= 0 && x1 <= 0 && x2 <= 0 && x3 <= 0)
    {
        float a, b, c, p, S, P;

        a = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
        b = sqrt((x3 - x2) * (x3 - x2) + (y3 - y2) * (y3 - y2));
        c = sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3));

        p = (a + b + c) / 2;

        S = sqrt(p * (p - a) * (p - b) * (p - c));
        P = a + b + c;

        printf("S = %f, P = %f\n", S, P);
    }
    else
    {
        printf("0000\n");
    }

    return 0;
}

ось результат

https://replace.org.ua/extensions/om_images/img/6509f858b832c/66f8c6480bb8ca6e2d8bbeb90a2296de.png

Вибачаюся, що VS на москальській, сьогодні відкрив для цього коду, мову зміню

29

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

koala написав:
PeSePol написав:

На площині задані обмежена лініями x^2 +y^2=9, y = x/2, y <=0 область R, тобто не ==9, а <=9, тому що площа обмежена лініями, а не чітко дорівнює їм  :)
Це сфера радіусом 9 чогось там, всередині якої ви будуєте трикутник

Яка ще сфера, це ж площина. https://www.desmos.com/calculator/zlpa05gtnl

згоден, площина, обмежена колом (x,y). Вже фігнею займатися почав  :D

тоді, якщо y <=0 і y = x/2 то і х <=0, тобто центр кола, як мінімум (-9;-9), тому що координати є від'ємними числами. Треба ще перевірку на х <=0

30

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

На площині задані обмежена лініями x^2 +y^2=9, y = x/2, y <=0 область R, тобто не ==9, а <=9, тому що площа обмежена лініями, а не чітко дорівнює їм  :)
Це сфера радіусом 9 чогось там, всередині якої ви будуєте трикутник

31

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

Ви встановлювали через ati catalyst або вручну? Якщо вручну, то встановіть ati catalyst. Ця програма сама знайде все для своєї відеокарти, якщо є.

32

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

А коли ви розбирали та чистили залізо, чи відносили на прочистку, останнього разу?

Пошукав, тут але надто завумно, і тут

34

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

Так, у комах та глистів теж є мозок. Погуглив та знайшов безмозку тварину, та ще про паразитів-мозокклюїв

35

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

Починайте писати інструкцію користування людиною.... Хоча основна інструкція вже є - Анатомія та фізіологія називається. Пишіть тоді докладний та детальний розділ для користування мозком.  :)

36

(13 відповідей, залишених у Дизайн та графіка)

leofun01 написав:
PeSePol написав:

APNG Anime Maker, або
замість gif анімації.

Воно "не робе".

APNG Anime Maker написав:

Access violation at address XXXXXXXX in module 'APNG Anime Maker.exe'. Read of address XXXXXXXX.

А з сайту? Чи може сумісність (за замовчуванням Vista).

37

(13 відповідей, залишених у Дизайн та графіка)

APNG Anime Maker, або
замість gif анімації. На відміну від gif не вилазять білі контури.

38

(14 відповідей, залишених у Розробка ігор)

Spielmann написав:
PeSePol написав:

Для створення персонажів та NPC
і фантазія та, наприклад, Для акторів та об'єктів

Персонажі в міксамо фюс, різні ассети теж є в наявності

дозволи на використання в комерційних проєктах теж?  ]:->

39

(14 відповідей, залишених у Розробка ігор)

Для створення персонажів та NPC
і фантазія та, наприклад, Для акторів та об'єктів

40

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

Vo_Vik написав:

В 2023 там були криворукі свинособаки.

У 2022 р. теж.

Vo_Vik написав:

А куди та ГЕС електрику подавала?

До війни була як резервна. На 90% законсервована. Під час окупації  Херсона песиголовці підключили до неї Херсон та лівобережжя. На мою думку ці падлюки навесні відкрили шлюзи для того, щоб побачити куди піде вода та скільки вона території затопить і де.