Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Shako
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 10
1

Найти точку ближайшую к началу координат

28.02.2012, 23:29. Просмотров 1054. Ответов 2
Метки нет (Все метки)

Здравствуйте, написал программу, которая ищет ближайшую точку к началу координат, но есть проблема, если вводить точку (0,0) то она ее не смотрит, помогите исправить.
Например: пусть будет 5 точек (1,2) (2,1) (3,4) (-6,-6) (0,0) программа выводит точку (1,2), хотя ответ (0,0)
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
#include<stdio.h>
#include<math.h>
 
struct tp
{
int x,y;
};
 
float func(tp x2, tp y2)
{
float x=y2.x-x2.x;
float y=y2.y-x2.y;
float d=sqrt(x*x+y*y);
return d;
}
int main(void)
{
int n, i, j;
int nmin=0;
float d[100], min;
tp p[100];
scanf ("%d", &n);
for(i=0; i<n; i++)
d[i]=0;
for(i=0; i<n; i++)
{
scanf("%d", &p[i].x);
scanf("%d", &p[i].y);
}
for(i=0; i<n; i++)
for(j=0; j<n; j++)
d[i]+=func(p[i], p[j]);
for(min=d[0], i=0; i<n; i++)
if(min>d[i])
{
min=d[i];
nmin=i;
}
printf ("%d %d", p[nmin].x, p[nmin].y);
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2012, 23:29
Ответы с готовыми решениями:

Найти точку, ближайшую к заданной
Подскажите как с мат точки зрения решить задачу, вроде в математике не совсем 0 но с заданиями на...

Ближайшая к началу координат точка
Дана программа, учусь на 1-м курсе, пропустил лекции, помогите написать ее: На плоскости задано n...

Заданы 2 одномерных массива x, y с координатами точек. Найти наиболее удаленную от начала координат точку.
напишите пожалуйста) Заданы 2 одномерных массива x, y с координатами точек. Найти ...

Определить, какая из заданных точек ближе к началу координат (C++ -> C)
Определить какая из заданных точек ближе к началу координат #include &lt;iostream&gt; #include...

Определить, какая из двух точек - M1(x1, y1) или M2(x2, y2) - расположена ближе к началу координат
Определить, какие из двух точек - M1(x1,y1) или M2(x2,y2) - расположена ближе к началу координат....

2
MrCold
861 / 759 / 174
Регистрация: 11.01.2012
Сообщений: 1,942
29.02.2012, 02:53 2
Shako, printf и scanf формат ввода вывода неверный .
Числа FLOAT ,а ввод и вывод INT

Добавлено через 2 часа 2 минуты
Цитата Сообщение от MrCold Посмотреть сообщение
Shako, printf и scanf формат ввода вывода неверный .
Числа FLOAT ,а ввод и вывод INT
Это я поспешил с выводами .

Цитата Сообщение от Shako Посмотреть сообщение
помогите исправить.
Вот переделал :

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 <stdio.h>
#include <math.h>
#include <conio.h>
 
struct tp
{
int x, y, d;
};
 
float func(tp& p )
{
float x = p.x;
float y= p.y;
return sqrt((x*x)+(y*y));
}
int main(void)
{
int n = 0, i;
int nmin=0;
float min;
tp p[100];
while(n < 1 || n > 100){
puts("How much ?");
scanf ("%d", &n);}
puts("Enter values");
for(i=0; i<n; i++)
{
scanf("%d %d", &p[i].x, &p[i].y);
 
}
for(i=0; i<n; i++)
 
p[i].d = func(p[i]);
min = p[0].d;
for( i = 0; i<n; i++)
if(min > p[i].d)
{
min = p[i].d;
nmin = i;
}
 
printf ("Near coordinates X = %d Y = %d ", p[nmin].x, p[nmin].y);
_getch();
}
0
Shako
0 / 0 / 0
Регистрация: 03.10.2011
Сообщений: 10
29.02.2012, 09:57  [ТС] 3
Огромное вам спасибо, свою ошибку понял.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.02.2012, 09:57

Даны две точки A(x,y) и В(х,у). Составить программу, определяющую, которая из точек находится ближе к началу координат
Ветвление

Определить самую дальнюю точку от начала координат
Условие задачи следующее: Среди N точек, заданных своими координатами на плоскости, определить...

Найти точку ближайшую к началу координат.
На правой ветви квадратичной гиперболы y=\frac{4\sqrt{2}}{x^2} найти точку C ближайшую к началу...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru