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

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

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

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

24.12.2010, 18:17. Просмотров 549. Ответов 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;
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;
            
               
      }
 }
}

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

Упорядочить строки матрицы, содержащие нули, в порядке возрастания их количества - C++
Дана матрица. Упорядочить ее строки, содержащие нули, в порядке возрастания их количества. помогите плизз)

Расположить столбцы в порядке возрастания произведений положительных элементов - C++
1) дана матрица действительных чисел размера m x n . переформировать матрицу таким образом , чтобы ее столбцы располагались в порядке...

Расположить столбцы матрицы в порядке возрастания элементов K-ой строки - C++
Задана целая матрица размером m на n. Расположить столбцы в порядке возрастания элементов K-ой строки(К задаётся пользователем)

Упорядочить элементы матрицы в порядке возрастания первых элементов - C++
Приветствую , программисты , помогите пожалуйста нужен код на это задание: &quot;Упорядочить элементы матрицы в порядке возрастания первых...

Упорядочить строки матрицы в порядке возрастания элементов главной диагонали - C++
Упорядочить строки матрицы m * n в порядке возрастания элементов в главной диагонали. Матрица вводится и выводится в главной программе....

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
valeriikozlov
Эксперт C++
4670 / 2496 / 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;
                        
                           
          }
 }
}
2
LilyRose
0 / 0 / 0
Регистрация: 21.12.2010
Сообщений: 14
24.12.2010, 19:43  [ТС] #3
Спасибо большоЕ
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2010, 19:43
Привет! Вот еще темы с ответами:

Упорядочить строки матрицы по возрастанию количества положительных элементов в одной строке - C++
Дана целочисленная матрица n*m, n,m&lt;=10.Упорядочить(переставить) строки матрицы по возрастанию количества положительных элементов в одной...

Проверить расположены ли столбцы матрицы в порядке возрастания их сумм - C++
Есть задачка по инфе: Дана квадратная матрица 5*5. Проверить, расположены ли столбцы в порядке возрастания их сумм. помогите с решением.

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

В массиве переставить столбцы в порядке возрастания элементов первой строки - C++
В массиве А(N,M) переставить столбцы в порядке возрастания элементов первой строки. Не знаю что делать


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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