Учеба и наука
vip
Информатика Составить правильный код программы,записать... - вопрос №550315
Информатика. Составить правильный код программы на C++, записать решение в виде блок-схемм. Даны координаты n точек на плоскости в виде маси- вов X, Y. Найти наиболее и наименее удаленные точки. Вычис- ление расстояния между парой точек оформить функцией.
февраль 12, 2013 г.
-
Всего ответов: 3
-
// Внимание!!! Перед компиляцией программы все кавычки нужно исправить на — "
// « и » появляются при вставке текста программы в ответ
#include <iostream>
#include <cmath>
using namespace std;
// maximum count of points in array
const unsigned maxNum = 100;
// array of points
struct pt {
float x, y;
} arr[maxNum];
// calculate a distance
float calcDst(unsigned n1, unsigned n2)
{
return sqrtf((arr[n1].x — arr[n2].x) * (arr[n1].x — arr[n2].x) + (arr[n1].y — arr[n2].y) * (arr[n1].y — arr[n2].y));
}
int main()
{
// input a array
unsigned n;
pt p;
cout << «input count of points: »;
cin >> n;
for (unsigned i = 1; i cout << «point #» << i << ": " << endl;
cout << «x=»;
cin >> p.x;
cout << «y=»;
cin >> p.y;
arr[i — 1] = p;
}
// find maximum distabce
unsigned maxN1 = 0;
unsigned maxN2 = 0;
float maxDst = -1;
unsigned minN1 = 0;
unsigned minN2 = 0;
float minDst = 0xFFFFFFFF;
for (unsigned n1 = 0; n1 < n — 1; n1++)
for (unsigned n2 = n1 + 1; n2 < n; n2++) {
float locDst = calcDst(n1, n2);
if (locDst > maxDst) {
maxN1 = n1;
maxN2 = n2;
maxDst = locDst;
}
if (locDst < minDst) {
minN1 = n1;
minN2 = n2;
minDst = locDst;
}
}
// print results
cout << «most distant points: (» << arr[maxN1].x << ", " << arr[maxN1].y << ") — (" << arr[maxN2].x << ", " << arr[maxN2].y << ")" << endl;
cout << «lees distant points: (» << arr[minN1].x << ", " << arr[minN1].y << ") — (" << arr[minN2].x << ", " << arr[minN2].y << ")" << endl;
return 0;
} -
#include <iostream>
using namespace std;
#define maxl 100
struct tochki
{
float x,y;
}_tochki;
float lineXY(float x1, float y1, float x2, float y2)
{
return sqrt(pow(x2-x1,2)-pow(y2-y1,2)) ;
}
int mai();
{
int i,j,k,n;
float line[maxl*maxl];
float max,min;
tochki point[maxl];
cout << «count = »;
cin >> n;
for(i=0; i<n; i++)
{
cout << «select x =»;
cin >> point[i].x;
cout << «select y =»;
cin >> point[i].y;
}
k=0;
for(i=0; i<n; i++)
{
for(j=i+1;j<n-1;j++)
{
line[k]=lineXY(point[i].x,point[i].y,point[j].x,point[j].y);
k++;
}
}
max=line[0];
min=line[0];
for(i=1;i<k;i++)
{
if(max<line[i])
{
max=line[i];
}
if(min>line[i])
{
min=line[i];
}
}
cout << " max line = " <<max <<endl <<" min line = " <<min <<endl;
cin >>i;
return 0;
}
-
насчет блок схемы напишите отправлю
Похожие вопросы
Здравствуйте. Что делать если выдает: terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error' what(): filesystem error: status: Too many levels of symbolic links
декабрь 21, 2023 г.
Даны два массива целых чисел a и b, каждый их которых не содержит повторяющихся элементов.
ноябрь 2, 2022 г.
Реализовать вычислительный алгоритм для функции xor(x1, x2) через функции or(x1, x2) и and(x1, x2) в программной среде (С++, Python и др.).
май 27, 2022 г.
C++. Упорядочить строки массива A в порядке убывания сумм цифр первого элемента каждой строки. Код для новичка
февраль 12, 2022 г.