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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.94
Rendll
0 / 1 / 0
Регистрация: 04.12.2008
Сообщений: 63
#1

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

04.12.2008, 23:17. Просмотров 3829. Ответов 3
Метки нет (Все метки)

Есть задачка с 3-ох пунктов. Первый я сделал(создать многомерный целочисельный масив заданый пользователем). А вот с двумя никак не могу разобратся. Вроде как и легко, но не могу =((
Второе: реализовать функцию сортировки двумерного массива с левого верхнего до правого нижнего угла!(По строках)
Пример:
1 2 3
4 5 7

Третье: Реализовать функцию для сортировки столбцов двумерного массива за суммой значений елементов в столбце.

И ещё вопросик. Как сделать проверку на корректность вводимых значений. Мне нужно чтоб только цифры можна было ввести, а на всё другое Писало ERROR. Я думал как-то через ASCII таблицу.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2008, 23:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Сортировка двумерного массива (C++):

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

Сортировка Двумерного массива - 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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
XuTPbIu_MuHTAu
Эксперт С++
2224 / 739 / 10
Регистрация: 27.05.2008
Сообщений: 1,508
05.12.2008, 00:33 #2
Каждая строка двумерного массива - есть одномерный массив.Алгоритмы сортировки есть в FAQ.
Сортировка столбцов - несколько сложнее. Сделай функции,скажем, csum(int ** mas,int i ) и cswap(int ** mas,int i,int j). csum будет считать сумму i-го столбца ,cswap - менять местами i-й и j-й. После этого реализуешь сортировку,используя эти ф-ии. Разбивай задачу на меньшие - все сразу пойдет.

Для проверки ввода используй такой факт: в ASCII коды символов
'0' '1' ... '9' идут подряд. Т.е если код введенного символа не лежит в промежутке
['0','9'] - он не цифра.
еще есть функция стандартной библиотеки,но я сейчас название не вспомню
isnum вроде. Не важно,используй сравнение. )
0
StarWorm
17 / 16 / 4
Регистрация: 20.11.2008
Сообщений: 81
05.12.2008, 00:52 #3
2) сортировки по строкам, т.е.
1 3 8 10
2 3 7 11
так что ли?!?!
Так это запросто!
3) Реализовать функцию для сортировки столбцов двумерного массива за суммой значений елементов в столбце. <----- это вообще про что?! Оо

Добавлено через 18 минут 58 секунд
Вот тебе, можно сказать 1 + 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
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <iostream>
#include <conio.h>
#include <time.h>
 
using std::cout;
using std::cin;
//using std::setw;
 
void printArr(int** arr,int n,int m)
{
    cout<<"\n";
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<m;j++)
        {
            cout.width(5);
            cout<<arr[i][j];
        }
        cout<<"\n";
    }
}
 
void fillArr(int** arr,int n,int m)
{
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            arr[i][j]=rand()%100-50;
}
 
void swap(int &a,int &b)
{
    int tmp=a;
    a=b;
    b=tmp;
}
 
void bubbleSort(int** arr,int n,int m, char c)
{
    for(int i=0;i<n;i++)
        for(int j=0;j<m-1;j++)
            for(int k=j+1;k<m;k++)
                switch(c)
            {
                case '>':
                    if(arr[i][j]<arr[i][k])
                        swap(arr[i][j],arr[i][k]);
                    break;
                case '<':
                    if(arr[i][j]>arr[i][k])
                        swap(arr[i][j],arr[i][k]);
                    break;
                default:
                    cout<<"BAD Symbol!!!";
                    return;
            }
}
 
 
int main()
{
    srand(time(NULL));
    rand();
    int n,m;
    cout<<"Enter dimension of your Array: ";
    //cin>>n>>m;
    n=6;m=12;
 
    int** arr=new int*[n];
    for(int i=0;i<n;i++)
        arr[i]=new int[m];
 
    fillArr(arr,n,m);
    printArr(arr,n,m);
    bubbleSort(arr,n,m,'>');
    printArr(arr,n,m);
    bubbleSort(arr,n,m,'<');
    printArr(arr,n,m);
 
    for(int i=0;i<n;i++)
        delete [] arr[i];
    delete [] arr;
 
    getch();
}
3-ю просто не понял что нужно сделать!
0
Rendll
0 / 1 / 0
Регистрация: 04.12.2008
Сообщений: 63
05.12.2008, 14:59  [ТС] #4
3) Реализовать функцию для сортировки столбцов двумерного массива за суммой значений елементов в столбце. <----- это вообще про что?! Оо
Ето например:

1 2 4
2 3 4
5 11 7

потом программа суммирует : 1+2+5=8; 2+3+11= 16; 4+4+7=15
После етого программа делает сортировку етих стобцов :
1 4 2
2 4 3
5 4 11
Потом программа заканчивается =))
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.12.2008, 14:59
Привет! Вот еще темы с ответами:

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

сортировка двумерного массива - 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++
Здравствуйте, вот у меня есть массив array. Какими стандартными методами можно отсортировать весь массив по ячейкам ? Или стандартными...

сортировка двумерного массива - C++
помоги отсортировать двумерный массив как в примере пример: 2 4 6 1 2 3 1 5 9 ...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
05.12.2008, 14:59
Ответ Создать тему
Опции темы

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