Форум программистов, компьютерный форум 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" using namespace std; void main ()
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. Какая-то беда с указателями. Укажите на ошибку :) #ifndef BINARY_TREE #define BINARY_TREE #include "Error.h" #include <iostream> #include <string> template <class T> class BinaryTree {
C++ Выдает ошибку в любой программе Может я не достаточно внимателен, но посмотрите плз в чем дело. Вчера поставил ВС 2012 и теперь в любой программе абсолютно выдает ошибку : MSVCRTD.lib(crtexe.obj) : error LNK2019: ссылка на неразрешенный внешний символ _main в функции ___tmainCRTStartup 1>c:\users\123\documents\visual studio 2012\Projects\Win32Project1\Debug\Win32Project1.exe : fatal error LNK1120: неразрешенных внешних... подробнее

Показать сообщение отдельно
egor2116
 Аватар для egor2116
337 / 368 / 42
Регистрация: 20.01.2013
Сообщений: 1,100
22.11.2013, 11:47     Отсортировать матрицу в порядке возрастания элементов
Как то так наверное
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
//обьявление и определение функции
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++];//при выпол. условия присваиваем значение k-ого элемента массива в двумерный массив
    if((k>n2)||(j==n)) break;//при выпол. условия выходим из внутреннего цикла
    i--;//уменьшаем значение переменной на 1
    j++;//увеличиваем значение переменной на 1
    }
    i++;//увеличиваем значение переменной на 1
    while(j>=1)//внутрений цикл
    {
    if(j>0) b[i][j]=a[k++];//при выпол. условия присваиваем значение k-ого элемента массива в двумерный массив
    if((k>n2)||(i==n)) break;//при выпол. условия выходим из внутреннего цикла
    i++;//увеличиваем значение переменной на 1
    j--;//уменьшаем значение переменной на 1
    }
    j++;//увеличиваем значение переменной на 1
    }
    printsqm(b,n);//вызываем функцию
}
 
int main()//главная функция программы
{
    int *a,**b,n,i,m;//обьявляем переменные и указатели
    inputm(n,b,a);//вызываем функцию
    do{//начало цикла do while
    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:{//если значенпие переменной m = 1
    inputm(n,b,a);//вызываем функцию
    break;}
    case 2:{//если значенпие переменной m = 2
    for(i=1;i<=(n*n);i++)
    {
    printf("a[%i]=",i);
    scanf("%i",&a[i]);
    }
    break;}
    
    case 3:{//если значенпие переменной m = 3
    for(i=1;i<=(n*n);i++) a[i]=i;//цикл при каждой итерации изменяем значение массива
    break;}
    
    case 4:{//если значенпие переменной m = 4
    snake(b,a,n);//вызываем функцию
    break;}
    }
    }while(m!=5);//условие выхода из цикла do while
return 0;// все хорошо программа нормально завершилась
}
 
Текущее время: 18:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru