gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 14:42:34 24 4
gpt4 key购买 nike

我有一个包含索引和坐标的结构数组(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);
}
}
}

关于c - 如何从 C 结构体数组中读取和打印唯一坐标(x,y),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54382006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com