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

координаты - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ При введении больше 20 чисел программа выдает странный результат http://www.cyberforum.ru/cpp-beginners/thread940755.html
#include <iostream> #include <locale> using namespace std; double t1, t2; int main() { setlocale(LC_ALL, "RUS");
C++ Ошибка выноса структуры в отдельный файл Доброго времени суток. Имеется такая проблема: у меня часто используется структура координат в разных файлах, потому я ее решил вынести в отдельный файл и подключать. Вынес ее в заголовочный файл Struct.h, но когда программа компилируется, выдаются ошибки в файле "xstddef". Одна из ошибок: "Ошибка 1 error C2784: bool std::operator <(const std::_Tree<_Traits> &,const std::_Tree<_Traits> &):... http://www.cyberforum.ru/cpp-beginners/thread940751.html
C++ прогрмма по С++ю Рфазобратьсь что значит каждое действие
Создайте класс Time(время суток) считая что представлением времени суток является число секунд прошедших от полуночи( классе одной свойство) Напишите конструктор устанавливающий время по часам минутам и секундам. Напишите метод display который должен выводить времяв привычном виде часы минуты секунды. Написать прогу. #include <iostream> #include <conio.h> Using namespace std; Class Time {...
C++ Массивы (найти ошибку в коде)
При компилировании программы (это не полный код) пишет что b-должно быть константное выражение #include <iostream> #include <locale> #include <ctime> using namespace std; void k_1(int a); void k_2(int b);
C++ Правильный вывод функции http://www.cyberforum.ru/cpp-beginners/thread940710.html
Всем привет! Я только недавно начал учить C++ Вот программа: #include <cstdio> #include <cstdlib> #include <iostream> #include <math.h> #include <string> using namespace std; //переменные
C++ Вывести на экран таблицу значений Необходимо вывести на экран таблицу значений функции Y(x) и ее разложения в ряд S(x) для х, изменяющегося от а до b с шагом h=(b-a)/n. Близость значений S(x) и Y(x) во всем диапазоне значений х указывает на правильность вычисления S(x) и Y(x) подробнее

Показать сообщение отдельно
Lvaruky
8 / 8 / 0
Регистрация: 10.05.2013
Сообщений: 26
21.08.2013, 00:12     координаты
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
#include <iostream>
#include <string>   //Вы используете переменные типа string, а подключаете <cstring>
            //<cstring> - это заголовочный файл для, так называемых C-строк, т.е. char*
 
using namespace std;
 
class Cord {
public:
     virtual void scan() {
        cout << "Введите широту (N/S): "; cin >> NS.c;
        cout << "Введите градусы(0-180): "; cin >> NS.h;
        cout << "Введите минуты (0-59): "; cin >> NS.m;
 
        cout << "Введите широту (E/W): "; cin >> EW.c;
        cout << "Введите градусы(0-180): "; cin >> EW.h;
        cout << "Введите минуты (0-59): "; cin >> EW.m;
     }
     //Зачем здесь нужен был пустой метод show ?
    struct {
        int h,m;
        char c;
    } NS, EW;
};
class Town : public Cord {  //Никакого виртуального наследования не существует, virtual используется,
public:             //чтобы показать, что метод может быть переопределен в наследниках
    void scan() {
        cout << "Введите название города: "; cin >> title;
        Cord::scan();
    }
    void show() {
        cout    << "Город: " << title << "\nКоординаты:\t" 
                << NS.h << " градус(ов) " << NS.m << " минут(ы) " << NS.c << "\n\t\t"
                << EW.h << " градус(ов) " << EW.m << " минут(ы) " << EW.c << endl;
    }
private:
    string title;
};
 
void sortShow(Town *a,int n)
{
    for(int i=0;i<n;i++)
    {
        if(a[i].NS.c=='N'){a[i].NS.h*=-1;a[i].NS.m*=-1;}
    }
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<n-1;j++)
        {
            if ((a[j].NS.h > a[j+1].NS.h)
            || ((a[j].NS.h == a[j+1].NS.h)&& ((a[j].NS.m > a[j+1].NS.m))))
            {
            Town mem = a[j];
            a[j] = a[j+1];
            a[j+1] = mem;
            }
        }
    }
    for(int i=0;i<n;i++)
    {
        if(a[i].NS.c=='N'){a[i].NS.h*=-1;a[i].NS.m*=-1;}
    }
    for(int i=0;i<n;i++) a[i].show();
}
 
int main () {
    setlocale(LC_ALL,"Russian");
    const int size=3;
    Town list[size];
    for (int i = 0; i < size; i++) {
        list[i].scan();
    }
    sortShow(list,size);
    return 0;
}
Ваш алгоритм сортировки я не трогал.

Добавлено через 7 минут
Я погорячился немного, конечно, виртуальное наследование существует, но ключевое слово virtual не используется для указания типа наследования =)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru