0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 41
1

Какие математические формулы используются в приведенных программах?

02.06.2015, 22:01. Показов 1194. Ответов 4
Метки нет (Все метки)

Учусь, студент , написали со знакомым две программы к курсовой, а преподавателдь требует еще и математические формулы . Вот программы может подскажите что нибудь дельное.

Первая программа .

C++ (Qt)
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
#include <iostream.h>
#include <math.h>
#include <stdlib.h>
#include <iomanip.h>
#include <stdio.h>
#include <values.h>
 
int main()
{
    double m [100];
    int ke, i, koe = 0, n_min = 0, min, summa = 0, ykaz = 1;
    randomize();
    while (ykaz > 0)
    {
        cout<<"Укажите действие, которое необходимо сделать с массивом:"<<"\n"<<"1 - Заполнить массив в ручную. "<<endl;
                cout<<"2 - Заполниь массив в автоматическом режиме."<<endl;
        cout<<"3 - Количество отрицательных элементов. "<<endl;
        cout<<"4 - Сумма модулей элементов после минимального по модулю. "<<endl;
    cout<<"5 - Замена отрицательных элементов их квадратами. "<<endl;
    cout<<"6 - Сортировка массива по возрастанию."<<endl;
                cout<<"0 - Выход."<<endl;
                cin>>ykaz;
        switch(ykaz)
        {
            case 1:
                cout <<"Введите размер массива: ";
                cin >> ke;
                cout<<endl;
                for ( i = 0; i < ke; i++)
                {
                    cout << " m [" << i << "] = ";
                    cin >> m [i];
                }
                cout<<"\n======================================================\n";
                break;
            case 2:
                cout<<"Введите размер массива : ";
                cin>>ke;
                for (int i=0; i<ke; i++)
                                  {
                    m[i] = random(100) + 1;
                    cout<<"m["<<i<<"] = "<<m[i]<<endl;
                                   }
        cout<<"\n======================================================\n";
        break;
            case 3:            
 
                for ( i=0; i<ke; i++)
                    if (m[i]<0) 
                        koe++;
                        
                cout<<"Количество отрицательных элементов массива : "<<koe<<".\n";
                cout<<"\n======================================================\n";
                break;
            case 4:
                n_min = 0;
                for ( i=0; i<ke; i++) 
                if (fabs(m[i]) < fabs(m[n_min]))
                    n_min=i;
                if (n_min==ke-1)
                    cout<<"Минимальный по модулю элемент последний.\n";
                else
                {
                    for ( i=(n_min+1); i<ke; i++) 
                    summa+=fabs(m[i]);
                    cout<<"Сумма модулей элементов после минимального по модулю : "<<summa<<".\n";
                }
                cout<<"\n======================================================\n";
                break;
            case 5:
                for (i=0; i<ke; i++)
                    if (m[i]<0) 
                        m[i]=pow(m[i],2);
                    cout<<"Замена отрицательных элементов их квадратами:\n";
                for (i = 0; i < ke; i ++)
                    cout<<m[i]<<" ";
                cout<<"\n======================================================\n";
                break;
            case 6:
                double k;
            for ( i=0; i<(ke-1); i++) 
            {
                for (int j=i+1; j<ke; j++)
                {
                    if (m[i] > m[j])
                    {
                        k=m[i];
                        m[i]=m[j];
                        m[j]=k;
                    }
                }
            }
            cout<<"Отсортированный массив:\n";
            for ( i=0; i<ke; i++)
                cout << m[i] << ' ';
            cout<<"\n======================================================\n";
                break;
            default:
                            ykaz = 0;
                            break;
                }
    }
    return 0;
}
Вторая программа.

C++ (Qt)
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <stdio.h>
#include <stdlib.h>
#include <iostream.h>
#include <conio.h>
#include <values.h>
 
