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

17 разных заданий на C++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сжатие методом Шеннона-Фано (Pascal -> C++) http://www.cyberforum.ru/cpp-beginners/thread188668.html
Есть код на pascal может кто-нибудь помочь перевести на с++ ? uses crt; var c:char; s,s1,s2:string; i,n,j,j1:byte; a:array of byte; str:array of string;
C++ Функции пользователя C 1) Даны три натуральных числа. Определить их наибольший делитель (определение HOD – см. N 10). 2) Имеется n населенных пунктов, перенумерованных от 1 до n (n=10). Некоторые пары пунктов соединены дорогами. Определить, можно ли попасть по этим дорогам из первого пункта в n-й пункт. Информация о дорогах задается в виде последовательности пар чисел i и j ( i<j ) указывающих, что i-й и ј-й... http://www.cyberforum.ru/cpp-beginners/thread188655.html
Как запретить ввод некоторых символов в консольном приложение написанном на C#? C++
Тема удалена!!!
Запись структуры в файл C++
Есть структура из 3 чисел типа дабл, нужно записать в файл .тхт (каждая запись на новой строке) так, что бы потом можно было его открыть и, соответственно, самому прочитать что там записано :) Как сделать? Спасибо. зы Как записать в файл знаю
C++ Сложить две знаковые константы http://www.cyberforum.ru/cpp-beginners/thread188628.html
В ячейке, размером в 1 байт, сложить две знаковые константы: 87 + 42 Объяснить полученный результат. Хотелось бы разобраться в этом. Заранее спасибо.
C++ Как заменить функции strset и atoi? Пожалуйста без приколов, мне реально интересно. подробнее

Показать сообщение отдельно
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
10.11.2010, 10:30
Цитата Сообщение от Tanais13 Посмотреть сообщение
1. Решить квадратное уравнение способом вложенных классов, для этого рассмотрим 3 класса:
1 класс – поля a,b,c; метод Vvod.
2 класс – поля x1,x2.
3 класс – объект первого класса, объект второго класса, методы calc и display (не применять механизм наследования).
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
#include <iostream>
#include <cmath>
 
using std::cin;
using std::cout;
using std::endl;
 
class Polya
{
    public:
        double a;
        double b;
        double c;
        void Vvod();
};
 
void Polya::Vvod()
{
    cout<<"Input a b c: ";
    cin>>a>>b>>c;
}
 
class Roots
{
    public:
        double x1;
        double x2;
};
 
class Reshatel
{
    private:
        Polya myPolya;
        Roots myRoots;
    public:
        void vvod(){myPolya.Vvod();}
        void calc();
        void display();
};
 
void Reshatel::calc()
{
    double b=myPolya.b;
    double a=myPolya.a;
    double c=myPolya.c;
    double D=b*b-4*a*c;
    if (a==0) return;
    if (D>=0)
    {
        myRoots.x1=(-b+sqrt(D))/(2*a);
        myRoots.x2=(-b-sqrt(D))/(2*a);
    }
}
 
void Reshatel::display()
{
    cout<<"x1="<<myRoots.x1<<endl;
    cout<<"x2="<<myRoots.x2<<endl;
}
 
int main(int argc, char *argv[])
{
    Reshatel myReshatel;
    myReshatel.vvod();
    myReshatel.calc();
    myReshatel.display();
    return 0;
}
У меня там ошибка небольшая была по невнимательности, исправил.

Добавлено через 59 минут
Цитата Сообщение от Tanais13 Посмотреть сообщение
2. Создать иерархию классов следующей структуры:
kl1: содержит частные поля int a,b,c. Секция public – метод ввода значений частных полей.
Kl2: содержит целочисленное x,y и метод ввода значений полей x,y.
kl3: является наследником kl1 и kl2. содержит общие поля z1 и z2 (тип long int) и методы sum и pr.
Sum – функция типа void, которая z1 присваивает сумму полей a,b,c класса kl1, а полю z2 произведение полей x,y kl2.
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
#include <iostream>
 
using std::cin;
using std::cout;
using std::endl;
 
class kl1
{
    protected:
        int a,b,c;
    public:
        virtual void Input_abc();
};
 
class kl2
{
    protected:
        int x,y;
    public:
        virtual void Input_xy();
};
 
class kl3: public kl1, public kl2
{
    protected:
        long int z1,z2;
    public:
        virtual void Sum();
        virtual void Pr();
};
 
void kl1::Input_abc()
{
    cout<<"Input a b c: ";
    cin>>a>>b>>c;
}
 
void kl2::Input_xy()
{
    cout<<"Input x y: ";
    cin>>x>>y;
}
 
void kl3::Sum()
{
    z1=a+b+c;
    z2=x+y;
}
 
void kl3::Pr()
{
    cout<<"a="<<a<<endl<<"b="<<b<<endl<<"c="<<c<<endl;
    cout<<"x="<<x<<endl<<"y="<<y<<endl<<endl;
    cout<<"z1="<<z1<<endl<<"z2="<<z2<<endl;
}
 
int main(int argc, char *argv[])
{
    kl3 myClass;
    myClass.Input_abc();
    myClass.Input_xy();
    myClass.Sum();
    myClass.Pr();
    return 0;
}
Добавлено через 12 минут
Цитата Сообщение от Tanais13 Посмотреть сообщение
3. Создать класс следующей структуры: Cекция private содержит целые поля a,b,c; Protected вещественные поля x,y. Public конструктор инициализации и две дружественные функции: sum и pr. Sum – сумма частных полей, pr – вводит значение защищенных полей, вычисляет их произведение и выводит на экран. Создать 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
#include <iostream>
 
class A
{
    private:
        int a,b,c;
    protected:
        double x,y;
    public:
        A(int na, int nb, int nc, double nx, double ny);
        friend int sum(A *myA);
        friend void pr(A *myA);
};
 
A::A(int na, int nb, int nc, double nx, double ny)
{
    a=na; b=nb; c=nc; x=nx; y=ny;
}
 
int sum(A *myA)
{
    return myA->a+myA->b+myA->c;
}
 
void pr(A *myA)
{
    std::cout<<"x="<<myA->x<<std::endl;
    std::cout<<"y="<<myA->y<<std::endl;
    std::cout<<"Summa:"<<myA->x+myA->y<<std::endl;
}
 
int main(int argc, char *argv[])
{
    A object1(1,2,-8,8.1,-12.9);
    A object2(0,1,0,8,9.8);
    std::cout<<"Object1:"<<std::endl;
    std::cout<<"a+b+c="<<sum(&object1)<<std::endl;
    pr(&object1);
    std::cout<<std::endl<<"Object2:"<<std::endl;
    std::cout<<"a+b+c="<<sum(&object2)<<std::endl;
    pr(&object2);
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru