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

Функция для матрицы - C++

Восстановить пароль Регистрация
 
babobka
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
13.12.2010, 18:40     Функция для матрицы #1
Помогите, я написал прогу, которая высчитывает значение выражения, ну оно собственно не так важно. В общем, мне осталось написать функцию, которая будет выводить на экран кол-во строк, содержащих хотя бы один элемент по модулю меньше единицы
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
#include "stdafx.h"
#include "iostream"
#include "conio.h"
using namespace std;
#define nmax 100
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a[nmax][nmax];
    int b[nmax][nmax];
    int c[nmax][nmax];
    int h[nmax][nmax];
    int m[nmax][nmax];
    int n,x,y,yA;
    cout << "Vvedite razmernost'" <<endl;
    cin >> n;
    cout << "Vvedite x" <<endl;
    cin >> x;
    cout << "Vvedite y" <<endl;
    cin >> y;
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
        {
            cout << "Vvedite element A[" <<i<< "][" <<j<< "]" <<endl;
            cin >> a[i][j];
        }
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
        {
            cout << "Vvedite element B[" <<i<< "][" <<j<< "]" <<endl;
            cin >> b[i][j];
        }
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
            c[i][j]=a[i][j]*b[i][j];        //A*B=C;
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
            a[i][j]=a[i][j]*y;              //A=y*A;
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
            h[i][j]=a[i][j]-c[i][j];        //H=A-C;
    for (int i=1;i<=n;i++)  
        for (int j=1;j<=n;j++)
            b[i][j]=(b[i][j]+x)*h[i][j];    //B=H(B+x);
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
            c[i][j]=a[i][j]-c[i][j];        //C=A-C;
    for (int i=1;i<=n;i++)
        for (int j=1;j<=n;j++)
        a[i][j]=a[i][j]*x;                  //A=A*x;
    for (int i=1;i<=n;i++)  
        for (int j=1;j<=n;j++)
            m[i][j]=b[i][j]-a[i][j];        //M=B-A;
    cout << endl;
    for (int i=1;i<=n;i++)
        {for (int j=1;j<=n;j++)
            cout << m[i][j];
        cout << endl;
        }
    getch();
    return 0;
}
Добавлено через 21 секунду
Результирующая - m
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 18:40     Функция для матрицы
Посмотрите здесь:

C++ Функция ввода матрицы
C++ функция, суммирует матрицы
C++ Функция сортировки матрицы
C++ Функция транспонирования матрицы
C++ Функция fread и матрицы
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Kill100
 Аватар для Kill100
359 / 248 / 33
Регистрация: 11.12.2010
Сообщений: 1,068
Завершенные тесты: 1
13.12.2010, 18:57     Функция для матрицы #2
#include "math.h"
fabs(m)
это модуль
если я правельно понял то изменить надо тут?
подключаешь
C++
1
#include "math.h"
а далее меняешь
C++
1
2
3
4
5
6
7
8
 
 
 
  for (int i=1;i<=n;i++)
                {for (int j=1;j<=n;j++)
                        if (fabs(m[i][j])>1) cout<<m[i][j];
                cout << endl;
                }
babobka
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
13.12.2010, 19:01  [ТС]     Функция для матрицы #3
нееееет. о не должен ВМЕСТО результата выводить , а рядом с ним же
Kill100
 Аватар для Kill100
359 / 248 / 33
Регистрация: 11.12.2010
Сообщений: 1,068
Завершенные тесты: 1
13.12.2010, 19:19     Функция для матрицы #4
Цитата Сообщение от babobka Посмотреть сообщение
нееееет. о не должен ВМЕСТО результата выводить , а рядом с ним же
Ну так допиши это ниже....

Ps странное у тебя умножение матриц. Поэлементное.
Не математическое.
В обще то умножают строка на столбец
babobka
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
15.12.2010, 13:47  [ТС]     Функция для матрицы #5
Цитата Сообщение от Kill100 Посмотреть сообщение
#include "math.h"
fabs(m)
это модуль
если я правельно понял то изменить надо тут?
подключаешь
C++
1
#include "math.h"
а далее меняешь
C++
1
2
3
4
5
6
7
8
 
 
 
  for (int i=1;i<=n;i++)
                {for (int j=1;j<=n;j++)
                        if (fabs(m[i][j])>1) cout<<m[i][j];
                cout << endl;
                }
не работает
Kill100
 Аватар для Kill100
359 / 248 / 33
Регистрация: 11.12.2010
Сообщений: 1,068
Завершенные тесты: 1
15.12.2010, 21:52     Функция для матрицы #6
Цитата Сообщение от babobka Посмотреть сообщение
не работает
В смысле не работает??
у меня работает.
Или она должна выводить и сами элементы по модулю???
тогда
C++
1
cout<<fabs(m[i][j])<<" "
Ps тестировал не пожалел вручную 18 элементов забить..
Но обычно так не делают (введите 1 введите 2 3 итд)
babobka
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
15.12.2010, 22:06  [ТС]     Функция для матрицы #7
мож я через жопу сделал) а это скорее всего)
запили в мою задачу так, как надо, а то я вообще нубас такой

Добавлено через 12 минут
ты там знак > поставил, а надо было меньше. она выводит только саму строку, а надо кол-во
Kill100
 Аватар для Kill100
359 / 248 / 33
Регистрация: 11.12.2010
Сообщений: 1,068
Завершенные тесты: 1
15.12.2010, 23:33     Функция для матрицы #8
Цитата Сообщение от babobka Посмотреть сообщение
мож я через жопу сделал) а это скорее всего)
запили в мою задачу так, как надо, а то я вообще нубас такой

Добавлено через 12 минут
ты там знак > поставил, а надо было меньше. она выводит только саму строку, а надо кол-во
Упс сори не заметил что меньше
А количество тогда так

C++
1
2
3
4
5
6
7
8
9
int kolvo=0;  
for (int i=1;i<=n;i++)
                {for (int j=1;j<=n;j++)
                        if (fabs(m[i][j])<1) {cout<<m[i][j];//если их выводить не надо то можно удалить
                                         kolvo++;  
                                        ;};
                cout << endl;
                };
cout << "Количество элементов"<<kilvo<<endl;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2010, 19:28     Функция для матрицы
Еще ссылки по теме:

Функция для вычисления суммы элементов матрицы кратных 3 C++
Функция для вычисления следа матрицы и произведения матриц C++
И снова класс Матрицы с функция-член класса для нахождения определителя C++

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

Или воспользуйтесь поиском по форуму:
babobka
 Аватар для babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
16.12.2010, 19:28  [ТС]     Функция для матрицы #9
кстати, она работает неправильно, она всегда пишет 1

Добавлено через 1 час 18 минут
ааа нет, всё работает это я намутил!)

Добавлено через 17 минут
хотя нет, он только пишет кол-во элементов, а мне надо было кол-во строк ,содержащих эти элементы
Yandex
Объявления
16.12.2010, 19:28     Функция для матрицы
Ответ Создать тему
Опции темы

Текущее время: 20:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru