Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 4

Реализовать функцию нахождения периметра заданного многоугольника

11.11.2017, 21:58. Показов 819. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Мне нужно написать программу, в которую мы задаём массив с кол-вом элементов N>5, т.к. потом этот массив делится на 2 и его чётные элементы передаются как координаты X, а нечётные - Y (можете посмотреть в коде), далее считаются стороны и периметр соответственно, если исправите, буду очень благодарен)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <iostream>
#include <math.h>
using namespace std;
 
double PerimN(double* arr, int size)
{
    double* a = new double[size / 2];
    double* x = new double[size / 2];
    double* y = new double[size / 2];
 
    cout << endl << endl << "Array X: " << endl;
 
    for (int i = 0; i < size; i += 2)
    {
        int j = 0;
        x[j] = arr[i];
        cout << x[j] << " ";
        j += 1;
    }
 
 
    cout << endl << endl << "Array Y: " << endl;
 
    for (int i = 1; i < size; i += 2)
    {
        int j = 0;
        y[j] = arr[i];
        cout << y[j] << " ";
        j += 1;
    }
 
 
    a[size / 2 - 1] = sqrt(pow(x[0] - x[size / 2 - 1], 2) + pow(y[0] - y[size / 2 - 1], 2));
    for (int i = 0; i < size / 2 - 1; i++)
    {
        a[i] = sqrt(pow(x[i] - x[i + 1], 2) + pow(y[i] - y[i + 1], 2));
    }
    double perim = 0;
    for (int i = 0; i < size / 2; i++)
    {
        perim += a[i];
    }
    return perim;
}
 
int main()
{
    int size;
    cout << "Enter Size of Array : ";
    cin >> size;
 
    double* arr = new double[size];
 
    cout << endl << "Array : ";
    for (int i = 0; i < size; ++i)
    {
        arr[i] = rand() % 20;
        cout << arr[i] << " ";
    }
    cout << endl << endl << "Perim = " << PerimN(arr, size) << endl;
    system("pause");
    return 0;
}
Спасибо)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2017, 21:58
Ответы с готовыми решениями:

Реализовать функцию нахождения площади и периметра заданного прямоугольника
Написать программу с ф-цией,в которой для заданного прямоугольника посчитать и передать 2 результата: Площадь прямоугольника через return,...

Реализовать функцию нахождения определителя квадратной матрицы заданного размера
Необходимо написать программу, матрица 3 на 3, найти чему равен определитель. Реализовать используя функцию.

Реализовать программу нахождения заданного элемента таблицы Менделеева с использованием указателя на структуру
Помогите пожалуйста выполнить программу, для определения химического элемента таблицы Менделеева с использованием указателя на структуру. ...

4
5 / 5 / 1
Регистрация: 14.10.2017
Сообщений: 23
11.11.2017, 22:27
Цитата Сообщение от UberProv Посмотреть сообщение
j+=1;
Цитата Сообщение от UberProv Посмотреть сообщение
int j = 0;
UberProv, у вас только нулевой элемент записывается
1
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 4
11.11.2017, 23:36  [ТС]
Спасибо, понял ошибку, попробовал цикл в цикле заюзать, стало еще хуже))
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
12.11.2017, 00:01
UberProv,
C++
1
2
3
double*a = new double[size/2]; 
double *x = new double[size/2]; 
double *y = new double[size/2];
А чистить память в конце кто будет?
0
0 / 0 / 0
Регистрация: 11.11.2017
Сообщений: 4
12.11.2017, 19:10  [ТС]
Ввёл счётчики вне цикла и всё теперь работает, спасибо за советы)

Вот, если кому понадобится:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int j = 0;
int e = 0;
 
    for (int i = 0; i < size; i += 2)
    {
        x[j] = arr[i];
        cout << x[j] << " ";
        j += 1;
    }
    for (int i = 1; i < size; i += 2)
    {
        y[e] = arr[i];
        cout << y[e] << " ";
        e += 1;
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2017, 19:10
Помогаю со студенческими работами здесь

Реализовать функцию для нахождения максимального элемента заданной матрицы
Задание : Создать прототип функции для нахождения макс. элемента прямоугольной матрицы Есть код для нахождения одномерного массива ...

Реализовать функцию нахождения среднего арифметического цифр заданной последовательности
Вводится последовательность из N целых чисел. Найти среднее арифметическое его цифр (функцией оформить определения среднего арифметического...

Реализовать функцию нахождения площади треугольника по трём известным сторонам
Народ, решите пожалуйста! Сам не успеваю, очень прошу! Разработать функцию f(x, у, z), которая по длинам сторон треугольника х, у, z...

Реализовать рекурсивную функцию для нахождения суммы ряда по заданной формуле
Как составить рекуррентную формулу для вычисления суммы ряда sin(4x)=4x-(4x)3^3!+(4x)^5/5!-... ????????

Реализовать шаблонную функцию для нахождения количества локальных минимумов заданной матрицы
Элемент матрицы называется локальным минимумом, если он строго меньше всех имеющихся у него соседей.Подсчитать количество локальных...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru