Учеба и наука

vip

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

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

февраль 12, 2013 г.

  • Всего ответов: 3

  • Сергей - аватарка

    Сергей

    9-й в Технологиях

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

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

    #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, 2013 г.
  • Левон Баграмиан Аветиков - аватарка

    Левон Баграмиан Аветиков

    21-й в Технологиях

    #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, 2013 г.
  • Левон Баграмиан Аветиков - аватарка

    Левон Баграмиан Аветиков

    21-й в Технологиях

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

    февраль 13, 2013 г.

Похожие вопросы