Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
139 / 139 / 39
Регистрация: 26.02.2011
Сообщений: 548

Метод подсчета сравнений

28.05.2013, 15:39. Показов 2462. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять сортировку данную,яшку с гуглом облазил,Киберфорум перерыл.Ничего рабочего не нашел


Нужно отсортировать одномерный массив по возрастанию методом подсчета сравнений

Есть массив с данными intArray ,есть его размерность a.
Единственное что я понял,если правильно,то это нужно создать вспомогательный массив размерности a и заполнить его нулями.Дальше не знаю как делать.

Нужен конкретный код,пример в с#,c++,c.Может подскажет кто нибудь?
1
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.05.2013, 15:39
Ответы с готовыми решениями:

Метод подсчета всех вхождений на странице
Здравствуйте! Мне нужно узнать, сколько раз на сайте каком нибудь будет повторяться слово. Как это можно сделать? Знаю про существование...

Метод подсчета количества цифр числа
Домашняя задание я не понял что нужно решить, думаю я правильно решил задачу ? namespace Подсчета_колич.цифра { class Program {...

Правильный метод подсчета количество знаков препинания я написал?
Написать метод, который подсчитывает количество знаков препинания в переданной строке. С его помощью обработать пять разных строк и...

9
 Аватар для Bob_Woz
2 / 2 / 4
Регистрация: 03.04.2013
Сообщений: 30
30.05.2013, 14:56
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication5
{
    static class Global
    {
        public static int nforq = 1;  /*считает кол-во операций для быстрой сортировки ( считает не правильно ) */
    }
    class Program
    {
        static void Main(string[] args)
        {
 
            int n = 20;
            int low = 0, high = 0;
            Random rnd = new Random();
            int[] mas = new int[n];
            for (int i = 0; i < n; ++i)
            {
                mas[i] = rnd.Next(-100, 100);
                Console.Write(mas[i] + " ");
 
            }
 
            Console.Write("\n");
            Console.Write("Сортировкой Шелла:\n");
            shellSort(mas, n);
            Console.Write("\n");
            Console.Write("Быстрой сортировкой:\n");
            qSort(mas, low, high, n, Global.nforq);
            Console.ReadKey();
        }
 
        static void shellSort(int[] mas, int n)   // Шелла ( всё ок )
        {
            int nforshell = 0;
            int step = mas.Length / 2;
            while (step > 0)
            {
                int i, j;
                for (i = step; i < mas.Length; i++)
                {
                    int value = mas[i];
                    for (j = i - step; (j >= 0) && (mas[j] < value); j -= step)
                        mas[j + step] = mas[j];
                    mas[j + step] = value;
                    nforshell += 1;
                }
                step /= 2;
                nforshell += 1;
 
            }
            for (int i = 0; i < n; ++i)
            {
 
                Console.Write(mas[i] + " ");
 
            }
            Console.Write("\n");
            Console.Write(nforshell + "<- Количество операций\n");
            Console.Write("-----------------------");
        }
        static void qSort(int[] mas, int low, int high, int n, int nforq)  // Быстрая сорт
        {
 
            int i = low;
            int j = high;
            int x = mas[(low + (high - low) / 2)];
            do
            {
                while (mas[i] < x)
                    ++i;
                nforq += 1;
                while (x < mas[j])
                    --j;
                nforq += 1;
                if (i <= j)
                {
                    int t = mas[i];
                    mas[i] = mas[j];
                    mas[j] = t;
                    ++i;
                    --j;
                    nforq += 1;
                }
                nforq += 1;
            } while (i <= j);
            if (low < j)
 
 
                qSort(mas, low, j, n, Global.nforq);
            nforq += 1;
 
            if (i < high)
 
                qSort(mas, i, high, n, Global.nforq);
            nforq += 1;
            for (int m = 0; m < n; ++m)
            {
 
                Console.Write(mas[m] + " ");
 
            }
 
 
            Console.Write("\n" + nforq + "<-Количество операций\n");
        }
 
    }
}
0
139 / 139 / 39
Регистрация: 26.02.2011
Сообщений: 548
30.05.2013, 21:22  [ТС]
Поиском пользовался,данный код нерабочий.Причем если закоментить 30ую строчку,ничего работать не будет вообще
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
31.05.2013, 00:29
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
Причем если закоментить 30ую строчку,ничего работать не будет вообще
Вот это поворот. Если 12 строчку закоменить то же работать не будет.
Код рабочий.

Добавлено через 12 минут
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
методом подсчета сравнений
Мб имелось ввиду сортировкой подсчетом? http://ru.wikipedia.org/wiki/%... 0%BE%D0%BC
0
 Аватар для Bob_Woz
2 / 2 / 4
Регистрация: 03.04.2013
Сообщений: 30
31.05.2013, 02:03
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace Sort
{
    class Program
    {
        static void Main()
        {
            int k = 100;
            // Считываем размер массива,
            // который необходимо отсортировать
            int size;
            size = Convert.ToInt32(Console.ReadLine());
            // Динамически выделяем память под
            // хранение массива размера size
            int[] c = new int[k];
            //считываем строку
            string str = Console.ReadLine();
            //разбиваем по пробелам
            string[] mas = str.Split(' ');
 
            //строим массив с
            for (int i = 0; i < size; i++)
            {
                c[int.Parse(mas[i])]++;
            }
            //бежимся по всему отрезку
            //с 0 до k-1
            for (int i = 0; i < k; i++)
            {
                //выводим i c[i] раз
                for (int j = 0; j < c[i]; j++)
                {
                    Console.Write(i);
                    Console.Write(' ');
                }
            }
        }
    }
}
Добавлено через 58 минут
С++:
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
#include <iostream>
using namespace std;
int a[100];
int c[100];
int main()
{
     int n;//количество элементов в массиве
    int k = 100;
     cin >> n;
     //считываем массив
    for(int i = 0; i < n; i++)
     {
         cin>>a[i];
     }
     //строим массив с
    for(int i = 0; i < n; i++)
     {
         c[a[i]]++;
     }
     //бежимся по всему отрезку
    //с 0 до k-1
     for(int i = 0; i < k; i++)
     {
         //выводим i c[i] раз
        for(int j = 0; j < c[i]; j++)
             cout<<i<<" ";
     }        
     return 0;
}
0
139 / 139 / 39
Регистрация: 26.02.2011
Сообщений: 548
31.05.2013, 12:42  [ТС]
Цитата Сообщение от Дмитрий3241 Посмотреть сообщение
Вот это поворот. Если 12 строчку закоменить то же работать не будет.
Код рабочий.

Добавлено через 12 минут

Мб имелось ввиду сортировкой подсчетом? http://ru.wikipedia.org/wiki/%... 0%BE%D0%BC
Я имел ввиду закоментить вызов функции а не полностью имя класса,чувствуете разницу?Код сами тестили?а я запускал и он не рабочий
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
31.05.2013, 15:16
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
Я имел ввиду закоментить вызов функции а не полностью имя класса,чувствуете разницу?Код сами тестили?а я запускал и он не рабочий
Я запускал он рабочий, и не надо мне грубить, так как ты написал херню, ты закоментил вызов сортировки и говоришь что ничего не происходит, естественно нечего происходить не будет.

Добавлено через 30 секунд
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
а я запускал и он не рабочий
Руки кривые
0
139 / 139 / 39
Регистрация: 26.02.2011
Сообщений: 548
31.05.2013, 19:06  [ТС]
Так,говоришь запускал,давай запусти закоменти вызов сортировки шелла,и посмотри что будет окай?когда только якобы сортировка подсчетом должна работать и погляди как она сортирует,я не грублю а прямо говорю
0
 Аватар для Дмитрий3241
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
Записей в блоге: 6
31.05.2013, 20:15
Цитата Сообщение от a.n.o.n.i.m Посмотреть сообщение
Так,говоришь запускал,давай запусти закоменти вызов сортировки шелла,и посмотри что будет окай?когда только якобы сортировка подсчетом должна работать и погляди как она сортирует,я не грублю а прямо говорю
Тогда я тебе то же прям скажу, что в том коде нету сортировки подсчетом, там сортировка Шелла и быстрая сортировка, как тебе такой поворот? А по поводу сортировку подсчетом я тебе уже писал и если бы у тебя было желание, то ты уже бы написал ее сам.
0
139 / 139 / 39
Регистрация: 26.02.2011
Сообщений: 548
31.05.2013, 20:41  [ТС]
Это бесконечный спор,смог бы не создавал бы тему
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
31.05.2013, 20:41
Помогаю со студенческими работами здесь

К какому классу пристроить метод подсчета размера директории?
Добрый день. Необходимо подсчитать размер директории, рекурсивный метод я уже написал, но не могу понять, куда его пристроить, ведь он...

Метод подсчета количества элементов двумерного массива кратных заданному числу
1. Написать метод подсчета количества элементов двумерного массива кратных заданному числу. 2. Перегрузить разработанный метод для...

Реализовать метод для подсчета сколько раз каждое слово встречается в заданном тексте
Не могу понять как ето сделать помогите : 1.Для пространства имен System.Windows.Forms проанализировать набор классов и их взаимосвязи ...

Создать базовый класс "Работник", в нем абстрактный метод подсчета зарплат
Надо создать базов. класс работников в нем абстрактн. метод подсчета зартплат. Создать производн. класс сортировать работников по спадению...

Уменьшить количество сравнений
Народ, я ток начал заниматься этим языком, так что прошу извинить, если туплю) В общем есть код программы, которая выдает простые числа от...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru