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

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

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

Перестановка строк матриц по убыванию ее характеристик - C++

08.05.2014, 12:50. Просмотров 300. Ответов 3
Метки нет (Все метки)

Соответственно само задание:
Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент.
Характеристикой строки целочисленной матрицы назовем сумму ее отрицательных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убыванием характеристик.
Пробовал методом пузырька, но выдавала ошибку, что-то вроде - cannot convert int 4 to int in assignment Работаю в Code Blocks
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
#include <iostream>
#include <cstdlib>
#include <stdio.h>
using namespace std;
int main()
{
const int m=5, n =4;
int i,j;
int b[m][n],sum[m];
for (int i=0; i <m; i++)
{
 for(int j=0; j <n; j++)
 {
    b[i][j] =rand()%21-10;
 
    cout<<b[i][j]<<' ';
    }
cout << endl;}
 
int num=-1;
for (j=0; j<m; j++)
   for (i=0; i<n; i++)
  {
         if (b[i][j]==0)
         {
               cout<<"Nomer stolbca: "<<j+1<<endl; break;
         }
 }
   for (i=0; i<m; i++)
  {
       sum[i] = 0;
       for (int j = 0; j < m; j++)
        if((b[i][j] < 0)&&(j%2))
            sum[i]+= b[i][j];
}
     for (i = 0; i < m; i++)
        cout << sum[i] << endl;
 
 
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2014, 12:50
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Перестановка строк матриц по убыванию ее характеристик (C++):

Упорядочивание столбцов по убыванию характеристик - C++
Характеристика столбца – максимум среди сумм цифр элементов. Знаю c#, а тут пришлось писать на с++. Написал такой код. #include...

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

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

Замена и перестановка элементов матриц - C++
1. Дана целочисленная матрица размера NxM. Поменять местами 1 и 2 столбцы. Помогите пожалуйста

Замена и перестановка элементов матриц - C++
Пожалуйста, помогите сделать задание :) Дана целочисленная матрица размера NxM. Переставить местами 4 и 5 строку.

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

3
nmcf
6207 / 5518 / 1932
Регистрация: 14.04.2014
Сообщений: 23,155
08.05.2014, 14:24 #2
Ты m с n не перепутал? Если обращаешься [i][j], то смотри, чтобы везде i было до m, j до n или наоборот, но чтобы правильно. И чётность надо от (j+1) определять, если нумеруешь матрицу с 1.
1
jurok_85
263 / 247 / 88
Регистрация: 21.02.2013
Сообщений: 585
Завершенные тесты: 1
08.05.2014, 14:35 #3
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
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <stdio.h>
#include <iomanip>
using namespace std;
int main()
{
    srand(time(0));
    const int m=5, n =4;
    int i,j;
    int b[m][n];
    for (int i=0; i <m; i++)
    {
        for(int j=0; j <n; j++)
        {
            b[i][j] =rand()%21-10;
 
            cout<<setw(3) << b[i][j];
        }
        cout << endl;
    }
 
        bool flag = false;
    for (j=0; j<n; j++){
        for (i=0; i<m; i++)
            {
                if (b[i][j]==0)
                {
                    cout<<"Nomer stolbca: "<<j+1<<endl;
                    flag = true;
                    break;
                }
            }
            if(flag) break;
    }
    int sum , index;
    for(int N = 0; N != m - 1; N++)
    {
        int max = n* (-10);
        for(int i = N; i != m; i++)
        {
            sum = 0;
            for(int j = 0; j != n; j++)
            {
                if(b[i][j] < 0 && b[i][j]%2 == 0)
                sum += b[i][j];
            }
            if(sum > max)
            {
                max = sum;
                index = i;
            }
        }
 
        int temp[n];
        for(int j = 0; j < n; j++)
        {
            temp[j] = b[index][j];
            b[index][j] = b[N][j];
            b[N][j] = temp[j];
        }
 
    }
    cout << endl;
 
    for (int i=0; i <m; i++)
    {
        for(int j=0; j <n; j++)
        {
            cout<<setw(3) << b[i][j];
        }
        cout << endl;
    }
 return 0;
}
1
valpri
0 / 0 / 0
Регистрация: 08.05.2014
Сообщений: 32
08.05.2014, 15:00  [ТС] #4
Понял, спасибо всем)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.05.2014, 15:00
Привет! Вот еще темы с ответами:

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

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

Перестановка строк в матрице - C++
Добрый день Дана заданная целочисленная матрица 6x9. Нужно чтобы по заданному пользователем распорядку чисел от 1 до 9 выстаивались в...

Перестановка строк со столбцами - C++
Здравствуйте форумчане! у меня вот такая вот задачка: Написать процедуру обмена столбца и строки двухмерного массива. С ее помощью...


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

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

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