Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从C中的结构数组中读取和打印唯一坐标(x,y)_C_Arrays_Struct - Fatal编程技术网

如何从C中的结构数组中读取和打印唯一坐标(x,y)

如何从C中的结构数组中读取和打印唯一坐标(x,y),c,arrays,struct,C,Arrays,Struct,我有一个包含索引和坐标(x,y,例如0,0:1,2:0,0)的结构数组,我只想打印这个数组中唯一的索引和坐标点,到目前为止我已经有了 #define MAX_NUMBER_OF_POINTS 1000 struct fixation_point_type { int id_number; int x; int y; }; struct fixation_point_type fixation_point_types[MAX_NUMBER_OF_POINTS]; {

我有一个包含索引和坐标(x,y,例如0,0:1,2:0,0)的结构数组,我只想打印这个数组中唯一的索引和坐标点,到目前为止我已经有了

#define MAX_NUMBER_OF_POINTS 1000

struct fixation_point_type {
    int id_number;
    int x;
    int y;
};

struct fixation_point_type fixation_point_types[MAX_NUMBER_OF_POINTS];

{
    cordinate[N].id_number;
    cordinate[N].x;
    cordinate[N].y;
    N++;
预期的输出应该是唯一的索引和坐标。 如果坐标为:

715 242
695 241
695 241 
预期产出将是:

715 242
695 241

老实说,这不是考验

#define MAX_NUMBER_OF_POINTS 500

typedef struct 
{
    int id_number;
    int x;
    int y;
}fixation_point_type ;
fixation_point_type sf[MAX_NUMBER_OF_POINTS];

int find_in_array(int (*arr)[2], int x, iny y, size_t size)
{
    int result = 0;
    for(size_t index = 0; index < size; index++)
    {
        if(*arr[0] == x && *arr[1] == y)
        {
            result = 1;
            break;
        }
        arr++;
    }
    return result;
}

void print_distinct(fixation_point_type *fp, size_t elements)
{
    size_t arrsize = 0;
    int fd[MAX_NUMBER_OF_POINTS][2];

    for(size_t index = 0; index < MAX_NUMBER_OF_POINTS; index++)
    {
        if(!find_in_array(&fd[0], sf[index].x, sf[index].y, arrsize))
        {
            fd[arrsize][0] = fp[index].x;
            fd[arrsize][1] = fp[index].y;
            arrsize++;
            printf("Index: %d, X:%d, Y:%d\n", fp[index].id_number, fp[index].x, fp[index].y);
        }
    }
}
#定义500个点的最大数量
类型定义结构
{
国际身份证号码;
int x;
int-y;
}固定点型;
固定点类型sf[点的最大数量];
int find_in_数组(int(*arr)[2],int x,iny y,size_t size)
{
int结果=0;
对于(大小索引=0;索引
这是一个在结构数组中打印唯一坐标的函数:

size_t print_coordinates(const fixation_point_type *array, size_t size) {
    size_t i, j, count = 0;

    for (i = 0; i < size; i++) {
        for (j = 0; j < i; j++) {
            if (array[i].x == array[j].x && array[i].y == array[j].y) {
                /* found a duplicate */
                break;
            }
        }
        if (i == j) {
            /* no duplicates: print the coordinates */
            printf("%d %d\n, array[i].x, array[i].y);
            count++;
        }
    }
    return count;
}
大小打印坐标(常量固定点类型*数组,大小){
尺寸i,j,计数=0;
对于(i=0;i
请显示MCVE您的规格确实不清楚,请至少显示一个预期输出的示例。我正在从文件读取输入并将Cordinate存储在结构数组中,预期输入和输出应如图所示。如果Cordinate为1 715 242 2 695 241 3 695 241,则预期输出将为1 715 242 2 695 241多大n
n
be?1000s,1000000?发布您尝试过的内容。n是一个最大值1000wow,从一个几乎为空的规范创建代码,Congat。只是一个输入错误:
iny
而不是
int y