Подсчитать количество точек, попадающих в круг - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Приняв, что координаты точек на плоскости задаются двумя числами x и y, составить программу, которая вводит с клавиатуры координаты точек и записывает их последовательно в файл: сначала x, а затем y. После завершения ввода осуществляется просмотр файла и его обработка (Подсчитать количество точек, попадающих в круг радиуса 2 с центром (2;2))..... Я написала программу, ошибок не выдает, начинаю вводить координаты.... а оно все вводит и вводит, а считать не начинает, даже когда ввожу координаты 0 0. Помогите пожалуйста..
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main(void)
{
int x,y,k;
FILE*f,*g;
f=fopen("lab5.dat","w");
printf("Vvedi X Y (priznak okonchaniya X=0 Y=0):\n");
do {
scanf("%i",&x,&y);
if ((x!=0) && (y!=0)) { fwrite(&x,sizeof(x),2,f);fwrite(&y,sizeof(y),2,f);}
} while (f);
fclose(f);
printf(" Sodergumoe file:\n");
if ((f=fopen("lab5.dat","r"))==NULL){
printf("Mistake of file:\n");return;}
g=fopen("lab5.txt","w");
fprintf(g," Sodergumoe of file:\n");
k=0;
do {
fread(&k,sizeof(k),2,f);
if(!feof(f)) {printf("%4i",k);fprintf(g,"%4i",k);
if (x*x+y*y>=16) {k=k++;}}
} while (!feof(f));
printf("\n KOL-VO TOCHEK VNE KRUGA=%i\n",k);fprintf(g,"\nKOL-VO TOCHEK VNE KRUGA=%i\n",k);
fclose(f); fclose(g);
getch();
}

Решение задачи: «Подсчитать количество точек, попадающих в круг»

textual
Листинг программы
do {
scanf("%i %i",&x,&y);
fwrite(&x,sizeof(x),2,f);fwrite(&y,sizeof(y),2,f);
} while (x != 0 || y != 0);

Объяснение кода листинга программы

В этом коде происходит следующее:

  1. В цикле do-while выполняется блок кода до тех пор, пока условие x != 0 || y != 0 истинно.
  2. Внутри цикла происходит чтение двух чисел из стандартного ввода (возможно, с клавиатуры) с помощью функции scanf. Числа сохраняются в переменных x и y.
  3. Затем с помощью функции fwrite числа x и y записываются в файл f. Функция fwrite записывает данные в файл по байтам (второй аргумент - размер данных в байтах, третий аргумент - количество данных для записи).
  4. После выполнения всех итераций цикла, программа завершается. В данном случае, код считывает два числа с клавиатуры и записывает их в файл до тех пор, пока пользователь не введет нули для обоих чисел.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы