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

Подпрограмма определителя произвольной квадратной матрицы - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пробежать все элементы контейнера http://www.cyberforum.ru/cpp-beginners/thread1637171.html
Очень странная ошибка возникает в цикле: for (std::vector<int>::iterator it = Z.begin() ; it != Z.end(); ++it) 43 54 main.cpp no match for 'operator!=' (operand types are 'std::vector<int>::iterator {aka __gnu_cxx::__normal_iterator<int*, std::vector<int> >}' and 'std::vector<MyStruct>::iterator {aka __gnu_cxx::__normal_iterator<MyStruct*, std::vector<MyStruct> >}') Z - здесь вектор...
C++ Ошибка в конструкторе структуры При компиляции посредством MinGW и запуске выполняет конструктор один раз, а все последующие пропускаются и программа завершается (с кодом 0(?)). В чём может быть проблема? #include "iostream" #include "string" using std::string; struct book { string title; http://www.cyberforum.ru/cpp-beginners/thread1637165.html
Определить, сколько раз в список входит элемент со значением последнего элемента C++
Создать однонаправленный линейный список. Тип элементов списка – float. Вывести список. Определить сколько раз входит в список элемент со значением последнего элемента. Малость получилось, а вот с определением входимости мозг перестал думать. Не ищет элемент и не выводит соответственно. Помогите, пожалуйста. Заранее благодарен. #define _USE_MATH_DEFINES #include <math.h> #include...
C++ Вычислить среднее арифметическое сумм элементов матриц в заштрихованой области
1. Для каждой из двух заданных матриц размером m на n найти максимальный по модулю элемент матрицы. Переставить строчки и столбцы каждой матрицы так, что бы максимальный элемент был на пересечении k-строчки и k-столбца. 2. Дано три квадратные матрицы A, B, C. Вычислить среднее арифметическое сумм элементов этих матриц, которые находятся в заштрихованой области. Ребят, если кто может, напишете...
C++ Перенести в начало непустого двунаправленного списка L его последний элемент http://www.cyberforum.ru/cpp-beginners/thread1637153.html
Облазил форум, ответа так и не нашел :(помогите разобраться. Создать два двунаправленных списка L1, L2. Вывести на экран оба списка. Cоставить программу, которая переносит в начало непустого списка L его последний элемент. Выбор функции по меню. сделал, а тут не могу. #define _USE_MATH_DEFINES #include <math.h> #include <stdio.h> #include <conio.h> #include <cstdlib>...
C++ Определить максимальный отрицательный элемент стека понимаю что боянщина, юзал поиск по сайту, но найти не смог. смысл: Создать стек из целых чисел. Оформить в виде функций: создание и добавление элемента в стек. Удаление элемента из стека. Просмотр содержимого стека. Определить макисмальный отрицательный элемент стека. Предусмотреть выбор функции по меню. сделано, а вот с этим уже мозг не варит. #define _USE_MATH_DEFINES #include <math.h>... подробнее

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

Подпрограмма определителя произвольной квадратной матрицы - C++

12.01.2016, 21:00. Просмотров 128. Ответов 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 "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#define EPS 0.000000001
 
int main()
{
    setlocale(LC_CTYPE, "rus");
    double **Am, *X, t;
    int i, j, k, x, y;
 
    printf("Введите размерность матрицы:\n");
    scanf_s("%d", &n);
 
    A = (double**)malloc(n * sizeof(double*));
    for (i = 0; i < n; i++)
        A[i] = (double*)malloc(n * sizeof(double));
    printf("Заполните матрицы A i b:\n");
 
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++) {
            printf("Введите A[%d][%d]=", i, j);
            scanf_s("%lf", &A[i][j]);
            Am[i][j] = A[i][j];
        }
    }
 
    printf("Исходная матрица:\n");
    for (i = 0; i < n; i++) {
        for (j = 0; j < n; j++)
            printf("%9.2lf", A[i][j]);
        printf("\n");
    }
    printf("\nОпределитель = %lf\n", DET);
    free(X);
    system("pause");
    return 0;
}
 
double DET(double**A, int n){
Am = (double**)malloc(n * sizeof(double*));
    for (i = 0; i < n; i++)
        Am[i] = (double*)malloc(n * sizeof(double));
    X = (double*)malloc(n * sizeof(double));
double kk;
 
    for (x = 0; x < (n - 1); x++) {
        for (y = (x + 1); y < n; y++) {
            kk = -Am[y][x] / Am[x][x];
            for (j = 0; j < n; j++) {
                Am[y][j] += kk * Am[x][j];
                if (fabs(Am[y][j]) < EPS) Am[y][j] = 0;
            }
        }
    }
 
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru