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

Комментарии к исходному коду программы - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переопределённый оператор возвращает какие то цифры вместо bool http://www.cyberforum.ru/cpp-beginners/thread685738.html
Здравствуйте. Помогите плз, не знаю в чём дело. Переопределил операторы равенства и сравнения: class Edge {//Класс ребро. Массив будет хранится списком рёбер. double weight; T Node1, Node2; public: Edge(T Node1, T Node2, double weight) { this->Node1 = Node1; this->Node2 = Node2; this->weight = weight;
C++ В массиве Х(100) найти наибольший элемент, удовлетворяющий условию 1<Xy<=2 Dev C++ В массиве Х(100) найти наибольший элемент, удовлетворяющий условию 1<=Xy<=2 Xy- это икс по основанию игрик Большое спасибо за помощь! http://www.cyberforum.ru/cpp-beginners/thread685725.html
Неправильно работает оператор fabs() C++
К примеру программа: #include<iostream> #include<math> using namespace std; void main () { float x; cin >> x;
C++ Вывести все слова строки, в которых есть удвоение букв
Помогите написать программу которая выводит все слова из строки в которых есть удвоение букв, а если их нет выводит сообщение что их нет. Условия: Строка вводится из клавиатуры. Количество слов в строке неограниченное. Между словами может быть любое количество пробелов. Строка заканчивается точкой. Язык реализации C++.
C++ Pascal -> С++ (определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа) http://www.cyberforum.ru/cpp-beginners/thread685711.html
Составить программу. выполняющую операции целочисленной арифметики Определить вторую цифру дробной части частного от деления суммы первой и третьей цифр трехзначного числа на вторую цифру этого числа. var n,m,x,y: integer; r: real; begin Repeat ReadLn(n); Until (n>=100) and (n<=999); x:=n div 100+n mod 10; y:=n mod 100 div 10;
C++ Элементы матрицы умножить на скаляр C=5,2. Элементы третьего столбца заменить единицами Не могу понять как вычислить матрицу, подскажите пожалуйста=) Данная матрица А (4,5), элементы умножить на скаляр C = 5,2. Элементы третьего столбца вислиднои матрицы заменить единицами. понял только вот что: #include <stdafx.h> #include <iostream.h> #include <cmath.h> using namespase std; подробнее

Показать сообщение отдельно
Kristi-na
0 / 0 / 0
Регистрация: 29.10.2012
Сообщений: 57
01.11.2012, 00:47     Комментарии к исходному коду программы
Я новичок в С++, только начали изучать классы. Помогите разобраться с текстом программы. Если можно добавить комментарии к тексту. Заранее спасибо.

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
93
94
95
96
#include "stdafx.h"
#include <iostream>
#include <string>
#include <conio.h>
 
struct Book {
  std::string author;
  std::string name;
  Book() : author(""), name("") {}
  Book(const std::string &author_, const std::string name_)
    : author(author_), name(name_) {}
};
 
class SimpleQueue 
   { public:
         SimpleQueue() { base_.next = base_.prev = &base_; }
         SimpleQueue(const SimpleQueue  &other) {
           base_.next = base_.prev = &base_;
           NodeBase *node = other.base_.next;
           while (node != &(other.base_)) 
            { PushBack(static_cast<Node*>(node)->value);
              node = node->next;
            }
  }
  ~SimpleQueue() { Clear(); }
  void PopFront() {
    // тут надо предусмотреть, что список не пуст
    Node *node = static_cast<Node*>(base_.next);
    node->prev->next = node->next;
    node->next->prev = node->prev;
    delete node;
  }
  Book &Front() const {
    // тут надо предусмотреть, что список не пуст
    return static_cast<Node*>(base_.prev)->value;
  }
  void PushBack(const Book &value) {
    Node *node = new Node;
    node->value = value;
    node->next = &base_;
    node->prev = base_.prev;
    node->next->prev = node->prev->next = node;
  }
  bool Empty() {
    return (base_.next == &base_) && (base_.prev == &base_);
  }
  void Clear() {
    while (!Empty())
      PopFront();
  }
  void Print() {
    for (NodeBase *node = base_.next; node != &base_; node = node->next)
      std::cout << "Author: "<< static_cast<Node*>(node)->value.author
                << std::endl
                << "Name: " << static_cast<Node*>(node)->value.name
                << std::endl << "-----" << std::endl;
  }
  SimpleQueue AuthoredBy(const std::string &author) {
    SimpleQueue result;
    for (NodeBase *node = base_.next; node != &base_; node = node->next)
      if (static_cast<Node*>(node)->value.author == author)
        result.PushBack(static_cast<Node*>(node)->value);
    return result;
  }
 private:
  struct NodeBase {
    NodeBase *next;
    NodeBase *prev;
  };
  struct Node: public NodeBase {
    Book value;
  };
  NodeBase base_;
};
 
int main(int argc, char *argv[]) {
  SimpleQueue queue;
 
  queue.PushBack(Book("Prattchet", "Colour of Sky, The"));
  queue.PushBack(Book("Melville", "Moby-Dick"));
  queue.PushBack(Book("Prattchet", "Wizzard"));
 
  SimpleQueue copy(queue);
  queue.PopFront();
  
  std::cout << std::endl << "Queue:" << std::endl << std::endl;
  queue.Print();
 
  std::cout << std::endl << "Copy:" << std::endl << std::endl;
  copy.Print();
 
  std::cout << std::endl << "Authored by Prattchet:" << std::endl << std::endl;
  copy.AuthoredBy("Prattchet").Print();
  getch();
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru