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

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

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

Сортировка столбцов матриц и их сумм по возрастанию - C++

31.05.2015, 23:42. Просмотров 309. Ответов 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
.#include "stdafx.h"
#include "conio.h"
#include "iostream"
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    int a[4][5]={{-1,-2,1,5,6},{-7,-1,1,-3,5},{-9,4,5,-5,4},{-7,5,6,-1,4}},sum=0,st=0,k=0,c[50]={0},b=0;
    for(int i=0;i<4;i++)
    {
        for(int j=0;j<5;j++)
        {
            cout<<a[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<endl;
    for(int j=0;j<5;j++)
    {
        sum=0;
        for(int i=0;i<4;i++)
        {
            if(a[i][j]<0&&abs(a[i][j])%2==1)
            {
                sum+=abs(a[i][j]);
            }
        }
        b++;
        c[k++]=sum;
    }
    
    for(int i=0;i<b-1;i++)
    {for(int j=i+1;j<b;j++)
    {if (c[i]>c[j])
    {int buf=c[i];
    c[i]=c[j];
    c[j]=buf;}}
    }
    for(int r =0;r<b;r++)
    {
        cout<<c[r]<<" ";
    }
    cout<<endl;
    for(int i=0;i<4;i++)
       {
           for(int j=0;j<5;j++)
           {
               if (a[i][j]<0)
               {
                   for(int i=0;i<4;i++)
                   {
                       st=a[i][j]+st;
                       break;
                   }
               }
           }
       } 
       cout<<"\nSumma "<<st;
    getch();
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2015, 23:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка столбцов матриц и их сумм по возрастанию (C++):

Сортировка столбцов матриц и их сумм по Возрастанию - C++
Характеристикой столбца целочисленной матрицы назовем сумму модулей его отрицательных нечетных элементов. Переставляя столбцы заданной...

Сортировка столбцов матрицы по возрастанию последних элементов столбцов - C++
Сортировка столбцов по росту последних элементов столбцов.Помогите пожалуйста, надо только фрагмент как его сортировать. Это пример: ...

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

Сортировка столбцов по возрастанию - C++
Разработать функцию сортировки столбцов двухмерного массива за возрастанием и применить её для сортировки нескольких массивов разной...

Сортировка четных столбцов матрицы по убыванию элементов, а нечетных - по возрастанию - C++
Дана матрица, размерностью nxn, содержащая целые числа. Отсортировать каждый столбец матрицы с номером 2i по убыванию элементов, а с...

Сортировка массива: сначала положительные по возрастанию, потом отрицательные по возрастанию - C++
Пользователь вводит массив чисел,нужно отсортировать его методом выбора,что бы сначала шли положительные числа,потом отрицательные...

1
ronaldo
92 / 46 / 19
Регистрация: 16.06.2014
Сообщений: 375
01.06.2015, 11:49 #2
Shadow123,
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
#include <iostream>
#include <stdlib.h>
#include <cmath>
using namespace std;
const int n=4;
const int m=5;
int main(){
    int a[n][m],b=-10,c=10,i,j,ch[m]={0},tmp,index[m],estliotr[m]={0},sum[m]={0};
    for(i=0;i<n;i++)
    {for(j=0;j<m;j++)
    {a[i][j]=rand()%(c-b+1)+b;
     if (a[i][j]<0 && a[i][j]%2) ch[j]+=abs(a[i][j]);
     if (a[i][j]<0) estliotr[j]=1;
     cout<<a[i][j]<<"\t";}
    cout<<endl;}
    for(i=0;i<m;i++)
     index[i]=i;
    for(i=0;i<m-1;i++)
    for(j=i+1;j<m;j++)
    if (ch[index[j]]<ch[index[i]]) {tmp=index[j];
                                    index[j]=index[i];
                                    index[i]=tmp;}
    cout<<endl;
    for(i=0;i<n;i++)
    {for(j=0;j<m;j++)
     {cout<<a[i][index[j]]<<"\t";
      if (estliotr[j]) sum[j]+=a[i][j];}
     cout<<endl;}
    for(i=0;i<m;i++)
    if (estliotr[i]) cout<<"Сумма "<<i<<" столбца исходной матрицы равна "<<sum[i]<<endl;
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2015, 11:49
Привет! Вот еще темы с ответами:

Сортировка столбцов массива по убыванию элементов столбцов - C++
Заполнить двумерный числовой массив A целыми числами. Вычислить сумму элементов каждого столбца массива. Упорядочить столбцы массива по...

Расположить строки матрицы по возрастанию сумм их элементов - C++
Помогите,пожалуйста,с кодом! Задание: Дана матрица А(n x n). Расположить строки матрицы по возрастанию сумм их элементов.

Вычислить среднее арифметическое сумм элементов матриц в заштрихованой области - C++
1. Для каждой из двух заданных матриц размером m на n найти максимальный по модулю элемент матрицы. Переставить строчки и столбцы каждой...

Отсортировать строки матрицы по возрастанию сумм положительных элементов - C++
Отсортировать строки матрицы по возрастанию сумм положительных элементов. очень нужно)


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

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

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