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

4 задачи на С++ написать - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрицы и ООП http://www.cyberforum.ru/cpp-beginners/thread647599.html
Как эти задачи решить с помощью ООП 1. проверка матрици на симетричность относительно побочной диагонали 2. заполнение матрици по спирали, числами от 1 до n (квадрат)
C++ Задача из книги "C++ за 21 день" Застопорился на этой задаче. Задание: что неправильно в этой программе? #include <iostream> using namespace std; class CAT { public: CAT(int age){itsAge=age;} ~CAT(){} ... http://www.cyberforum.ru/cpp-beginners/thread647593.html
Расчет вес в фунтах C++
при пересчете вес в фунтах ответ выдает не правильно т.е по этой формуле result= funt*0.454; не правильно дает ответ например вводит 2 результат 908, а на самом деле должен быть так 0,908
C++ Подскажите, где ошибся
Получаю следующий результат на нижеуказанный код: Enter two integers: 13 5 integer part of the quotient is 10 integer remainder is 3 Enter integer between 1 and 32767: 23456 2 3 4 5 ...
C++ enum и массив http://www.cyberforum.ru/cpp-beginners/thread647560.html
На сколько я знаю, при инициализации массива требуется, чтобы в квадратных скобках было указано константное число. А почему через enum можно указывать не константное? Взято из примера книги Праты. ...
C++ Зачем нужны разнообразные целые типы переменных? 1) Вот зачем нам нужен тип short если есть тип long? Как я понял из учебника, если моя переменная будет содержать не слишком большое целое число, то целесообразно использовать short, т.к. он 2 байта... подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
88 / 740 / 75
Регистрация: 11.04.2012
Сообщений: 971
06.09.2012, 17:30
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
#include <stdio.h>
#include <conio.h>
#include <iostream>
 
using namespace std;
 
class Task1
{
public:
    Task1(size_t size = 15) : m_pn((int*)0) 
        { if (m_pn == NULL) m_pn = new int[size]; m_nSize = size; };
 
public:
    void DoTask()
    {
        Input();
        cout << "Average = " << CalcAvg() << " ";
        cout << "Minimal value = " << CalcMin() << endl << endl;
    }
 
protected:
    void Input()
    {
        for (int x = 0; x < m_nSize; x++)
         { cout << "A[" << x << "] = "; cin>>m_pn[x]; }
 
        cout << endl;
    }
    
    double CalcAvg()
    {
        int count = 0, sum = 0;
        for (int i = 0; i < m_nSize; i++)
            if (m_pn[i] > 0) { sum+=m_pn[i]; count++; } 
        return sum > 0 ? (double)sum / count : -1;
    }
 
    int CalcMin()
    {
        int min = 0;
        for (int i = 0; i < m_nSize; i++)
            min = (m_pn[i] < m_pn[min]) ? i : min;
        return m_pn[min] > 0 ? m_pn[min] : -1;
    }
 
protected:
    int* m_pn;
    int  m_nSize;
};
 
class Task2
{
public:
    Task2(size_t rows = 5, size_t cols = 6) : m_ppn((int**)0) 
        { m_ppn = new int*[rows]; m_nRows = rows, m_nCols = cols; };
 
public:
    void DoTask() { Fill(); ReplaceMax(); PrintStars(); }
 
protected:
    void Fill()
    {
        for (int i = 0; i < m_nRows; i++)
        {
            m_ppn[i] = new int[m_nCols];
            for (int j = 0; j < m_nCols; j++)
            {
                m_ppn[i][j] = rand() % 9 + 1;
                cout << m_ppn[i][j] << " ";
            }
 
            cout << endl;
        }
 
        cout << endl;
    }
 
    void ReplaceMax()
    {
        for (int i = 0; i < m_nRows; i++)
        {
            int min = 0, max = 0;
            for (int j = 0; j < m_nCols; j++)
            {
                if (m_ppn[i][j] < m_ppn[i][min]) min = j;
                if (m_ppn[i][j] > m_ppn[i][max]) max = j;
            }
 
            Swap(m_ppn[i][max], m_ppn[i][min]);
 
            for (int q = 0; q < m_nCols; q++)
                cout << m_ppn[i][q] << " ";
 
            cout << endl;
        }
    }
 
    void Swap(int&n1, int& n2)
     { int _tn = n1; n1 = n2; n2 = _tn; }
 
protected:
    friend void PrintStars(int n = 15);
 
protected:
    int** m_ppn;
    int m_nRows;
    int m_nCols;
};
 
void PrintStars(int n)
{
    cout << endl << endl;
    while (--n >= 0) cout << "*";
    cout << endl;
}
 
Task1 task1;
Task2 task2;
 
int main()
{
    task1.DoTask();
    task2.DoTask();
 
    _getch();
 
    return 0;
}
2
Миниатюры
4 задачи на С++ написать  
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru