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

Исправьте ошибку для ленточной стр. симетр. матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структуры.Вывести список http://www.cyberforum.ru/cpp-beginners/thread827358.html
Здраствуйте. Помогите,пожалуйста,с програмой, немного не понимаю как сделать В отделе кадров хранится список преподавателей университета, в котором указано Ф.И.О. преподавателя, его возраст, должность, факультет, на котором работает преподаватель. Вывести список доцентов младше 55 лет. #include <iostream> using namespace std; struct { char fio; int vik;
Visual C++ Необработанное исключение в "0x00406a08" Добрый вечер! Помогите пожалуйста!) При отладке приложение выдает ошибку-Необработанное исключение в "0x00406a08" в "GVF_Snake.exe": 0xC0000005: Нарушение прав доступа при чтении "0xfdfdfe05". Также выдает в видимых-GradFx 0x0054ac70 double * * CXX0030: ошибка: невозможно вычислить выражение - GradFx 0xfdfdfdfd double * CXX0030: ошибка: невозможно вычислить выражение ... http://www.cyberforum.ru/cpp-beginners/thread827350.html
C++ Развернуть матрицу подиагонально в одномерный массив
Развернуть матрицу подиагонально в одномерный массив Конечно были идеи: вроде приписывать нулевые матрицы и брать у них главную диагональ... ну или записать две матрицы где чередуются с нулевыми диагоналями... Прошу помощи =( Буду премного благодарен !
C++ ошибка потокового ввода cin
Цель: сделать проверку ввода с клавиатуры числа unsigned short типа. Проблема: при вводе значения кпримеру: 2A , то переходит к следующему считыванию значения и в него пытается вписать что-то. Код: unsigned short UserId; // Идентификатор пользователя cout << " Введите индентификатор пользователя (0;255): "; // Интервал исходя из 2^8, где 8-биты cin >> UserId; while(cin.fail() || !(UserId >=...
C++ в чем ошибка? задача на "сортировку массива" http://www.cyberforum.ru/cpp-beginners/thread827315.html
Подскажите в чем ошибка в коде. Я должен отсортировать массив по убыванию элементов. #include <iostream> #include <conio.h> #include<time.h> using namespace std; const int N=10; void main () { int A; int B; srand(time(NULL));
C++ Циклы и использование case Вот задание: Напишите программу, которая читает из cin входные числа (целые или вещественные) и суммирует, умножает или делит их, прекращая процесс после ввода 0. Сконструируйте три версии этой программы для каждого случая с использование циклов while, do-while, for. Вот моя программа: Только 1 проблемка, циклы while и for работают, но вот в цикле do_while при вводе 0 не происходит выход из... подробнее

Показать сообщение отдельно
кщтеук34
1 / 1 / 0
Регистрация: 27.02.2013
Сообщений: 70

Исправьте ошибку для ленточной стр. симетр. матрицы - C++

03.04.2013, 21:42. Просмотров 256. Ответов 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
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
#include "stdafx.h" 
#include <iostream> 
#include <cstdlib>
 
using namespace std; 
 
void Input(double ** array, int size) 
{
    for (int v = 0; v < size; v++)
    { 
        for (int h = 0; h < size; h++)
        { 
            if (abs(v-h) > size/4)
            { 
            cout << "(" << v << ")(" << h << "): 0";// << endl;
            } 
            else
            { 
                cout << "(" << v << ")(" << h << "): ";
                cin >> array[v][h - (v - size/4 - 1)];
            }
        }
    }
 }
int getEl(double ** array, int v, int h, int size) 
{
    if (abs(v-h) > size/4)
    { 
        return 0; 
    } 
    else 
    { 
        return array[v][h - (v - size/4 - 1)]; 
    }
}
void Output(double ** array, int size) 
{   
    cout << endl <<"Matrica:" << endl;
    for(int v = 0; v < size; v++)
    { 
        for(int h = 0; h < size; h++) 
        cout <<getEl(array, v, h, size);
        cout << endl;
    }
}
 
 
 
void inversion(double **A, int N)
{
    double temp;
 
    double **E = new double *[N];
 
    for (int i = 0; i < N; i++)
        E[i] = new double [N];
 
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
        {
            E[i][j] = 0.0;
 
            if (i == j)
                E[i][j] = 1.0;
        }
 
    for (int k = 0; k < N; k++)
    {
        temp = A[k][k];
 
        for (int j = 0; j < N; j++)
        {
            A[k][j] /= temp;
            E[k][j] /= temp;
        }
 
        for (int i = k + 1; i < N; i++)
        {
            temp = A[i][k];
 
            for (int j = 0; j < N; j++)
            {
                A[i][j] -= A[k][j] * temp;
                E[i][j] -= E[k][j] * temp;
            }
        }
    }
 
    for (int k = N - 1; k > 0; k--)
    {
        for (int i = k - 1; i >= 0; i--)
        {
            temp = A[i][k];
 
            for (int j = 0; j < N; j++)
            {
                A[i][j] -= A[k][j] * temp;
                E[i][j] -= E[k][j] * temp;
            }
        }
    }
 
    for (int i = 0; i < N; i++)
        for (int j = 0; j < N; j++)
            A[i][j] = E[i][j];
 
    for (int i = 0; i < N; i++)
        delete [] E[i];
 
    delete [] E;
}
 
int main() 
{
//-------Задаём размерность матрицы
    cout << "Vvedite razmernost': ";
    int size; 
    cin >> size;
//-------Создаём матрицу
    double **array1 = new double *[size]; 
        for (int v = 0; v < size; v++) 
        array1[v] = new double[size/2 + 1]; 
        cout << "Vvedite matricy: " << endl;
        Input(array1, size);
        Output(array1, size);
//--------Сумма элементов
 
inversion(array1, size);
Output(array1, size);
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 00:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru