Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
zantaz
1 / 1 / 0
Регистрация: 25.09.2013
Сообщений: 15
#1

ниточка - C++

25.09.2013, 16:33. Просмотров 666. Ответов 6
Метки нет (Все метки)

условие задачи:
В первой строке входа к этой задаче находятся два числа — количество гвоздей N, 1 ≤ N ≤ 100, и вещественное число R — радиус шляпок гвоздей. Все шляпки имеют одинаковый радиус. Далее на входе располагаются еще N строк, в каждой из которых записана через пробел пара вещественных координат центра очередного гвоздя; координаты не превосходят по абсолютной величине числа 100. Описания гвоздей приводятся в порядке обхода вершин многоугольника (либо по часовой стрелке, либо против часовой стрелки), начиная с произвольного. Шляпки разных гвоздей не накладываются друг на друга.
Результат
Выведите вещественное число, округлённое до двух знаков после запятой — длину ниточки, натянутой вокруг всех гвоздей.
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
#include "stdafx.h"
#include "iostream"
#include <iomanip> 
using namespace std;
int const K=1000; 
int main()
{
    int N;
    double R,S=0;
    double x[K];
    double y[K];
    cin>>N>>R;
    for(int i=1;i<=N;i++)
    {
        cin>>x[i]>>y[i];
    }
    for(int i=1;i<=N-1;i++)
    {
        S=S+sqrt(pow((x[i]-x[i+1]),2.0)+(pow((y[i]-y[i+1]),2.0)));
    }
    S=S+sqrt(pow((x[N]-x[1]),2.0)+(pow((y[N]-y[1]),2.0)));
    S=S+(3.14*R*2);
    cout<<fixed<<setprecision(2)<<S;
    return 0;[CPP]
}[/CPP]
где ошибка может скрываться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 16:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ниточка (C++):

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример,

Ниточка - Turbo Pascal
В этой задаче WA появляется на первом же тесте( Может кто-нибудь знает какой момент я еще не учел. Пример, который выложен вместе с задачей...


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

Или воспользуйтесь поиском по форуму:
6
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
25.09.2013, 16:49 #2
а как нитку натягивают на шляпки или куда?
0
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
25.09.2013, 16:51 #3
Ну я бы включил файл
C++
1
#include <math.h>
для использования функции pow.
а в остальном вроде бы все норма.
ну и конечно вместо
Цитата Сообщение от zantaz Посмотреть сообщение
#include "iostream"
надо бы
C++
1
#include <iostream>
Добавлено через 2 минуты
хотя постановка задачи веселая.

гвозди видимо забиты по самую шляпку и нитка идет по шляпкам.
нитка перед переходом к следующему гвоздю видимо делает полный оборот вокруг текущего (что и подразумевалось видимо под условием вокруг всех гвоздей)

Однако если нитка только зацеплялась за гвозди, ууу тогда я сочувствую. Ведь тогда надо будет определять сектор вокруг которого будет идти нитка чтобы перейти к
следующему гвоздю
0
fishec
119 / 119 / 30
Регистрация: 07.09.2013
Сообщений: 338
25.09.2013, 17:16 #4
Цитата Сообщение от HedgehogLu Посмотреть сообщение
Ведь тогда надо будет определять сектор вокруг которого будет идти нитка чтобы перейти к
следующему гвоздю
Не нужно. В сумме все дуги дадут полную окружность.
0
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
25.09.2013, 17:30 #5
это только при условии что многоугольник выпуклый
0
zantaz
1 / 1 / 0
Регистрация: 25.09.2013
Сообщений: 15
25.09.2013, 19:10  [ТС] #6
нитка идет по шляпкам.странно почему у меня visual studio 2012 без <math.h> и с неправильной записью <iostream> работал

Добавлено через 6 минут
Цитата Сообщение от HedgehogLu Посмотреть сообщение
это только при условии что многоугольник выпуклый
а если многоугольник невыпуклый тогда надо исправлять решение?
0
HedgehogLu
147 / 68 / 1
Регистрация: 04.09.2013
Сообщений: 260
26.09.2013, 11:36 #7
ну по сути тогда возникает некоторая погрешность в вычислениях связанная с огибанием гвоздей, но лучше по этому поводу не заморачиваться, т.к. там действительно "весело" получается, тк надо будет получать касательные с соседними двумя гвоздями, находить сектор по которому нитка огибает гвоздь и вычислять длину дуги сектора. Тут уже проще тогда оговорить условие, что это работает для выпуклых многоугольников.

и еще меня смущает одна фраза в постановке задачи
Цитата Сообщение от zantaz Посмотреть сообщение
Шляпки разных гвоздей не накладываются друг на друга.
Я не могу взять в толк, что получится если расстояние между координатами центров двух гвоздей будет меньше диаметра?
0
26.09.2013, 11:36
Ответ Создать тему
Опции темы

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