Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 6
1

Проверьте правильность кода (обработка значений матрицы)

14.03.2016, 16:25. Показов 1086. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задание ниже:
1) Вычислить матрицу по формуле.
https://www.cyberforum.ru/cgi-bin/latex.cgi?{a}_{ij}=2({2}^{i+1})(i-3,9)(j\left|2-\frac{3}{i+1} \right|), где i=0,...,4; j=0,...,5.
2) Найти максимальное значение в каждой строке и составить из них вектор.
xi - наибольший элемент i-той строки матрицы a.
3) Рассчитать по формуле используя полученный вектор.
https://www.cyberforum.ru/cgi-bin/latex.cgi?G=\sqrt{\frac{\sum_{i=0}^{n}{{x}_{i}}^{2}}{\left|\ln \left|\prod_{i=0}^{n}{x}_{i} \right| \right|}}
Вот код:
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
129
130
// Объявление глобальных переменных
typedef float matr[ 5 ][ 6 ];
typedef float vect[ 5 ];
int i, j;
 
// Вычисление матрицы с помощью формулы (подпрограмма)
void elem_matr( matr a )
{
    for ( i = 0; i < 5; i++ )
    {
        for ( j = 0; j < 6; j++ )
        {
            a[ i ][ j ] = 2 * ( pow( 2, i + 1 ) ) * ( i - 3.9 ) * ( j * fabs( 2 - ( 3 / ( 1 + i ) ) ) );
        }
    }
}
 
// Вычисление вектора (подпрограмма) x=max
void elem_vect( matr a, vect & x )
{
    for ( i = 0; i < 5; i++ )
    {
        x[ i ] = a[ i ][ 0 ];
        for ( j = 0; j < 6; j++ )
        {
            if ( a[ i ][ j ] > x[ i ] )
            {
                x[ i ] = a[ i ][ j ];
            }
        }
    }
}
 
// Вычисление функции G
void function( vect x )
{
    float S = 0;
    for ( i = 0; i < 5; i++ )
    {
        S += pow( x[ i ], 2 );
    }
    float P = 1;
    for ( i = 0; i < 5; i++ )
    {
        P *= x[ i ];
    }
    double s = s + sqrt( S / fabs( P ) );
}
 
// Закрытие Программы
void __fastcall TForm1::Ex_itClick( TObject * Sender )
{
    Close( );
}
 
// ---------------------------------------------------------------------------
// Очистка всех ячеек
void __fastcall TForm1::Cle_arClick( TObject * Sender )
{
    for ( i = 0; i < 5; i++ )
    {
        for ( j = 0; j < 6; j++ )
        {
            StringGrid1->Cells[ j ][ i ] = "";
        }
    }
    for ( i = 0; i < 5; i++ )
    {
        for ( j = 0; j < 6; j++ )
        {
            StringGrid2->Cells[ j ][ i ] = "";
        }
    }
    Edit1->Clear( );
}
// ---------------------------------------------------------------------------
 
// Информация об авторе
void __fastcall TForm1::AvtorClick( TObject * Sender )
{
    AboutBox->ShowModal( );
 
}
 
// ---------------------------------------------------------------------------
// Информация о задаче
void __fastcall TForm1::ZadachaClick( TObject * Sender )
{
    AboutBox1->ShowModal( );
}
// ---------------------------------------------------------------------------
 
// Вывод матрицы в StringGrid1
void __fastcall TForm1::Mat_ricClick( TObject * Sender )
{
    matr( a );
    for ( i = 0; i < 5; i++ )
    {
        for ( j = 0; j < 6; j++ )
        {
            StringGrid1->Cells[ j ][ i ] = FloatToStr( a[ i ][ j ] );
        }
    }
 
}
// ---------------------------------------------------------------------------
 
// Вывод вектора в StringGrid2
void __fastcall TForm1::Vec_torClick( TObject * Sender )
{
    matr a;
    vect x;
    elem_vect( a, x );
    for ( i = 0; i < 5; i++ )
    {
        StringGrid2->Cells[ 0 ][ i ] = FloatToStr( x[ i ] );
    }
 
}
// ---------------------------------------------------------------------------
 
// Вывод значения функции в Edit1
void __fastcall TForm1::FuncClick( TObject * Sender )
{
    vect max;
    float s;
    Edit1->Text = FloatToStr( s );
 
}
// ---------------------------------------------------------------------------
Поправьте, если не правильно, пожалуйста.
Миниатюры
Проверьте правильность кода (обработка значений матрицы)  
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.03.2016, 16:25
Ответы с готовыми решениями:

