Сортировка Подсчетом

Тема в разделе "Общие вопросы по С и С++", создана пользователем guffigubber, 12 окт 2011.

Статус темы:
Закрыта.
  1. guffigubber

    guffigubber Гость

    в общем, суть проблемы. Я новичок в C++.
    я создаю динамический массив и заполняю его. затем мне его нужно отсортировать методом подсчета. завис на внесении значения счетчика во вспомогательный массив. объясните что и как делать? как мне заполнить второй массив и вновь составить уже отсортированный первый?
    Код (Text):
    // КЭП.cpp: определяет точку входа для консольного приложения.
    //
    /*Создать массив, заполнить его. Отсортировать его методом подсчета*/
    #include "stdafx.h"
    #include <stdlib.h>
    #include <cstdlib>
    #include <iostream>

    using namespace std;

    int _tmain(int argc, _TCHAR* argv[])
    {
    int n;
    cout << "VVedite razmernost massiva: ";
    cin >> n;
    const int SIZE = n;
    int *mas = 0;
    try {
    mas = new int [SIZE];
    }
    catch (bad_alloc err){
    cout << "Error" << endl;
    exit(1);
    }
    cout << "Vvedite elementy massiva: " << endl;
    for (int i=0; i<SIZE; i++){
    cin >> mas[i];
    }

    cout << "Elementy ishodnogo massiva: ";
    for (int i=0; i<SIZE;i++){
    cout << mas[i] << " ";
    }


    /*Сортировка подсчетом - Начало*/
    int max = mas[0];
    for (int i=0; i<SIZE;i++){
    if (max < mas[i])
    max = mas[i];
    }
    cout << endl << "Max element: " << max;
    const int SIZEN = max;
    int *masnew = 0;
    try {
    masnew = new int [SIZEN];
    }
    catch (bad_alloc err){
    cout << "Error" << endl;
    exit(1);
    }

    /*ТУт я и завис*/
    for (int i=0;i<SIZE;i++){
    n = mas[i];
    int k = 0;
    for (int j=0;j<SIZE;j++){
    if (mas[i]==n)
    k++;
    }
    masnew[]=k; //занесение значение счетчика во вспомогательный массив
    }
    cout << endl;




    /*Сортировка подсчетом - Конец*/

    cout << endl;
    delete [] mas;
    delete [] masnew;
    mas = 0;
    masnew = 0;
    return 0;
    }
     
  2. alekssgor

    alekssgor Well-Known Member

    Регистрация:
    26 май 2008
    Сообщения:
    118
    Симпатии:
    0
    Зачем всё это ??? С++ Библиотека стандартных шаблонов Класс list .

    Код (Text):
    #include <list>

    int main()
    {
    list<char> lst;
    int i;

    // ЗАПОЛНЕНИЕ СПИСКА СЛУЧАЙНЫМИ СИМВОЛАМИ
    for(i=0; i<10; i++) lst.push_back('A' + (rand()%26));

    cout << "Исходное содержимое: ";
    list<char>::iterator p = lst.begin();
    while(p != lst.end())
    {
    cout << *p;
    p++;
    }
    cout << endl;
    //Сортировка списка
    lst.sort();
    cout << "Отсортированное содержимое: ";
    p = lst.begin();
    while(p != lst.end())
    {
    cout << *p;
    p++;
    }
    return 0;
    }
     
  3. guffigubber

    guffigubber Гость

    потому что мне необходимо разобраться в принципе работы этой сортировки
     
Загрузка...
Похожие Темы - Сортировка Подсчетом
  1. vera2014
    Ответов:
    0
    Просмотров:
    1.071
  2. Liori
    Ответов:
    2
    Просмотров:
    1.006
  3. FCDK
    Ответов:
    0
    Просмотров:
    1.264
  4. ленарано
    Ответов:
    1
    Просмотров:
    1.103
  5. Creder
    Ответов:
    0
    Просмотров:
    1.346
Статус темы:
Закрыта.

Поделиться этой страницей