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

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

Войти
Регистрация
Восстановить пароль
 
 
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
#1

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

27.11.2010, 20:42. Просмотров 712. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2010, 20:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Задача: Обробка матриц (C++):

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

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

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

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

Вычисление степени матрицы, вычисления произведения двух матриц, вычисление суммы двух матриц - C++
Здравствуйте, помогите решить, пожалуйста: Заданы две квадратные матрицы А и В. Вычислить матрицу...

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

16
Crudelis
Шаровик затейник
674 / 416 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
27.11.2010, 20:48 #2
какая то странная матрица, что означает А{a i,j} вы точно ничего не напутали в условии?
0
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
27.11.2010, 20:52  [ТС] #3
Цитата Сообщение от Crudelis Посмотреть сообщение
какая то странная матрица, что означает А{a i,j} вы точно ничего не напутали в условии?
i и j это номер столбца и строчки =))
0
Vorox
25 / 24 / 3
Регистрация: 26.11.2010
Сообщений: 57
Завершенные тесты: 1
27.11.2010, 20:54 #4
Цитата Сообщение от Oscar1209 Посмотреть сообщение
А{a i,j}
Имеется в виду "a" перед i,j.
0
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
27.11.2010, 21:03  [ТС] #5
Если хотите, то я могу даже скинуть программу которую я писал для этого задания, но она с ошибками=)) может вы сможете их исправить))
0
Vorox
25 / 24 / 3
Регистрация: 26.11.2010
Сообщений: 57
Завершенные тесты: 1
27.11.2010, 23:27 #6
Цитата Сообщение от Oscar1209 Посмотреть сообщение
Если хотите, то я могу даже скинуть программу которую я писал для этого задания, но она с ошибками=)) может вы сможете их исправить))
Отпости тут свои наработки
0
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 09:54  [ТС] #7
Цитата Сообщение от 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
lutick
5 / 5 / 0
Регистрация: 05.11.2009
Сообщений: 27
28.11.2010, 10:52 #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
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
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 11:08  [ТС] #9
lutick
компиляция пишет
Ошибку в строке __ using namespace std;
что тут должно быть??
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
28.11.2010, 11:20 #10
Цитата Сообщение от Oscar1209 Посмотреть сообщение
Ошибку в строке __ using namespace std;
Какой у вас компилятор?
0
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 11:26  [ТС] #11
Цитата Сообщение от MILAN Посмотреть сообщение
Какой у вас компилятор?
Turbo C++ v4.5

а у вас всё работает??
какой вы программой пользуетесь?? =)
0
MILAN
885 / 779 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
28.11.2010, 11:41 #12
У меня 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
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 11:57  [ТС] #13
MILAN
а вы какую програме редактировали ту что я кидал или тут что кинул lutick??
работает ваша прог. неправильно))
но я пост. спс за старание))
0
lutick
5 / 5 / 0
Регистрация: 05.11.2009
Сообщений: 27
28.11.2010, 12:12 #14
поробуй ето
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
Oscar1209
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 19
28.11.2010, 12:33  [ТС] #15
lutick
а какой ты пользуешься программой???
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.11.2010, 12:33
Привет! Вот еще темы с ответами:

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

Обробка рядкових даних - Turbo Pascal
Помогите пожалуйста!!!!:)Если можно то блок-схемой . Шахiвницю представимо символьною матрицею розмiру . Заданi натуральнi числа n...

Обробка при заходе на сайт - PHP БД
Здраствуйте. Незнаю как мне зделать так, чтоби когда пользователь интернета при заходе на сайт попадал труда кто он. например: Он...

Задача с использованием матриц - Методы оптимизации
Добрый день. Помогите, пожалуйста, определится с методом решения 2-ой задачи. Не могу найти подобные примеры. Если у кого-то есть -...


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

Или воспользуйтесь поиском по форуму:
15
Yandex
Объявления
28.11.2010, 12:33
Ответ Создать тему
Опции темы

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