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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Tanais13
0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 10
09.11.2010, 20:55     17 разных заданий на C++ #1
Помогите, пожалуйста! Может, писали уже что-то подобное.

1. Решить квадратное уравнение способом вложенных классов, для этого рассмотрим 3 класса:
1 класс – поля a,b,c; метод Vvod.
2 класс – поля x1,x2.
3 класс – объект первого класса, объект второго класса, методы calc и display (не применять механизм наследования).
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.
3. Создать класс следующей структуры: Cекция private содержит целые поля a,b,c; Protected вещественные поля x,y. Public конструктор инициализации и две дружественные функции: sum и pr. Sum – сумма частных полей, pr – вводит значение защищенных полей, вычисляет их произведение и выводит на экран. Создать 2 объекта данного класса и вызвать дружественные функции.
4. С помощью вложенных циклов получить сочетание кодов 3-х символов алфавита (3 вложенных цикла по символам алфавита).
5. Создать БД в Access. Таблица БД имеет следующей структуры: Фио, Дата рождения, Адрес, курс, группа. Заполнить таблицу 5-7 записями. Создать приложение в BCB (Builder) через палитру ADO для обработки данной БД. Создать 2 запроса:
А)Одногрупники
Б) Наличие студента у которого Дата Рождения совпадает с датой, вводимой с клавиатуры.
Создать отчет используя палитру QReports.
6. Заполнить двумерный массив случайными числами таким образом, чтобы он не содержал 2-х равных чисел. Вычислить наименьшее и наибольшее число.
7. Создать функции okr(x, y, r, k), ell(x, y, rx, ry, k), которые рисуют k вложенных окружностей и эллипсов. Задать цикл рисования окружностей и эллипсов до нажатия произвольной клавиши (kbhit()).
8. Преобразовать 3-х мерный массив в одномерный. Найти наименьший и наибольший элементы и их индексы.
9. Задать функцию вычисления минимума 4-х чисел. Используя эту функцию определить наименьший элемент массива вещественных чисел из 20-ти элементов.
10. Создать БД используя DBDesktop следующей структуры: Фио, оклад. Написать приложение, которое обрабатывает данную таблицу следующим образом: через редактор полей добавляются следующие расчетные поля: премия (25% от оклада), итого (оклад + премия), северный коэф. (итого * 0,7). Программировать события OnCalcFields. Создать отчет для данной таблицы.
11. Создать класс, в котором реализованы следующие методы: rect( int x1,y1,x2,y2) - задает движение точки по контуру прямоугольника. Okr(x0,y0,r) – задает движение точки по окружности . Создать объект данного класса и вызвать методы rect и okr.
12. Задать функцию вычисления определителей 3-го порядка opr(a1, b1, c1, a2, b2, c2, a3, b3, c3) и используя эту функцию решить систему 3-х линейных уравнений.
13. Создать класс kur для решения квадратного уравнения следующей структуры: коэффициенты (private a,b,c) являются частными полями класса. Ввод осуществляет конструктор инициализации. Реализовать функции класса для решения уравнения и вывода значений корней. Создать 2 объекта данного класса. Решить 2 уравнения и сложить одноименные корни.
14. Задать шаблонную функцию для сложения значений 5 аргументов. Используя эту функцию найти сумму для 5 вещественных, целых чисел и 5-ти символов.
15. Создать шаблонную функцию для вычисления наименьшего элемента массива произвольного типа. Вызвать эту функцию для массива целых, вещественных чисел и массива символов.
16. Создать абстрактный класс, который содержит абстрактную функцию print, пустой конструктор и пустой деструктор. Класс 2 является производным данного абстрактного класса и состоит из полей int a,b,c; из конструктора инициализации и метода print. Класс 3 является наследником абстрактного класса и содержит поля вещественные x,y; конструктор инициализации и метод print. Задать массив из двух указателей на объекты абстрактного класса. Указателю с индексом [0] присвоить объект второго класса, вызвать метод print. Указателю с индексом [1] присвоить объект 3-го класса, вызвать print.
17. Создать иерархию классов след структуры:
kl1 – поля a,b,c; виртуальный метод print – вывод a,b,c.
kl2 – содержит поля x,y и экземпляр виртуальной функции print, которая печатает значения полей x,y.
kl3 – содержит поля вещественные z1,z2 и метод print.
Создать объекты данных классов и вызвать метод print.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.11.2010, 20:55     17 разных заданий на C++
Посмотрите здесь:

C++ Несколько заданий по массивам
3 разных, простых заданий. очень надо. C++
C++ Парочка заданий
C++ решение заданий на C++
C++ Варианты заданий:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
10.11.2010, 07:30     17 разных заданий на C++ #2
14. Задать шаблонную функцию для сложения значений 5 аргументов. Используя эту функцию найти сумму для 5 вещественных, целых чисел и 5-ти символов.
15. Создать шаблонную функцию для вычисления наименьшего элемента массива произвольного типа. Вызвать эту функцию для массива целых, вещественных чисел и массива символов.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
 
using namespace std;
 
template <class Type> double sum(Type a, Type b, Type c, Type d, Type e);
 
int main(void)
{
    std::cout << sum(1.1, 2.2, 3.3, 4.4, 5.5) << std::endl;
    std::cout << sum(1, 2, 3, 4, 5) << std::endl;
    std::cout << sum('a', 'b', 'c', 'd', 'e') << std::endl;
    
    return 0;
}
 
template <class Type>
    double sum(Type a, Type b, Type c, Type d, Type e) {
        return double(a + b + c + d + e);
    }
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
#include <iostream>
 
using namespace std;
 
template <class Type> Type getmin(Type arr[], size_t nobj);
 
int main(void)
{
    int ni[10] = { 1, 2, 3, 4, -10, 5, 6, 7, 8, 9 };
    double nd[20] = { 1.0, 1.5, -1.5, -10.2, 4.7 };
    char nc[4] = "cab";
    
    std::cout << getmin(ni, 10) << std::endl;
    std::cout << getmin(nd, 15) << std::endl;
    std::cout << getmin(nc, 3) << std::endl;
    
    return 0;
}
 
template <class Type>
    Type getmin(Type arr[], size_t nobj) {
        if (nobj > 0) {
            Type min = arr[0];
            for (size_t i = 1; i < nobj; i++)
                if (arr[i] < min)
                    min = arr[i];
            return min;
        }
        // здесь исключение
    }
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
10.11.2010, 10:30     17 разных заданий на C++ #3
Цитата Сообщение от 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;
}
Tanais13
0 / 0 / 0
Регистрация: 09.04.2010
Сообщений: 10
10.11.2010, 10:40  [ТС]     17 разных заданий на C++ #4
МаксимМВ, Спасибо! Вы мой спаситель!
МаксимМВ
C/C++
90 / 90 / 5
Регистрация: 01.07.2010
Сообщений: 281
10.11.2010, 11:19     17 разных заданий на C++ #5
Цитата Сообщение от Tanais13 Посмотреть сообщение
6. Заполнить двумерный массив случайными числами таким образом, чтобы он не содержал 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
#include <iostream>
#include <cstdlib>
#include <ctime>
 
int randNr(int *mass, int size, int max)
{
    if (max<size)
        return -1;
    for (int i=0;i<size;i++)
    {
        mass[i]=rand()%max;
        for (int j=0;j<size;j++)
                if ((mass[j]==mass[i])&&(i!=j))
                {
                    i--;
                    break;
                }
    }
    
    return 0;
}
 
int maxInMass(int *mass, int size)
{
    int max=*mass;
    for (int i=0;i<size;i++)
        if (mass[i]>max)
            max=mass[i];
    return max;
}
 
int minInMass(int *mass, int size)
{
    int min=*mass;
    for (int i=0;i<size;i++)
        if (mass[i]<min)
            min=mass[i];
    return min;
}
 
void printMass(int *mass, int size)
{
    for (int i=0;i<size;i++)
        std::cout<<mass[i]<<" ";
    std::cout<<std::endl;
}
 
int main(int argc, char *argv[])
{
    srand(time(0));
    const int sizem=50, maxr=100;
    
    int mass[sizem];
    randNr(mass,sizem,maxr);
    std::cout<<"Massiv:"<<std::endl;
    printMass(mass,sizem);
    std::cout<<"Maximum:"<<maxInMass(mass,sizem)<<std::endl;
    std::cout<<"Minimum:"<<minInMass(mass,sizem)<<std::endl;
    
    return 0;
}
Yandex
Объявления
10.11.2010, 11:19     17 разных заданий на C++
Ответ Создать тему
Опции темы

Текущее время: 04:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru