Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
Giroskop
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 55
#1

Организовать заданную структуру данных: точка (x, y) плоскости, стек (добавление, удаление и чтение элемента) - C++

29.05.2013, 07:18. Просмотров 589. Ответов 3
Метки нет (Все метки)

Организовать заданную структуру данных: точка (x, y) плоскости, стек. Определить структуру элемента и написать подпрограммы добавления, удаления и чтения элемента. Написать тестовую программу.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 07:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Организовать заданную структуру данных: точка (x, y) плоскости, стек (добавление, удаление и чтение элемента) (C++):

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента - C++
Добавить в класс "Односвязный список" следующие функции: вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск...

Определить, попадает ли точка на координатной плоскости в заданную область - C++
Определить попадает ли точка в выделенную область в виде конуса. На координатной плоскости

Добавление элемента в стек - C++
Здравствуйте, после цикла for, в котором добавляю элементы в стек, голова стека begin остается = NULL, в чем проблема? #include...

Используя заданную структуру данных. Сформировать соответствующие функции для обработки этих данных - C++
Пожалуйста помогите написать программу под программу Dev C++ Задание: 1.Описать структуру с именем MARSH, содержащую следующие...

Сформировать из данных заданную упакованную структуру - C++
Помогите пожалуйста!!!Зарание спасибо!!! Составить две программы, первая из которых вводит составные части структуры данных,...

Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств ) - C++
Описать класс «множество», позволяющий выполнять основные операции – добавление и удаление элемента, пересечение, объединение и удаление...

3
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
29.05.2013, 10:35 #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
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <ctime>
#include <cstdlib>
#include <iostream>
#include <iomanip>
 
template <class T>
class Stack {
 public:
  virtual void clear() = 0;
  virtual size_t getSize() const = 0;
  virtual bool isEmpty() const  = 0;
  virtual void push(const T &value) = 0;
  virtual void pop() = 0;
  virtual const T &top() const = 0;
  virtual ~Stack() {};
};
 
template <class T>
class LinkedListStack : public Stack<T> {
 public:
  LinkedListStack() : size(0), base(0) {}
  virtual ~LinkedListStack() {
    clear();
  }
  virtual void clear() {
    while (!isEmpty()) {
      pop();
    }
  }
  virtual size_t getSize() const { return size; }
  virtual bool isEmpty() const  { return base == 0; }
  virtual void push(const T &value) {
    base = new Node(base, value);
    ++size;
  }
  virtual void pop() {
    Node *toDelete = base;
    base = base->next;
    delete toDelete;
    --size;
  }
  virtual const T &top() const {
    return base->value;
  }
 private:
  LinkedListStack(const LinkedListStack&);
  LinkedListStack &operator=(const LinkedListStack&);
  struct Node {
    Node *next;
    T value;
    Node(Node *next, const T &value) : next(next), value(value) {}
  };
  size_t size;
  Node *base;
};
 
struct Point {
  double x, y;
  Point() : x(0), y(0) {}
  Point(double x, double y) : x(x), y(y) {}
};
 
double getRandomDouble(double min, double max) {
  return (min + rand() % (int)((max - min) * 10000)) / 10000.;
}
 
Point getRandomPoint(double minX, double maxX, double minY, double maxY) {
  return Point(getRandomDouble(minX, maxX), getRandomDouble(minY, maxY));
}
 
std::ostream &operator<<(std::ostream &stream, const Point &p) {
  return stream << std::fixed << std::setprecision(3) <<
    "[" << p.x << ";" << p.y << "]";
}
 
int main(int , char **) {
  srand(time(0));
  Stack<Point> *stack = new LinkedListStack<Point>();
  
  for (int i = 0; i < 10; ++i) {
    Point randomPoint = getRandomPoint(0.1, 1.5, 0.0, 1.24);
    std::cout << "Adding random point " << randomPoint << std::endl;
    stack->push(randomPoint);
  }
 
  while (!stack->isEmpty()) {
    std::cout << "Top random point is " << stack->top() << std::endl;
    stack->pop();
  }
  
  delete stack;
}
2
Giroskop
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 55
29.05.2013, 11:12  [ТС] #3
а можно не рандомное приложение, а так чтобы самому вводить координаты
0
lemegeton
2925 / 1354 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
29.05.2013, 12:15 #4
Не возражаю. Вводите.
1
29.05.2013, 12:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2013, 12:15
Привет! Вот еще темы с ответами:

Сделать добавление элемента в массив и удаление элемента из массива используя STL - C++
Всем привет. Помогите пожалуйста написать. Нужно использовать STL. Необходимо сделать добавление элемента в массив и удаление элемента из...

Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости в полярных - C++
Создать два класса: PointXY с данными x, y (точка на плоскости в декартовых координатах) и PointPolar с данными r, phi (точка на плоскости...

создание структуру СТРАНА. добавление и удаление элементов из структуры - C++
Сформируйте двоичный файл из элементов, заданной в варианте структуры, напечатайте его содержимое, выполните удаление и добавление...

как написать структуру данных стек связное представление - C++
помогите написать структуру данных стек связное представление заполнять надо его от обычного массива который состоит из Н елементов Н =...


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

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

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