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

Отсортировать матрицу в порядке возрастания элементов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как из функции взять значение? http://www.cyberforum.ru/cpp-beginners/thread1002879.html
Господа! Вот программка "быстрая сортировка" #include "stdlib.h" #include <stdio.h> #include <iostream> // Ввод/Вывод #include <cstdlib> // Для сортировок #include <time.h> #include "QS_EDI.h"...
C++ Вычислить и напечатать среднее значение всех введенных чисел Числа x1,x2,x3,... последовательно вводятся с клавиатуры. После ввода каждого числа необходимо вычислить и напечатать среднее значение всех введенных чисел: http://www.cyberforum.ru/cpp-beginners/thread1002862.html
Написать программу: найти суммы C++
Нужно написать программу, для заданного натурального n и действительного x подсчитать следующие суммы: S=1!+2!+3!+......+n!, где S-сумма, n!- число в факториале. Очень нужно срочно!
C++ Найти н-й член ряда
Написать программу для нахождения н-ого член ряда
C++ Удаление узла бинарного дерева http://www.cyberforum.ru/cpp-beginners/thread1002825.html
Товарищи, помогите, пожалуйста, с удалением узла бинарного дерева (метод remove). Один узел удаляется нормально, но после удаления второго узла, дерево ломается, и выскакивает ошибка на методе print....
C++ Выдает ошибку в любой программе Может я не достаточно внимателен, но посмотрите плз в чем дело. Вчера поставил ВС 2012 и теперь в любой программе абсолютно выдает ошибку : MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на... подробнее

Показать сообщение отдельно
ivan-frost
0 / 0 / 0
Регистрация: 17.10.2013
Сообщений: 52
22.11.2013, 10:26  [ТС]
Здраствуйте друзья, нужна ваша помощь, помогите прокомментить код.
Вот задание: Дана действительная матрица порядк NxM. Отсортировать матрицу в порядке увеличения еєлементов в направлении показаном на рис.[IMG]http://s3.********************/uploads/thumbs/2013/11/05ff429840e6c479a3c8e48243b7b8aa.png[/IMG]

Вот собственно код на я его не понимаю и прошу прокоментить каждую функцию например void printsqm(int **a, int 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
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
#include <conio.h>
#include <stdio.h>
 
void printsqm(int **a, int n)
{
        for(int i=1;i<=n;i++)
        {
                for(int j=1;j<=n;j++) printf("%5i",a[i][j]);
                printf("\n");
        }
}
 
int inputm(int &n, int **&b, int *&a)
{
        printf("Input array's size N=");
        scanf("%i",&n);
        int n2=n*n;
        a=new int[n2];
        b=new int*[n];
        for(int i=1;i<=n;i++) b[i]=new int[n];
}
 
void snake(int **&b, int *a, int n)
{
        int k,j,i;
        k=j=i=1;
        int n2=n*n;
        while(k<=n2){
                while(i>=1)
                {
                        if(i>0) b[i][j]=a[k++];
                        if((k>n2)||(j==n)) break;
                        i--;
                        j++;
                }
                i++;
                while(j>=1)
                {
                        if(j>0) b[i][j]=a[k++];
                        if((k>n2)||(i==n)) break;
                        i++;
                        j--;
                }
                j++;
        }
        printsqm(b,n);
}
 
int main()
{
        int *a,**b,n,i,m;
        inputm(n,b,a);
        do{
        printf(" 1. Input another size\n 2. Input data manually.\n 3. Input 1,2,3,4...n data.\n 4. Show 'snake'\n 5. Exit\n");
        scanf("%i",&m);
        switch(m)
        {
                case 1:{
                inputm(n,b,a);
                break;}
                case 2:{
                for(i=1;i<=(n*n);i++)
                {
                        printf("a[%i]=",i);
                        scanf("%i",&a[i]);
                }
                break;}
 
                case 3:{
                for(i=1;i<=(n*n);i++) a[i]=i;
                break;}
 
                case 4:{
                snake(b,a,n);
                break;}
        }
        }while(m!=5);
        return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru