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

Рассчитать элементы квадратной матрицы по заданной формуле. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ std::list - преобразование типов в контейнере http://www.cyberforum.ru/cpp-beginners/thread624763.html
Здравствуйте. Суть проблемы попробую передать в коде class A { }; class B : public A { public: B (int) {/*...*/} B () {/*...*/}
C++ Ошибка с преобразованием char В задачке дана структура и проттотип функции. Функция должна присваивать имя структуре. Но мне выдаёт ошибку: невозможно преобразовать "const char *" в "char " структура: struct golf { char fullname; int handicap; }; функция void setgolf(golf & g,const char * name, int hc) http://www.cyberforum.ru/cpp-beginners/thread624756.html
Написание Dll в matlab для c++ C++
Привет всем! Объясните школьнику, почему иногда DLL пишутся в matlab, в каких целях это применяется? И чем это лучше по сравнению с обычным созданием dll в сишном компиляторе. Спасибо.
std::sort(iterator, iterator, method) подскажите как исправить C++
Уважаемые Знатоки!!! Вашему вниманию предоставляю код: #include "stdafx.h" #include <vector> #include <algorithm> class Interface{ public: virtual ~Interface(){} virtual int GetI() = 0;
C++ Теги файлов http://www.cyberforum.ru/cpp-beginners/thread624717.html
Можно ли средствами С++ изменять теги аудиофайлов (название, альбом, год и т.д.)? Гугл мне не помог - выдает инфу по изменениям атрибутов файла и готовые программы для работы с вышеописанными тегами. Но их же на чем-то и как-то писали?)
C++ Code::Blocks ругается При компиляции Code::Blocks ругается на a = rand() % 1 + 0; почему?. #include<iostream> using namespace std; int counter_1 = 0, counter_0 = 0; inline void myFunc(); int main() { for(int a = 1; a <= 100 ;a++) myFunc(); подробнее

Показать сообщение отдельно
NachMed
0 / 0 / 0
Регистрация: 17.07.2012
Сообщений: 31
17.07.2012, 18:43  [ТС]     Рассчитать элементы квадратной матрицы по заданной формуле.
Цитата Сообщение от edward_jonson Посмотреть сообщение
Для формирования матрицы А брал индексы i+1, j+1, т.к. если брать с нуля, то происходит деление на 0.
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
#include <iostream>
#include <cmath>
#include <iomanip>
 
using namespace std;
 
const int N = 8;
int main()
{
    cout << "Creating matrix A:" << endl;
    double A[N][N] = {0};
 
    for(int i = 0; i < N; i ++)
    {
        for(int j = 0; j < N; j ++)
        {
            A[i][j] = ( pow((double)j+1,(double)1/(i+1)) + pow((double)i+1,(double)1/(j+1)) ) / sqrt((double)((i+1)*(j+1)));
            cout << setw(9) << A[i][j];
        }
        cout << endl;
    }
 
    cout << endl << endl;
 
    cout << "Creating array X:" << endl;
    double X[N];
    for (int i = 0; i < N; i ++)
    {
        double sumPos = 0.0;
        int countPos = 0;
        for(int j = 0; j < N; j ++)
        {
            if(A[i][j] > 0)
            {
                countPos ++;
                sumPos += A[i][j];
            }
        }
        X[i] = sumPos / (double)countPos;
        cout << setw(9) << X[i];
    }
 
    cout << endl << endl;
 
    cout << "Sorting array X:" << endl;
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N - i - 1; j ++)
            if ( fabs(X[j]) < fabs(X[j+1]) )
            {
                double swap = X[j];
                X[j] = X[j+1];
                X[j+1] = swap;
            }
    for (int i = 0; i < N; i ++) cout << setw(9) << X[i];
 
    cout << endl << endl;
 
    return 0;
}
Не знаю даже как благодарить))). А если вводить размерность матрицы, тогда надо написать вместо "const int N = 8" это "cin>>N" только уже в main?

Добавлено через 14 минут
Цитата Сообщение от edward_jonson Посмотреть сообщение
Для формирования матрицы А брал индексы i+1, j+1, т.к. если брать с нуля, то происходит деление на 0.
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
#include <iostream>
#include <cmath>
#include <iomanip>
 
using namespace std;
 
const int N = 8;
int main()
{
    cout << "Creating matrix A:" << endl;
    double A[N][N] = {0};
 
    for(int i = 0; i < N; i ++)
    {
        for(int j = 0; j < N; j ++)
        {
            A[i][j] = ( pow((double)j+1,(double)1/(i+1)) + pow((double)i+1,(double)1/(j+1)) ) / sqrt((double)((i+1)*(j+1)));
            cout << setw(9) << A[i][j];
        }
        cout << endl;
    }
 
    cout << endl << endl;
 
    cout << "Creating array X:" << endl;
    double X[N];
    for (int i = 0; i < N; i ++)
    {
        double sumPos = 0.0;
        int countPos = 0;
        for(int j = 0; j < N; j ++)
        {
            if(A[i][j] > 0)
            {
                countPos ++;
                sumPos += A[i][j];
            }
        }
        X[i] = sumPos / (double)countPos;
        cout << setw(9) << X[i];
    }
 
    cout << endl << endl;
 
    cout << "Sorting array X:" << endl;
    for (int i = 0; i < N; i ++)
        for (int j = 0; j < N - i - 1; j ++)
            if ( fabs(X[j]) < fabs(X[j+1]) )
            {
                double swap = X[j];
                X[j] = X[j+1];
                X[j+1] = swap;
            }
    for (int i = 0; i < N; i ++) cout << setw(9) << X[i];
 
    cout << endl << endl;
 
    return 0;
}
И еще вопросик. Вы сделали упорядочивание вектора, конечно спасибо за это но мне по заданию надо упорядочить побочную диагональ матрицы А по убывынию абсолютных значений.
 
Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru