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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Skypee
0 / 0 / 0
Регистрация: 23.05.2013
Сообщений: 6
#1

Отсортировать диагонали матрицы, параллельные главной, по убыванию элементов методом вставки - C++

23.05.2013, 16:11. Просмотров 1454. Ответов 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
#include <fstream>
#include <iomanip>
#include <iostream>
 
using namespace std;
ifstream in("input.txt");
ofstream out("output.txt");
void sort (int *a, int n)
{
mas temp;
int i,j;
for (i=1; i<n; i++)
{j=i;
while (a[j]<a[j-1] && j>0)
{
    temp=a[j];
    a[j]=a[j-1];
    a[j-1]=temp;
    j--;}
}
}
 
int main()
{
 int **mas;
 int n,i,j,m;
 int a[10][10];
 mas = new int*[n];
in>>n>>m
 for (i=0;i<n;i++)
 {
 mas = new int[n];
 for (j=0;j<n;j++) 
     in>>a[i][j];
 }
 int *diag1; 
 diag1 = new int[n+1]; 
 for (i=n-2;i>=0;i--)
 {
 for (j=0;j<n-i;j++) diag1[j] = mas[j][i+j];
 
 sort(diag1,n-i);
 for (j=0;j<n-i;j++) mas[j][i+j] = diag1[j];
 }
int *diag2; 
 diag2 = new int[n+1];
 for (i=1;i<n-1;i++)
 {
 for (j=i;j<=n-1;j++) diag2[j] = mas[j][j-i];
sort(diag2,n-i);
 for (j=i;j<=n-1;j++) mas[j][j-i] = diag2[j];
 }
 delete diag1;
 delete diag2;
out<<n<<'\t'<<m<<'\n';
for (i=0;i<n;i++)
 {
 for (j=0;j<n;j++)
 out<<setw(5)<<a[i][j];
 out<<'\n';
 delete mas;
 }
 in.close();
 out.close;
 return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2013, 16:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отсортировать диагонали матрицы, параллельные главной, по убыванию элементов методом вставки (C++):

Отсортировать диагонали матрицы, параллельные побочной, по возрастанию элементов методом выбора - C++
Дана матрица размерностью n x n, содержащая целые числа. Отсортировать диагонали матрицы параллельные побочной по возрастанию элементов...

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

Отсортировать диагонали матрицы параллельные побочной методом "пузырька" по возрастанию - C++
Дорогие форумчане, у меня большие проблемы с С++ и я не могу справится с этой задачей. На форуме видел похожую тему, но там используется...

Отсортировать диагонали матрицы, параллельные побочной - C++
Отсортировать диагонали матрицы (размерности N*N, содержащей целые числа) параллельные побочной, по возрастанию элементов.

Отсортировать каждую строку матрицы по убыванию элементов методом пузырька - C++
I. Дана матрица размерностью nxn, содержащая целые числа. Отсортировать: 1. каждую строку матрицы по убыванию элементов методом пузырька ...

Заменить в коде параллельные главной, на параллельные побочной диагонали - C++
Вот код,нужно сделать чтобы сортировались диагонали параллельные побочной, а не главной. помогите пожалуйста. int *diag1; diag1...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Lester Marshy
0 / 0 / 0
Регистрация: 09.11.2014
Сообщений: 8
09.05.2015, 18:28 #2
Строка 14 , поменяй условия местами
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2015, 18:28
Привет! Вот еще темы с ответами:

Сформировать из элементов матрицы меньше нуля одномерный массив, отсортировать его по убыванию методом выбора - C++
Дан двумерный массив N X M. Сформировать из элементов меньше нуля одномерный массив отсортировать его по убыванию методом выбора

Упорядочить строки матрицы по возрастанию значений элементов ее главной диагонали методом обмена. - C++
Упорядочить строки матрицы по возрастанию значений элементов ее главной диагонали методом обмена. Может кто-то помочь ?

Отсортировать столбцы матрицы методом вставки - C++
void Matrix::Sort_Matrix() { for (int k=0; k&lt;Col; ++k) { for (int i = 1,j; i&lt;Row; i++) { int tmp = Numbers ...

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


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

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

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