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

Используя текст программы оформить каждый пункт задания в виде функции - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Описать процедуру maxmin (x, y) присваивает параметру х большее из вещественных чисел x и y, а параметру у -- меньшее http://www.cyberforum.ru/cpp-beginners/thread592356.html
Процедура maxmin (x, y) присваивает параметру х большее из вещественных чисел x и y, а параметру у -- меньшее. Описать данную процедуру и использовать ее для перераспределения значений вещественных переменных a, b и c так, чтобы стало a >= b >= c.
C++ Классы Добрый день, кто то может срочно помочь с программой, Нужно создать иерархию типов, описывающую данные- сигнал, данные результат обработки и данные, как результат обработки сигнала и представляющие собой сигнал, Использовать виртуальные базовые классы. http://www.cyberforum.ru/cpp-beginners/thread592355.html
Дин. массивы. Матрицы C++
Доброго времени суток) Нужно сделать 2 задачки с обязательным использование динамической памяти и хотя бы 1 указателя. Так же прошу комментарии к строкам..мое объяснение программы страдает( Заранее спасибо. 1) Для целочисленной квадратной матрицы найти число элементов, кратных k, и наибольший из них. 2)
Как это сделать? C++
Предположим, есть некоторый класс, например, TTrigonometricComplex и я хочу сделать нём функции, которые будут доступны в левой части оператора присваивания и будут выполнять некоторые операции при присваивании, если же их указать в правой части, то другие. TTrigonometricComplex { protected: double AbsoluteData; double ArgumentData; public: double &Absolute (); // Эта функция...
C++ отлов ошибок try, catch зачем он нужен? http://www.cyberforum.ru/cpp-beginners/thread592309.html
я вот пишу прогу, которая не отлавливает ошибку. try { int i=10; i=i/0; } catch(...) { printf("\n error");
C++ Инкремент ссылки int arr = {....} ; while(arr) // arr ссылка на начало массива то есть на 0 элемент ; { //тело цикла ++arr ;//инкремент } Собственно почему нельзя так? подробнее

Показать сообщение отдельно
-comrade-
355 / 356 / 42
Регистрация: 11.06.2010
Сообщений: 703
01.06.2012, 14:14     Используя текст программы оформить каждый пункт задания в виде функции
Вот что получилось
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
#include <iostream> 
#include <math.h>
 
using namespace std; 
 
int ColumnCharacter(int **, int, int);
int SumInColumn(int **, int, int);
void Input(int **, int, int);
void PrintMatrix(int **, int, int);
void SortCharacter(int **, int, int);
void Sum(int **, int, int);
void SwapColumn(int **, int, int, int);
 
int main()
{   
    setlocale(0, "");
 
    int n, m;
    cout<<"n = ";
    cin>>n;
    cout<<"m = ";
    cin>>m;
 
    int **x = new int *[n];
    for(int i = 0; i < n; i++)
        x[i] = new int [m];
 
    Input(x, n, m);
    SortCharacter(x, n, m);
    PrintMatrix(x, n, m);
    Sum(x, n, m);
 
    for(int i = 0; i < n; i++) delete x[i];
    delete [] x;
 
    system("pause");
    return 0;
}
 
void Input(int **x, int n, int m)
{
    cout<<"Введите элементы:"<<endl;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
            cin>>x[i][j];
    }
}
 
int ColumnCharacter(int **x, int n, int k)
{
    int s = 0;
    for(int i = 0; i < n; i += 2)
        if(x[i][k] < 0) s += abs(x[i][k]);
 
    return s;
}
 
void SwapColumn(int **x, int n, int a, int b)
{
    int z;
    for(int i = 0; i < n; i++)
    {
        z = x[i][a];
        x[i][a] = x[i][b];
        x[i][b] = z;
    }
}
 
void PrintMatrix(int **x, int n, int m)
{
    cout<<"\nМатрица:"<<endl;
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
            cout<<x[i][j]<<" ";
        cout<<endl;
    }
}
 
void SortCharacter(int **x, int n, int m)
{
    for(int i = 0; i < m - 1; i++)         
        for(int j = 0; j < m - 1; j++)  
            if (ColumnCharacter(x, n, j + 1) < ColumnCharacter(x, n, j)) 
                SwapColumn(x, n, j + 1, j);
}
 
void Sum(int **x, int n, int m)
{
    for(int i = 0; i < m; i++)   
    {
        for(int j = 0; j < n; j++)  
            if(x[j][i] < 0) 
            {
                cout<<"Cумма элементов в столбце # "<<i+1<<": "<<SumInColumn(x, n, i)<<endl;
                break;
            }
    }
}
 
int SumInColumn(int **x, int n, int k)
{
    int s = 0;
    for(int i = 0; i < n; i++)
        s += x[i][k];
 
    return s;
}
 
Текущее время: 06:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru