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

Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик - C++

Восстановить пароль Регистрация
 
Ilona1993
1 / 1 / 0
Регистрация: 15.05.2013
Сообщений: 26
29.05.2013, 17:32     Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик #1
помогите вот задача вот пример надо доделать как в задаче написано....надо суммировать все положительные числа....а у меня просто суммирует

Дана целочисленная прямоугольная матрица. Определить количество столбцов, не содержащих ни одного нулевого элемента. Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
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
#include <iostream>
#include <iomanip>
#include<stdlib.h>
#include <time.h>
using namespace std;
int main()
{int K=0,m,n;
int x[100][100];
setlocale(LC_ALL,"Russian");
srand(time(NULL));
cout<<"Введите количество строк: ";
cin>>m;
cout<<"Введите количество столбцов: ";
cin>>n;
for (int i = 0; i < m; ++i) {
 
for (int j = 0; j < n; ++j) {
 
x[i][j]=rand()%10;
if (j==n) cout<<"\n";
}
}
cout<<"Введенная матрица X:\n";
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
cout<<x[i][j]<<"";
if (j==m-1) cout<<"\n";
}
}
K=0;
for (int j=0; j<n; ++j)
{
int f=1;
for (int i=0; i<m; ++i)
if (x[i][j] == 0)
{ 
f=0; 
i=m; 
}
if (f==1) 
{
++K;
}
}
cout<<"\n Количество столбцов не содержащих '0' : "<<K<<endl;
int result[5][6];
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
result[i][j] = x[i][j];
}
}
for (int j = 0; j < n; ++j) {
result[j][5] = 0;
}
for (int i = 0; i < m; ++i) {
for (int j = 0; j < n; ++j) {
result[i][5] += x[i][j];
}
}
int character_arr[5][2];
for (int i = 0; i < m; ++i){
character_arr[i][0] = i;
character_arr[i][1] = result[i][5];
}
int mas[2];
for (int k = 0; k < m; ++k){
for (int i = 0; i < m-1; ++i){
if (character_arr[i][1]>character_arr[i+1][1]) {
mas[0] = character_arr[i+1][0];
mas[1] = character_arr[i+1][1];
character_arr[i+1][1] = character_arr[i][1];
character_arr[i+1][0] = character_arr[i][0];
character_arr[i][1] = mas[1];
character_arr[i][0] = mas[0];
}
}
}
cout<<"Сортировка по возрастанию характеристик: \n";
for (int j = 0; j < n; ++j) {
for (int i = 0; i < m; ++i) {
cout<<result[character_arr[j][0]][i]<<"";
if (i==m-1) cout<<"\n"<<"";
}
}
return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2013, 17:32     Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик
Посмотрите здесь:

C++ Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик
C++ Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик
Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик C++
C++ Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик
C++ Переставляя строки заданной матрицы, расположить их соответствии с ростом характеристик.
Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик C++
C++ Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик
C++ Переставляя столбцы заданной матрицы, расположить их в соответствии с ростом характеристик
C++ Массив: Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик.
C++ Расположить столбцы заданной матрицы в соответствии с ростом характеристик
Массив: Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик. C++
Массив: Переставляя строки заданной матрицы , расположите их в соответствии с ростом характеристик. C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nullik
 Аватар для Nullik
43 / 12 / 1
Регистрация: 13.03.2013
Сообщений: 297
Завершенные тесты: 1
29.05.2013, 17:57     Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик #2
Ilona1993, буду кэпом - если всё суммирует, значит не хватает условия.

Попробуйте к своей программе написать комментарии, что и как работает. Если вы работаете в вижуале, то там есть такая штука, как "точки останова", и построчно просматриваете код.

C++
1
int x[100][100];
А почему бы не воспользоваться созданием динамического массива? Вдруг тут размер будет 101 и 102?))))

C++
1
2
3
4
5
int **massiv=new int*[n]; 
for(int i=0; i<=n;i++) 
{ 
     int  mas[i]=new int[m]; 
}
Правда, тут нужно отследить n и m, но смысл создания двумерного динамического массива такой.))

Далее пошли какие-то переменные, переменные, объяснение которых было непонятно... Ну хоть бы понять для чего они, уже было бы неплохо
Ilona1993
1 / 1 / 0
Регистрация: 15.05.2013
Сообщений: 26
29.05.2013, 18:31  [ТС]     Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик #3
я писала условие но ничего не получается
Ilona1993
1 / 1 / 0
Регистрация: 15.05.2013
Сообщений: 26
04.06.2013, 18:59  [ТС]     Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик #4
помогитееееееее
Yandex
Объявления
04.06.2013, 18:59     Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик
Ответ Создать тему
Опции темы

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