1

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

Як зробити об'єднання таблиць в єдиний DataFrame однією командою.  Є три таблиці: data_users(зберігає дані про користувачів), data_movies(зберігає дані про фільми), data_ratings(зберігає рейтинги про фільми).
https://replace.org.ua/uploads/images/7111/4c62b8fb5059fa69162991cef59b2ca1.png
https://replace.org.ua/uploads/images/7111/77c4119bf52755686f03d26b95c5547f.png
https://replace.org.ua/uploads/images/7111/1d22b29d859b43887173f4451fa7d127.png

2

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

https://replace.org.ua/uploads/images/7111/8ab542a4f54d8c9ecad87ba092386254.png
https://replace.org.ua/uploads/images/7111/4a70881490d4ba926be2381075306bab.png
https://replace.org.ua/uploads/images/7111/e55975d59f448c03c08c5812484a75a3.png
Всім привіт, є проблема з розміщенням submit кнопок. На першій картинці показано те що я маю зробити. На другій, те що я зміг зробити. Як можна побачити, я хочу створити 12 submit кнопок, кожна з яких при натисканні викликає свій php файл для виконання. Але у мене я проблема: я не знаю як розмістити ці кнопки по горизонталі, в одному рядку(як показано на 1 малюнку). Буду вдячний за будь-яку допомогу.

<form action="show1.php">
  <pre><h2>     Table1 Table2 Table3 Table4</h2></pre>
  <big>select</big>
  <input type="submit" value="Виконати">  
</form>
<form action="show2.php">  
  <input type="submit" value="Виконати">  
</form>

3

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

Функція NextToTop має мені повернути  точку розташовану в стеку S, на одну позицію нижче від верхньої точки. Все інше в моїй програмі реалізовано і працює правильно

4

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

package project;
import java.util.Stack;

public class Main
{
    static int rootX,rootY;
    public static void main(String[] args)
    {
        //int[] newX = {15,30,40,20,10};
        //int[] newY = {60,50,20,20,10};
        int[] newX = {400,800,1000,500,400,200};
        int[] newY = {100,100,300,300,500,300};
        int size = 6;
        
        int x = newX[0];
        int y = newY[0];
        for (int i = 0; i < size; i++) //знаходимо точку з найменшою y-координатою
        {
            if (y > newY[i] || (y == newY[i] && x > newX[i]))
            {
                x = newX[i];
                y = newY[i];
            }
        }
        rootX = x;
        rootY = y;
        System.out.println(x +" "+ y);
        int rootPosition = elementPositionInArray(newX, newY, size, rootX, rootY);// визначаємо позицію цієї точки
        changePlaces(newX, newY, 0, rootPosition);//ставимо цю точку на початок
        sortArray(newX, newY, size);
        System.out.println("After sort: ");
        for(int i = 0; i < size; ++i)
        {
            System.out.println("x = " + newX[i] + " y = " + newY[i]);
        }
        Stack<Integer> X = new Stack<>();
        Stack<Integer> Y = new Stack<>();
        for(int i = 0; i < 3; ++i)
        {
            X.add(newX[i]);
            Y.add(newY[i]);
        }
        for (int i = 3; i < size; ++i) //алгоритм Грехема
        {
            while (pointOrder(NextToTop(X), X.peek(), newX[i], NextToTop(Y), Y.peek(), newY[i]) != 2)
            {
                X.pop();
                Y.pop();
            }
            X.add(newX[i]);
            Y.add(newY[i]);
        }
        System.out.println("End: ");
        for(int i = 0; i < size; ++i)
        {
            //System.out.println("x = " + newX[i] + " y = " + newY[i]);
            System.out.println("x = " + X.get(i) + " y = " + Y.get(i));
        }
    }
    private static int NextToTop(Stack<Integer> S)
    {

    }
    public static void sortArray(int[] newX, int[] newY, int size)
    {
        for (int i = 1; i < size; ++i)
        {
            for (int y = i + 1; y < size; ++y)
            {
                int point1X = newX[i];
                int point1Y = newY[i];
                int point2X = newX[y];
                int point2Y = newY[y];
                int order = pointOrder(rootX, point1X, point2X,rootY, point1Y, point2Y);
                if (order == 0)
                {
                    if (distance(rootX, point2X, rootY, point2Y) <= distance(rootX, point1X, rootY, point1Y))
                    {
                        changePlaces(newX,newY, i, y);
                    }
                }
                else if (order == 1)
                {
                    changePlaces(newX,newY, i, y);
                }
            }
        }
    }
    public static int pointOrder(int point1X, int point2X, int point3X, int point1Y, int point2Y, int point3Y)
    {
        int area = (point2Y - point1Y) * (point3X - point2X) - (point2X - point1X) * (point3Y - point2Y);
        if (area > 0)
            return 1;
        else if (area < 0)
            return 2;
        return 0;
    }
    // знаходимо відстань між двома точками
    public static int distance(int point1X, int point2X, int point1Y, int point2Y)
    {
        int xLength = point1X - point2X;
        int yLength = point1Y - point2Y;
        return xLength * xLength + yLength * yLength;
    }
    public static void changePlaces(int[] newX, int[] newY, int positionA, int positionB)
    {
        int tmpX = newX[positionA];
        int tmpY = newY[positionA];
        newX[positionA] = newX[positionB];
        newY[positionA] = newY[positionB];
        newX[positionB] = tmpX;
        newY[positionB] = tmpY;
    }
    public static int elementPositionInArray(int[] newX, int[] newY, int size, int x, int y)
    {
        for (int i = 0; i < size; ++i)
        {
            if (newX[i] == x && newY[i] == y)
            {
                return i;
            }
        }
        return -1;
    }
}

5

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

Я добавив картинку з російським текстом бо на ній добре пояснюється те що я роблю. Щодо моїх напрацювань то у мене все реалізовано крім тієї проблеми яку я описав.

https://replace.org.ua/uploads/images/7111/3c74145751532655af8ff9f882038d72.png
Я можу отримати доступ до точки що знаходиться на вершині стека за допомогою функції stack.peek(). Моя проблема полягає в тому що я не можу реалізувати функцію NextToTop(S), яка повертає точку, розташовану в стеку S, на одну позицію нижче від верхньої точки. Допоможіть будь ласка вирішити цю проблему.

7

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

Прибрав функцію format(вона мені некоректні значення давала) і останній стовпець
https://replace.org.ua/uploads/images/7111/8eb6b2806a8c0634c437ccae3af173c6.png
Тепер все ідеально. Дякую

8

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

https://replace.org.ua/uploads/images/7111/f9aab915e0dd06b3ffcaf121222a3e02.png
Дякую, все працює. Але я стовпець Total_Price видалю. Він мені не потрібен.
https://replace.org.ua/uploads/images/7111/e7c04aadbc08d74f7f4dcfdf2779f485.png
Ось так значно краще

9

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

Total_Price(Вартість) це має бути змінна яка обраховується в залежності від умови

10

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

Я можу надати DDL кожної таблиці, тільки скажіть як?

11

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

Вивід даних повинен мати такий вигляд. Де вартість має обраховуватися згідно тих умов які є в 'case'. Можливо такий вивід можна якось по іншому організувати?
https://replace.org.ua/uploads/images/7111/f7a8be6496f221b3f84ceef6b7cc8589.png

12

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

Пише те саме: 'Unknown column Total_Price in 'field list''.

13

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

https://replace.org.ua/uploads/images/7111/e0a6f98cd460953bb4e07cfb163e6161.png

14

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

Пише про помилку

15

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

Хочу реалізувати перехресний запит, щоб зліва було 'Найменування товару'(Full_Name), зверху були квартали 2005 року, а на перехресті Вартість(Total_Price). Але видає помилку: 'Unknown column Total_Price in 'field list''. Як мені зробити мій Total_Price видимим?

select concat(name_tov, ' ', name_typu_tovariv) as Full_Name,
case
    when quantity <= 20
        then format(quantity*1.3*s_tov,3)
    when quantity > 20
        then format((s_tov+1.28)*quantity,3)
end as Total_Price,   
sum(if(month(date) = 01 or month(date) = 02 or month(date) = 03, Total_Price, 0)) as '1 квартал 2005',
sum(if(month(date) = 04 or month(date) = 05 or month(date) = 06, Total_Price, 0)) as '2 квартал 2005',
sum(if(month(date) = 07 or month(date) = 08 or month(date) = 09, Total_Price, 0)) as '3 квартал 2005',
sum(if(month(date) = 10 or month(date) = 11 or month(date) = 12, Total_Price, 0)) as '4 квартал 2005'
from table3, table5, table1, table2
where table1.kod_tov = table3.kod_tov
and table3.nom_pres = table5.nom_pres
and table2.kod_typu_tovariv = table3.kod_typu_tov
group by Full_Name;

16

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

Потрібна допомога з бінарним деревом. Я код для реалізації дерева знайшов в інтернеті і дописав ще свою функцію valCount яка має шукати к-сть входжень певного елемента в дереві. Але я зіткнувся з тим що в дерево не можна записати значення-дублікати(тобто дерево без повторів). Я пробував розібратися з функцією вставки Add елемента  в дерево але все марно. Допоможіть будь-ласка переробити дерево щоб в нього можна було записувати однакові елементи.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Laba_7
{
    class Proga1
    {        
        // Розташування вузла відносно предка        
        public enum Side
        {
            Left,
            Right
        }       
        // Вузол бінарного дерева
        public class BinaryTreeNode<T> where T : IComparable
        {            
            public BinaryTreeNode(T data)
            {
                Data = data;
            }           
            public T Data { get; set; }
            public BinaryTreeNode<T> LeftNode { get; set; }            
            public BinaryTreeNode<T> RightNode { get; set; }           
            public BinaryTreeNode<T> ParentNode { get; set; }            
            // Розташування вузла відносно його предка          
            public Side? NodeSide =>
                ParentNode == null
                ? (Side?)null
                : ParentNode.LeftNode == this
                    ? Side.Left
                    : Side.Right;
            // Перетворення екземпляра класу в рядок        
            public override string ToString() => Data.ToString();
            public int ToInt()
            {
                return int.Parse(ToString());
            }
        }
        public class BinaryTree<T> where T : IComparable
        {            
            /// Корінь бінарного дерева            
            public BinaryTreeNode<T> RootNode { get; set; }
            public BinaryTreeNode<T> Add(BinaryTreeNode<T> node, BinaryTreeNode<T> currentNode = null)
            {
                if (RootNode == null)
                {
                    node.ParentNode = null;
                    return RootNode = node;
                }
                currentNode = currentNode ?? RootNode;
                node.ParentNode = currentNode;
                int result;
                return (result = node.Data.CompareTo(currentNode.Data)) == 0
                    ? currentNode
                    : result < 0
                        ? currentNode.LeftNode == null
                            ? (currentNode.LeftNode = node)
                            : Add(node, currentNode.LeftNode)
                        : currentNode.RightNode == null
                            ? (currentNode.RightNode = node)
                            : Add(node, currentNode.RightNode);
            }
            public BinaryTreeNode<T> Add(T data)
            {
                return Add(new BinaryTreeNode<T>(data));
            }
            public BinaryTreeNode<T> FindNode(T data, BinaryTreeNode<T> startWithNode = null)
            {
                startWithNode = startWithNode ?? RootNode;
                int result;
                return (result = data.CompareTo(startWithNode.Data)) == 0
                    ? startWithNode
                    : result < 0
                        ? startWithNode.LeftNode == null
                            ? null
                            : FindNode(data, startWithNode.LeftNode)
                        : startWithNode.RightNode == null
                            ? null
                            : FindNode(data, startWithNode.RightNode);
            }
            public void Remove(BinaryTreeNode<T> node)
            {
                if (node == null)
                {
                    return;
                }

                var currentNodeSide = node.NodeSide;
                //якщо у вузла немає підвузлів, можна його видалить
                if (node.LeftNode == null && node.RightNode == null)
                {
                    if (currentNodeSide == Side.Left)
                    {
                        node.ParentNode.LeftNode = null;
                    }
                    else
                    {
                        node.ParentNode.RightNode = null;
                    }
                }
                //якщо немає лівого, то правий ставим на місце видаляємого 
                else if (node.LeftNode == null)
                {
                    if (currentNodeSide == Side.Left)
                    {
                        node.ParentNode.LeftNode = node.RightNode;
                    }
                    else
                    {
                        node.ParentNode.RightNode = node.RightNode;
                    }

                    node.RightNode.ParentNode = node.ParentNode;
                }
                //якщо немає правого, то лівий ставимо на місце видаляємого
                else if (node.RightNode == null)
                {
                    if (currentNodeSide == Side.Left)
                    {
                        node.ParentNode.LeftNode = node.LeftNode;
                    }
                    else
                    {
                        node.ParentNode.RightNode = node.LeftNode;
                    }

                    node.LeftNode.ParentNode = node.ParentNode;
                }
                //якщо обидва дочірніх наявні, 
                //то правий стає на місце видаляємого,
                //а лівий вставляється в правий
                else
                {
                    switch (currentNodeSide)
                    {
                        case Side.Left:
                            node.ParentNode.LeftNode = node.RightNode;
                            node.RightNode.ParentNode = node.ParentNode;
                            Add(node.LeftNode, node.RightNode);
                            break;
                        case Side.Right:
                            node.ParentNode.RightNode = node.RightNode;
                            node.RightNode.ParentNode = node.ParentNode;
                            Add(node.LeftNode, node.RightNode);
                            break;
                        default:
                            var bufLeft = node.LeftNode;
                            var bufRightLeft = node.RightNode.LeftNode;
                            var bufRightRight = node.RightNode.RightNode;
                            node.Data = node.RightNode.Data;
                            node.RightNode = bufRightRight;
                            node.LeftNode = bufRightLeft;
                            Add(bufLeft, node);
                            break;
                    }
                }
            }
            public void Remove(T data)
            {
                var foundNode = FindNode(data);
                Remove(foundNode);
            }
            public void PrintTree()
            {
                PrintTree(RootNode);
            }
            private void PrintTree(BinaryTreeNode<T> startNode, string indent = "", Side? side = null)
            {
                if (startNode != null)
                {
                    var nodeSide = side == null ? "+" : side == Side.Left ? "L" : "R";
                    Console.WriteLine($"{indent} [{nodeSide}]- {startNode.Data}");
                    indent += new string(' ', 3);
                    //рекурсивний виклик для лівої і правої гілки
                    PrintTree(startNode.LeftNode, indent, Side.Left);
                    PrintTree(startNode.RightNode, indent, Side.Right);
                }
            }
            public int valCount(int val)
            {
                if (RootNode != null)
                {
                    return valCount(val, RootNode, 0);
                }
                return 0;
            }
            private int valCount(int val, BinaryTreeNode<T> startNode, int count)
            {
                if (startNode != null)
                {
                    if (startNode.ToInt() == val)
                    {
                        count++;
                    }
                    count = valCount(val, startNode.LeftNode, count);
                    count = valCount(val, startNode.RightNode, count);
                }
                return count;
            }
        }
        static void Main(string[] args)
        {
            var binaryTree = new BinaryTree<int>();           
            Random rng = new Random();
            for(int i = 0; i < 10; i++)
            {
                binaryTree.Add(rng.Next(20));
            }
            binaryTree.PrintTree();

            //Console.WriteLine(new string('-', 40));
            //binaryTree.Remove(3);
            //binaryTree.PrintTree();

            //Console.WriteLine(new string('-', 40));
            //binaryTree.Remove(8);
            //binaryTree.PrintTree();
            for (int i = 0; i < 20; i++)
            {
                int result = binaryTree.valCount(i);
                Console.WriteLine("Value = " + i + " Result = " + result);
            }    
            Console.ReadLine();
        }
    }
}

17

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

Я вже знайшов рішення даної проблеми. Усе працює. Кому цікаво - код внизу.

package project;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.AbstractAction;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Main extends JFrame
{
    int index;
    int[] x = {250, 337, 337, 250, 163, 163};
    int[] y = {350, 300, 200, 150, 200, 300};
    int[] xx = {100, 300, 300, 100};
    int[] yy = {100, 100, 300, 300};
    public Main()
    {
        super("Малюнок");
        setSize(600, 600);
        JFrame myWindow = new JFrame("Laba8");
        myWindow.setSize(300,300);
        myWindow.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        JMenuBar menuBar = new JMenuBar(); // створюємо панель-меню
        myWindow.setJMenuBar(menuBar);

        JMenu menu = new JMenu("Меню"); // створюємо меню
        menuBar.add(menu);

        JMenu drawMenu = new JMenu("Малювати"); // підменю для малювання
        menu.add(drawMenu);

        Action drawCircle = new AbstractAction("Коло")
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                index = 1;
                repaint();
                setVisible(true);
            }
        };
        Action drawHex = new AbstractAction("Багатокутник")
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                index = 2;
                repaint();
                setVisible(true);
            }
        };
        Action drawSquare = new AbstractAction("Квадрат")
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                index = 3;
                repaint();
                setVisible(true);
            }
        };

        JMenuItem item1 = new JMenuItem(drawCircle);
        drawMenu.add(item1);
        item1.setAccelerator(KeyStroke.getKeyStroke('C', KeyEvent.CTRL_MASK));

        JMenuItem item2 = new JMenuItem(drawHex);
        drawMenu.add(item2);
        item2.setAccelerator(KeyStroke.getKeyStroke('B', KeyEvent.CTRL_MASK));

        JMenuItem item3 = new JMenuItem(drawSquare);
        drawMenu.add(item3);
        item3.setAccelerator(KeyStroke.getKeyStroke('K', KeyEvent.CTRL_MASK));
        drawMenu.addSeparator();

        Action exitAction = new AbstractAction("Вийти")
        {
            @Override
            public void actionPerformed(ActionEvent e)
            {
                System.exit(0);
            }
        };
        JMenuItem item4 = new JMenuItem(exitAction); // пункт меню для виходу з програми
        menu.add(item4);
        myWindow.setVisible(true);
    }
    @Override
    public void paint ( Graphics g )
    {
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.BLACK);
        if(index == 1)
        {
            g2.fillOval(200,200,200,200);
        }
        else if(index == 2)
        {
            g2.fillPolygon(x, y, 6);
        }
        else if(index == 3)
        {
            g2.fillPolygon(xx, yy, 4);
        }
    }
    public static void main(String args[])
    {
        Main app = new Main();
    }
}

18

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

У моїй програмі створюється меню, а в ньому підменю. В підменю я створюю три елементи: "малювати квадрат", "малювати коло", та "малювати багатокутник". Але чомусь при виборі якогось із пунктів мені нічого не малює. Допоможіть будь-ласка вирішити дану проблему.

package project;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.AbstractAction;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
public class Main
{
    public static void main(String[] args)
    {
        FormFrame frame1 = new FormFrame();
        frame1.setSize(900, 600);
        frame1.setTitle("Laba8");
        frame1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame1.setVisible(true);
    }
    static class FormFrame extends JFrame
    {
        static class Figura extends JComponent
        {
            int index;
            int[] x = {250, 337, 337, 250, 163, 163};
            int[] y = {350, 300, 200, 150, 200, 300};
            int[] xx = {100, 300, 100, 300};
            int[] yy = {100, 100, 300, 300};
            public Figura(int index)
            {
                this.index = index;
            }
            public void paint(Graphics g)
            {
                g.setColor(Color.BLACK);
                if(index == 1)
                {
                    g.fillOval(150,150,100,100);
                }
                else if(index == 2)
                {
                    g.fillPolygon(x, y, 6);
                }
                else if(index == 3)
                {
                    g.fillPolygon(xx, yy, 4);
                }
            }
        }
        FormFrame()
        {
            setLayout(null);
            JMenuBar menuBar = new JMenuBar(); // створюємо панель-меню
            setJMenuBar(menuBar);

            JMenu menu = new JMenu("Меню"); // створюємо меню
            menuBar.add(menu);

            JMenu drawMenu = new JMenu("Малювати"); // підменю для малювання
            menu.add(drawMenu);

            Action drawCircle = new AbstractAction("Коло")
            {
                @Override
                public void actionPerformed(ActionEvent e)
                {
                     Figura circle = new Figura(1);
                     circle.repaint();
                }
            };
            Action drawHex = new AbstractAction("Багатокутник")
            {
                @Override
                public void actionPerformed(ActionEvent e)
                {
                    Figura hex = new Figura(2);
                    hex.repaint();
                }
            };
            Action drawSquare = new AbstractAction("Квадрат")
            {
                @Override
                public void actionPerformed(ActionEvent e)
                {
                    Figura Square = new Figura(3);
                    Square.repaint();
                }
            };

            JMenuItem item1 = new JMenuItem(drawCircle);
            drawMenu.add(item1);
            item1.setAccelerator(KeyStroke.getKeyStroke('C', KeyEvent.CTRL_MASK));

            JMenuItem item2 = new JMenuItem(drawHex);
            drawMenu.add(item2);
            item2.setAccelerator(KeyStroke.getKeyStroke('B', KeyEvent.CTRL_MASK));

            JMenuItem item3 = new JMenuItem(drawSquare);
            drawMenu.add(item3);
            item3.setAccelerator(KeyStroke.getKeyStroke('K', KeyEvent.CTRL_MASK));
            drawMenu.addSeparator();

            Action exitAction = new AbstractAction("Вийти")
            {
                @Override
                public void actionPerformed(ActionEvent e)
                {
                    System.exit(0);
                }
            };
            JMenuItem item4 = new JMenuItem(exitAction); // пункт меню для виходу з програми
            menu.add(item4);
        }
    }
}

19

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

Допоможіть будь ласка виправити проблему

20

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

А в цьому коді мені малює кнопку і трикутник, але чогось не малює фон вікна(я його задаю кольором myRed1, але мені малює білий фон)

package project;
import java.awt.Canvas;
import java.awt.Graphics;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Point;
import java.awt.Component;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.Box;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.font.TextAttribute;
import java.util.Map;
public class Main
{
    public static void main(String[] args)
    {
        MyFrame frame = new MyFrame();
        frame.setSize(600, 425);
        Color myRed1 = new Color(252, 213, 181);
        frame.getContentPane().setBackground(myRed1);
        frame.setTitle("Lab№6");
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
class MyFrame extends JFrame
{
    public MyFrame()
    {
        setLayout(null);
        Color myRed2 = new Color(148, 54, 52);
        JButton b1 = new JButton("Далі");
        b1.setBackground(myRed2);
        b1.setBorder(BorderFactory.createLineBorder(new Color(99,37,35)));
        b1.setFocusPainted(false);
        b1.setFont(new Font("Cambria", Font.BOLD, 14));
        b1.setForeground(Color.white);
        b1.setBounds(420, 220, 98, 37);
        add(b1);
        repaint();
    }
    public void paint(Graphics g)
    {
        int x[] = {100, 200, 300};
        int y[] = {100, 200, 200};
        g.fillPolygon(x, y, 3);
    }
}