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

Наследование и двусвязный список - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано натуральное число n . Определить , входит ли указанная цифра в десятичную запись n*n*n (n в кубе) и подсчитать сколько раз. http://www.cyberforum.ru/cpp-beginners/thread386089.html
Дано натуральное число n . Определить , входит ли указанная цифра в десятичную запись n*n*n (n в кубе) и подсчитать сколько раз. помогите написать программу через цыкл!
C++ Решение задачи Коши методом Эйлера и Рунге-Кутты Доброго времени суток всем:) Писал прогу для решения задачи Коши методом Эйлера и Рунге-Кутты на С++. Вроде бы все реализовал, но при запуске почему то вылетает. Вот код: #include "stdafx.h" #include <stdio.h> #include <math.h> #include <conio.h> #include <iostream> const int n=5; using namespace std; http://www.cyberforum.ru/cpp-beginners/thread386081.html
В матрице найти максимальный элемент C++
В матрице найти максимальный элемент. Если он расположен на главной диагонали, заменить элементы первой строки и первого столбца на значение найденного максимального элемента. есть идеи?
Задача на метод дихотомии(половинного деления) C++
Друзья, помогите пожалуйста с такой задачей, нужно найти минимум функции х^2+e^-x метод дихотомии(половинного деления). Не объяснили ,сказали самим попробовать понять. Впринципе сама суть метода понятна, но никак не могу сообразить, как это будет выглядеть на си. Если кто-нибудь сможет написать код этой программы на Си с комментариями, буду очень признателен.
C++ массивы http://www.cyberforum.ru/cpp-beginners/thread386041.html
1) сумму элементов в тех столбцах, которые не содержат отрицательных элементов; 2) минимум среди сумм модулей элементов диагоналей, параллельных побочной диагонали матрицы. можете обьяснить что вообще требуеться сделать я уже сам сделаю просто не могу понять условие
C++ Не выходит из функции Здравствуйте. В конце функции есть строка return true; При вызове этой функции программа зацикливается. То есть если поставить точку останова в этой строке - после первого вызова попадает сюда постоянно, при чем функция не вызывается несколько раз(в точки останова перед return попадает только при первом вызове)... Что с ней?) подробнее

Показать сообщение отдельно
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
17.11.2011, 23:20
По поводу первой задачи.
1. Эти библиотеки есть только у сильно устаревшего компилятора, который вряд ли кто использует. Если это тестовое задание, нет нужды рисовать объекты. Достаточно вывести их данные.
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
#include <iostream>
#include <cmath>
 
class Point {
 public:
  Point(int x, int y) : x_(x), y_(y) {}
  Point(const Point &point)
    : x_(point.getX()), y_(point.getY()) {}
  const int getX() const { return x_; }
  const int getY() const { return y_; }
  void setX(int value) { x_ = value; }
  void setY(int value) { y_ = value; }
  float distanceTo(const Point &point) const {
    return(sqrt(pow(point.getX() - getX(), 2.) +
      pow(point.getY() - getY(), 2.)));
  }
 private:
  int x_;
  int y_;
};
 
std::ostream &operator<<(std::ostream &stream, const Point &point) {
  return stream << "[" << point.getX() << ":" << point.getY() << "]";
}
 
class Line {
 public:
  Line(const Point &a, const Point &b) : a_(a), b_(b) {}
  Line(const Line &line) : a_(line.getA()), b_(line.getB()) {}
  const Point &getA() const { return a_; }
  const Point &getB() const { return b_; }
  void setA(const Point &value) { a_ = value; }
  void setB(const Point &value) { b_ = value; }
  float length() const {return a_.distanceTo(b_); }
 private:
  Point a_;
  Point b_;
};
 
std::ostream &operator<<(std::ostream &stream, const Line &line) {
  return stream << "(" << line.getA() << " - " << line.getB() <<
    ", l = " << line.length() << ")";
}
 
class Triangle {
 public:
  Triangle(const Point &a, const Point &b, const Point &c)
    : a_(a), b_(b), c_(c) {}
  Triangle(const Triangle &other)
    : a_(other.getA()), b_(other.getB()), c_(other.getC()) {}
  const Point &getA() const { return a_; }
  const Point &getB() const { return b_; }
  const Point &getC() const { return c_; }
  void setA(const Point &value) { a_ = value; }
  void setB(const Point &value) { b_ = value; }
  void setC(const Point &value) { c_ = value; }
 private:
  Point a_, b_, c_;
};
 
std::ostream &operator<<(std::ostream &stream, const Triangle &triangle) {
  return stream << "(" << triangle.getA() << ", " << triangle.getB() <<
    ", " << triangle.getB() << ")";
}
 
int main(int argc, char *argv[]) {
  Triangle a(Point(0, 0), Point(0, 1), Point(1, 0));
  std::cout << a << std::endl;
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru