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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
#1

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

17.04.2010, 18:29. Просмотров 1425. Ответов 17
Метки нет (Все метки)

помоги отсортировать двумерный массив как в примере
пример: 2 4 6 1 2 3
1 5 9 4 5 6
7 8 3 отсортировался в 7 8 9
вот мои наработки
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include "stdafx.h"
#include<stdio.h>
 
void main()
{
    int A[3][3],i,j;
    printf("vvedute elementu \n");
    //ввод массива//
    for(i=0;i<3;i++){
        for(j=0;j<3;j++)
        {
            printf("A[%d][%d]=", i,j);
            scanf("%d",&A[i][j]);}}
    //сортировка массива//
 
 
//вывод ввиде матрицы//
        for(i=0;i<3;i++)
            for(j=0;j<3;j++)
                printf("%d", A[i][j]);}
Добавлено через 18 минут
пример:
2 4 5
1 3 7
8 9 6
в
1 2 3
4 5 6
7 8 9
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.04.2010, 18:29     сортировка двумерного массива
Посмотрите здесь:

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

Сортировка двумерного массива - C++
Добрый день. Дано было такое задание . &quot;Даны два числа n и m. Создать матрицу размером и заполнить случайными числами в диапазоне ....

Сортировка двумерного массива - C++
Есть задачка с 3-ох пунктов. Первый я сделал(создать многомерный целочисельный масив заданый пользователем). А вот с двумя никак не могу...

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Genius Ignat
1235 / 773 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
17.04.2010, 22:31     сортировка двумерного массива #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
#include <stdio.h>
#include <conio.h>
 
#define H 3
#define W 3 
int main(){
    int matrix[H][W] = {
    {2,4,5},
    {1,3,7},
    {8,9,6}
    };
int i,j;
 
 
//ñîðòèðóåì
int *t = (int*)matrix;
for( i = 0 ; i < H*W-1 ; i++ ){
    for( j = i+1 ; j < H*W ; j++){
        if(t[j]<t[i]){
                int tmp = t[i];
        t[i]=t[j];
        t[j] = tmp;
        }
    }
}
for( i = 0 ; i < H ; i++ ){
    for( j = 0 ; j < W ; j++){
    printf("%d " ,matrix[i][j]);
    }
printf("\n");
}
 
getch();
return 0;
}
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
18.04.2010, 11:46  [ТС]     сортировка двумерного массива #3
спасибо , но можно ещё вариант без указателей
и что делается на 16 строчке ????
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
18.04.2010, 12:22     сортировка двумерного массива #4
suv121, в 16 строчке создается указатель на матрицу, как на одномерный массив. И больше указателей явно нигде не используется.
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
18.04.2010, 12:29  [ТС]     сортировка двумерного массива #5
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
#include "stdafx.h"
#include<stdio.h>
#include <conio.h>
 
int main()
{
int A[3][3],i,j;
printf("vvedute elementu \n");
//ввод массива//
for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
printf("A[%d][%d]=", i,j);
scanf("%d",&A[i][j]);}}
//сортировка массива//
int *t = (int*)A;
for( i = 0 ; i < 8; i++ ){
        for( j = i+1 ; j < 9; j++){
                if(t[j]<t[i]){
                int tmp = t[i];
                t[i]=t[j];
                t[j] = tmp;
                }
        }
}
 
 
 
 
//вывод ввиде матрицы//
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d", A[i][j]);}}
а что у меня не так ???? после того как я ввожу массив , программа закрывается
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
18.04.2010, 12:33     сортировка двумерного массива #6
suv121, нужно остановить выполнение, используя, например, system("pause") или getch(). Да, и пользуйтесь тегами выделения кода...
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
18.04.2010, 12:38  [ТС]     сортировка двумерного массива #7
а как тегами пользоваться для выделения???
и как именно остановить выполнение???
Jony Wocker
45 / 45 / 2
Регистрация: 19.11.2009
Сообщений: 362
18.04.2010, 12:39     сортировка двумерного массива #8
Зачем вы используете указатели?
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
18.04.2010, 12:42  [ТС]     сортировка двумерного массива #9
мне так подсказали , а как без указателей???
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
18.04.2010, 12:43     сортировка двумерного массива #10
suv121, остановить выполнение, поставив перед закрывающей скобкой system("pause"); или getch();. Для того, чтобы выделить код, нажмите на кнопку с надписью "C" или "C++" над полем ввода сообщения.


Jony Wocker, а как сделать проще без указателей?
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
18.04.2010, 12:46  [ТС]     сортировка двумерного массива #11
а можете показать где именно паузу ставить , а то я ставил и всё равно после того как ввёл массив , всё закрывается
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
18.04.2010, 12:48     сортировка двумерного массива #12
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
#include "stdafx.h"
#include<stdio.h>
#include <conio.h>
 
int main()
{
int A[3][3],i,j;
printf("vvedute elementu \n");
//ввод массива//
for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
printf("A[%d][%d]=", i,j);
scanf("%d",&A[i][j]);}}
//сортировка массива//
int *t = (int*)A;
for( i = 0 ; i < 8; i++ ){
for( j = i+1 ; j < 9; j++){
if(t[j]<t[i]){
int tmp = t[i];
t[i]=t[j];
t[j] = tmp;
}
}
}
//вывод ввиде матрицы//
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d", A[i][j]);}
 
system("pause"); // Вот оно
 
}
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
18.04.2010, 12:54  [ТС]     сортировка двумерного массива #13
теперь не компилируется
Demihalf
Унылый школьник
126 / 60 / 3
Регистрация: 06.11.2009
Сообщений: 354
18.04.2010, 13:00     сортировка двумерного массива #14
suv121, а, добавьте заголовок <stdlib.h>. И еще как-то странно у вас в конце выводится массив, добавьте пробелы и в конце внешнего цикла перенос строки
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.04.2010, 13:07     сортировка двумерного массива
Еще ссылки по теме:

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

Сортировка двумерного массива... - C++
Дано: одномерный массив А заполненный случайными числами одномерный массив В заполненный случайными числами двумерный массив С...

Сортировка двумерного массива - C++
Здравствуйте, вот у меня есть массив array. Какими стандартными методами можно отсортировать весь массив по ячейкам ? Или стандартными...

Сортировка двумерного массива - C++
Всем привет, я давно уже не брался за программирование и вдруг что то в голову ударило решил побаловаться проверить помню ли еще хоть что...

Сортировка двумерного массива - C++
Input sample: 4 10 20 30 7 30 00 23 59 59 13 30 30 Output sample: 7 30 0 10 20 30


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

Или воспользуйтесь поиском по форуму:
suv121
4 / 4 / 0
Регистрация: 04.12.2009
Сообщений: 134
18.04.2010, 13:07  [ТС]     сортировка двумерного массива #15
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
#include "stdafx.h"
#include<stdio.h>
#include <conio.h>
 
int main()
{
int A[3][3],i,j;
printf("vvedute elementu \n");
//ввод массива
for(i=0;i<3;i++){
for(j=0;j<3;j++)
{
    printf("A[%d][%d]=", i,j);
  scanf("%d",&A[i][j]);}
}
//сортировка массива
int *t = (int*)A;
for( i = 0 ; i < 8; i++ ){
for( j = i+1 ; j < 9; j++){
if(t[j]<t[i]){
int tmp = t[i];
t[i]=t[j];
t[j] = tmp;
}
}
}
//вывод ввиде матрицы//
for(i=0;i<3;i++){
for(j=0;j<3;j++)
printf("%d ", A[i][j]);
printf("\n");} 
getch(); }
вот такой код теперь работает
помогите теперь написать вариант без указателей
Yandex
Объявления
18.04.2010, 13:07     сортировка двумерного массива
Ответ Создать тему
Опции темы

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