С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Насютка
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 36
#1

Найти ошибку в коде - C++

27.02.2014, 14:45. Просмотров 512. Ответов 14
Метки нет (Все метки)

помогите написать программу. есть код, но в нем ошибка, сама не разберусь какая

а)a[i][j]=(j-5.5)(i-3.2)(i-7.4)
б)В качестве компонент вектора x выбрать минимальные элементы диагоналей матрицы А, параллельных побочной диагонали, включая побочную диагональ.
в)http://www.cyberforum.ru/cgi-bin/latex.cgi?\sum_{i=0}^{2n-1}\left(x[i]+x[i+1] \right)

Добавлено через 54 секунды
там в скобках (x[i]+x[i+1])

Добавлено через 5 минут
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
#include <stdio.h>
#include <stdafx.h>
#include <iostream>
 
typedef double TMatrix[10][10]; 
typedef double TVector[19]; 
const int N=10; 
void FillMatrix(TMatrix A); 
void PrintMatrix(TMatrix A); 
void GetVector(TVector M, TMatrix A); 
void PrintVector(TVector M); 
double G(TVector M); int main() 
{ 
double u; 
TMatrix A; 
TVector M; 
FillMatrix(A); 
PrintMatrix(A); 
GetVector(M,A); 
PrintVector(M); 
u=G(M); 
printf("G=%9.5f\n", u); 
system("pause"); 
return 0; 
} 
void FillMatrix(TMatrix A) 
{ 
int i,j; 
for (i=0; i<N; i++) 
for (j=0; j<N; j++) 
A[i][j]=(j-5.5)*(i-3.2)*(i-7.4); 
} 
void PrintMatrix(TMatrix A) 
{ 
int i,j; 
printf("Matrix\n"); 
for (i=0; i<N; i++) { 
for (j=0; j<N; j++) 
printf ("%7.2f ",A[i][j]); 
printf ("\n"); 
} 
} 
void GetVector(TVector M, TMatrix A) 
{ int i, k; 
for (k=-10; k<=8; k++)
{for (i=0; i<N; i++)
{if ((N-i+k)<N && (N-i+k)>=0 && M[k]>A[i][N-i+k])
M[k]=A[i][N-i+k];
}
} 
}
void PrintVector(TVector M) 
{ 
int k; 
printf("Vector: \n"); 
for (k=-10; k<=8; k++) 
printf ("%5.2f ", M[k]); 
printf("\n"); 
} 
double G(TVector M) 
{int k; 
double s=0; 
for (k=-10; k<=8; k++) 
s=s+M[k]+M[k+1]; 
return s; 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 14:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти ошибку в коде (C++):

Найти сумму целых отрицательных чисел удовлетворяющих условию (найти и исправить ошибку в коде) - C++
#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int y = 0; for(int i = -21; i &lt; -99; i+=3) ...

Найти ошибку в коде - C++
Не вижу ошибку, кофе видимо плох) #include &lt;stdio.h&gt; #include &lt;math.h&gt; int main () { float pi=3.14151926; int...

Найти ошибку в коде - C++
Здравствуйте!!! помогите пожалуйста с кодом...мне нужен C++ вопрос таков...в чем я ошибся, при написании кода? )))

Найти ошибку в коде - C++
Ребят , есть массив , но сколько бы чисел я не вводил , ОТРИЦАТЕЛЬНЫХ нету . Как исправить ? #include &quot;stdafx.h&quot; #include...

Найти ошибку в коде - C++
У меня стоит задача, в массиве из 10 чисел, который задается двумя способами, выполнить два способа сортировки: выбором и распределением по...

Найти ошибку в коде - C++
Доброго времени суток! Потихоньку начал изучать данный язык и на первых этапах непонятки. #include &lt;iostream&gt; #include &lt;stdio.h&gt; ...

14
SatanaXIII
Супер-модератор
Эксперт С++
5643 / 2678 / 252
Регистрация: 01.11.2011
Сообщений: 6,574
Завершенные тесты: 1
27.02.2014, 15:36 #2
Насютка, не надо дублировать темы. Если у вас появилась какая-либо информация по именно этому вашему заданию, то приводите ее в этой теме.
0
zss
Модератор
Эксперт С++
6583 / 6145 / 2024
Регистрация: 18.12.2011
Сообщений: 16,020
Завершенные тесты: 1
27.02.2014, 16:42 #3
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
#include <stdio.h>
#include <conio.h>
#include <float.h>
typedef double TMatrix[10][10]; 
typedef double TVector[19]; 
const int N=10; 
void FillMatrix(TMatrix A); 
void PrintMatrix(TMatrix A); 
void GetVector(TVector M, TMatrix A); 
void PrintVector(TVector M); 
double G(TVector M); 
int main() 
{ 
    double u; 
    TMatrix A; 
    TVector M; 
    FillMatrix(A); 
    PrintMatrix(A); 
    GetVector(M,A); 
    PrintVector(M); 
    u=G(M); 
    printf("G=%9.5f\n", u); 
    getch(); 
    return 0; 
} 
void FillMatrix(TMatrix A) 
{ 
    int i,j; 
    for (i=0; i<N; i++) 
    for (j=0; j<N; j++) 
        A[i][j]=(j-5.5)*(i-3.2)*(i-7.4); 
} 
void PrintMatrix(TMatrix A) 
{ 
    int i,j; 
    printf("Matrix\n"); 
    for (i=0; i<N; i++) 
    { 
        for (j=0; j<N; j++) 
            printf ("%7.2f ",A[i][j]); 
        printf ("\n"); 
    } 
} 
void GetVector(TVector M, TMatrix A) 
{ 
    int i, k,j; 
    for (k=0; k<2*N-1; k++)
        M[k]=DBL_MAX;
    for (i=0; i<N; i++)
    {
        for (j=0; j<N; j++)
        {
            k=i+j;
            if (M[k]>A[i][j])
                M[k]=A[i][j];
        }
    }
}
void PrintVector(TVector M) 
{ 
    int k; 
    printf("Vector: \n"); 
    for (k=0; k<2*N-1; k++) 
        printf ("%5.2f ", M[k]); 
    printf("\n"); 
} 
double G(TVector M) 
{
    int k; 
    double s=0; 
    for (k=0; k<2*N-2; k++) 
        s+=M[k]+M[k+1]; 
    return s; 
}
1
Насютка
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 36
27.02.2014, 18:48  [ТС] #4
zss, подскажите, пожалуйста, в чем заключается функция DBL_MAX ?
0
KOPOJI
Эксперт HTML/CSSЭксперт PHP
16702 / 6624 / 433
Регистрация: 12.06.2012
Сообщений: 19,879
Завершенные тесты: 1
27.02.2014, 18:58 #5
Это не функция, а константа. Она хранит максимальное значение числа с плавающей точкой двойной точности (double), объявляется в файле float.h, что, имхо, вполне ясно из названия константы..
0
Насютка
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 36
27.02.2014, 19:22  [ТС] #6
KOPOJI, задание еще в том, что конкретных значений, констант указывать нельзя
0
zss
Модератор
Эксперт С++
6583 / 6145 / 2024
Регистрация: 18.12.2011
Сообщений: 16,020
Завершенные тесты: 1
27.02.2014, 21:11 #7
{
Цитата Сообщение от Насютка Посмотреть сообщение
конкретных значений, констант указывать нельзя
Без констант ну никак не обойтись:
1-я: 10
const int N=10;
2-я: 0
for (i=0; i<N; i++)
и т.д. и т.п.
Так что, я думаю DBL_MAX не подпадает под юрисдикцию запретных.
0
Насютка
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 36
27.02.2014, 21:19  [ТС] #8
zss, преподаватель сказал, ни в коем случае нельзя учитывать конкретных значений, он с ними просто не принимает. вот как ему объяснить, что по-другому нельзя-вопрос
0
zss
Модератор
Эксперт С++
6583 / 6145 / 2024
Регистрация: 18.12.2011
Сообщений: 16,020
Завершенные тесты: 1
27.02.2014, 21:37 #9
Тогда нельзя и
C++
1
for (i=0; i<N; i++)
Добавлено через 5 минут
Если уж обойтись без DBL_MAX,
то придется завести еще целый массив признаков:
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
void GetVector(TVector M, TMatrix A) 
{ 
    int i, k,j; 
    bool P[2*N-1];
    for (k=0; k<2*N-1; k++)
    {
        P[k]=true;
     }
    for (i=0; i<N; i++)
    {
        for (j=0; j<N; j++)
        {
            k=i+j;
            if(P[k]) 
            {
                // первый раз встретился индекс k
                P[k]=false;
                M[k]=A[i][j];
            }else
            if (M[k]>A[i][j])
                M[k]=A[i][j];
        }
    }
}
0
Насютка
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 36
27.02.2014, 21:45  [ТС] #10
zss, по формуле, указанной в пункте «а» задания, используя значения номеров строк и столбцов, вычисляет элементы квадратной матрицы А={ aij| i, j=0, …, n-1}, где n – размер матрицы;
при разработке программы не следует учитывать конкретных значений элементов, полученных по формуле из пункта «а»
0
zss
Модератор
Эксперт С++
6583 / 6145 / 2024
Регистрация: 18.12.2011
Сообщений: 16,020
Завершенные тесты: 1
27.02.2014, 21:52 #11
Цитата Сообщение от Насютка Посмотреть сообщение
В качестве компонент вектора x выбрать минимальные элементы диагоналей матрицы А, параллельных побочной диагонали, включая побочную диагональ.
А это тогда что такое?
0
Насютка
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 36
27.02.2014, 22:52  [ТС] #12
zss, а что там не так?
0
zss
Модератор
Эксперт С++
6583 / 6145 / 2024
Регистрация: 18.12.2011
Сообщений: 16,020
Завершенные тесты: 1
28.02.2014, 06:29 #13
А что Вы хотели сказать своим постом №10?
0
Насютка
0 / 0 / 0
Регистрация: 27.02.2014
Сообщений: 36
28.02.2014, 06:45  [ТС] #14
zss, то, что нельзя учитывать конкретных значений в программе.
там нужно каким-то образом разделить матрицу на 2 части(до побочной диагонали, включая ее, и после нее). и, исходяя из этого, инициализировать минимальные значения
0
zss
Модератор
Эксперт С++
6583 / 6145 / 2024
Регистрация: 18.12.2011
Сообщений: 16,020
Завершенные тесты: 1
28.02.2014, 18:29 #15
Зачем делить, я привел Вам код, который не использует злополучную константу.
0
28.02.2014, 18:29
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2014, 18:29
Привет! Вот еще темы с ответами:

Найти ошибку в коде - C++
Помогите пожалуйста найти ошибку в коде: #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int main() ...

Найти ошибку в коде - C++
помогите пожалуйста, не могу найти проблему, из-за этого дальше учить С++ не могу // my5.cpp: определяет точку входа для консольного...

Найти ошибку в коде - C++
Помогите пж. найти ошибку в коде. Проверка на ошибки в мат выражениях. Примеры без ошибок: 4+3+(234+3)+2 3+21 45 Примеры с...

Найти ошибку в коде - C++
Скажите, пожалуйста, в чем у меня ошибка? Вот код #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;locale&gt; #include &lt;conio.h&gt; ...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.