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

Сортировка чисел в столбцах матрицы - C++

Восстановить пароль Регистрация
 
rfiz
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 22
19.11.2010, 22:16     Сортировка чисел в столбцах матрицы #1
Помогите пожалуйста написать программу сортировки чисел в столбцах матрицы
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2010, 22:16     Сортировка чисел в столбцах матрицы
Посмотрите здесь:

Сумма элементов матрицы,стоящих в четных столбцах и нечетных строках. На C++. C++
Для каждой матрицы определить количество и сумму положительных элементов, расположенных в четных столбцах C++
Найти сумму элементов в тех столбцах матрицы, которые содержат хотя бы один отрицательный элемент C++
Найти сумму элементов матрицы в тех столбцах, которые имеют отрицательные элементы C++
C++ Определить сумму элементов в тех столбцах матрицы, которые имеют хотя бы один отрицательный элемент
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
19.11.2010, 22:27     Сортировка чисел в столбцах матрицы #2
Отсортируте столбцы как одномерные массивы!!!
rfiz
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 22
20.11.2010, 18:48  [ТС]     Сортировка чисел в столбцах матрицы #3
Спасибо конечно за совет, но как связать сортировку одномерного массива(столбца) и сортировку всей матрицы. Приведите в пример какую нибудь несложную программку на СИ
nikkka
Мат в 32 хода
 Аватар для nikkka
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
20.11.2010, 18:49     Сортировка чисел в столбцах матрицы #4
отсортировать одномерный массив можешь?

Добавлено через 36 секунд
отсортируй поочереди все столбцы, они ведь и есть одномерные массивы.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
20.11.2010, 18:58     Сортировка чисел в столбцах матрицы #5
если у тебя mt[i][j];
то сортируй обычной сортировкой только беги i (mt[1][j], mt[2][j]) j не изменяй (грубо говоря допиши к mt[i] - [j]=mt[i][j])
rfiz
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 22
20.11.2010, 22:39  [ТС]     Сортировка чисел в столбцах матрицы #6
Вот, например, код программы которая сортирует одномерный массив методом пузырька:
#include <stdio.h>
const int N=10;
int main ()
{
int i,j,A[N],c;
//здесь вводим одномерный массив А
for (i=0;i<N-1; i++)
for ( j=N-2; j>=i; j--)
if (A[i]>A[j+1])
}
printf("\n Отсортированный массив:\n");
for (i=0; i<N; i++)
printf("%d", A[i]);
}

Но до меня так и не доходит, как верно её откорректировать чтобы получилась программа сортировки массива.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.11.2010, 22:42     Сортировка чисел в столбцах матрицы #7
Как сортировать(по возростанию, по убыванию)?
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
20.11.2010, 22:50     Сортировка чисел в столбцах матрицы #8
Если есть массив A[N][M], то сортировка вставкой столбцов по неубыванию так:
C++
1
2
3
4
5
6
7
8
9
10
 int i, j, y, temp_i, temp;
 for(j=0; j<M; j++)
     for(i=0; i<N-1; i++)
     {
         temp_i=i;
         for(y=i; y<N; y++)
             if(A[temp_i][j]>A[y][j])
                 temp_i=y;
         temp=A[i][j]; A[i][j]=A[temp_i][j]; A[temp_i][j]=temp;
     }
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
20.11.2010, 22:58     Сортировка чисел в столбцах матрицы #9
Не идеальный код, но для примера сойдет

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
#include <stdio.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
 
void sort(int x[5][5], int m, int n, int m1)
{
    int max,i,j,temp;
    max=x[0][m1];
    for(i=0; i<n; i++)
     {
       for(j=i; j<n; j++ )
       {
           if(x[i][m1]>x[j][m1])
             {
                temp=x[i][m1];
                x[i][m1]=x[j][m1];
                x[j][m1]=temp;
             }
        }
     }
 }
 
int main()
{
    const int m=5;
    const int n=5;
    srand((unsigned)time(NULL));
    int mat[m][n];
    int i,j;
    printf("Matrix: \n");
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
         {
             mat[i][j]=rand()%9;
             printf("%d ",mat[i][j]);
         }
        printf("\n");
    }
    printf("\nSorted matrix:\n");
    for(i=0; i<n; i++)
    {
        sort(mat,m,n,i);
    }
    for(i=0; i<m; i++)
    {
        for(j=0; j<n; j++)
         {
             printf("%d ",mat[i][j]);
         }
        printf("\n");
    }
 getch();
 
}
rfiz
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 22
21.11.2010, 14:09  [ТС]     Сортировка чисел в столбцах матрицы #10
Спасибо большое!
rfiz
0 / 0 / 0
Регистрация: 06.11.2010
Сообщений: 22
21.11.2010, 15:51  [ТС]     Сортировка чисел в столбцах матрицы #11
Вроде написал программу, а выводит только первую строку, помогите пожалуйста найти ошибку:
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
#include <stdio.h>
int main()
{
int i,j,y, temp_i, temp;
float a[5][5];
clrscr();
printf ("Programma prorramma sortirovki ctolbcov matritsi 5x5\n");
//Vvod isxodnoi matritsi
for (i=0;i<5;i++)
for (j=0;j<5;j++)
{
printf ("Vvedite element matritsi a[%d][%d]->",i,j);
scanf("%f",&a[i][j]);
}
//Kontrolnaya peshat matritsi
printf ("Vvedennaya matritsa:\n");
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
printf ("%2.0f",a[i][j]);
printf("\n");
}
printf (" Otsortirovannaya matritsa\n");
for(j=0; j<5; j++)
for(i=0; i<5-1; i++)
{
temp_i=i;
for(y=i; y<5; y++)
if(a[temp_i][j]>a[y][j])
temp_i=y;
temp=a[i][j]; a[i][j]=a[temp_i][j]; a[temp_i][j]=temp;
 
for (i=0;i<5;i++)
{
for (j=0;j<5;j++)
printf ("%2.0f",a[temp_i][j]);
printf("\n Dlya vixoda nazmite 1\n");
scanf (" ");
return 0;
}
}
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2010, 15:58     Сортировка чисел в столбцах матрицы
Еще ссылки по теме:

Найти сумму элементов матрицы, стоящих в четных строках и нечетных столбцах C++
Создать вектор элементами которого является количества цифр кратных 5 в столбцах матрицы C++
C++ Найти минимальные элементы в столбцах двумерной матрицы

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

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
21.11.2010, 15:58     Сортировка чисел в столбцах матрицы #12
ну во-первых вот правильный вывод
C
1
2
3
4
5
6
for (i=0;i<5;i++)
{printf("\n");
for (j=0;j<5;j++)
printf ("%2.0f",a[i][j]);
 
}
Добавлено через 4 минуты
во-вторых вот сама сортировка
C
1
2
3
4
5
6
7
8
9
for (a=0;a<5;a++)
for (i=0;i<5-1;i++)
{ for (j=5-1;j>i;j--)
if (ms[j][a]<ms[j-1][a])
{ buf=ms[j][a]; // zamena
   ms[j][a]=ms[j-1][a];
   ms[j-1][a]=buf;
}
}
Yandex
Объявления
21.11.2010, 15:58     Сортировка чисел в столбцах матрицы
Ответ Создать тему
Опции темы

Текущее время: 23:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru