Подсчитать количество точек, лежащих вне треугольника - C (СИ)
Формулировка задачи:
Помогите перевести программу с Паскаля на Си
Подсчитать количество точек, лежащих вне треугольника, образованного осями координат и прямой y=2x+1.
program lab8; uses crt; var f:text; x,y:real; k:integer; begin clrscr; assign(f,'file1.txt'); rewrite(f); writeln('Введите в файл координаты точек, окончание x=0 y=0:'); repeat write('x=');readln(x); write('y=');readln(y); if(x<>0)or(y<>0) then writeln(f,' ',x,' ',y); until(x=0)and(y=0); close(f); reset(f); k:=0; while not eof(f) do begin read(f,x); read(f,y); if(x<-0.5)or(x>0)or(y>2*x+1)then k:=k+1; end; close(f); write('Вне треугольника лежит точек=',k); readln end.
Решение задачи: «Подсчитать количество точек, лежащих вне треугольника»
textual
Листинг программы
#include<iostream> #include<fstream> using namespace std; int main() { fstream f; double x,y; int k=0; f.open("file1.txt",ios::out); cout<<"Введите в файл координаты точек, окончание x=0 y=0:"<<endl; do { cout<<"x="; cin>>x; cout<<"y="; cin>>y; if((x!=0)||(y!=0)) f<<" "<<x<<" "<<y<<endl; } while((x!=0)&&(y!=0)); f.close(); f.open("file1.txt",ios::in); while(!f.eof()) { f>>x; f>>y; if((x<-0.5)||(x>0)||(y>2*x+1)) k++; } f.close(); cout<<"Вне треугольника лежит точек="<<k<<endl; getchar(); return 0; }
Объяснение кода листинга программы
В этом коде выполняется подсчет количества точек, которые находятся вне треугольника по заданным координатам.
- Открывается файл для записи координат точек.
- Вводится координаты точек до тех пор, пока не будут введены координаты точки, где x=0 и y=0.
- Записываются в файл только те координаты точек, которые не являются вершинами треугольника (x=0 и y=0).
- Открывается файл для чтения записанных координат точек.
- Происходит чтение координат точек из файла до тех пор, пока не будет достигнут конец файла.
- *Проверяется, находится ли точка вне треугольника по следующей формуле: (x<-0.5)||(x>0)||(y>2x+1)**.
- Если точка находится вне треугольника, увеличивается счетчик k на 1.
- Выводится количество точек, которые находятся вне треугольника.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д