Подскажите, где ошибка в коде?
#include "stdio.h";
#include "locale.h"
void main()
{
int sum, r, r2, X0, Y0, n;
setlocale(LC_CTYPE, "Russian");
printf("Введите X0,Y0,r,r2\n");
scanf_s("%d,%d,%d,%d", &X0, &Y0, &r, &r2);
sum = 0;
int x = (int)(X0 - r2);
int y = (int)(Y0 - r2);
for (x < X0 + r2; x++;);
{for (y < Y0 + r2; y++;);
{if ((x - X0) * (x - X0) + (y - Y0) * (y - Y0) < (r * r) && ((x - X0) * (x - X0) + (y - Y0) * (y - Y0) > r))
{
sum++;
}
}
}
printf("%d", sum * 4);
}

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <stdbool.h>
typedef struct {
int x;
int y;
} Point;
typedef struct {
Point center;
double out;
double in;
} Ring;
Point input_point(const char* msg) {
Point p;
printf("%s\nx: ", msg);
scanf_s("%i", &p.x);
printf("y: ");
scanf_s("%i", &p.y);
return p;
}
double input_radius(const char* msg) {
double value;
printf("%s", msg);
scanf_s("%lf", &value);
return value;
}
Ring input_ring() {
Ring ring;
ring.center = input_point("Координаты центра кольца");
ring.out = input_radius("Внешний радиус: ");
ring.in = input_radius("Внутренний радиус: ");
return ring;
}
double length(Point a, Point b) {
return sqrt(pow(a.x - b.x, 2) + pow(a.y - b.y, 2));
}
_Bool contains(Point point, Ring ring) {
double len = length(point, ring.center);
return len <= ring.out && len >= ring.in;
}
int main(void) {
Ring ring;
Point point;
int left, right, top, bottom;
int x, y;
unsigned count;
system("chcp 1251 > nul");
ring = input_ring();
left = (int)(ring.center.x - ring.out) - 1;
right = (int)(ring.center.x + ring.out) + 1;
top = (int)(ring.center.y + ring.out) + 1;
bottom = (int)(ring.center.y - ring.out) - 1;
count = 0U;
for (x = left; x <= right; ++x) {
for (y = bottom; y < top; ++y) {
point.x = x;
point.y = y;
if (contains(point, ring)) ++count;
}
}
printf("Количество точек: %u\n", count);
system("pause > nul");
}
#include "stdio.h"
#include "math.h"
int main(){
float r1,r2,x,y,t,i,j; int R,k=0;
printf("r1 r2 x y: "); scanf("%f%f%f%f",&r1,&r2,&x,&y);
if(r1>r2){t=r1; r1=r2; r2=t;} R=ceil(r2);
for(i=-R+x;i<=R+x;i++)for(j=-R+y;j<=R+y;j++){
t=i*i+j*j; k+=t<=r2*r2 && t>=r1*r1;}
printf("%d\n",k); return 0;}