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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
#1

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

13.12.2010, 18:40. Просмотров 373. Ответов 8
Метки нет (Все метки)

Помогите, я написал прогу, которая высчитывает значение выражения, ну оно собственно не так важно. В общем, мне осталось написать функцию, которая будет выводить на экран кол-во строк, содержащих хотя бы один элемент по модулю меньше единицы
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
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.12.2010, 18:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция для матрицы (C++):

Функция генерирует одни нули для матрицы - C++
Написал функцию, которая должна рандомно генерировать матрицу заданых размеров, но она выдает одни нули: double **CreateMatrix() { ...

Функция для вычисления суммы элементов матрицы кратных 3 - C++
Не правильный ответ выдает. Вот что я запилил: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; using namespace std; int SUM(int a) { ...

Функция для нахождение максимального элемента диагонали матрицы - C++
Составить функцию нахождения максимального элемента Mx в диагонали матрицы,параллельной побочной диагонали. Используя эту функцию D(5.5)...

Функция для вычисления следа матрицы и произведения матриц - C++
Дан ряд квадратных матриц A, {A}^{2}, ..., {A}^{N}. Причем N вводим сами. Надо вычислить след(сумма элементов на главной диагонали) каждой...

Функция сортировки элементов по возрастанию отдельно для каждой строки матрицы - C++
void sort(int ar) { for (int i = 0; i &lt; size; i++) { for (int j = i + 1; j &lt; size; j++) if (ar &gt; ar) { int t =...

И снова класс Матрицы с функция-член класса для нахождения определителя - C++
Проблема в следующем испробовал все варианты, которые закомментированы, все рабочие ну некоторые с отрицательными числами неправильно...

8
Kill100
406 / 272 / 37
Регистрация: 11.12.2010
Сообщений: 1,156
Завершенные тесты: 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;
                }
0
babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
13.12.2010, 19:01  [ТС] #3
нееееет. о не должен ВМЕСТО результата выводить , а рядом с ним же
0
Kill100
406 / 272 / 37
Регистрация: 11.12.2010
Сообщений: 1,156
Завершенные тесты: 1
13.12.2010, 19:19 #4
Цитата Сообщение от babobka Посмотреть сообщение
нееееет. о не должен ВМЕСТО результата выводить , а рядом с ним же
Ну так допиши это ниже....

Ps странное у тебя умножение матриц. Поэлементное.
Не математическое.
В обще то умножают строка на столбец
0
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;
                }
не работает
0
Kill100
406 / 272 / 37
Регистрация: 11.12.2010
Сообщений: 1,156
Завершенные тесты: 1
15.12.2010, 21:52 #6
Цитата Сообщение от babobka Посмотреть сообщение
не работает
В смысле не работает??
у меня работает.
Или она должна выводить и сами элементы по модулю???
тогда
C++
1
cout<<fabs(m[i][j])<<" "
Ps тестировал не пожалел вручную 18 элементов забить..
Но обычно так не делают (введите 1 введите 2 3 итд)
0
babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
15.12.2010, 22:06  [ТС] #7
мож я через жопу сделал) а это скорее всего)
запили в мою задачу так, как надо, а то я вообще нубас такой

Добавлено через 12 минут
ты там знак > поставил, а надо было меньше. она выводит только саму строку, а надо кол-во
0
Kill100
406 / 272 / 37
Регистрация: 11.12.2010
Сообщений: 1,156
Завершенные тесты: 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;
0
babobka
1 / 1 / 0
Регистрация: 20.10.2010
Сообщений: 166
Записей в блоге: 1
16.12.2010, 19:28  [ТС] #9
кстати, она работает неправильно, она всегда пишет 1

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

Добавлено через 17 минут
хотя нет, он только пишет кол-во элементов, а мне надо было кол-во строк ,содержащих эти элементы
0
16.12.2010, 19:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2010, 19:28
Привет! Вот еще темы с ответами:

Функция: получить две матрицы и вернуть номер матрицы, среднее арифметическое элементов которой максимально - C++
нужна помощь в этой задаче!!! Написать функцию, получающую в качестве параметров два массива целого типа произвольного размера и...

функция, суммирует матрицы - C++
можно ли организовать её в таком виде? int normsumm(int *perv, int *vtor, int razm) { int *ps, summ; ps=summ; ...

Функция транспонирования матрицы - C++
(другими словами, просто двумерный целочисленный массив) размера rows×cols, и возвращает транспонированную матрицу MT (тоже двумерный...

Функция fread и матрицы - C++
Подскажите, как правильно исп. эту ф-ию для считывания информации из файла в матрицу. Есть маленькая программка, которая никак не хочет...


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

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

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