Информатика Составить правильный код программы,записать... - вопрос №550315

Информатика. Составить правильный код программы на C++, записать решение в виде блок-схемм. Даны координаты n точек на плоскости в виде маси- вов X, Y. Найти наиболее и наименее удаленные точки. Вычис- ление расстояния между парой точек оформить функцией.

Ответы

// Внимание!!! Перед компиляцией программы все кавычки нужно исправить на — "

//  « и » появляются при вставке текста программы в ответ

#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;
}

13.02.13

#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;

}

 

 

13.02.13

насчет блок схемы напишите отправлю 

13.02.13

Еva

Читать ответы
Посмотреть всех экспертов из раздела Учеба и наука > Информатика
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store