Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Рекурсивным способом получить все возможные траектории с 0-ой вершины до 6-ой вершины длиной не более 4 вершин https://www.cyberforum.ru/ cpp-beginners/ thread1401823.html
Как написать рекурсивную функцию по задаче: Задается например,такая верхняя треугольная матрица, на самом деле она достаточно большая float A={ { 1, 2, 1,-1,-1,-1}, {-1, 1,-1, 2,-1,-1}, {-1,-1, 2,-1,-1,-1}, {-1,-1,-1, 1, 2,-1}, {-1,-1,-1,-1, 1, 2}, {-1,-1,-1,-1,-1, 2} ...
C++ Файл с разнотипными данными
Подскажите, пожалуйста, есть файл с числовыми данными, хочу написать программу, которая посимвольно читает данные, пропускает то, что не нужно (текст), остальное записывает куда нужно. С последним моментом более или менее понятно, но как грамотно считывание написать не знаю.
C++ Объясните что делает эта программа (do.while) https://www.cyberforum.ru/ cpp-beginners/ thread1401813.html
Объясните пожалуйста что делает эта программа. #include <stdio.h> #include <conio.h> #include <math.h> int main() { int i=1; float a,n; scanf("%f",&n);
C++ Стек в виде массива https://www.cyberforum.ru/ cpp-beginners/ thread1401747.html
Помогите программку составить, выполнение арифметических действий записанных в инфиксной записи, стеков в виде массива.
C++ Аппроксимация. Квадратичная интерполяция
Нужен пример реализации квадратичной интерполяции на интервале с 11 точками. Исходные хi вычисляются по формуле xi=-2+7*(i-1)/10, i=1,11 и у по формуле y=x3-50*cos(x). Используя полученную таблицу (xi, yi), нужно вычислить значения функций f(xi), \varphi(xi, c) и погрешность d(xi)=f(xi)-\varphi(xi, c) в тчк xi=-2+7*(j-1)/20, j=1,21, построить таблицу результатов и проанализировать качество...
C++ Создание таблицы https://www.cyberforum.ru/ cpp-beginners/ thread1401713.html
Добрый день, задача заключается в том, чтобы считать данные и поместить их в таблицу.Задача состоит в том, чтобы создать таблицу. Прошу помочь обозначить в какую сторону копать, где можно почерпнуть инфу, могущую помочь решить данную задачу. Спасибо
C++ Не срабатывает условие while (!file.eof() https://www.cyberforum.ru/ cpp-beginners/ thread1401685.html
Есть функция, которая считает из файла числа в динамический массив: int* ReadFile(string FileName) { ifstream file; file.open(FileName); int* mas=(int*)malloc(sizeof(int)*10); int Count = 10; int i = 0; while (!file.eof()) {
Шаблонный оператор не шаблонного класса C++
Пытаюсь создать альтернативный оператор выделения памяти для своей библиотеки. С целью получить возможность передавать дополнительную информацию о типах в свой диспетчер памяти. Сначала сделал так: template< typename T > T* _new( ) { T* t=_I::_mem_alloc<T>(); return new(t) T( ); }
C++ Задача с файлом https://www.cyberforum.ru/ cpp-beginners/ thread1401653.html
Дан файл определить сколько раз встречается в нем слово вывести на экран номер строк где это слово найдено(программа находит слово не зависимо от регистра) Я написал пррограмму но не знаю как определить номера строк в которых встречаться слово подскажите как это сделать или функцию построчного считывания файла переход на следующую строку #include <iostream> #include <fstream> using namespace...
C++ Конвертирование типов данных https://www.cyberforum.ru/ cpp-beginners/ thread1401649.html
Нужно обработать данные. Пропустить их через кучу функций, каждая из них требует свой тип данных. Вовремя компиляции постоянно сталкиваюсь с тем что компилятор ругается "невозможно преобразовать одно в другое". Из этого я сделал вывод что нужно преобразовывать один тип данных в другой, что бы результат выполнения одной функции можно было поместить в следующую. Так вот мне надоело гуглить и...
Сравнивание двумерного символьного динамического массива со словом C++
Здравствуйте! Пожалуйста, помогите разобраться в этом условии: if (dictionary]==*word) count++; Здесь dictionary - двумерный символьный динамический массив, *word - слово, countchar - это кол-во символов слова, которое записано в эту ячейку. Проблема в том, что если есть два слова 'стол' и 'стул', то count=2, хотя должно быть count=1 и count=1, а dictionary]='стол' и dictionary]='стул'. Я...
C++ Найти слово в файле Помогите написать программу: дан файл, найти в нем слово не зависимо от регистра и вывести на экран сколько раз встречается данное слово, и номер строк на которых оно встречается https://www.cyberforum.ru/ cpp-beginners/ thread1401620.html
Модератор
Эксперт CЭксперт С++
5286 / 2373 / 342
Регистрация: 20.02.2013
Сообщений: 5,773
Записей в блоге: 20
19.04.2015, 13:48 0

Решение всех задач из учебника Стивена Праты - C++ - Ответ 7499988

19.04.2015, 13:48. Показов 196504. Ответов 271
Метки (Все метки)

Ответ

Глава 11. Упражнение 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
//  sp_Ch11_Pg588_Ex02 - main.cpp
/// Занятия по книге Стивена Праты "Язык программирования С++" (2013, 6-е изд.).
/// Упражнения по программированию. Глава 11, страница 588, упражнение 2.
/*
Модифицируйте заголовок класса Vector и файлы реализации (листинги 11.13
и 11.14) так, чтобы модуль и направление вектора больше не хранились в виде
компонентов данных. Вместо этого они должны вычисляться по требованию
при вызове методов magval() и angval(). Вы должны оставить открытый
интерфейс без изменений (те же открытые методы с теми же аргументами), но
изменить закрытую часть, включая некоторые из закрытых методов и их
реализации. Протестируйте модифицированную версию с помощью программы из
листинга 11.15, которая должна остаться неизменной, поскольку открытый
интерфейс класса Vector не менялся.
*/
 
#include <cstdlib>      // rand(), srand() prototypes
#include <ctime>        // time() prototype
#include "Vector.h"     // includes <iostream>
int main()
{
    using namespace std;
    using VECTOR::Vector;
 
    srand(time(0));     // seed random-number generator
    double direction;
    Vector step;
    Vector result(0.0, 0.0);
    unsigned long steps = 0;
    double target;
    double dstep;
    cout << "Enter target distance (q to quit): ";
    while (cin >> target)
    {
        cout << "Enter step length: ";
        if (!(cin >> dstep))
            break;
 
        while (result.magval() < target)
        {
            direction = rand() % 360;
            step.reset(dstep, direction, VECTOR::Vector::POL);
            result = result + step;
            steps++;
        }
        cout << "After " << steps << " steps, the subject "
            "has the following location:\n";
        cout << result << endl;
        result.polar_mode();
        cout << " or\n" << result << endl;
        cout << "Average outward distance per step = "
            << result.magval()/steps << endl;
        steps = 0;
        result.reset(0.0, 0.0);
        cout << "Enter target distance (q to quit): ";
    }
    cout << "Bye!\n";
/* keep window open
    cin.clear();
    while (cin.get() != '\n')
        continue;
    cin.get();
*/
    return 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
41
42
43
//  sp_Ch11_Pg588_Ex02 - Vector.h
 
#ifndef VECTOR_H
#define VECTOR_H
 
#include <iostream>
 
namespace VECTOR
{
    class Vector
    {
        public:
            enum Mode {RECT, POL};  // RECT for rectangular, POL for Polar modes
 
            Vector();
            Vector(double n1, double n2, Mode form = RECT);
            void reset(double n1, double n2, Mode form = RECT);
            ~Vector();
            double xval() const {return x;}     // report x value
            double yval() const {return y;}     // report y value
            double magval() const;              // calculate magnitude
            double angval() const;              // calculate angle
            void polar_mode();                  // set mode to POL
            void rect_mode();                   // set mode to RECT
        // operator overloading
            Vector operator+(const Vector & b) const;
            Vector operator-(const Vector & b) const;
            Vector operator-() const;
            Vector operator*(double n) const;
 
        // friends
            friend Vector operator*(double n, const Vector & a);
            friend std::ostream & operator<<(std::ostream & os, const Vector & v);
 
        private:
            double x;          // horizontal value
            double y;          // vertical value
            Mode mode;         // RECT or POL
    };
 
}   // end namespace VECTOR
 
#endif // VECTOR_H
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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
//  sp_Ch11_Pg588_Ex02 - Vector.cpp
//  methods for the Vector class
 
#include <cmath>
#include "Vector.h"  // includes <iostream>
 
using std::sqrt;
using std::sin;
using std::cos;
using std::atan;
using std::atan2;
using std::cout;
 
namespace VECTOR
{
    // compute degrees in one radian
    const double Rad_to_deg = 45.0 / atan(1.0);
    // should be about 57.2957795130823
 
 
// ===================public methods====================
 
    Vector::Vector()             // default constructor
    {
        x = y = 0.0;
        mode = RECT;
    }
 
    // construct vector from rectangular coordinates if form is r
    // (the default) or else from polar coordinates if form is p
    Vector::Vector(double n1, double n2, Mode form)
    {
        mode = form;
        if (form == RECT)
        {
             x = n1;
             y = n2;
        }
        else if (form == POL)
        {
             x = n1 * cos(n2 / Rad_to_deg);
             y = n1 * sin(n2 / Rad_to_deg);
        }
        else
        {
             cout << "Incorrect 3rd argument to Vector() -- ";
             cout << "vector set to 0\n";
             x = y = 0.0;
             mode = RECT;
        }
    }
 
    // reset vector from rectangular coordinates if form is
    // RECT (the default) or else from polar coordinates if
    // form is POL
    void Vector:: reset(double n1, double n2, Mode form)
    {
        mode = form;
        if (form == RECT)
         {
             x = n1;
             y = n2;
        }
        else if (form == POL)
        {
             x = n1 * cos(n2 / Rad_to_deg);
             y = n1 * sin(n2 / Rad_to_deg);
        }
        else
        {
             cout << "Incorrect 3rd argument to Vector() -- ";
             cout << "vector set to 0\n";
             x = y = 0.0;
             mode = RECT;
        }
    }
 
    Vector::~Vector()    // destructor
    {
    }
 
    double Vector::magval() const   // calculate magnitude
    {
        return sqrt(x * x + y * y);
    }
 
    double Vector::angval() const   // calculate angle
    {
        return (x == 0.0 && y == 0.0) ? 0.0 : atan2(y, x);
    }
 
    void Vector::polar_mode()    // set to polar mode
    {
        mode = POL;
    }
 
    void Vector::rect_mode()     // set to rectangular mode
    {
        mode = RECT;
    }
 
    // operator overloading
    // add two Vectors
    Vector Vector::operator+(const Vector & b) const
    {
        return Vector(x + b.x, y + b.y);
    }
 
    // subtract Vector b from a
    Vector Vector::operator-(const Vector & b) const
    {
        return Vector(x - b.x, y - b.y);
    }
 
    // reverse sign of Vector
    Vector Vector::operator-() const
    {
        return Vector(-x, -y);
    }
 
    // multiply vector by n
    Vector Vector::operator*(double n) const
    {
        return Vector(n * x, n * y);
    }
 
    // friend methods
    // multiply n by Vector a
    Vector operator*(double n, const Vector & a)
    {
        return a * n;
    }
 
    // display rectangular coordinates if mode is RECT,
    // else display polar coordinates if mode is POL
    std::ostream & operator<<(std::ostream & os, const Vector & v)
    {
        if (v.mode == Vector::RECT)
             os << "(x,y) = (" << v.x << ", " << v.y << ")";
        else if (v.mode == Vector::POL)
        {
             os << "(m,a) = (" << v.magval() << ", "
                 << v.angval() * Rad_to_deg << ")";
        }
        else
             os << "Vector object mode is invalid";
        return os;
    }
 
}  // end namespace VECTOR


Вернуться к обсуждению:
Решение всех задач из учебника Стивена Праты C++
3
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.04.2015, 13:48
Готовые ответы и решения:

Нюансы синтаксиса: классы, список инициализации (неясная строка из учебника Стивена Праты)
Вот сам класс #ifndef TABTENN0_H_ #define TABTENN0_H_ #include &lt;string&gt; using std ::...

читаю главу 10 книги стивена праты - "объекты и классы". автор во всех примерах поступает следуйщим образм: объявляет класс в одном фаиле...
...а реализует функции в другом - в том котором создаёт и ползуется объектом. у меня вопросс: а не...

Неожиданный консольный вывод (упражнения 3 к главе 6 книги Стивена Праты)
:-| Вообщем имеется код (решение 3 упражнения к главе 6 книги Прата): #include &lt;iostream&gt;...

Найти причины и способы исправления ошибок в коде (упражнения по книге Стивена Праты)
В общем так . Пробую учить плюсы по книжке Прата . Пробую недавно , и потому полный нуб. От того и...

Задача из лекций по книге Стивена Праты
Глава 6 задача 5 Напишите программу, которая предлагает пользователю ввести прописную букву....

271
19.04.2015, 13:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.04.2015, 13:48
Помогаю со студенческими работами здесь

Решение задач из учебника Томшина
Я являюсь студентом 1-го курса, и нам дали задачи по c# которые необходимо решить. Задачи взяты из...

Понятен материал учебника, но не получается самостоятельное решение задач
Здравствуйте. Читаю книжку Дейтелов, переписываю код, который дан в учебнике, потом читаю...

Запишите в файл 2 название команды, количество решенных задач и общее времени, потраченное на решение всех задач
Подскажите как доделать задачу. В файле 1 хранятся данные о названиях команды, номере решенной...

Объясните решение задачи из учебника
Книга &quot;Курс теории вероятностей&quot; Б.В. Гнеденко, серия &quot;Классический университетский учебник&quot;, 2005...

Решение одной из задач по выбору пользователя с возможностью загрузки задач из подключаемой библиотеки
Создайте программу решения одной из трех задач по выбору пользователя. Предусмотрите возможность...

Решение задач на С++ (написание программы для решения задач)
Добрый день! Помогите с написанием кода для программы, которая будет решать следующие задачки: 1)...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru