Function leng(var x,y,x1,y1: real): real; begin leng:=sqrt(sqr(x-x1)+sqr(y-y1)); end;
// основная программа var x1,y1,x2,y2,x3,y3,p: real; begin write('координаты вершин x1 y1 x2 y2 x3 y3 через пробел: '); readln(x1,y1,x2,y2,x3,y3); if (leng(x2,y2,x1,y1) + leng(x3,y3,x2,y2) = leng(x3,y3,x1,y1)) or (leng(x2,y2,x1,y1) + leng(x3,y3,x1,y1) = leng(x3,y3,x2,y2)) or (leng(x3,y3,x2,y2) + leng(x3,y3,x1,y1) = leng(x2,y2,x1,y1)) then writeln('точки лежат на одной прямой') else begin p:=leng(x2,y2,x1,y1)+leng(x3,y3,x2,y2)+leng(x3,y3,x1,y1); writeln('периметр: ',p:7:3); end; end.
void reduce(int* m, int* n) { int a,b,c; a=*m; b=*n; // НОД a b - алгоритм Евклида do { c=a%b; a=b; b=c; } while (b>0); *m/=a; *n/=a; }
int main() { int m,n; cout<<"input m n "; cin>>m>>n; cout<<m<<"/"<<n<<" = "; reduce(&m,&n); if (n>1) cout<<m<<"/"<<n<<endl; else cout<<m<<endl; system("pause"); return 0; }
Мог посмотреть