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

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

Войти
Регистрация
Восстановить пароль
 
Мелкон
0 / 0 / 0
Регистрация: 14.12.2011
Сообщений: 3
#1

Упорядочевание строк - C++

22.12.2011, 20:41. Просмотров 208. Ответов 0
Метки нет (Все метки)

Здравствуйте, у меня вопрос к знающим, может поможет кто.
Есть задача:
Дана целочисленная прямоугольная матрица. Определить номер первого из столбцов, содержащих хотя бы один нулевой элемент.
Характеристикой строки целочисленной матрицы назовём сумму её отрицательных чётных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с убывание характеристик.

Все посчитал, характеристику каждой строки тоже, но вот не могу осилить как сделать вывод строк массива по убыванию этой характеристики. Помогите кто знает.

Вот мои наработки:
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
#include "stdafx.h"
#include <iostream.h>
#include <math.h>
 
int find_f(double **m, int n) {
    int nm;
    for (int i=0; i<n; i++) {
        for (int j=0; j<2*n; j++) {
            if (m[j][i]==0) {
                nm=j;
                break;
            }
        }
    }
    return nm;
}
 
double ch_f(double **m, int n, double *ch) {
    for (int i=0; i<2*n; i++) {
        for (int j=0; j<n; j +=2) {
            if (m[i][j]<0) {
                ch[i] +=m[i][j];
            }
        }
    }
    return *ch;
}
 
 
 
 
 
 
 
 
int main(int argc, char* argv[])
{
    int n, nm;
    double **m, *ch;
    cout << "Vvedite razmernost massiva " << endl;
    cin >> n;
    ch=new double[2*n]
    m=new double*[n];
    for (int i=0; i<2*n; i++) {
        m[i]=new double[n];
    }
    cout << "Vvedite massiv" << endl;
    for (i=0; i<2*n; i++)
    {
        for (j=0; j<n; j++)
        {
            cout << "Vvedite element nahodiashiysia v yacheike matrici " << i+1 << ", " << j+1 << endl;
            cin >> m[i][j];
        }
    }
    for (i=0; i<2*n; i++) ch[i]=0;
    *ch=ch_f(m, n, ch); nm=find_f(m, n);
 
    return 0;
 
 
 
}

Оформить в виде функции нужно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2011, 20:41     Упорядочевание строк
Посмотрите здесь:

Объясните смысл строк в коде (~20 строк) C++
Добавление строк в масив строк C++
C++ Найти наибольший среди наименьших элементов строк и наименьший среди наибольших элементов строк
Вырезание строк из 1.txt, номера строк находятся в 2.txt C++
C++ Найти сумму всех чётных строк матрицы и отсортировать элементы нечётных строк по возрастанию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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