0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19

Задача: Обробка матриц

27.11.2010, 20:42. Показов 1143. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Дано матрицу А{a i,j},где i,j=1,2,3...n. составить программу формирования вектора B=(b1, b2, b3...bn), элементы которого находятся по формуле bj=(a i,j+a j,i),
значение n=5.

2 1 3 -4 2
-1 3 5 3 -1
1 2 1 4 1 = А{a i,j} значение ел. матрицы
3 4 1 4 1
3 -1 2 4 2

Это матрица 5 на 5( в принципе данные матрицы могут быть разные)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.11.2010, 20:42
Ответы с готовыми решениями:

ОБРОБКА ДВОВИМІРНИХ МАСИВІВ
ОБРОБКА ДВОВИМІРНИХ МАСИВІВ Задано двомірний масив (матрицю) А розміром m×x. Цілі числа m і n (у вигляді констант) та елементи масиву...

Задача про умножение введенных матриц на число
Условие задачи: Дано два вектора X=(x1, x2, ..., x20) и Y=(y1, y2, ..., y20). Найти произведение векторов X и Y на число АЛЬФА и сохранить...

Задача по представлению в памяти массивов и матриц. Системное программирование
Существенные сложности в задаче. Прошу помочь в написании кода Для разряженной матрицы целых чисел в соответствии с индивидуальным...

16
Шаровик затейник
 Аватар для Crudelis
696 / 445 / 78
Регистрация: 06.05.2010
Сообщений: 1,109
27.11.2010, 20:48
какая то странная матрица, что означает А{a i,j} вы точно ничего не напутали в условии?
0
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
27.11.2010, 20:52  [ТС]
Цитата Сообщение от Crudelis Посмотреть сообщение
какая то странная матрица, что означает А{a i,j} вы точно ничего не напутали в условии?
i и j это номер столбца и строчки =))
0
 Аватар для Vorox
26 / 25 / 10
Регистрация: 26.11.2010
Сообщений: 57
27.11.2010, 20:54
Цитата Сообщение от Oscar1209 Посмотреть сообщение
А{a i,j}
Имеется в виду "a" перед i,j.
0
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
27.11.2010, 21:03  [ТС]
Если хотите, то я могу даже скинуть программу которую я писал для этого задания, но она с ошибками=)) может вы сможете их исправить))
0
 Аватар для Vorox
26 / 25 / 10
Регистрация: 26.11.2010
Сообщений: 57
27.11.2010, 23:27
Цитата Сообщение от Oscar1209 Посмотреть сообщение
Если хотите, то я могу даже скинуть программу которую я писал для этого задания, но она с ошибками=)) может вы сможете их исправить))
Отпости тут свои наработки
0
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 09:54  [ТС]
Цитата Сообщение от Vorox Посмотреть сообщение
Отпости тут свои наработки
Лови =))
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
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
void vv_ms(int n,int m,float **c)
{int i,j;
puts("\n Vvesti matricu \n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{cout<<"A["<<i<<"]["<<j<<"]=";
 cin>>c[i][j];
}
}
void vd_ms (int n,int m,float **c)
{int i,j;
 puts ("\n Ishodnaya matrica \n");
 for(i=0;i<n;i++)
 {for (j=0;j<m;j++)
  {cout<<"A["<<i<<j<<"]="<<c[i][j];
  }
  }
  }
void vd_vc ( int n, float d[])
{int j;
 puts ("\n Rezultiruyshiy vector \n");
 for (j=0;j<n;j++)
 cout<<"b["<<j<<"]="<<d[j];
 }
float rez_vec (int n,int m , float **c, float d [ ])
{int j,i;
for(j=0;j<m;j++)
{
d[j]=0;
{for (i=0;i<n;i++)
d[j]+=c[i][j]+c[j][i];
}
}
return d[j];
}
void main ()
{int n,m;float a[5][5],b[5],**c;
puts ("\n Vvesti n\n");
cin>> n;
puts ("\n Vvesti m \n");
cin>>m;
**c=a[5][5];
vv_ms (n,m,c);
clrscr();
cout<<"\nLaboratorna robota BC_7\n" << "\nObrobka masiviv\n";
cout<<"\nStudenta grupi EMc-09-1\n";
cout<<"\nAlbu A.A.\n";
b[4]=rez_vec(n,m,c,b);
vd_ms(n,m,c);
vd_vc(n,b);
 }
0
5 / 5 / 0
Регистрация: 05.11.2009
Сообщений: 27
28.11.2010, 10:52
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
#include<iostream>
#include<conio.h>
#include<stdio.h>
#include<math.h>
using namespace std;
void vv_ms(int n,int m,float **c)
{int i,j;
puts("\n Vvesti matricu \n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{cout<<"A["<<i<<"]["<<j<<"]=";
 cin>>c[i][j];
}
}
void vd_ms (int n,int m,float **c)
{int i,j;
 puts ("\n Ishodnaya matrica \n");
 for(i=0;i<n;i++)
 {for (j=0;j<m;j++)
  {cout<<"A["<<i+1<<j+1<<"]="<<c[i][j]<<endl;
  }
  }
  }
void vd_vc ( int n, float *d)
{int j;
 puts ("Rezultiruyshiy vector\n");
 for (j=0;j<n;j++)
 cout<<"b["<<j<<"]="<<d[j]<<endl;
 }
float* rez_vec (int n,int m , float **c)
{int j,i;
float *d=new float[n];
for(j=0;j<m;j++)
{
d[j]=0;
{for (i=0;i<n;i++)
d[j]+=c[i][j]+c[j][i];
}
}
return d;
}
int main ()
{int n,m;
float *b,**c;
puts ("Vvesti n:");
cin>> n;
puts ("Vvesti m:");
cin>>m;
c=new float*[n];
for(int i=0;i<n;i++)
c[i]=new float[m];
b=new float[n];
vv_ms (n,m,c);
cout<<"\nLaboratorna robota BC_7\n" << "\nObrobka masiviv\n";
cout<<"\nStudenta grupi EMc-09-1\n";
cout<<"\nAlbu A.A.\n";
b=rez_vec(n,m,c);
vd_ms(n,m,c);
vd_vc(n,b);
getch();
for(int i=0;i<n;i++)
delete c[i];
delete []c;
delete []b;
return 0;
 }
вроде работает
0
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 11:08  [ТС]
lutick
компиляция пишет
Ошибку в строке __ using namespace std;
что тут должно быть??
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
28.11.2010, 11:20
Цитата Сообщение от Oscar1209 Посмотреть сообщение
Ошибку в строке __ using namespace std;
Какой у вас компилятор?
0
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 11:26  [ТС]
Цитата Сообщение от MILAN Посмотреть сообщение
Какой у вас компилятор?
Turbo C++ v4.5

а у вас всё работает??
какой вы программой пользуетесь?? =)
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
28.11.2010, 11:41
У меня VS 2008, сейчас попробую отредактировать!!!

Добавлено через 12 минут
Вот, работает, только незнаю правильно ли!!!!

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
#include <iostream.h>
#include <conio.h>
#include <malloc.h>
int isprime (int n) //функия определяющая простое число или нет(взято с википедии)
{
    if (n < 2) return 0;
    if (n == 2) return 1;
    if (n % 2 == 0) return 0;
    for (int j = 3; j * j <= n; j += 2)
     if (n % j == 0) return 0;
    return 1;
}
long int PerfectNumber(long int m) //функция возвращающая сумму делителей числа
{
    long int s=1;
    for(int i=2;i<=m/2;i++)
        if(m%i==0) s+=i;
    return s;
}
int main()
{
    cout<<"Enter number elements of array  = ";
    int n;
    cin>>n;
    int i;
    long int *x;
        x=(long int *)malloc(n*sizeof(long int));
    cout<<"Enter lelments via <Enter>:\n";
    int m=0;
    for(i=0;i<n;i++)
    {
        cin>>x[i];
        if(isprime(x[i])) m++; //m - определяем размер массива Y
    }
 
    int *y;
    y=(int *)malloc(n*sizeof(int));
    int k=0;
    for(i=0;i<n;i++)
    {
        if(isprime(x[i]))
        {
            y[k]=i; //присваиваем индекс элемента массива Х содержащий
                    //простое число в массив У
            k++;
        }
    }
    k=0;
    for(i=0;i<n;i++) if(x[i]==PerfectNumber(x[i])) k++;
    cout<<"\nNumber committed elements of array Х = "<<k<<endl;
    if(m==0)
        cout<<"In array X is not prime numbers.";
    else
    {
        cout<<"\nArray Y:\n";
        for( i=0;i<m;i++) cout<<y[i]<<" "; //т.к. нумерация массива идет с 0, то если нужно чтобы
                                                // она была с 1 - y[i]+1
    }
 
    free(x);
    free(y);
    getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 11:57  [ТС]
MILAN
а вы какую програме редактировали ту что я кидал или тут что кинул lutick??
работает ваша прог. неправильно))
но я пост. спс за старание))
0
5 / 5 / 0
Регистрация: 05.11.2009
Сообщений: 27
28.11.2010, 12:12
поробуй ето
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
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
#include<alloc.h>
#include<math.h>
//using namespace std;
void vv_ms(int n,int m,float **c)
{int i,j;
puts("\n Vvesti matricu \n");
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{cout<<"A["<<i<<"]["<<j<<"]=";
 cin>>c[i][j];
}
}
void vd_ms (int n,int m,float **c)
{int i,j;
 puts ("\n Ishodnaya matrica \n");
 for(i=0;i<n;i++)
 {for (j=0;j<m;j++)
  {cout<<"A["<<i+1<<j+1<<"]="<<c[i][j]<<endl;
  }
  }
  }
void vd_vc ( int n, float *d)
{int j;
 puts ("Rezultiruyshiy vector\n");
 for (j=0;j<n;j++)
 cout<<"b["<<j<<"]="<<d[j]<<endl;
 }
float* rez_vec (int n,int m , float **c)
{int j,i;
float *d=new float[n];
for(j=0;j<m;j++)
{
d[j]=0;
{for (i=0;i<n;i++)
d[j]+=c[i][j]+c[j][i];
}
}
return d;
}
int main ()
{int n,m;
float *b,**c;
puts ("Vvesti n:");
cin>> n;
puts ("Vvesti m:");
cin>>m;
c=new float*[n];
for(int i=0;i<n;i++)
c[i]=new float[m];
b=new float[n];
vv_ms (n,m,c);
cout<<"\nLaboratorna robota BC_7\n" << "\nObrobka masiviv\n";
cout<<"\nStudenta grupi EMc-09-1\n";
cout<<"\nAlbu A.A.\n";
b=rez_vec(n,m,c);
vd_ms(n,m,c);
vd_vc(n,b);
getch();
for(int i=0;i<n;i++)
delete c[i];
delete []c;
delete []b;
return 0;
 }
1
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 12:33  [ТС]
lutick
а какой ты пользуешься программой???
0
Эксперт С++
 Аватар для Mr.X
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
28.11.2010, 12:49
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
//////////////////////////////////////////////////////////////////////////////////////
//Дано матрицу А{a i,j},где i,j=1,2,3...n. составить программу формирования вектора 
//B=(b1, b2, b3...bn), элементы которого находятся по формуле bj=(a i,j+a j,i),
//значение n=5.
//////////////////////////////////////////////////////////////////////////////////////
#include <algorithm>
#include <functional>
#include <iostream>
#include <vector>
//////////////////////////////////////////////////////////////////////////////////////
typedef int                     T_num;
typedef std::vector<T_num>      T_row_col;
typedef std::vector<T_row_col>  T_matr;
//////////////////////////////////////////////////////////////////////////////////////
void  print_matr(const T_matr&  matr)
{
    for(T_matr::const_iterator  row_cur_it = matr.begin(); 
        row_cur_it != matr.end(); ++row_cur_it)
    {
        std::copy(row_cur_it->begin(), row_cur_it->end(), 
                  std::ostream_iterator<T_num>(std::cout, "\t"));                  
        std::cout << std::endl
                  << std::endl
                  << std::endl;
    }
}
//////////////////////////////////////////////////////////////////////////////////////
T_matr  transp(const T_matr&  matr)
{
    T_matr  matr_res(matr);
    for(size_t  i = 0; i < matr.size(); ++i)
    {
        for(size_t  j = 0; j < matr.size(); ++j)
        {
            matr_res[i][j] = matr[j][i];
        }
    }
    return  matr_res;
}
//////////////////////////////////////////////////////////////////////////////////////
void  print_row_j_and_col_j_sum_from_matr(T_num  j, const T_matr&  matr)
{
    T_row_col  row_j(matr[j]);
    T_row_col  col_j(transp(matr)[j]);    
    std::transform(row_j.begin(), row_j.end(), col_j.begin(), 
                   std::ostream_iterator<T_num>(std::cout, "\t"), 
                   std::plus<T_num>());
 
    std::cout << std::endl
              << std::endl;
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    std::cout << "Введите размерность матрицы: ";
    int  n = 0;
    std::cin >> n;
    T_matr  matr(n, T_row_col(n));
    std::cout << "Введите элементы матрицы размерностью "
              << n
              << ":"
              << std::endl;
 
    for(int i = 0; i < n; ++i)
    {
        for(int j = 0; j < n; ++j)
        {
            std::cout << "a["
                      << i + 1
                      << "]["
                      << j + 1
                      << "] = ";
 
            std::cin >> matr[i][j];
        }
        std::cout << std::endl;
    }
 
    std::cout << "Вы ввели матрицу "
              << std::endl;
 
    print_matr(matr);
 
    for(;;)
    {
        int  j = 0;
        do
        {
            std::cout << "Введите j из диапазона 1.."
                      << n
                      << ": ";
 
            std::cin >> j;        
        }while(j < 1
               || n < j);
        
 
        std::cout << "Сумма "
                  << j
                  << "-й строки и "
                  << j
                  << "-го столбца равна:"
                  << std::endl;
        print_row_j_and_col_j_sum_from_matr(j - 1, matr);
    } 
}
1
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 13:00  [ТС]
Всё я разобрался =))
я тыкнул всем спс, кто старался мне помочь=))
тему можно закрыть
/closed
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.11.2010, 13:00
Помогаю со студенческими работами здесь

Умножение треугольных матриц«Методы обработки разреженных матриц»
Нужно перемножить треугольные матрицы в обычном виде и в свёрнутом. С обычным проблем нет. Доступ к элементам свёрнутой матрицы...

Возведение матриц в степени, перемножение и сложение матриц
Даны 3-ех элементные вещественные векторы x и y и квадратные матрицы A и B. Вычислить: (A 2 * x, y) + (B 2 * y, x) + (A * B * x, y) ...

Транспонирование матриц. Произведение транспонированных матриц
Найти матрицу С: C=ATBTB; A=\begin{bmatrix}1\\ 1\\ 1\end{bmatrix} B=\begin{bmatrix}1 &amp; 2 &amp; 0 \\ 0 &amp; 1 &amp; 2\end{bmatrix} ...

Обробка даних по Uart
Я себе целью положил сделать маленький чпу с двд привода с лазером. на данном моменте я застрял с целыми числами. я через Uart отправляю...

Обробка текстовых даных
Создайте пожалуйста програму. 1. Подсчитать количество слов в предложении, состоящих из заданного количества букв 2. Найти в введенном...


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

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

Новые блоги и статьи
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
Как сделать SSO (Single Sign-On) в C# приложении
stackOverflow 18.05.2025
SSO — это механизм, позволяющий пользователю пройти аутентификацию один раз и получить доступ к нескольким приложениям без повторного ввода учетных данных. Вы наверняка сталкивались с ним, когда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru