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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 4.77
.: TAPAKAH :.
Мега Таракан
110 / 11 / 1
Регистрация: 24.05.2010
Сообщений: 227
#1

структура TPoint - C++

25.02.2012, 22:26. Просмотров 1768. Ответов 7
Метки нет (Все метки)

Доброго времени суток! Помогите решить
Решить задачу, используя структуру Point для хранения координат точки.
Найти такую точку, что шар радиуса R с центром в этой точке,
cодержит минимальное число точек заданного множества

неполучается массив задать + ещё ошибки

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
45
46
47
48
#include <iostream>
#include <cstdlib>
#include <cmath>
  
struct TPoint
{
  double x;
  double y;
  double z;
};
 
bool InSphere(TPoint, TPoint, double);
 
int main(int argc, char * argv[])
{
  double R;
  int i, j, count, max_count = 0;
  TPoint point;
  std::cout << "Radius-> ";
  std::cin >> R;
  std::cout << "Count values-> ";
  std::cin >> 
  TPoint sets[10];  
  
  for(i = 0; i < 10; i++)
  {
    count = 0;
    for (j = 0; j < 10; j++)
      if(InSphere(sets[i], sets[j], R) count++;
 
    if(count > max_count)
    {
      max_count = count;
      point = sets[j];
    }
  }
  if(max_count != 0)
    std::cout << "Point-> (" << point.x << "," << point.y << "," << point.z << ")" << std::endl;
  else
    std::cout << "Point not found." << std::endl;
  return 0;
}
 
 
bool InSphere(TPoint center, TPoint point, double R)
{
  return (pow(point.x - center.x, 2) + pow(point.y - center.y, 2) + pow(point.z - center.z, 2) == R*R);
}
Заранее всем премного благодарен
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.02.2012, 22:26     структура TPoint
Посмотрите здесь:

Пожалуйста, подскажите, что нужно для работы с TPoint? - C++
Добрый день! Пожалуйста, подскажите, что нужно для работы с TPoint? Я подключил windows.h, работа с регионом стала доступна, но TPoint...

Дано описание следующего класса class TPoint ... Как описывается указатель на данный класс - C++
Дано описание следующего класса class TPoint ... Как описывается указатель на данный класс

Описать тип TPoint — запись с полями вещественного типа X и Y (координаты точки на плоскости) — и функцию Leng(A, B) - C++
Описать тип TPoint — запись с полями вещественного типа X и Y (координаты точки на плоскости) — и функцию Leng(A, B) вещественного...

Структура - C++
Написать программу записи к файлу элементов типа структура для реестрации автомобилей с полями: Марка автомобиля, год выпуска, цвет,...

Структура - C++
Всем привет. Помогите доделать задачу.Вот ее краткое условие:Дана структура учащихся включающая в себя имя и фамилию ученика, номер его...

Структура - C++
typedef struct strs { char c; strs *next; int inset; }xx; Ошибка при компиляции:

Структура в с++ - C++
Форумчане, мне нужна ваша помощь!!! НЕ работает прога... изо всех пунктов меню правильно показывает, что список пуст лишь 3-й пункт меню....

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NoMasters
Псевдослучайный
1747 / 1090 / 71
Регистрация: 13.09.2011
Сообщений: 3,120
25.02.2012, 22:33     структура TPoint #2
Цитата Сообщение от .: TAPAKAH :. Посмотреть сообщение
std::cin >> TPoint sets[10];
И что тут по-твоему должен сделать cin? Откуда ему знать, что нужно писать в массив твоих структур? Тем более, что ты объявляешь этот самый массив в неположенном месте.
miriganua
131 / 102 / 4
Регистрация: 05.02.2012
Сообщений: 241
25.02.2012, 22:38     структура TPoint #3
Первое, что не понимаю так это ввод множества точек:
C++
1
2
std::cin >> 
  TPoint sets[10];
это неправильно, нужно вводить х, у, z в цикле так:
C++
1
2
3
4
5
6
 TPoint sets[10];  
  for(int i = 0; i < 10; i++)
  {
      std::cout << "Enter x, y, z:";
      std::cin >> sets[i].x >> sets[i].y >> sets[i].z;
  }
.: TAPAKAH :.
Мега Таракан
110 / 11 / 1
Регистрация: 24.05.2010
Сообщений: 227
26.02.2012, 15:03  [ТС]     структура TPoint #4
Цитата Сообщение от Игорь Миронюк Посмотреть сообщение
C++
1
2
std::cin >> 
* TPoint sets[10];
тут что то другое надо было ввести... короче ничего вводить не надо
лучше скажите, почему у меня такой результат получился?
по-идее должна быть одна из координат точки...
а тут какая-то **** дробная
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#pragma hdrstop
#pragma argsused
 
#include <tchar.h>
#include <stdio.h>
#include <iostream>
#include <cstdlib>
#include <math.h>
 
/** Работа со структурами
 
  Решить задачу, используя структуру Point для хранения координат точки.
 
  Замечание: В задачах с четными номерами, множество точек задано на плоскости,
  в задачах с нечетными номерами, множество точек задано в пространстве. (кЭп)
 
  Найти такую точку, что шар радиуса R с центром в этой точке,
  содержит минимальное число точек заданного множества
 
  */
 
struct TPoint
{
  double x;
  double y;
  double z;
};
 
bool InSphere(TPoint, TPoint, double);
 
int _tmain(int argc, _TCHAR* argv[])
{
  double R;
  int i, j, count, min_count = 1000;
  const int COUNT = 10;
  TPoint point;
  std::cout << "Radius-> ";
  std::cin >> R;
  TPoint sets[COUNT];
  for(int i = 0; i < COUNT; i++)
  {
    std::cout << "Input Set[" << i << "].x-> ";
    std::cin >> sets[i].x;
    std::cout << "Input Set[" << i << "].y-> ";
    std::cin >> sets[i].y;
    std::cout << "Input Set[" << i << "].z-> ";
    std::cin >> sets[i].z;
    std::cout << std::endl;
  }
 
  for(i = 0; i < COUNT; i++)
  {
    count = 0;
    for (j = 0; j < COUNT; j++)
      if(InSphere(sets[j], sets[i], R)) count++;
 
    if(count < min_count)
    {
      min_count = count;
      point = sets[j];
    }
  }
  if(min_count != 0)
    std::cout << "Point-> (" << point.x << ", " << point.y << ", " << point.z << ")" << std::endl;
  else
    std::cout << "Point not found." << std::endl;
  system("pause");
  return 0;
}
 
 
bool InSphere(TPoint center, TPoint point, double R)
{
  return (pow(point.x - center.x, 2) + pow(point.y - center.y, 2) + pow(point.z - center.z, 2) >= R*R);
}
Миниатюры
структура TPoint  
Avazart
Эксперт С++
7115 / 5292 / 273
Регистрация: 10.12.2010
Сообщений: 23,387
Записей в блоге: 17
26.02.2012, 17:57     структура TPoint #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  for(i = 0; i < COUNT; i++)
  {
    count = 0;
        for (j = 0; j < COUNT; j++)
          if(InSphere(sets[i], sets[j], R)) count++; // !!!
        cout<<"i= "<<i<<"  cout=" <<count<<endl;
 
        if(count < min_count)
        {
          min_count = count;
          point = sets[i]; // !!!
        }
  }
  if(min_count != 0)
        std::cout << "Point-> (" << point.x << ", " << point.y << ", " << point.z << ")" << std::endl;
  else
        std::cout << "Point not found." << std::endl;
        getchar();
Миниатюры
структура TPoint  
.: TAPAKAH :.
Мега Таракан
110 / 11 / 1
Регистрация: 24.05.2010
Сообщений: 227
26.02.2012, 23:21  [ТС]     структура TPoint #6
Avazart спасибо, что указали ошибки
теперь осталось их исправить... может кто помочь в этом?
Avazart
Эксперт С++
7115 / 5292 / 273
Регистрация: 10.12.2010
Сообщений: 23,387
Записей в блоге: 17
26.02.2012, 23:43     структура TPoint #7
C++
1
2
Avazart спасибо, что указали ошибки
 теперь осталось их исправить... может кто помочь в этом?
Так там i и j поменять местами ... я ж пометил строки "//!!!""
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2012, 10:32     структура TPoint
Еще ссылки по теме:

структура - C++
описать структуру, соедржащую: фамилию знак зодиака день рождения написать программу: 1.данные в массиве программы, упорядоченные...

Структура - C++
Создать структуру и сделать добавление элемента в структуре, сейчас на пересдаче

Структура - C++
Структура. Помогите найти ошибку #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;string.h&gt; using namespace std; ...

структура - C++
здорово вем это снова я =) помогите написать структуру там про автобус : маршрут, время прибытия, интервал времени, и т п ...

Структура - C++
Помогите нада делать на понедельник известные данные о численности населения и площадь каждой из 7 держав.Визначте название страны с...


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

Или воспользуйтесь поиском по форуму:
.: TAPAKAH :.
Мега Таракан
110 / 11 / 1
Регистрация: 24.05.2010
Сообщений: 227
27.02.2012, 10:32  [ТС]     структура TPoint #8
Ой сорри Не заметил
Yandex
Объявления
27.02.2012, 10:32     структура TPoint
Ответ Создать тему
Опции темы

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