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

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

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

Сортировка по характеристикам - C++

28.12.2011, 02:36. Просмотров 292. Ответов 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream.h>
#include <windows.h>
 
int main ()
{
        SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
        int **mas, n, m, i, j, j_0=-1, har_str1, har_str2, temp, temp1;
        cout<<"введите кол-во строк: "<< endl;
    cin>>n;
    cout<<"Введите кол-во столбцов: "<< endl;
    cin>>m;
    mas=new int*[n];
    for(i=0; i<n; i++)
        mas[i]=new int[m];
    cout<<"введите элементы массива: "<< endl;
    for ( i=0;i<n;i++){
 for(j=0;j<n;j++){
  mas[i][j]=rand()%4-5;
  cout<<mas[i][j]<<" ";
 }    cout<<endl;
}
 
        cout<<"Исходный массив: "<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
                {
                        cout.width(4);
            cout<<mas[i][j]<<"   ";
                }
            cout<<endl;
    }
        // поиск столбца с нулевым элементом
    for(i=0; i<m && j_0==-1; i++)
    {
        for(j=0; j<n && j_0==-1; j++)
            if(mas[j][i]==0)
                                j_0=i;
    }
        if(j_0!=-1)
                cout<<"столбцы где есть нулевые элементы: "<<j_0<<endl;
        else
                cout<<"столбцов с нулями нет"<<endl;
    // сортировка
        for(i=0; i<n-1; i++)
                for(j=0; j<n-i-1; j++)
                {
                        har_str1=har_str2=0;
                        for(temp=0; temp<m; temp+=2)
                        {
                                if(mas[j][temp]>0)
                                        har_str1+=mas[j][temp];
                                if(mas[j+1][temp]>0)
                                        har_str2+=mas[j+1][temp];
                        }
                        if(har_str1<har_str2)
                                for(temp=0; temp<m; temp++)
                                {
                                        temp1=mas[j][temp];
                                        mas[j][temp]=mas[j+1][temp];
                                        mas[j+1][temp]=temp1;
                                }
                }
        cout<<"Полученный массив: "<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
                {
                        cout.width(5);
            cout<<mas[i][j]<<" ";
                }
            cout<<endl;
    }
           return 0; 
}
Доброй ночи всем, нашел програмку переделал немного, но она не хочет правильно сортировать почему не подскажите?
Характеристикой строки целочисленной матрицы назовем сумму ее положительных четных элементов. Переставляя строки заданной матрицы.
Юзал поиск, ничего путевого не нашел...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2011, 02:36     Сортировка по характеристикам
Посмотрите здесь:

Найти целое число по его известным характеристикам (делимость, сумма цифр) - C++
Тема: Функции2. 5. Трое друзей были свидетелями ДТП. Первый заметил, что номер автомобиля правонарушителя делится на 2, 7, 11. Второй...

2 сортировки: пирамидальная сортировка и сортировка слиянием - C++
Реализовать два улучшенных алгоритма сортировки. Для каждого алгоритма вычислить показатель качества сортировки (количество операций, т.е....

Сортировка вектора по полю(Сортировка вставками) - C++
Здравствуйте! Нужно написать сортировку вектора по полю weight класса tomato. Вот класс: #pragma once #include &lt;iostream&gt; ...

шейкерная сортировка + сортировка слиянием - C++
вот часть когда,которая выполняет шейкерную сортировку : для символьного и целочисленого массива . // ConsoleApplication15.cpp:...

Сортировка расчёской и быстрая сортировка - C++
В файле in.txt записана последовательность целых чисел. Заданными методами отсортировать числа и записать в файлы out1.txt и out2.txt....

Формирование отчета по характеристикам - MS Access
Добрый день! Делаю базу по контролю деталей, просьба подсказать есть ли возможность создания следующего отчета: При запуске отчета...

перейти к учету по характеристикам - 1С
БД с номенклатурой без характеристик. К номенклатуре привязаны справочники в которых есть характеристики и они выведены на карточку...

Поиск по характеристикам запроса - MS Access
Добрый день! Делаю базу с поиском по характеристикам деталей. Насколько моих знаний vba хватило сделал поиски по нескольким параметрам,...

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

Подборка Роутер, по характеристикам - Wi-Fi
Характеристики: • цена ни больше 5000 рублей ; • 4 LAN-порта ; • 1 WAN-порта ; • 10/100/1000 Мбит/с ; • Производитель НЕ: HP или...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
4669 / 2495 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
28.12.2011, 04:07     Сортировка по характеристикам #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
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
77
78
79
#include <iostream.h>
#include <windows.h>
 #include <stdlib.h>
int main ()
{
        SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
        int **mas, n, m, i, j, j_0=-1, har_str1, har_str2, temp, temp1;
        cout<<"введите кол-во строк: "<< endl;
    cin>>n;
    cout<<"Введите кол-во столбцов: "<< endl;
    cin>>m;
    mas=new int*[n];
    for(i=0; i<n; i++)
        mas[i]=new int[m];
    //cout<<"введите элементы массива: "<< endl;
    for ( i=0;i<n;i++)
    {
        for(j=0;j<m;j++)
        {
            mas[i][j]=rand()%10-5;
        //  cout<<mas[i][j]<<" ";
        }    
        //cout<<endl;
    }
 
        cout<<"Исходный массив: "<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
                {
                        cout.width(4);
            cout<<mas[i][j]<<"   ";
                }
            cout<<endl;
    }
        // поиск столбца с нулевым элементом
    for(i=0; i<m && j_0==-1; i++)
    {
        for(j=0; j<n && j_0==-1; j++)
            if(mas[j][i]==0)
                                j_0=i;
    }
        if(j_0!=-1)
                cout<<"столбцы где есть нулевые элементы: "<<j_0<<endl;
        else
                cout<<"столбцов с нулями нет"<<endl;
    // сортировка
        for(i=0; i<n-1; i++)
                for(j=0; j<n-i-1; j++)
                {
                        har_str1=har_str2=0;
                        for(temp=0; temp<m; temp++)
                        {
                                if(mas[j][temp]>0 && mas[j][temp]%2==0)
                                        har_str1+=mas[j][temp];
                                if(mas[j+1][temp]>0 && mas[j+1][temp]%2==0)
                                        har_str2+=mas[j+1][temp];
                        }
                        if(har_str1<har_str2)
                                for(temp=0; temp<m; temp++)
                                {
                                        temp1=mas[j][temp];
                                        mas[j][temp]=mas[j+1][temp];
                                        mas[j+1][temp]=temp1;
                                }
                }
        cout<<"Полученный массив: "<<endl;
    for(i=0; i<n; i++)
    {
        for(j=0; j<m; j++)
                {
                        cout.width(5);
            cout<<mas[i][j]<<" ";
                }
            cout<<endl;
    }
           return 0; 
}
Yandex
Объявления
28.12.2011, 04:07     Сортировка по характеристикам
Ответ Создать тему
Опции темы

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