Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2012, 19:59   #1
mary1010
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 14
Восклицание сортировка массива методом выбора в с++

Помогите, пожалуйста!в сишке я не особо разбираюсь...
вот задание:
Отсортировать элементы массива по возрастанию методом выбора. Программа должна иметь текстовое меню и состоять из подпрограмм. Предусмотреть ввод массива с клавиатуры, генерацию случайных чисел и вывод результата обработки на экран.

Последний раз редактировалось mary1010; 16.10.2012 в 20:20.
mary1010 вне форума Ответить с цитированием
Старый 16.10.2012, 20:12   #2
mary1010
Пользователь
 
Регистрация: 16.09.2012
Сообщений: 14
По умолчанию

Код:
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vcl.h>
#include <conio.h>
using namespace std;

int main()
{
void vvod(int*,int);
void vyvod(int*,int);
void vyvod(int*, int);
void sort(int*, int);
void vvodSluch(int*, int);

void vvod(int* a, int n)

     {   int i;
        for (i = 0; i < n; i++)
                cin >> a[i];
}

void vvodSluch(int* a, int n)
{
        srand(time(NULL));
        for (i = 0; i < n; i++)
                a[i] = rand() % 100;
}

void vyvod (int* a, int n)
{
        int i;
        for (i = 0; i < n; i++)
                cout << a[i] << endl;
}
void sort(int* array, int n)
{
    //Ñîðòèðîâêà âûáîðîì
    int buf=0, j=0;
    int i;
    int imin;
       for (i = 0; i < n; i++)
    {
        imin = i;
        for(j = i + 1; j < n; j++)
        {
            if(array[j]< array[imin])
                imin = j;
        }
        if(imin != i)
        {
            buf         = array[imin];
            array[imin] = array[i];
            array[i]    = buf;
        }
    }

 void main (int argc, char* argv[])
{       showMenu();
        int command;
        int* mArray;
        int Length;
        cin >> command;

        switch (command)
        {
                case 1:
                cout << "Enter array length: " << endl;
                cin >> Length;
                mArray = new int[Length];
                cout << "Enter array items:" << endl;
                vvod(mArray,Length);


                break;
                case 2:
                cout << "Enter array length: " << endl;
                cin >> Length;
                mArray = new int[Length];
                vvodSluch(mArray,Length);
                cout << "Source array: " << endl;
                vyvod(mArray,Length);
                break;

                case 3:
                        return;
                default:
                     cout << "You have entered a wrong command.";
                     break;
        }



        cout << endl << "Sorted array: " << endl;
        sort(mArray, Length);
        vyvod(mArray, Length);


        int c;
        cin >> c;
}
void showMenu()
{
        cout << "Welcome! Enter a command:" << endl;
        cout << "1. Manually enter array items" << endl;
        cout << "2. Random fill an array" << endl;
        cout << "3. Exit" << endl;  }

}
что не так?

Последний раз редактировалось mary1010; 16.10.2012 в 22:12.
mary1010 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ сортировка методом выбора zaki Помощь студентам 0 12.12.2011 16:45
[pascal]Сортировка массива методом прямого выбора, работает неадекватно. fatoldsun Помощь студентам 7 22.04.2009 19:42
Сортировка массива методом прямого выбора(Дельфи) Onza Помощь студентам 20 25.01.2009 12:05