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

Создать класс Ship, который будет содержать данные об учетном номере корабля и его координатах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите найти ошибку при множественном наследовании http://www.cyberforum.ru/cpp-beginners/thread1156129.html
Помогите разобраться в наследовании Прилагаю код #include <iostream> using namespace std;
C++ Построение матрицы смежности Помогите, пожалуйста, нужна программа которая будет строить матрицу смежности. В качестве исходных данных служит таблица из номеров автономных систем(читается справа налево). Соседство двух номеров означает, что между ними есть непосредственное взаимодействие(связь). Все множество связей образует пути между всеми автономніми системами, то есть эта сеть - связный граф, при чем вес всех связей... http://www.cyberforum.ru/cpp-beginners/thread1156099.html
C++ Вывод содержимого вектора с наибольшим количеством строк
Ребят помогите с заданием: Считать все строки заданного входного файла в указанную структуру данных , сортируя строки при загрузке по первому символу. То есть все строки начинающиеся с буквы 'a' должны быть в одном векторе,с буквы "b" в другом и так далее. Вывести на экран содержимое вектора с наибольшим количеством строк. использовать : typedef std::vector<string> String; std::map...
C++ Некорректно производятся вычисления
Здраствуйте, немогу понять как написать код// nlab3.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" // подключение файла stdafx.h #include <iostream> // подключение загрузочного файла управления потоками ввода(вывода) #include <math.h> // подключение математической библиотеки using namespace std; // объявление пространства имени void _tmain(void) //...
C++ В массиве найти максимальный элементы и выставить их в диагональ массива http://www.cyberforum.ru/cpp-beginners/thread1156059.html
всем привет, подскажите пожалуйста, как решить следующую задачу, хочу в двумерном массиве пробежаться по строчно в массиве найти максимальный элементы и выставить их в диагональ массива???
C++ Решение не линейных уравнений, метод дихотомии, C++ Нужно решить не линейное уравнение методом дихотомии. Сам метод я описал, просто у квадратных уравнений же два решения, и если обо лежат на выбраном пользователем промежутке, как найти оба? Я сделал программу с нахождением одной. Помогите вывести все решения, ведь уравнение может быть и биквадратным, там будет 4 решения. Что делать? Вот мой код: #include <iostream> #include <stdio.h> #include... подробнее

Показать сообщение отдельно
nmcf
5312 / 4632 / 1550
Регистрация: 14.04.2014
Сообщений: 18,440
27.04.2014, 18:57
Вот вариант:
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
#include "stdafx.h"
#include <iostream>
#include <math.h>
 
using namespace std;
 
struct coord
{
    int deg;
    float minute;
    char direction;
};
 
class Ship
{
private:
    int num;
    coord ltd, lng; // широта и долгота
public:
    Ship(int n)
    {
        num = n;
        ltd.deg = 0; ltd.minute = 0; ltd.direction = ' ';
        lng.deg = 0; lng.minute = 0; lng.direction = ' ';
    }
    void setCoords() // ввести координаты
    {
        cout << "Корабль " << num << endl;
        cout << "Введите число градусов (широта): "; cin >> ltd.deg;
        cout << "Введите число минут (широта): "; cin >> ltd.minute;
        cout << "Введите направление (N, S, E, W) (широта): "; cin >> ltd.direction;
        cout << endl;
        cout << "Введите число градусов (долгота): "; cin >> lng.deg;
        cout << "Введите число минут (долгота): "; cin >> lng.minute;
        cout << "Введите направление (N, S, E, W) (долгота): "; cin >> lng.direction;
        cout << endl;
    }
    void showCoords() // вывести координаты
    {
        cout << "Координаты корабля: " << ltd.deg << "гр. " << ltd.minute << "мин. " << ltd.direction << "; ";
        cout << lng.deg << "гр. " << lng.minute << "мин. " << lng.direction << endl;
    }      
    void showNum()
    {
        cout << "Номер корабля: " << num << endl;
    }
    float getR_ltd() // получить широту в радианах
    {
        float r = (ltd.deg + ltd.minute / 60) * 3.14 / 180;
        if(ltd.direction == 'S') r = -r;
        return r;
    }
    float getR_lng() // получить долготу в радианах
    {
        float r = (lng.deg + lng.minute / 60) * 3.14 / 180;
        if(ltd.direction == 'W') r = -r;
        return r;
    }
    void showDistance(Ship s) // вывести расстояние между данным кораблём и кораблём s
    {
        cout << 6371 * acos(sin(getR_ltd()) * sin(s.getR_ltd()) + cos(getR_ltd()) * cos(s.getR_ltd()) * cos(getR_lng() - s.getR_lng())) << endl;
    }
};
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(LC_ALL,"Russian");
 
    Ship Obj1(1), Obj2(2);
    Obj1.setCoords();
    Obj2.setCoords();
    Obj1.showDistance(Obj2);
 
    system ("pause");
 
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru