@airone
0 / 0 / 0
Регистрация: 12.10.2010
Сообщений: 6
|
28.12.2010, 22:54
[ТС]
|
|
заработало, благодарю.
о_О
Добавлено через 1 час 59 минут
всё, в статике с задачей справился.
Составить программу, которая получает матрицу А размером m*n и, если
среднеарифметическое число всех положительных элементов матрицы по
модулю меньше среднеарифметического числа ее отрицательных элементов, то
программа формирует новую матрицу, все строки которой упорядочены по
возрастанию.
//main.cpp
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
| #include <iostream>
#include <conio.h>
using namespace std;
void vvod(float matr[10][10], int n, int m);
void vivod(float matr[10][10], int n, int m);
bool analysing(float matr[10][10], int m, int n);
void performing (float matr[10][10], int n, int m);
void copy(float matr[10][10], float matrNew[10][10], int n, int m);
void main()
{
setlocale(LC_ALL,"rus");
char pvt='1';
while (pvt=='1') {
int n=0;
int m=0;
cout<<"\nВведите n:"<<endl;
cin>>n;
cout<<endl<<"Введите m:"<<endl;
cin>>m;
float matr[10][10];
cout<<endl<<"Введите матрицу построчно:"<<endl;
vvod (matr,n,m);
if (analysing(matr,n,m)) {
float matrNew[10][10];
copy (matr, matrNew, n, m);
performing (matrNew, n, m);
cout<<endl<<"Ваша матрица:"<<endl;
vivod (matrNew,n,m);
}
else cout<<endl<<"Матрица не сформирована!"<<endl;
cout<<endl<<"\nПовторить? (1/0)"<<endl;
pvt=_getch();
}
} |
|
//InOut.cpp
C++ | 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| #include <iostream>
using namespace std;
void vvod(float matr[10][10], int n, int m)
{
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
cin>>matr[i][j];
}
void vivod(float matrNew[10][10], int n, int m)
{
for (int i=0; i<n; i++)
{ cout << "\n строка" << (i+1) << ":";
for (int j=0; j<n; j++)
cout<<"\t"<<matrNew[i][j];
}
} |
|
//processing.cpp
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
| #include <iostream>
using namespace std;
bool analysing (float matr[10][10], int n, int m)//true если sredPos<sredNeg
{
float summPos=0, summNeg=0;
int kolPos=0, kolNeg=0;
for (int i=0; i<n; i++)
{ for (int j=0; j<m; j++)
{
if (matr[i][j]>=0) {
summPos=summPos+matr[i][j];
kolPos++;
}
else {
summNeg=summNeg-matr[i][j];
kolNeg++;
}
}
}
float sredPos=summPos/kolPos;
float sredNeg=summNeg/kolNeg;
if (sredPos < sredNeg)
return true;
return false;
}
void copy(float matr[10][10], float matrNew[10][10], int n, int m)
{
for (int i=0; i<n; i++)
for (int j=0; j<n; j++)
matrNew[i][j]=matr[i][j];
}
void performing (float matrNew[10][10], int n, int m)//упорядочивание элементов строк
{
float x;
for(int k=0; k < m; k++) {
for(int i=0; i < n; i++) {
for(int j = n-1; j > i; j-- ) {
if ( matrNew[k][j-1] > matrNew[k][j] ) {
x=matrNew[k][j-1]; matrNew[k][j-1]=matrNew[k][j]; matrNew[k][j]=x;
}
}
}
}
} |
|
теперь всё это добро надо переправить под динамическое распределение. дядьки, помогайте. ибо завтра последний срок, и если сам не осилю - будет мне
Добавлено через 1 час 54 минуты
up
0
|