Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 28, средняя оценка - 4.75
k0ksby
4 / 4 / 1
Регистрация: 05.10.2012
Сообщений: 9
#1

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

28.11.2012, 20:22. Просмотров 5749. Ответов 3
Метки нет (Все метки)

В работе память для массива должна выделяться динамически. На экран
выводить исходные данные и результат.

Дана матрица размером NxM. Упорядочить ее строки по возрастанию их
первых элементов.

C++ (Qt)
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
#include "iostream.h"
#include "iomanip.h"
#include "math.h"
 
int main()
{
    double **a,b;
    int i,j,n,m,k;
    cout<<"vvedite razmer: n,m"<<endl;
    cin>>n>>m;
    a=new double*[n];
    for(i=0;i<n;i++)
        a[i]=new double[m];
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
        {
        cout<<"vvedite a["<<i<<"]["<<j<<"]:";
        cin>>a[i][j];
}
        cout<<"MASSIV:"<<endl;
        for(i=0;i<n;i++)
        {
            for(j=0;j<m;j++)
                cout<<setw(10)<<a[i][j]<< " ";
            cout<<endl;
        }
for (i=0; i<n-1; i++){
    for (k=0; k<n-1; k++){
        if (a[k][0]>a[k+1][0]){
            for (j=0; j<m; j++){
            b=a[k][j];
            a[k][j]=a[k+1][j];
            a[k+1][j]=b;
            }
        }
    }
}
cout<<"Result:"<<endl;
for(i=0;i<n;i++)
{
    for(j=0;j<m;j++)
        cout<<setw(10)<<a[i][j]<<" ";
    cout<<endl;
}
for(i=0;i<n;i++)
delete [] a[i];
delete []a;
a=NULL;
    return 0;
}
Прога работает.
Объясните пожалуйста вот этот момент
C++ (Qt)
1
2
3
4
5
6
7
for (i=0; i<n-1; i++){
    for (k=0; k<n-1; k++){
        if (a[k][0]>a[k+1][0]){
            for (j=0; j<m; j++){
            b=a[k][j];
            a[k][j]=a[k+1][j];
            a[k+1][j]=b;
Добавлено через 1 час 55 минут
апд (
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2012, 20:22
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Упорядочить строки матрицы по возрастанию их первых элементов (C++):

Упорядочить строки матрицы по возрастанию их первых элементов
Задана матрица целых чисел. Упорядочить ее строки по возрастанию их первых...

Упорядочить строки матрицы по возрастанию их первых элементов
очень срочно на завтра нужен код этой задачи. &quot; дана матрица размером NxM...

Упорядочить строки матрицы по возрастанию первых четных положительных элементов строк
Упорядочить строки массива U (10,8) целых чисел по возрастанию первых четных...

В двухмерном динамическом массиве упорядочить строки по возрастанию первых элементов
В матрице размером N на M упорядочить строки по возрастанию их первых...

Упорядочить элементы строк матрицы по возрастанию, а сами строки по возрастанию суммы элементов
Дана матрица Х. Упорядочить элементы строк матрицы по возрастанию, а сами...

Упорядочить строки массива T(9,7) по возрастанию первых элементов строк. Массив ввести из файла
Массив, довольно прост, но мой уровень, пока только &quot;конвертер величин&quot; Сам...

3
CSIS119
3 / 3 / 0
Регистрация: 28.11.2012
Сообщений: 11
28.11.2012, 21:43 #2
это код и есть выполнение главного задания задачи: Упорядочить ее строки по возрастанию их
первых элементов..
C++
1
2
3
4
5
6
7
for (i=0; i<n-1; i++){//запускаешь цикл по массиву
    for (k=0; k<n-1; k++){
        if (a[k][0]>a[k+1][0]){//проверяешь текущий первый элемент со следующим. если текущий больше - нужно      поменять месьами
            for (j=0; j<m; j++){//запускаешь сортировку
            b=a[k][j];//временной переменной присваиваешь текущий
            a[k][j]=a[k+1][j];//текущему присваиваешь следующий
            a[k+1][j]=b//следующему присваиваешь значение предыдущего которое хранится во временной переменной
3
k0ksby
4 / 4 / 1
Регистрация: 05.10.2012
Сообщений: 9
28.11.2012, 22:16  [ТС] #3
Спасибо,добрый человек !)
1
zjohnny
0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 1
26.07.2016, 14:36 #4
Объясните пожалуйста вот этот момент:

double **a,b;

a=new double*[n];

a[i]=new double[m];
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2016, 14:36
Привет! Вот еще темы с решениями:

Упорядочить строки матрицы лексикографически по неубыванию первых k элементов строки.
Помогите решить задачу, пожалуйста Упорядочить строки матрицы D ( m, n)...

Упорядочить строки матрицы D (m. n) Лексикографически по неубыванию первых k элементов строки
Помогите решить задачу C++ пожалуйста, пожалуйста Упорядочить строки...

Упорядочить строки матрицы по неубыванию их первых элементов
Написать программу: Дан двумерный массив. Упорядочить его строки по неубыванию...

Упорядочить строки матрицы в порядке неубывания их первых элементов.
1 курс, 1 семестр. Лекции читают плохо, пытаюсь разобраться сама, все время...


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

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

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