Подсчитать количество точек, попадающих в круг - 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);
Объяснение кода листинга программы
В этом коде происходит следующее:
- В цикле do-while выполняется блок кода до тех пор, пока условие x != 0 || y != 0 истинно.
- Внутри цикла происходит чтение двух чисел из стандартного ввода (возможно, с клавиатуры) с помощью функции scanf. Числа сохраняются в переменных x и y.
- Затем с помощью функции fwrite числа x и y записываются в файл f. Функция fwrite записывает данные в файл по байтам (второй аргумент - размер данных в байтах, третий аргумент - количество данных для записи).
- После выполнения всех итераций цикла, программа завершается. В данном случае, код считывает два числа с клавиатуры и записывает их в файл до тех пор, пока пользователь не введет нули для обоих чисел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д