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

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

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

Задача по матрицам - C++

15.12.2013, 17:44. Просмотров 291. Ответов 0
Метки нет (Все метки)

Даны матрицы a(5*6) и b(6*7). Матрицы сгенерировать.
Используя функцию для каждой из них найти:
а) Вектор из порядковых номеров максимальных по модулю элементов в столбцах матрицы. б) Среднее геометрическое среди модулей отрицательных элементов во всей матрице.
Помогите решить задачу на С++

Добавлено через 2 часа 5 минут
Проверьте код решения задачи
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
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <math.h>
using namespace std;
const int NMAX=20;
typedef double VEC[NMAX];
typedef int VECI[NMAX];
typedef double MATR[NMAX][NMAX];
typedef int MATRI[NMAX][NMAX];
 
int func1(int n,int m,const MATR& z,VECI& v,VEC& x,double *&y);//Прототип функции
int main(int argc, char *argv[])
{
MATR a,b;
VEC xa,xb;
VECI va,vb;
int ka,kb;
int i,j;
double baza=-10.0,amplituda=20.0;// Это не пойму зачем
srand(time(NULL));
cout«" Matr a:\n";
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
{ a[i][j]=baza+amplituda*(1.0*rand()/RAND_MAX);
printf("%7.2lf\t",a[i][j]);
} cout«endl;
}
cout«" Matr b:\n";
for(i=0;i<6;i++)
{
for(j=0;j<7;j++)
{ b[i][j]=baza+amplituda*(1.0*rand()/RAND_MAX);
printf("%7.2lf\t",b[i][j]);
} cout«endl;
}
double *ya,*yb;
ka=func1(5,6,a,va,xa,ya);
cout«"\n ka= "«ka«"\n va = \n";
for(j=0;j<6;j++)printf("%4d\t",va[j]);
printf("\n xa =\n");
for(i=0;i<5;i++)printf("%7.2lf\t",xa[i]);
cout«endl;
printf("\n ya = \n");
for(i=0;i<ka;i++)printf("%7.2f ",ya[i]);
cout«endl;
//2 Vizov
kb=func1(6,7,b,vb,xb,yb);
cout«"\n kb= "«kb«"\n vb = \n";
for(j=0;j<7;j++)printf("%4d\t",vb[j]);
printf("\n xb =\n");
for(i=0;i<6;i++)printf("%7.2lf\t",xb[i]);
cout«endl;
printf("\n yb = \n");
for(i=0;i<kb;i++)printf("%7.2f ",yb[i]);
cout«endl;
delete[]ya;
delete[]yb;
system("PAUSE");
return EXIT_SUCCESS;
}
 
//---------------------------------------------------------------------------
 
int func1(int n,int m,const MATR& z,VECI& v,VEC& x,double *&y)
{ int i,j,im;
//1).
for(j=0;j<m;j++)
{ im=0;
for(i=0;i<n;i++)
if(z[i][j]>z[im][j])im=i;
v[j]=im;
}
Если что не так , прошу поправить и дополнить.

Добавлено через 1 час 55 минут
Прошу помочь с задачей, на завтра нужно сдать.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2013, 17:44     Задача по матрицам
Посмотрите здесь:

C++ Описать класс, соответствующий матрицам, с операциями их сложения
Общая программа по матрицам C++
C++ Как оптимально обратиться в трем матрицам разной размерности
C++ Матрицы. По трём заданным матрицам А, В и С построить матрицу Х того же размера
C++ Задачка по матрицам (вывести номер строчки в которой количество положительных елементов самая большая)
Задача по матрицам правильно не работает C++
3 задачки по матрицам C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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