Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
sasha1175
0 / 0 / 0
Регистрация: 03.12.2017
Сообщений: 37
Завершенные тесты: 2
1

Вычислить площади различных земельных участков с разным количеством точек

15.02.2018, 19:13. Просмотров 244. Ответов 0
Метки нет (Все метки)

Землеустроителям при распределении земельных участков необходимо определять площадь сложных геометрических фигур. Используется такой алгоритм:
1) определяют координаты X, Y необходимого количества k точек, принадлежащих границе участка;
2) вычисляют сумму Yi  (Xi-1-Xi + 1), где i [1,2,3 ... k];
3) площадь участка определяют половины найденной суммы;
4) для контроля полученного значения искомую площадь вычисляют с помощью суммы Xi  (Yi + 1-Yi-1), где i [1,2,3 ... k], которую делят пополам;
5) полученные значения сравнивают, и, если они равны, искомая площадь определена.
Написать программу, которая работает в соответствии указанном алгоритма и позволяет вычислять площади различных земельных участков с разным количеством точек.

Код
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <locale.h>
#include <conio.h>
#include <windows.h>

    Array (int k);
    float X[100],Y[100];

int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    int k,i;

    printf ("Введіть кількість точок k=>");
    scanf ("%d", &k);

    for (i=0;i<k;i++)
    {
        printf ("Введіть координати для %d-ой точки\nX =>>", i+1);
        scanf ("%f", &X[i]);
        printf ("Y =>>");
        scanf ("%f", &Y[i]);
    }
    Array (k);
    system ("pause");
}
     Array (int k)
{
      int i;
    float sumX=0,sumY=0;
   for(i=0;i<k;i++)
	{
		sumX+=Y[i]*(X[і-1]-X[і+1]);
		sumY+=X[i]*(Y[і+1]-Y[і-1]);

       printf ("%f\t%f\n", sumX, sumY);
    }
        sumX/=2.0;
        sumY/=2.0;
        if (sumX==sumY) printf ("Площу визначено.\n Площа =>>%2lf\n", sumX);
        else printf ("Неправельно порахована площа\n");
}
как вот это прописать правильно?? " int i;
float sumX=0,sumY=0;
for(i=0;i<k;i++)
{
sumX+=Y[i]*(X[і-1]-X[і+1]);
sumY+=X[i]*(Y[і+1]-Y[і-1]);"
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2018, 19:13
Ответы с готовыми решениями:

Написать программу, которая позволяет вычислять площади различных земельных участков
Изучаем тему - классы памяти. Дали такое задание: Даже не представляю как это делать. Спасибо

Определить, равны ли площади земельных участков
Добрый вечер! Два фермера имеют земельные участки треугольной формы. Известны длины трёх оград,...

Аренда земельных участков

Вычислить разницу в скорости выполнения двух различных участков кода
Как вычислить разницу в скорости выполнения двух различных участков кода?

Определить, какой из земельных участков имеет наибольшую площадь, а какой - наименьший периметр
Каждый из двух земельных участков в форме равнобедренных треугольников , если для каждого заданы...

0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.02.2018, 19:13

В одном цикле вычислить площади различных фигур, информация о которых хранится в массиве
Заданный массив из 10 элементов, содержащих фигуры разных размеров (круг, квадрат, равносторонний...

Из множества точек на плоскости найти точки, образующие параллелограмм с наибольшим количеством точек внутри
&quot;Даны N точек на плоскости. Найти среди них точки являющиеся вершинами фигуры, содержащей...

Тест с разным количеством вопросов
Здравствуйте. Воззможно данная тема поднималась, но меня интересует следующее, я пишу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.