Найти периметр десятиугольника - C (СИ) (78683)
Формулировка задачи:
Реализовать на Си.
Даны действительные числа х1, у1, х2, у2, …,х10, у10. Найти периметр десятиугольника, вершины которого имеют соответственно координаты (х1, у1), (х2, у2), …, (х10, у10). (Определить процедуру вычисления расстояния между двумя точками, заданными своими координатами.)
есть набросок, но что-то не сходится, помогите
# include <stdio.h> # include <conio.h> # include <math.h> # define n 11 main() { int a[2][n],i; float r=0; for(i=0;i<n-1;i++) { printf("x,y: "); scanf("%d %d",&a[1][i],&a[2][i]) } a[1][10]=a[1][0]; a[2][10]=a[2][0]; for(i=0;i<n-1;i++) r+=s(a[1][i],a[2][i],a[1][i+1],a[2][i+1]) printf("%f",r); getch(); } s(int x1,int y1,int x2,int y2) { float d; d=sqrt(pow((x2-x1),2)+pow((y2-y1),2)); return(d); }
Решение задачи: «Найти периметр десятиугольника»
textual
Листинг программы
# include <stdio.h> # include <conio.h> # include <math.h> # define n 11 float s(int x1,int y1,int x2,int y2) { return sqrt(pow((x2-x1),2.0)+pow((y2-y1),2.0)); } void main() { int a[2][n],i; float r=0; for(i=0;i<n-1;i++) { printf("x,y: "); scanf("%d %d",&a[1][i],&a[2][i]); } a[1][10]=a[1][0]; a[2][10]=a[2][0]; for(i=0;i<n-1;i++) r+=s(a[1][i],a[2][i],a[1][i+1],a[2][i+1]); printf("%f",r); getch(); }
Объяснение кода листинга программы
В этом коде:
- Включаются необходимые заголовочные файлы
- Определяется константа n, равная 11 (десятиугольник имеет 10 вершин)
- Создается функция s, которая вычисляет расстояние между двумя точками в двумерном пространстве
- Создается основной цикл программы, который запускается при вызове функции main
- В цикле программа запрашивает координаты 10 точек, используя функцию scanf
- Последняя точка повторяет первую, поэтому в массиве a[1][10] и a[2][10] хранятся значения a[1][0] и a[2][0] соответственно
- Затем в цикле суммируются длины сторон десятиугольника, используя функцию s и переменную r
- Наконец, результат выводится на экран с помощью функции printf, а программа ожидает нажатия клавиши с помощью функции getch Список переменных:
- n - константа, равная 11
- a - двумерный массив, используемый для хранения координат точек
- i - счетчик, используемый в циклах
- r - переменная, используемая для хранения суммы длин сторон
- x1, y1, x2, y2 - переменные, используемые внутри функции s для хранения координат точек
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д