Модераторы: Rickert, Alexeis, BorisVorontsov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [c++]Анимация сортировки, рисование без directx и openGL 
:(
    Опции темы
maxnsk82
Дата 1.2.2010, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 27.6.2009

Репутация: нет
Всего: нет



Есть задание: C помощью функций управления курсором библиотеки CONIO.H анимировать (изобразить на экране в движении) действия, выполняемые над строкой или массивом. Анимация должна отражать существенные свойства выполняемого процесса (подсветка различными цветами выбранных элементов, упорядоченных частей и т.д.). Для сортировки необходимо предусмотреть заполнение массива случайными значениями и подсчет трудоемкости (количество сравнений, сдвигов).

Делаю в VS 2008 на С++. Так вот, сделано всё кроме рисования и никак не могу разобраться как это сделать, если у кого есть что-то похожее, буду признателен за код или ссылки на них же, а то по книжкам никак не доходит...вот ещё что сделал, правда про трудоёмкость ещё не написал:

Код

// Контрольная работа
// Анимированная сортировка шейкером

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <time.h>
#include <dos.h>

void ShakeSort(unsigned int arr[]);

int main()
{
    srand(time(NULL));
    unsigned int arr[10];
    for (int i=0; i<10; i++)
    {
        arr[i]=(25*rand())/RAND_MAX;
    }
    printf ("Started array:\n");
    for (int i=0; i<10; i++)
    {
        printf (" %d",arr[i]);
    }
    ShakeSort(arr);
    printf ("\nExit array:\n");
    for (int i=0; i<10; i++)
    {
        printf ("%d ",arr[i]);
    }
    getch();
}

void ShakeSort(unsigned int arr[])
{
    int i,j,k,tmp,flag;
    for (i=0; i<(10/2); i++)
    {
        flag=0;
        for (j=i+1; j<10-i; j++)
        {
            if (arr[j-1]>arr[j])
            {
                tmp = arr[j-1];
                arr[j-1] = arr[j];
                arr[j] = tmp;
                flag++;
            }
        }
        if(flag == 0){break;}
        for (k=10-i-1; k>i; k--)
        {
            if (arr[k]<arr[k-1])
            {
                tmp = arr[k];
                arr[k] = arr[k-1];
                arr[k-1] = tmp;
                flag++;
            }
        }
        if(flag == 0){break;}
    }
}

PM MAIL   Вверх
maxnsk82
Дата 2.2.2010, 11:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 74
Регистрация: 27.6.2009

Репутация: нет
Всего: нет



нашёл тут же на форуме код, кроме мелких недочётов ещё и графические функции не распознаются: gotoxy, delay, textbackgraund и т.п, подключённые библиотеки:
Код

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<dos.h>
#include<windows.h>

Не хватает библиотек каких-то или в настройках что не то?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Вы можете найти полезным что...
Alexeis
Rickert
  • Английская документация по DirectX лежит где-то здесь.
  • Английская документация по OpenGL лежит где-то там.
  • Гейм-дев у нас обсуждают где-то тут

Ждём вас! С уважением, Alexeis, Rickert.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема »


 




[ Время генерации скрипта: 0.0681 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.