Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2012, 22:15   #1
Vinokurov-amm
 
Регистрация: 04.11.2012
Сообщений: 7
По умолчанию Исправьте код

произвольный выпуклый многоугольник задан координатами своих вершин на плоскости. Найдите самую длинную диагональ данного многоугольника.
Цитата:
#include <vcl.h>
#include <iostream>
#include <cmath>
#include <conio>
#include <stdlib>
using namespace std;

#pragma hdrstop

//---------------------------------------------------------------------------

#pragma argsused
int main(int argc, char* argv[])
{ float x[20];
float y[20];
float max,d;
int i,j,n;
cin>>n;
for(i=0;i<n;i++) cin>>x[i];
for(i=0;i<n;i++) cin>>y[i];
max=0;
for(j=3;j<n-1;j++){
d=sqrt((x[j]-x[1])*(x[j]-x[1])+(y[j]-y[1])*(y[j]-y[1]));
if (d>max) max=d;
}
for (i=2;i<n-2;i++)
for (j=i+2;j<n;j++){
d=sqrt((x[j]-x[i])*(x[j]-x[i])+(y[j]-y[i])*(y[j]-y[i]));
if (d>max) max=d;}

cout<<d;


getch();
return 0;
}
Vinokurov-amm вне форума Ответить с цитированием
Старый 07.12.2012, 22:33   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Не вижу в условии ограничения "число вершин многоугольника не больше 20".

А в остальном - что, собственно, надо исправить? Поставить отступы? Дописать комментарии? Выделить функции? Всё это хорошо бы сделать, но всё это можете сделать и Вы.
Abstraction вне форума Ответить с цитированием
Старый 07.12.2012, 22:41   #3
Vinokurov-amm
 
Регистрация: 04.11.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Abstraction Посмотреть сообщение
Не вижу в условии ограничения "число вершин многоугольника не больше 20".

А в остальном - что, собственно, надо исправить? Поставить отступы? Дописать комментарии? Выделить функции? Всё это хорошо бы сделать, но всё это можете сделать и Вы.
Я проверял, что-то не пойму правильно работает или нет
Vinokurov-amm вне форума Ответить с цитированием
Старый 07.12.2012, 22:44   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Я проверял, что-то не пойму правильно работает или нет
Гм... ну, тогда я не пойму, надо исправлять или нет.
Единственное, что могу посоветовать - обратить внимание на то, что из формулировки задания следует, что каждая вершина задаётся один раз, а к вершине с индексом 0 Вы после чтения не обращаетесь ни в какой момент.
Abstraction вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исправьте код kostan3 Общие вопросы по Java, Java SE, Kotlin 4 21.12.2012 22:29
Исправьте код Visual Prolog 5.2 Vestars Помощь студентам 0 07.09.2012 00:04
одномерный массив в Си ! Исправьте код! osichev Помощь студентам 3 04.06.2009 17:14