sh: 1: Syntax error: word unexpected (expecting “)”)

119
19 октября 2019, 20:20

Программа должна получать на вход координаты из командной строки по образцу (x;y) , вроде бы все норм , но выдает ошибку. Был бы благодарен, если подсказали, что вызывает ее в моей программе и как ее убрать

P.S А в целом задача ищет пару ближайших точек по разные стороны от OY

#include <stdio.h>
#include <math.h>
class Point2
{
    private:
        int y;
        int x;
    public:
        Point2(int _x, int _y) : x(_x), y(_y) { };
        int get_x() { return x; };
        int get_y() { return y; };
    friend double distance(Point2* r, Point2* q);
};
double distance(Point2* r, Point2* q)
{
    int dis = (r->get_x() - q->get_x())*(r->get_x() - q->get_x()) + (r->get_y() - q->get_y())*(r->get_y() - q->get_y());
    return (sqrt(dis));
}
int main(int argc,char* argv[])
{
    double sum,min;
    Point2** p;
    Point2* t;
    Point2* f;
    int x, y;
    int i = 0;
    int j = 0;
    if (argc < 2)
        return (-1);
    p = new Point2*[argc];
                     printf("%d   \n",argc);
    while (++i < argc)
    {
        sscanf( argv[i] ,"(%d%*c%d)", &x, &y );
        p[j] = new Point2(x, y);
        printf ("%d ..... %d \n", x, y);
        j++;
    }
    for (i = 0; p[i] != NULL; i++)
    {
    min = 0;
    t = p[i];
    f = NULL;
    if (t->get_x() != 0)
        for (j = 0; p[j] != NULL; j++)
            if ( ( (p[j]->get_x())*(p[i]->get_x()) ) < 0 )
            {
                sum = distance(p[i], p[j]);
                if ((min == 0) || (sum < min))
                {
                    min = sum;
                    f = p[j];
                    t = p[i];
                }
            }
    }
    if (min>0)
        printf("Point1(%d,%d) Point2(%d,%d) min dist = %f\n", t->get_x(), t->get_y(), f->get_x(), f->get_y(), min);
    else
        printf("Net podhodyachih to4ek");
    for (j = 0; p[j] != NULL; j++)
        delete p[j];
    delete[] p;
    return 0;
}
Answer 1

Строку для обработки своей программой ограничьте одинарными кавычками. Примерно так:

$ ./a.out '(x;y)'
2   
0 ..... 121 
Net podhodyachih to4ek
READ ALSO
Qt отображение корневого элемента дерева

Qt отображение корневого элемента дерева

Хочу создать свою модель дерева, получается вот такое:

122
Фабричный метод и анонимные классы

Фабричный метод и анонимные классы

Разбираюсь с абстрактными классами в java и в качестве примера их использования приводиться фабричный метод, и говориться что в данном случае...

92
Spring Data JPA закрывается соеденение с БД

Spring Data JPA закрывается соеденение с БД

Имеется Spring boot приложение, которое перегоняет большое количество данных получаемых по API в удаленную БД (MySQL)В качестве пула соединений использую...

126