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

Блочная сортировка массива - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ «Вычеркивание» строки и столбца из матрицы оформить как функцию потока http://www.cyberforum.ru/cpp-beginners/thread100621.html
«Вычеркивание» строки и столбца из матрицы оформить как функцию потока. Сначала вводятся элементы исходной матрицы, номер строки и столбца, затем осуществляется «вычеркивание» элемнетов из матрицы и только после этого на экран должен выводиться результат. подскажите с чего начать???=(((
C++ Функции ввода и вывода Задание: Ввести с клавиатуры и вывести на экран значения переменных разных типов согласно с форатами данных(форматный ввод-вывод) и без использования форматов. Использовать все фунцкции: _сprintf(), _cscanf(), _cputs(), _cgets(), getch(), putch(), getchar(), putchar(), gets(), puts(), рrintf(), scanf(), sprintf(), sscanf(). Помогите, пожалуйста, справиться с заданием...буду благодарна любой... http://www.cyberforum.ru/cpp-beginners/thread100616.html
C++ for или while (Какой цикл "лучше"?)
Привет. Немного неординарный вопрос, но может кто знает: Какой цикл выгоднее использовать, когда можно использовать оба? Насколько я понимаю for (i = 1; i <= n; ++i) {...;} и i = 1; while(i <= n) {...; ++i;} аналогичны (за исключением работы continue в них), так есть ли какое-то преимущество для ресурсов компьютера (для удобства чтения имхо for лучше) или нет?
C++ виртуальные функции
сделать какой либо из методов класса виртуальным #include<iostream.h> #include<stdio.h> class chislo { int a; public: void print() {
C++ Сложение 2-х чисел, классы... http://www.cyberforum.ru/cpp-beginners/thread100585.html
Нужно создать ф-цию вне класса, функция должна складывать 2 числа. Помогите, пожалуйста правильно оформить функцию. Вот что получилось, знаю, что не правильно, но правильно не получается))) # include <iostream> # include <conio.h> # include <stdio.h> class sum { public: int a, b, c; void vivod();};
C++ Иероглифы вместо русских букв Как сделать в С что бы вместо иероглифов были русские буквы подробнее

Показать сообщение отдельно
gorin
207 / 14 / 2
Регистрация: 18.08.2009
Сообщений: 571
27.10.2011, 15:03     Блочная сортировка массива
Решение найдено

Глобальные переменные:
C++
1
2
3
4
#define N 20
int mas[N];
int k, x, count, l, v, i, j, temp, p, c, m0, find, mp;
AnsiString sm, sn, txt1 = "Кількість операці - ";
Рекурсивная функция:
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
void bucketSort(int ar[], const int sz)
{
    const int Rasryad = 10;
    const int Position = 20000;
    int TempArray[Rasryad][Position] = {0};
    int number = 1, Ras;
    for(int i = 0; i < N; i++)
    {
        count = 0;
        for(int j = 0; j < sz; j++)
        {
            Ras = ar[j] / number % 10;
            TempArray[Ras][j] = ar[j];
        }
        for(int a = 0; a < Rasryad; a++)
        {
            for(int b = 0; b < Position; b++)
            {
                if(TempArray[a][b] != 0)
                {
                    ar[count++] = TempArray[a][b];
                    TempArray[a][b] = 0;
                }
            }
        }
        number *= 10;
    }
    for(int i = 0; i < sz; i++)
        sm += IntToStr(mas[i]) + "  ";
}
Код подпрограммы:
C++
1
2
3
4
5
6
7
8
9
10
11
    sm = " ";
    Memo1 -> Lines -> Add(zagol);
    Memo1 -> Lines -> Add(nachzag);
    for (i = 0; i < N; i++)
    {
        mas[i] = 200 + random(300);
        sm += IntToStr(mas[i]) + "  ";
    }
    Memo1 -> Lines -> Add(sm);
    sm = " ";
    Memo1 -> Lines -> Add(kinczag);
Код кнопки:
C++
1
2
3
4
    PodProgram1("Сортування списком", "Початковий масив", "Результат");
    bucketSort(mas, N);
    Memo1 -> Lines -> Add(sm);
    Memo1 -> Lines -> Add(" ");
Добавлено через 6 минут
спс все!!!

Добавлено через 19 минут
подпрограмма:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void __fastcall TSortAndFind::PodProgram1(AnsiString zagol, AnsiString nachzag, AnsiString kinczag)
{
    sm = " ";
    Memo1 -> Lines -> Add(zagol);
    Memo1 -> Lines -> Add(nachzag);
    for (i = 0; i < N; i++)
    {
        mas[i] = 200 + random(300);
        sm += IntToStr(mas[i]) + "  ";
    }
    Memo1 -> Lines -> Add(sm);
    sm = " ";
    Memo1 -> Lines -> Add(kinczag);
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru