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

Сортировка Шелла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура point http://www.cyberforum.ru/cpp-beginners/thread117207.html
Ребят помогите. Нужно решить задачу с использованием структуры point. А задача такова - ННужно найти точку которая наиболее удалена от начала координат в плоскости. Я решила ее так: #include...
C++ Механизм перегрузки Ребят помогите. Нужно создать две версии функции, используя механимз перегрузки, заголовки у которых должны быть такими: №1 float F(float x); №2 void F (float x, float &y). 1) #include <iostream>... http://www.cyberforum.ru/cpp-beginners/thread117204.html
C++ В чем причина ошибки?
помогите разобраться почему выходит ошибка? #include <iostream.h> #include <string.h> #include <conio.h> #include <stdio.h> #include <math.h> int pr(float a,float b,float *p,float *s,float...
Поиск слов в строке без учета регистра C++
В общем пока только один вопрос (позже возможно еще возникнут) : Я сам написал функцию для поиска слов в строке, но ейе не хватает снятия учёта регистра. Ну например если пользователь введёт вместо...
C++ Cимвольные стоки http://www.cyberforum.ru/cpp-beginners/thread117177.html
Народ подскажите плз как сделать эту задачу :Функция выделяет из строки заданное количество слов, начиная со слова с заданным номером. И надо эти слова вывести в другой массив. Буду очнь благодарен).
C++ Аппроксимация числа Pi ПОМОГИТЕ решить вот эту задачу Аппроксимация 4(Pi) Один из быстрых методов подсчета числа Пи основывается на непрерывной дроби Пи =... подробнее

Показать сообщение отдельно
Vorona
Peace 2 all shining faces
671 / 533 / 45
Регистрация: 05.03.2010
Сообщений: 1,283
23.04.2010, 20:16
работу алгоритма не проверял и не компилировал, вместо a стоило написать matrix, или объявить a, как двумерный массив
еще нужно было динамически выделить вначале и удалить по окончанию работы программы память под matrix
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
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
 
ifstream in("input.txt");
ofstream out("output.txt");
 
void SortShell(int* arr, int size) {
        int step = size / 2, tmp, j;
        while (step != 0) {
                for (int i = step; i < size; ++i) {
                        tmp = arr[i];
                        for (j = i - step; j >= 0 && arr[j] > tmp; j -= step)
                                arr[j+step] = arr[j]; 
                        arr[j+step] = tmp;
                }    
                step /= 2;
        }
}
 
int main()
{
        int** matrix;  
    int   n, m, i, j;
        in>>n>>m;
    matrix = new int*[n];
    for(i = 0; i < n; i++)
        matrix[i] = new int[m];
        for (int i = 0; i<n; ++i)
                for (int j = 0; j<m; j++) 
                        SortShell(matrix[i], m);
        in>>matrix[i][0];
        int b[10];
        for (j=0; j<m; j++)
        {
                for (i=0; i<n; i++) b[i]=matrix[i][j];
                SortShell (b,n);
                for (i=0; i<n; i++) matrix[i][j]=b[i];
        }
        out<<n<<'t'<<m<<'\n';
        for (j=0; i<n; i++)
        {
                for (j=0; j<m; j++)
                        out<<setw(5)<<matrix[i][j];
                out<<'\n';
        }
        in.close(); out.close();
    for(i = 0; i < n; i++)
            delete []matrix[i];
    delete []matrix;
        system("PAUSE");
return 0;
}
и насчет чтения из файла неясно in>>n>>m;
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.