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

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

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

Сортировка двумерного массива - C++

23.09.2013, 20:58. Просмотров 763. Ответов 1
Метки нет (Все метки)

25) В каждой строке матрицы A(n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом.

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
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
int main()
{
    int n;
    cout<<"Enter array size"<<endl;
    cin>>n;
    int  A[n][n];
    srand((unsigned)time(NULL));
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
        A[i][j]=rand()%40-20;
        }
    }
    cout<<"source array:"<<endl;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<"("<<j<<";"<<i<<"."<<")"<<A[i][j]<<" ";
        }
        cout<<endl;
    }
    cout<<"sorted array:"<<endl;
    int temp=0;
    for(int i=0;i<n;i++){
        for(int j=1;j<n;j++){
            if(A[i][j]>A[i][j-1]){
                temp=A[i][j];
            }
        }
        A[i][i]=temp;
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<"("<<j<<";"<<i<<"."<<")"<<A[i][j]<<" ";
        }
        cout<<endl;
    }
 
    return 0;
    system("PAUSE");
}
Что я делаю не так? Объясните, пожалуйста.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.09.2013, 20:58     Сортировка двумерного массива
Посмотрите здесь:

сортировка двумерного массива - C++
#include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; #include&lt;math.h&gt; #include&lt;conio.h&gt; int i,j,n,k,co,cp; ...

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

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

Сортировка двумерного массива - C++
По бумажке расписал - вроде всё правильно, но работает некорректно. Где ошибка? void sort(int **p, int n, int m) { int...

Сортировка Двумерного массива - C++
Создать двумерный массив. Отсортировать каждую строку по возрастанию. Одномерный смог отсортировать а.двух мерный слабо =( ...

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

Сортировка двумерного массива - C++
Массивы

Сортировка двумерного массива - C++
Здравствуйте! Есть задача: отсортировать чётные строки массива А по возрастанию, а нечётные по убыванию. Написал следующий код: ...

Сортировка двумерного массива - C++
Задача: Написать код сортировки двумерного массива размерностью m*n. Переставить строки матрицы так, чтобы элементы k-го столбца были...

Быстрая сортировка двумерного массива - C++
Помогите разобраться с быстрой сортировкой! Для одномерного массива всё понятно, но как сортировать двумерный массив не понимаю. Если б мне...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newb_programmer
237 / 237 / 19
Регистрация: 03.09.2011
Сообщений: 555
23.09.2013, 21:15     Сортировка двумерного массива #2
Цитата Сообщение от js_m1m Посмотреть сообщение
25) В каждой строке матрицы A(n, n) найти наибольший элемент и поменять его местами с соответствующим диагональным элементом.

http://pastebin.com/A4CLcaJS

Что я делаю не так? Объясните, пожалуйста.
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
#include <iostream>
#include <math.h>
#include <stdlib.h>
#include <time.h>
using namespace std;
 
int main()
{
    const int n=5;
   // cout<<"Enter array size"<<endl;
   // cin>>n;
    int  A[n][n];
    srand((unsigned)time(NULL));
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
             A[i][j]=rand()%40+10;
        }
    }
 
    cout<<"source array:"<<endl;
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<A[i][j]<<" ";
        }
        cout<<endl;
    }
 
    cout<<"sorted array:"<<endl;
    int max,max_i,max_j;
    for(int i=0;i<n;i++){
        max=A[i][0];
        for(int j=1;j<n;j++){
            if(A[i][j]>max){
                max=A[i][j];
              max_i=i;
              max_j=j;
            }
        }
        A[max_i][max_j]=A[i][i];
        A[i][i]=max;
    }
 
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            cout<<A[i][j]<<" ";
        }
        cout<<endl;
    }
    system("pause");
}
Ответ Создать тему
Опции темы

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