Проверьте правильность кода
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;iostream&gt; int main() { setlocale(LC_ALL,...

Проверьте правильность кода
Прохожу тему обработку текстовых файлов с помощью TStringList. Помогите дописать или хотя бы...

Проверьте правильность кода
Здравствуйте. Задали рассчитать площадь треугольника по заданным параметрам: сторонам треугольника...

Проверьте правильность кода)
задача:Даны действительное число а, натуральное число n. Вычислить: S = 1/a + 1/a^2 + 1a^4 + … +...

5
Модератор
9270 / 6048 / 2380
Регистрация: 21.01.2014
Сообщений: 25,828
Записей в блоге: 3
19.03.2016, 11:25 2
Sailarn, программа не считает? Выпадают какие-то ошибки? В чем вопрос-то?
0
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 6
19.03.2016, 13:19  [ТС] 3
Все работает, ошибок нет. Но работает неправильно. В вектор он должен вбивать максимальные значения с каждой
строки, но работает только с двумя. Да и сомнения у меня по поводу формулы. Числа какие-то не очень. Так и должно быть?
0
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 6
19.03.2016, 14:06  [ТС] 4
Значения:
Миниатюры
Проверьте правильность кода (обработка значений матрицы)  
0
случайный прохожий
2948 / 1959 / 607
Регистрация: 20.07.2013
Сообщений: 5,174
20.03.2016, 14:42 5
Лучший ответ Сообщение было отмечено Sailarn как решение

Решение

Может в пункте 1) индексация начинается не с 0, а с 1?
В строке 47 не учитывается логарифм.
C++
1
sqrt( S / fabs( log ( fabs ( P ) ) ) )
"Общий" код:
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
// Объявление глобальных переменных
float a[ 5 ][ 6 ];
float x[ 5 ];
int i, j;
 
// Вычисление матрицы с помощью формулы (подпрограмма)
void elem_matr( )
{
    for ( i = 1; i <= 5; i++ )
    {
        for ( j = 1; j <= 6; j++ )
        {
            a[ i-1 ][ j-1 ] = 2 * ( pow( 2, i + 1 ) ) * ( i - 3.9 ) * ( j * fabs( 2 - ( 3. / ( 1 + i ) ) ) );
        }
    }
}
 
// Вычисление вектора (подпрограмма) x=max
void elem_vect( )
{
    for ( i = 0; i < 5; i++ )
    {
        x[ i ] = a[ i ][ 0 ];
        for ( j = 0; j < 6; j++ )
        {
            if ( a[ i ][ j ] > x[ i ] )
            {
                x[ i ] = a[ i ][ j ];
            }
        }
    }
}
 
// Вычисление функции G
float function( )
{
    float S = 0;
    for ( i = 0; i < 5; i++ )
    {
        S += pow( x[ i ], 2 );
    }
    float P = 1;
    for ( i = 0; i < 5; i++ )
    {
        P *= x[ i ];
    }
    double g = sqrt( S / fabs( log ( fabs ( P ) ) ) );
    return g;
}
 
// Вывод матрицы в StringGrid1
void __fastcall TForm1::Mat_ricClick( TObject * Sender )
{
    elem_matr( );
    for ( i = 0; i < 5; i++ )
    {
        for ( j = 0; j < 6; j++ )
        {
            StringGrid1->Cells[ j ][ i ] = FloatToStr( a[ i ][ j ] );
        }
    }
}
// ---------------------------------------------------------------------------
 
// Вывод вектора в StringGrid2
void __fastcall TForm1::Vec_torClick( TObject * Sender )
{
    elem_vect( );
    for ( i = 0; i < 5; i++ )
    {
        StringGrid2->Cells[ 0 ][ i ] = FloatToStr( x[ i ] );
    }
 
}
// ---------------------------------------------------------------------------
 
// Вывод значения функции в Edit1
void __fastcall TForm1::FuncClick( TObject * Sender )
{
    float s = function( );
    Edit1->Text = FloatToStr( s );
}
// ---------------------------------------------------------------------------
Миниатюры
Проверьте правильность кода (обработка значений матрицы)  
1
0 / 0 / 0
Регистрация: 14.03.2016
Сообщений: 6
20.03.2016, 16:10  [ТС] 6
Огромное спасибо. Прям глаза открыл на некоторые вещи. Серьёзно.
0
20.03.2016, 16:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2016, 16:10
Помогаю со студенческими работами здесь

Проверьте правильность написания кода и коментарии
Задача: Написать программу которая принимает в качестве аргумента имя файла f с русским текстом и...

Проверьте, плз, правильность написания кода
#include &lt;iostream.h&gt; #include &lt;iosmainp.h&gt; // в этом файле описаны манипуляторы при работе с...

Метод хорд, проверьте правильность кода
#include &lt;iostream&gt; #include &lt;cmath&gt; double func(double x) { return...

Проверьте правильность кода. Почему выдаёт ошибку?
Написать программу, которая считывает текст из файла, находит самое длинное слово и определяет,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru