Форум программистов, компьютерный форум CyberForum.ru

Определить наибольшую диагональ прямоугольника - C++

Восстановить пароль Регистрация
 
Elizabeth7
2 / 2 / 0
Регистрация: 26.03.2013
Сообщений: 24
15.04.2013, 14:31     Определить наибольшую диагональ прямоугольника #1
Определить наибольшую диагональ прямоугольника. В массиве заданы координаты противоположных вершин прямоугольников: (a[0], a[1])-координаты первой вершины первого прямоугольника, (a[2], a[3])-координаты второй вершины первого прямоугольника, (a[4], a[5])-координаты первой вершины второго прямоугольника, (a[6], a[7])-координаты второй вершины второго прямоугольника и т.д. Использовать функцию определения расстояния между двумя точками.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 14:31     Определить наибольшую диагональ прямоугольника
Посмотрите здесь:

C++ Определить наибольшую последовательность отличных от пробелов символов
C++ Определить наибольшую площадь треугольника, заданного длинами сторон в массиве
C++ Определить, попадает ли точка с вводимыми координатами (x,y) внутрь прямоугольника, заданного уравнениями
Определить точки пересечения круга и прямоугольника C++
Определить лежит ли точка внутри заданного прямоугольника C++
C++ Определить координаты четвертой вершины прямоугольника
Определить, пересекаются ли контур прямоугольника и окружность C++
Определить номер четверти прямоугольника, в которую попала точка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
15.04.2013, 14:58     Определить наибольшую диагональ прямоугольника #2
Цитата Сообщение от Elizabeth7 Посмотреть сообщение
Определить наибольшую диагональ прямоугольника.
Любая диагональ прямоугольника - наибольшая

Добавлено через 14 минут
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
#include <iostream>
#include <cmath>
 
using namespace std;
 
double diag( int x1, int y1, int x2, int y2 )
{
   return sqrt( pow(x1-x2,2) + pow(y1-y2,2));
}
 
int main() {
   
   int points[] = {1,2,3,4,5,6,7,9};
   
   const int len = sizeof(points)/sizeof(*points);
   const int rects = len / 4;
   
   double maxDiag = 0;
   int num = -1;
   for( int i=0; i<rects; ++i )
   {
      double d = diag( points[i*4], points[i*4+1], points[i*4+2], points[i*4+3] );
      if( maxDiag < d )
      {
         maxDiag = d;
         num = i;
      }
   }
   
   if( num != -1 )
   {
      cout << "Максимальная диагональ = " << maxDiag << " у прямоугольника с индексом " << num << endl;
   }
   
   return 0;
}
Xfaider
11 / 11 / 1
Регистрация: 27.10.2012
Сообщений: 26
15.04.2013, 15:44     Определить наибольшую диагональ прямоугольника #3
Если я все правильно понял:
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
#include <iostream>
#include <math.h>
#include <locale.h>
 
using namespace std;
double lenght(int x1, int y1, int x2, int y2)
{
   double res;
   res=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
   return res;
}
int main(void){
    setlocale(LC_ALL,"rus");
    int n,k(1),num(0); double max_lenght=0;
    cout<<"Введите колличество прямоугольников\n";
    cin>>n;
    int *a=new int[n*4];
    for (int i=0;i<=n*4-4;i=i+4)
    {
      cout<<"Введите координаты противоположных вершин(х1,у1) и (х2,у2) "<<k<<" прямоугольника\n";
      cin>>a[i]>>a[i+1]>>a[i+2]>>a[i+3];
      if(lenght(a[i],a[i+1],a[i+2],a[i+3])>max_lenght) 
      {
         max_lenght=lenght(a[i],a[i+1],a[i+2],a[i+3]);
         num=k;
      }
      k++;
    }
    cout<<"Максимальная длинна диагонали прямоугольника\n"<<num<<endl<<max_lenght;
    return 0;
}
Yandex
Объявления
15.04.2013, 15:44     Определить наибольшую диагональ прямоугольника
Ответ Создать тему
Опции темы

Текущее время: 09:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru