Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Rina_VMI
0 / 0 / 1
Регистрация: 03.12.2014
Сообщений: 9
#1

Переписать решение системы линейных уравнений с помощью указателей - C++

13.02.2015, 20:10. Просмотров 260. Ответов 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#include <iostream>
#include <math.h>
#include <conio.h>
#define N 100
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,".1251");
    cout<<"Коэффициенты системы линейных уравнений  заданы в виде прямоугольной матрицы.\n";
    cout<<"C помощью допустимых преобразований программа приводит систему к треугольному виду\n";
    cout<<"и находит количество строк, среднее арифметическое элементов которых меньше заданной величины\n";
    int i, j, n, m;
    //создаем массив
    cout << "Введите число строк:";
    cin >> n;
    cout << "Введите число столбцов: ";
    cin >> m;
 
    float **a = new float *[n];
 
    for (i = 0; i < n; i++)
        a[i] = new float [m];
    //инициализируем
    for (i = 0; i < n; i++)
        for (j = 0; j < m; j++)
        {
            cout << "Элемент " << "[" << i + 1 << ", " << j+1 << "]: ";
            cin >> a[i][j];
        }
    //выводим массив
    cout << "Исходная матрица: " << endl;
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            cout << a[i][j] << " ";
        cout << endl;
    }
    cout << endl;
    //Метод Гаусса
    //Прямой ход, приведение к верхнетреугольному виду
    float tmp, x[N];
    int k;
 
    for (i = 0; i < n; i++)
    {
        tmp = a[i][i];
        for (j = n; j >= i; j--)
            a[i][j] /= tmp;
        for (j = i + 1; j < n; j++)
        {
            tmp = a[j][i];
            for (k = n; k >= i; k--)
                a[j][k] -= tmp * a[i][k];
        }
    }
    //выводим массив
    cout << "Треугольный вид: " << endl;
 
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
            cout << a[i][j] << " ";
        cout << endl;
    }
    cout << endl;
    /*обратный ход*/
    x[n-1] = a[n-1][n];
    for (i = n-2; i >= 0; i--)
    {
        x[i] = a[i][n];
        for (j = i + 1;j < n;j++)
            x[i] -= a[i][j] * x[j];
    }
    //находим количество строк, среднее арифметическое элементов которых меньше заданной величины
    float vel, ar;
    int col;
    cout<<"Задайте величину:";
    cin>>vel;
    col=0;
    ar=0;
    for (int i=0; i<n; i++)
    {
        for (int j=0; j<m; j++)
        {
            ar=(a[i][j]+ar);
        }
        ar=ar/m;
        if (ar<vel)
            col=col+1;
    }
    cout<<"Кол-во строк,среднее арифметическое элементов которых меньше заданной величины:"<<col;
    getch();
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2015, 20:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переписать решение системы линейных уравнений с помощью указателей (C++):

Решение системы линейных уравнений с помощью обратной матрицы
Нужно решить систему уравнений с помощью обратной матрицы на с++ x1 + x2 +...

Решение системы линейных уравнений
Помогите решить на Си

Решение системы линейных уравнений
Компилятор wxDev-c++. Ошибка:C:\Program Files\Dev-Cpp\çàäà÷è\ãëàâà1\Ïåðâàÿ...

Решение системы линейных уравнений
Не могу сделать прогу на С++. Кто сделает - огромное спасибо. Решить систему...

Решение системы линейных уравнений.
\begin{cases} &amp; \text{ } cos(ax+2)...... x&gt;2 \\ &amp; \text{ } tg |x-2a| ...

Решение системы двух линейных уравнений
Привет всем. Я только недавно начал учить с++. Я вспомнил, что когда-то давно...

3
rao
857 / 412 / 158
Регистрация: 02.04.2014
Сообщений: 1,201
13.02.2015, 22:15 #2
какие данные? число строк/столбцов? что подразумевается под "организовать"?
0
Rina_VMI
0 / 0 / 1
Регистрация: 03.12.2014
Сообщений: 9
18.02.2015, 10:46  [ТС] #3
Задание так и звучит "организовать данные с помощью указателей" и все, ни слова больше)
0
Fallenworld
76 / 76 / 32
Регистрация: 14.04.2014
Сообщений: 408
18.02.2015, 11:27 #4
замените все переменные на указатели

C++
1
int i, j, n, m;
меняем на
C++
1
int *i(new int), *j(new int), *n(new int), *m(new int);
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2015, 11:27
Привет! Вот еще темы с решениями:

Численное решение системы линейных уравнений
Решить систему линейных уравнений: -сформировать матрицу А коэффициентов и...

Найти решение системы линейных уравнений
Даны действительные числа a1, b1, c1, a2, b2, c2. Выяснить, верно ли, что...

Решение системы линейных алгебраических уравнений
Добрый вечер!!! Помогите, пожалуйста, написать программу для решения системы...

Найти решение системы линейных уравнений
Даны действительные числа a1, b1, c1, a2, b2, c2. Выяснить, верно ли, что...


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

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

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