int _schet(int **, int, int);       //функция подсчета одинаковых чисел в строках матрицы
int *_sort(int *, int);                 //функция сортировки одномерного массива
int *_revers(int *, int);               //функция реверса массива 
int _otric(int **, int, int);           //функция подсчета отрицатеьных элементов в столбцах матрицы
 
int main()
{
    randomize();// случайный набор чисел                                                         
    int n = 0, m = 0, **mas = 0, i = 0, j = 0, s = 0, a = 0, b = 0, k = 0, *rez = 0, *rez2, zn = 0, *znak = 0;//описание необходимых переменных              
    cout<<"Укажите размерность матрицы(n*m): ";                                                                             
    cin>>n>>m;                                                                                                              
    rez = (int *)malloc(n * sizeof(int));       //                                                                             
        znak = (int *)malloc(m * sizeof(int));    //                                                                              
    mas = (int **)malloc(n * sizeof(int *));      //                                                                          
    for (i = 0; i < n; i ++)                                                          // цикл ввода массива чеез функцию                                      
            mas[i] = (int *)malloc(m * sizeof(int));                                                                        
    cout<<"Укажите способ заполнения(1 - вручную, 2 - автоматически): ";                                                    
    cin>>s;
    if (s == 1)                                                    //выбор 1-ого варианта
    {
        for (i = 0; i < n; i ++)
            for (j = 0; j < m; j ++)
                            cin>>mas[i][j];
    }
    if (s == 2)                                                  //выбор 2-ого варианта
    {
        cout<<"Введите интервал значений(a..b): ";
                cin>>a>>b;
        for (i = 0; i < n; i ++)
            for (j = 0; j < m; j ++)
            {
                while (1)
                {
                    zn = random(2);
                    k = random(b + 1);
                    if (zn == 1)
                        k = -random(b + 1);
                    if (zn == 0)
                                            k = random(b + 1);
                    if ((k >= a) && (k <= b))
                                        {
                        mas[i][j] = k;
                        break;
                    }
                                }
                        }
    }
        
    for (i = 0; i < n; i ++) //Выводим получившуюся матрицу
        {
        for (j = 0; j < m; j ++)
            cout<<mas[i][j]<<"\t";
        cout<<endl;
    }
 
    for (i = 0; i < n; i ++)     //Применяем функцию INT _SCHET(INT **MAS,INT M, INT POS). 
    {                            //Сортируем полученный при помощи функции INT _SCHET(INT **MAS,INT M, INT POS) массив по возрастанию.  
        rez[i] = 0;
        rez[i] = _schet(mas, m, i);
                //cout<<rez[i]<<" ";
    }
    //cout<<endl;
    rez2 = _sort(rez, n);
        cout<<"Задание 1:\n";
    for (i = 0; i < n; i ++)       //Выводим результат выполнения 1 задания.
        {
        for (j = 0; j < m; j ++)
        {
                    cout<<mas[rez2[i]][j]<<"\t";
        }
        cout<<endl;
    }
    cout<<"Задание 2:\n"; //Применяем функцию INT _OTRIC(INT **MAS, INT N, INT POS).
    for (j = 0; j < m; j ++)  //Выводим результат выполнения 2 задания.
    {
            znak[j] = 0;
        znak[j] = _otric(mas, n, j);
        //cout<<znak[j]<<" ";
    }
        cout<<endl;
        i = 0;
    while (1)
    {
        if (znak[i ++] == 0)
        {
            cout<<"Номер первого из столбцов, не содержащего ни одного отрицательного числа - №"<<i<<endl;
            break;
                }
        }
    return 0;
}
 
int _schet(int **mas, int m, int pos)           //в функцию передается матрица, количество столбцов и номер текущей строки для подсчета количества одинаковых чисел
{
    int *rez = 0, i = 0, now = 0, j = 0, max = 0, max_i = 0;
    rez = (int *)malloc(m * sizeof(int));
    for (i = 0; i < m; i ++)
        rez[i] = 0;
    for (i = 0; i < m; i ++)
    {
        now = mas[pos][i];
        for (j = 0; j < m; j ++)
            if (mas[pos][j] == now)
                rez[i] ++;
    }
    for (i = 0; i < m; i ++)
    {
        if (rez[i] > max)
        {
            max = rez[i];
                        max_i = i;
                }
    }
        return rez[max_i];
}
 
int *_sort(int *mas, int n)             //в функцию передается массив mas, который нужно отсортировать и количество элементов в нем
{
    int *rez = 0, *rez2 = 0, i = 0, j = 0, max = -MAXINT, max_i = 0;
    rez = (int *)malloc(n * sizeof(int));
    for (i = 0; i < n; i ++)
    {
        for (j = n - 1; j > -1; j --)
        {
            if (mas[j] > max)
            {
                max = mas[j];
                                max_i = j;
                        }
        }
                max = -MAXINT;
        mas[max_i] = -MAXINT;
                rez[i] = max_i;
    }
        rez2 = _revers(rez, n);
        return rez2;
}
 
int *_revers(int *mas, int n)                           //в функцию передается массив mas, который нужно "развернуть" и количество элементов в нем
{
    int *rez = 0, i = 0;
    rez = (int *)malloc(n * sizeof(int));
    for (i = 0; i < n; i ++)
        rez[i] = mas[n - i - 1];
    return rez;
}
 
int _otric(int **mas, int n, int pos)                   //в функцию передается матрица, количество строк и номер столбца, в котоом необходимо поститать количество отрацительных элементов
{
    int i = 0, sum_otric = 0;
    for (i = 0; i < n; i ++)
        if (mas[i][pos] < 0)
            sum_otric ++;
    return sum_otric;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2015, 22:01
Ответы с готовыми решениями:

Какие из приведенных конструкций являются выражениями?
Определите, какие из приведенных ниже конструкций являются выражениями. 1) x + 1.5 2) sin( x ) ...

Записать математические формулы
Полный код в С++ если знаете паскаль то в паскале тож.. спс

Записать математические формулы
Пожалуйста П.5.18.Правил Запрещено размещать задания и решения в виде картинок и других файлов с...

Как математические формулы записать
Первую формулу записал,а дальше не пойму. // zadanie_3.cpp: определяет точку входа для...

4
15 / 15 / 4
Регистрация: 11.11.2014
Сообщений: 122
02.06.2015, 23:01 2
Математические формулы чего, простите?
0
618 / 216 / 51
Регистрация: 22.11.2010
Сообщений: 1,776
Записей в блоге: 3
02.06.2015, 23:08 3
Vanko, открываете список функций из math.h и начинаете фантазировать с элементами матриц. Вообще всякое можно напридумывать.
0
0 / 0 / 0
Регистрация: 27.05.2015
Сообщений: 41
03.06.2015, 01:25  [ТС] 4
Формулы по которым написана программа, т.е. какие математические операции применялись в ней
0
15 / 15 / 4
Регистрация: 11.11.2014
Сообщений: 122
03.06.2015, 07:58 5
Vanko, закомментируйте math.h и скомпилируйте программу. Везде, где заругается с отсылки на этот заголовочный файлфайл, будет ваш ответ. А там гуглите, что эти функции делают
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.06.2015, 07:58
Помогаю со студенческими работами здесь

Как запрограммировать математические многочлены, формулы?
Каким образом запрограммировать математические вычисления вида: (a1+a2+… + an)/n (...

Зафиксировать какие символы используются в строке
Многоуважаемые форумчане с большими и чистыми сердцами, как вывести в отдельный массив буквы,...

Какие модули (библиотеки) используются программами ОС Windows
Интересует каким способом делаются различные визуальные эффекты, например, как в калькуляторе в Win...

Какие паттерны используются в программе и для чего?
Помогите, пожалуйста, разобраться. Определите какие паттерны в программе. для чего они там? class...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru