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

Упорядочить столбцы матрицы в порядке возрастания количества положительных элементов - C++

Восстановить пароль Регистрация
 
LilyRose
 Аватар для LilyRose
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
24.12.2010, 18:17     Упорядочить столбцы матрицы в порядке возрастания количества положительных элементов #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
void matr(double **w,int n,int m)
{
int i,j,jm,k;
double kolvo_max,c,kolvo;
kolvo_max=0;
kolvo=0;
 
for(k=0;k<m;k++)//идем по k столбцу
 {    jm=k;
    
 
      for(i=0;i<n;i++)//находим количество положительных элементов в  k столбце
            {   if (w[i][jm]>0)
                kolvo++;
            }
      
      for(j=k;j<m;j++)//находим количество положительных элементов в  j столбце
         {
            
                for(i=0;i<n;i++)
                    {
                        if (w[i][j]>0)
                        kolvo_max++;
                    }
      
                 
                    if(kolvo<kolvo_max)//сравниваем количества столбцов
                    {
                      kolvo_max=kolvo; jm=j;
                      cout<<"kolvo_max="<<kolvo_max<<endl;
                      cout<<"kolvo="<<kolvo<<endl;
                      cin>>n;
                    }
      }
      for(i=0;i<n;i++)
        {
                //меняем столбцы местами
 
            c=w[i][jm];
            w[i][jm]=w[i][k];
            w[i][k]=c;
            
               
      }
 }
}

столбцы меняются.. но как то не правильно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2010, 18:17     Упорядочить столбцы матрицы в порядке возрастания количества положительных элементов
Посмотрите здесь:

Упорядочить массив А в порядке возрастания его элементов C++
написать прогу в Visual Studio 2010 C++ Упорядочить строки матрицы m * n в порядке возрастания элементов в главной диагонали C++
В массиве переставить столбцы в порядке возрастания элементов первой строки C++
Сформировать матрицу, в которой столбцы расположены в порядке возрастания сумм их элементов C++
Упорядочить столбцы матрицы по возрастанию количества одинаковых элементов в каждом столбце C++
Упорядочить элементы матрицы в порядке возрастания первых элементов C++
C++ Расположить столбцы матрицы в порядке возрастания элементов K-ой строки
C++ Проверить расположены ли столбцы матрицы в порядке возрастания их сумм

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
24.12.2010, 19:03     Упорядочить столбцы матрицы в порядке возрастания количества положительных элементов #2
вот так попробуйте:
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
void matr(double **w,int n,int m)
{
int i,j,jm,k;
double kolvo_max,c,kolvo;
 
 
for(k=0;k<m-1;k++)//идем по k столбцу
 {        jm=k;
        kolvo=0;      
 
          for(i=0;i<n;i++)//находим количество положительных элементов в  k столбце
                        {   if (w[i][jm]>0)
                                kolvo++;
                        }
          
          for(j=k+1;j<m;j++)//находим количество положительных элементов в  j столбце
                 {                        
                    kolvo_max=0;
 
                                for(i=0;i<n;i++)
                                        {
                                                if (w[i][j]>0)
                                                kolvo_max++;
                                }
          
                             
                                        if(kolvo>kolvo_max)//сравниваем количества столбцов
                                        {
                                          kolvo=kolvo_max; jm=j;
                                          //cout<<"kolvo_max="<<kolvo_max<<endl;
                                          //cout<<"kolvo="<<kolvo<<endl;
                                          //cin>>n;
                                        }
          }
          for(i=0;i<n;i++)
                {
                                //меняем столбцы местами
 
                        c=w[i][jm];
                        w[i][jm]=w[i][k];
                        w[i][k]=c;
                        
                           
          }
 }
}
LilyRose
 Аватар для LilyRose
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
24.12.2010, 19:43  [ТС]     Упорядочить столбцы матрицы в порядке возрастания количества положительных элементов #3
Спасибо большоЕ
Yandex
Объявления
24.12.2010, 19:43     Упорядочить столбцы матрицы в порядке возрастания количества положительных элементов
Ответ Создать тему
Опции темы

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