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

Занести координаты в массив - C++

Восстановить пароль Регистрация
 
alex-net
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 171
19.05.2013, 20:01     Занести координаты в массив #1
На плоскости заданы своими координатами п точек. Составить программу, определяющую, между какими из пар точек самое большое расстояние. Указание. Координаты точек занести в массив.

Помогите перевести программу на язык C++:

Pascal
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
37
38
39
40
41
42
43
uses crt;
const nmax=15;
var x,y:array[1..nmax] of real;
    n,i,j,imx,jmx:byte;
    mx:real;
begin
randomize;
repeat
write('Количество точек от 2 до ',nmax,' n=');
readln(n);
until n in [2..nmax];
for i:=1 to n do
 begin
  x[i]:=10*random-4;
  y[i]:=10*random-4;
 end;
writeln('Координаты:');
write('N');
for i:=1 to n do
write(i:5);
writeln;
write('X');
for i:=1 to n do
write(x[i]:5:1);
writeln;
write('Y');
for i:=1 to n do
write(y[i]:5:1);
writeln;
writeln;
mx:=sqrt(sqr(x[1]-x[2])+sqr(y[1]-y[2]));
imx:=1;
jmx:=2;
for i:=1 to n-1 do
for j:=i+1 to n do
if sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]))>mx then
 begin
  mx:=sqrt(sqr(x[i]-x[j])+sqr(y[i]-y[j]));
  imx:=i;
  jmx:=j;
 end;
writeln('Максимальное расстояние между точками ',imx,'-',jmx,' = ',mx:0:2);
end.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.05.2013, 20:01     Занести координаты в массив
Посмотрите здесь:

C++ Как занести в массив содержимое файла?
Просуммировать столбцы матрицы и занести получившиеся суммы в массив C++
Просуммировать столбцы матрицы и занести получившиеся суммы в массив C++
Найти эти недостающие числа и занести в массив Б. C++
C++ не могу занести адрес символа в массив новый
Занести в массив значения функции и вывести его на экран C++
Занести в двумерный массив значения функции C++
Занести в массив заданное количество символов C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MyMind
24 / 24 / 7
Регистрация: 14.05.2013
Сообщений: 68
19.05.2013, 22:04     Занести координаты в массив #2
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
37
38
39
40
41
42
43
44
#include <iostream>
#include <iomanip>
#include <math.h>
#include <ctime>
#include <conio.h>
 
using namespace std;
int main() {
    setlocale(LC_ALL, "Russian");
    double x[15], y[15], mx;
    int n = 0, i, j, imx, jmx;
    srand(time(0));
    while (n < 2 || n > 15) {
        cout << "Количество точек от 2 до 15 n = ";
        cin >> n;
    }
    for (int i = 1; i <= n; i++) {
        x[i] = -4 + rand() % 8; //рандом от -4 до 4
        y[i] = -4 + rand() % 8; //так как не понял, какой диапазон в вашем коде
    }
    cout << "Координаты" << endl << "N";
    for (int i = 1; i <= n; i++)
        cout << setw(5) << i;
    cout << endl << "X";
    for (int i = 1; i <= n; i++)
        cout << setw(5) << x[i];
    cout << endl << "Y";
    for (int i = 1; i <= n; i++)
        cout << setw(5) << y[i];
    cout << endl << endl;
    mx = sqrt(pow((x[1]-x[2]), 2) + pow((y[1]-y[2]), 2));
    imx = 1;
    jmx = 2;
    for (int i = 1; i <= n; i++)
        for (int j = i+1; j <= n; j++)
            if (sqrt(pow((x[i]-x[j]), 2) + pow((y[i]-y[j]), 2)) > mx) {
                mx = sqrt(pow((x[i]-x[j]), 2) + pow((y[i]-y[j]), 2));
                imx = i;
                jmx = j;
            }
    cout << "" << imx << "-" << jmx << " = " << mx;
    getch();
    return 0;
}
alex-net
3 / 3 / 1
Регистрация: 27.11.2012
Сообщений: 171
20.05.2013, 01:05  [ТС]     Занести координаты в массив #3
Спасибо большое!
Yandex
Объявления
20.05.2013, 01:05     Занести координаты в массив
Ответ Создать тему
Опции темы

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