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

Информация о карманной сортировке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Очень трудно. http://www.cyberforum.ru/cpp-beginners/thread172250.html
Написать таблицу 3х6 (столбцы и строки соответственно). Что бы при запуске программы в ячейках таблицы появлялись 5 слов(одновременно в разных ячейках): Process 1, Process 2, Process 3, Process 4, Process 5.(в случайном порядке). И чтобы при запуске программы переходили с ячейки на ячейку.
C++ Ищу третье издание Язык программирования С++ в отличном от DJVU формате Даже стыдно как-то создавать тему... НО... . Ищу третье издание Язык программирования С++ в отличном от DJVU формате. Нужно, дабы читать на плеере. А то на компе третье издание, а на плеере читаю 2-е.. Не коммильфо. Если такого не имеется на русском - подойдет на английском. Если не имеется и на английском - посоветуйте как конвертнуть DJVU в txt... Естесно не напрямую, через PDF и т.д.... http://www.cyberforum.ru/cpp-beginners/thread172240.html
Для каждого слова первого предложения определить, входит ли оно во второе предложение C++
Здравствуйте. Я нуб в программировании, только начинаю осваивать. Помогите пожалуйста составить программу по следующим критериям: Даны два предложения. Для каждого слова первого предложения определить, входит ли оно во второе предложение. Пройдено нами совсем немного, прошу помочь написать код. Если можно с пояснениями.
C++ Известны углы α и β у основания. Выяснить, если это возможно, тип трапеции
Известны углы α и β у основания трапеции. Выяснить, если это возможно,тип трапеции (прямоугольная, равнобедренная, прямоугольник).
C++ найдите ошибку в лабораторке пример 2 http://www.cyberforum.ru/cpp-beginners/thread172182.html
#include <iostream> using namespace std; struct Worker { char fio;
C++ найдите ошибку в лабораторке #include "stdafx.h" #include <iostream> using namespace std; int sum(int а, int b); // оголошення функції int main(){ подробнее

Показать сообщение отдельно
PointsEqual
ниначмуроФ
 Аватар для PointsEqual
722 / 516 / 33
Регистрация: 12.10.2009
Сообщений: 1,915
29.10.2010, 01:26     Информация о карманной сортировке
решил для себя написать блочную сортировку (ну пока что это наброски, работает с числами до 100),:


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
#include <iostream>
#include <iomanip>
#include <cmath>
#include <vector>
 
using namespace std;
 
// получить номер корзины
inline int getblock(int number){ 
    const int DENOMINATOR = 10;
    return number / DENOMINATOR;
}
 
/*
[url]http://ru.wikipedia.org/wiki/Блочная_сортировка[/url]
*/
 
 
int main()
{
    int mas[] = {29, 25, 3, 49, 9, 37, 21, 43}; //сортируемый массив
    int sizemas = sizeof(mas)/sizeof(int);
 
    const int row = 10;
    const int col = 10;
    vector<vector<int> > arr(row,vector<int>(col)); //корзины(карманы)
 
 
    //распределение по корзинам
    for (int i = 0; i < sizemas; ++i){
        int blocknumb = getblock(mas[i]);
        for (int j = 0; j < row; ++j){
            if (!arr[j][blocknumb]){
                 arr[j][blocknumb] = mas[i];
                 break;
            }
        }
    }
 
 
    //вывод корзин на экран
    for (int i = 0; i < row; ++i){
        for (int j = 0; j < col; ++j)
            cout <<  setw(4) << arr[i][j] ;
        cout<<endl;
    }
 
 
    //сортируем каждую корзину
 
    //вывод отсортированного массива
 
 
    return 0;
}

номер корзины, в которую надо поместить элемент массива, определяю как
формула1: [элемент_массива/10]

и возникла парочка вопросов:
1) Как получить количество корзин? Нужно сначала найти максимальный элемент в сортируемом, массиве а потом применить формулу1?
2) если в массиве, который надо отсортировать, всего 2 элемента, например mas = {7, 6954}
то, получается мне нужно на 2 элемента создать (6954/10) 695 корзин?

может я впринципе не правльно делаю эту сортировку?
 
Текущее время: 04:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru