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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Два соседних цикла http://www.cyberforum.ru/cpp-beginners/thread656419.html
Доброго времени суток, господа хорошие. Есть задание по обработке двух циклов for нужно, чтобы данные, которые я рассчитываю в этих циклах, выводились двумя соседними столбцами. Если есть соображения просьба ими поделиться.
C++ Не получается создать дочернее окно ОС Винда ХР х32. ИДЕ ВС 2008. Хочу сделать такую штуку: 1. Главное окно с кнопкой 2. При нажатии на кнопку, открывается новое окно (не рабочая область, а нормальное, передвигаемое, с своими функциями, тоисть , например с кнопочкой и едитбоксом) Код могу выложить но он стандартный от ВС: // normal.cpp : Defines the entry point for the application. // #include "stdafx.h" #include... http://www.cyberforum.ru/cpp-beginners/thread656417.html
C++ Инициализация перемнных класса в конструкторе
Есть ли разница между Constructor():var_1(VAL), var_2(VAL) {} и Constructor() { var_1 = VAL; var_2 = VAL; } ?
Round Robin C++
Эта программа имитирует ли работу процесса по алгоритму круговое планирование? #include <iostream.h> #include <stdlib.h> #include <conio.h> void main () { int n,y,i,g=0,k=0,j,u; int bur,wait, turnar; int sum=0;
C++ Метод прогонки http://www.cyberforum.ru/cpp-beginners/thread656396.html
Здравствуйте, пытаюсь реализовать метод прогонки, не могу проверить работу, не понимаю как заполнять, и как сделать массив чтобы высчитывал не целые значения.заранее спасибо #include "stdafx.h" #include"iostream" #include<conio.h> #include<stdlib.h> #include<time.h> #include <iomanip>
C++ Работа с потоками идет не так, как надо. Почему? Есть вот такая вот программа моя. Она запускает потоки сортировки массива и его вывода с разными приоритетами. Но даже если приоритет потока вывода HIGHEST, а сортировки IDLE, то массив выводится все равно отсортированным. Вы не подскажите, почему? Программу в Visual Studio писал. #include "stdafx.h" #include "iostream" #include "windows.h" #include "stdlib.h" #include "time.h" #include... подробнее

Показать сообщение отдельно
Chainik!
1 / 1 / 1
Регистрация: 10.11.2008
Сообщений: 43
19.10.2012, 21:45     СОртировка динамического массива строк
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "ctime"
#include "iomanip"
using namespace std;
 
//----------------------------------------------------------
void srend(int **arr, int n, int m)
{
    srand(time(NULL));
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
            *(*(arr + i) + j) = rand() % 9;
    }
}
//----------------------------------------------------------
void print(int **arr, int n, int m)
{
    for(int i = 0; i < n; i++)
    {
        for(int j = 0; j < m; j++)
            cout << setw(3) << *(*(arr + i) + j);
        cout << "\n\n";
    }
}
//----------------------------------------------------------
void swap(int *x, int *y)
{
    int t = *x;
    *x = *y;
    *y = t;
}
//----------------------------------------------------------
void sort_str(int *arr, int n)
{
    for(int i = 0; i < n; i++)
    {
        for(int j = i + 1; j < n; j++)
        {
            if(arr[i] > arr[j])
                swap(&arr[i],&arr[j]);
        }
    }
}
//----------------------------------------------------------
void sort_stl(int **arr, int n, int m, int index)
{
    for(int i = 0; i < n; i++)
    {
        for(int j = i; j < n; j++)
        {
            if(arr[i][index] > arr[j][index])
                swap(&arr[i][index],&arr[j][index]);
        }
    }
}
//----------------------------------------------------------
void sort_all(int **arr, int n, int m)
{
    for(int k = 0; k < n; k++)
    {
        for(int l = 0; l < m; l++)
        {
            for(int i = 0; i < n; i++)
            {
                for(int j = 0; j < m; j++)
                {
                    if((j != m - 1) && (arr[i][j] > arr[i][j + 1]))
                        swap(&arr[i][j],&arr[i][j + 1]);
                    else
                    {
                        if((i != n - 1) && (arr[i][j] > arr[i + 1][0]))
                            swap(&arr[i][j], &arr[i + 1][0]);
                    }
                }
            }
        }
    }
}
//----------------------------------------------------------
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0,"Russian");
    int n, m, **arr;
    n = m = 0;
    cout << "Введите размер строк: ";
    cin >> n;
    cout << "\n\nВведите размер столбцов: ";
    cin >> m;
    arr = new int*[n];
    for(int i = 0; i < n; i++)
        *(arr + i) = new int[m];
    int x = 0;
    cout << "\n\n";
    cout << "1 - Сортировка строк матрицы\n\n";
    cout << "2 - Сортировка столбцов матрицы\n\n";
    cout << "3 - Сортировка всей матрицы\n\n";
    cout << "\n\nСделайте выбор: ";
    cin >> x;
    switch(x)
    {
    case 1:
        {
            
            srend(arr,n,m);
            cout << "\n\nМатрица имеет вид: \n\n";
            print(arr,n,m);
            for(int i = 0; i < n; i++)
                sort_str(arr[i],m);
            cout << "\n\nПосле сортировки строк имеем: \n\n";
            print(arr,n,m);
            break;
        }
    case 2:
        {
            srend(arr,n,m);
            cout << "\n\nМатрица имеет вид: \n\n";
            print(arr,n,m);
            for(int i = 0; i < m; i++)
                sort_stl(arr,n,m,i);
            cout << "\n\nПосле сортировки столбцов имеем: \n\n";
            print(arr,n,m);
            break;
        }
    case 3:
        {
            srend(arr,n,m);
            cout << "\n\nМатрица имеет вид: \n\n";
            print(arr,n,m);
            sort_all(arr,n,m);
            cout << "\n\nПосле сортировки всей матрицы имеем: \n\n";
            print(arr,n,m);
            break;
        }
    default:
        cout << "\n\nНе верный ввод!";
        break;
 
    }
    for(int i = 0; i < n; i++)
        delete arr[i];
    delete []arr;
    _getch();
    return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru