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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2011, 18:02   #1
Dj Troy
Пользователь
 
Регистрация: 05.04.2011
Сообщений: 16
По умолчанию Сортировка пирамидой

Есть рабочий код сортировки методом пирамиды. Нужно в него дописать счетчик времени который показывает время выполнения программы и чтоб числа рандомом забивались в файл и по окончанию сортировки забивались в другой файл. Вот сам код
Код:
#include <stdio.h>
#include <stdlib.h>
#define ArrSize 9
 
int main()
{
    int Arr[ArrSize] = {3,-1,0,1,2,8,3,2,3};
    int i, j;           //Счетчики
    int min;           // Минимальное значение текущей итерации
    int ind_min;       // Индекс минимального элемента
    int tmp;           // Временная переменная
 
    // Вывод исходного массива
    printf("Massiv do sortirovki: ");
    for(i=0; i<ArrSize; i++)
    {
         printf("%i ",Arr[i]);
    }
    printf("\n");
 
    for(j=0; j<ArrSize-1; j++)
    {
        min=Arr[j];
        ind_min = j;
        // Обход массива: поиск минимального элемента
        for(i=j+1; i<ArrSize; i++)
        {
            // Если выбранный элемент массива меньше текущего минимального
            // то запомнить это значение и его индекс
            if(min>Arr[i])
            {
                min=Arr[i];
                ind_min = i;
            }            
        }
        if (j!=ind_min)
        {
            // Поменять местами минимальный и первый элемент выборки
            tmp = Arr[j];
            Arr[j]=min;
            Arr[ind_min]=tmp;
        }
    }
 
    // Вывод результирующего массива
    printf("Massiv posle sortirovki: ");
    for(i=0; i<ArrSize; i++)
    {
         printf("%i ",Arr[i]);
    }
    getch();
}
Dj Troy вне форума Ответить с цитированием
Старый 09.04.2011, 23:19   #2
EC.cpp
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 30
По умолчанию

1) <time.h> поможет решить проблему с замерами времени;
2) Для считывания-записи в файл создайте файловый поток:
FILE *fstream;
И через него записывайте результаты.
3) Рандомные числа возникают, например, используя функцию rand() из библиотеки "stdlib.h"
EC.cpp вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка Шелла и Шейкер-сортировка AleksandrMakarov Паскаль, Turbo Pascal, PascalABC.NET 11 11.03.2012 12:18
Сортировка массива методами предсортировки и слияния, и пирамидальная сортировка. lenny_24 Помощь студентам 2 17.04.2011 18:57
паскаль,одномерный массив,сортировка вставка,сортировка убывания,от максимального до конца немозг Помощь студентам 11 06.02.2010 21:57
Сортировка методом линейного выбора и "быстрая" сортировка Карол Помощь студентам 4 27.09.2009 19:52
Сортировка файлов в Explorer vs сортировка в Delphi mutabor Общие вопросы Delphi 11 04.09.2009 14:32