#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct Point
{
float x;
float y;
};
double findDistance(Point &point, Point &edgePoint1, Point &edgePoint2)
{
double a = edgePoint2.y-edgePoint1.y;
double b = edgePoint1.x-edgePoint2.x;
double c = edgePoint2.x*edgePoint1.y - edgePoint1.x*edgePoint2.y;
return abs (point.x*a + point.y*b + c) / sqrt (a*a + b*b);
}
void main()
{
FILE *f;
f = fopen("input.txt", "rb");
if (!f)
return;
Point points[101];
int N;
//чтение из файла
fscanf(f, "%d\n", &N);
int i, j;
for ( i = 0; i < N; i++ )
fscanf(f, "%f %f\n", &points.x, &points.y);
fclose(f);
points[ N ] = points[ 0 ];
double min = 100000;
double tmp;
for ( i = 0; i < N; ++i ) //цикл по граням
{
double max = 0;
for (j = 0; j < N; j++) // цикл по точкам не принадлежищим грани
if ( j != i && j != i+1 )
{
tmp = findDistance(points[j], points, points[i+1]);
if (tmp > max)
max = tmp;
}
if (max < min)
min = max;
}
f = fopen("output.txt", "wb");
if (!f)
return;
fprintf(f, "%.3f\n", min);
fclose(f);
system("PAUSE");
return;
(C++) помогите разобрать программу
Код:
тут нужно обозначить:
1 начало или завершение программы
2 операторы присваивания,вычисления
3 ввод данных
4 вывод данных
5 условный блок,оператор выбора (a>b)
6 оператор цикла
7 подпрограмма, пользовательская функция
[COLOR="Red"]Почему код не оформляешь по Правилам ?!!![/COLOR] модератор.
а я не умею(
1) Точка входа -- ф-ция main()
выход -- return в main`е
2) Присваивание -- знак "=".... вычисление?! х.з, что имелось в виду
3)//чтение из файла
fscanf(f, "%d\n", &N);
int i, j;
for ( i = 0; i < N; i++ )
fscanf(f, "%f %f\n", &points.x, &points.y);
fclose(f);
4)fprintf()
5)if()
6)for()
7)findDistance
Вот и все? В самой глючной и корявой методичке это описано... Любой в дрова пьяный студент, не гуманитарий, это рассказал бы.....
2 fanto: у нас даж самые задолбанные экономисты, без предмета ПРОГРАММИРОВАНИЕ как такового, учили азы :D
Цитата: Тень Пса
2 Paradoxek: позор.... и на кого же ты учишься?... неужели на программиста?!
2 fanto: у нас даж самые задолбанные экономисты, без предмета ПРОГРАММИРОВАНИЕ как такового, учили азы :D
2 fanto: у нас даж самые задолбанные экономисты, без предмета ПРОГРАММИРОВАНИЕ как такового, учили азы :D
хех) пытаюсь учиться)а вообще на архиолога) просто информатика как общий предмет идёт, сори за флуд, просто что бы знали.
P.S. правила раздела студентам прочитал)
Код:
return abs (point.x*a + point.y*b + c) / sqrt (a*a + b*b);
вот эта функция к чему относиться?
эти функции (abs, sqrt) а также операторы *,+,/ относятся к вычислениям.