Рекомендуемый броузер
Ваш профиль
Л.О.Х.
Гости

Регистрация
Вход
Меню сайта
Поиск по сайту
Отличившиеся пользователи
Знаки отличия
I Shiko
I Swordsman, II Dronterror, III Weedle
Негатив
I Лизергин-Кислый, II lexes
Опрос
Вы откуда (опрос #2)
Всего ответов: 86
Реклама
Статистика
продвижение сайтов; создание бизнес-сайта, поисковые системы оптимизация сайта
Rambler's Top100
Рейтинг@Mail.ru

[Новые сообщения · Участники · Правила форума · Поиск ]

  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: Swordsman  
Форум » Общие темы » Хэлп » Программирование (Помощь по программированию)
Программирование
Vasena Дата: Понедельник, 14.01.2008, 22:31 | Сообщение # 1
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Здесь можно выкладывать информацию, которая может помочь всем при получении допусков, зачетов итп (но НЕ экзаменов) по программированию.

Добавлено (14.01.2008, 22:34)
---------------------------------------------
Как самый клевый программист нашего состава решил выложить парочку примеров лабораторных работ:
по одному примеру второй, третьей и пятой лабы и по несколько примеров шестой и седьмой.
Кому надо сделать лабы, обращайтесь ко мне в ЛС, договоримся, но только после всех (официально) зданных экзаменов.

Прикрепления: 1..rar (37.7 Kb)

IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux
 
Vasena Дата: Понедельник, 18.02.2008, 23:24 | Сообщение # 2
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Тут сделал еще пару лаб, думаю последние, естесственно решил выложить...
Прикрепления: .1_._._2.rar (7.7 Kb)

IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux
 
werty Дата: Воскресенье, 16.03.2008, 18:08 | Сообщение # 3
Юзверь
Сообщений : 1
Награды : 0
Замечания :  ---
Статус : Offline
Bike что-то знакомое...
 
Vasena Дата: Понедельник, 17.03.2008, 00:36 | Сообщение # 4
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Курсовик по ЯВУ в картинках (Спасибо мне и Илье Муромцеву!)
Ссылка: <ссылка устарела> ~80MB

Добавлено (17.03.2008, 00:36)
---------------------------------------------
И зеркало: <ссылка устарела>


IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux


Сообщение отредактировал Vasena - Среда, 17.09.2008, 16:13
 
Vasena Дата: Вторник, 30.09.2008, 20:06 | Сообщение # 5
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Полный хелп за второй семестр:

1. Лаба №1 1 и 2 части
2. Лаба №2
3. Лаба №3 - Курсовик +Пояснительная записка к нему.

все работы мои, 100% рабочие!

Добавлено (17.09.2008, 16:25)
---------------------------------------------
Для особых чайников которые не умеют пользоваться интернетом...

Методы сортировки которые я уже реализовал:

1. Сортировка слиянием
Доступно только для пользователей

2. Сортировка Шелла
Доступно только для пользователей

3. Быстрая сортировка
Доступно только для пользователей

Все методы сортировки проверенны и точно работают.

PS
Описание встроенных методов
m_array.getN() - возвращает количество элементов массива (тип int)
m_array.compare(int index1, int index2) - сравнивает элемент № index1 с элементом № index2, возвращает true если первый больше второго иначе false
m_array.swap(int index1, int index2) - меняет элементы № index1 и № index2 местами
m_array.key(int indexTO, CKey* key) - ставит ключ key на место indexTO в массив
Описание дополнительных переменных
CKey* m_array.m_key[int index] - указатель на ключ № index массива
CControl:: long coutSort - счетчик обращения к массиву

Добавлено (19.09.2008, 18:59)
---------------------------------------------
Специально для Паши Бычкова...

Загрузка из текстового файла (разделитель-переход на новую строку(Enter))

Доступно только для пользователей

Все функции классов m_array и m_file говорят сами за себя, думаю по их реализации вопросов не будет...

Добавлено (30.09.2008, 18:35)
---------------------------------------------
Продолжение сортировок:

4.Сортировка пузырьком (улучшенная, насколько она улучшенна не знаю...)
Доступно только для пользователей

5. Сортировка выбором
Доступно только для пользователей

Добавлено (30.09.2008, 20:06)
---------------------------------------------
Итак, теперь вашему вниманию предлагается гениальный метод ужатия файла, который позволяет не сортировать массив индексов по позициям:
Доступно только для пользователей

Дополнительные сведения к функции:
функция move класса CVFile возвращает последнюю позицию в файле до которой файл уже ужат

PS кстати если здесь буду писать только я, то скоро это сообщение настолько вырастет, что придеться очень долго его прокручивать чтобы искать что-то новенькое, поэтому есть предложение к другим пользователям либо добавлять что-нибудь от себя (ну не все же будут писать по моим шаблонам) или хотя бы написать спасибо за то что я вам помог...

Прикрепления: Work_8-9.rar (22.2 Kb) · work_A.rar (25.4 Kb) · Kurs-DOC.rar (274.8 Kb)

IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux
 
Darkvenera Дата: Среда, 08.10.2008, 17:48 | Сообщение # 6
Новичок
Сообщений : 7
Награды : 0
Замечания :  ---
Статус : Offline
Вася, спасибо конечно, но почему нет сортировки вставками?
 
Vasena Дата: Среда, 22.10.2008, 15:37 | Сообщение # 7
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Однонаправленный циклический список (Рекурсивный вариант реализации)
vList.h
Доступно только для пользователей

vList.cpp
Доступно только для пользователей

Те кто смогут могут реализовать циклический вариант (плюсы: жрет меньше памяти...) реализовывайте, буду рад оценить...
Я его попробую реализовать но не думаю что это будет скоро...


IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux
 
lexes Дата: Вторник, 18.11.2008, 19:40 | Сообщение # 8
Новичок
Сообщений : 6
Награды : 1
Замечания :  ---
Статус : Offline
Доступно только для пользователей
Привет =)
Пару вопросов
1)А в этой сортировке, что значит переменная m?
2)И как в бинарном файле vDat убрать CD CD CD и так везде между переменными?
:'( :'( :'( :'(
 
Vasena Дата: Среда, 19.11.2008, 23:15 | Сообщение # 9
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Quote (lexes)

1)А в этой сортировке, что значит переменная m?
2)И как в бинарном файле vDat убрать CD CD CD и так везде между переменными?

1. хочу отметить:
Quote (Vasena)
Code
for (i=a, j=b, m=1; i<j; m>0?j--:i++)

что условие цикла выглядит так, а m отвечает за то чтобы при сортировке, сортировались обе половины списка. Наглядно это видно на рисунке:

2. Ну тут без самой структуры записи и кодов ничем не могу помочь....
PS единственное что приходит на ум, это то. что так и должно быть...


IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux
 
lexes Дата: Четверг, 20.11.2008, 01:04 | Сообщение # 10
Новичок
Сообщений : 6
Награды : 1
Замечания :  ---
Статус : Offline
Quote (Vasena)
1. хочу отметить: Quote (Vasena) for (i=a, j=b, m=1; i0?j--:i++) что условие цикла выглядит так, а m отвечает за то чтобы при сортировке, сортировались обе половины списка.

Спасиба за ответ, а что делает этот цикл? а конкретно это запись - "i0?j--:i++" ?

 
Vasena Дата: Четверг, 20.11.2008, 15:45 | Сообщение # 11
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Смотри внимательней, в условии цикла m
Code
for (i=a, j=b, m=1; i<j; m>0?j--:i++)

это цикл сходимости в центр (я надеюсь текстовый алгоритм сортировки был изучен)

IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux
 
lexes Дата: Воскресенье, 23.11.2008, 22:04 | Сообщение # 12
Новичок
Сообщений : 6
Награды : 1
Замечания :  ---
Статус : Offline
thx
 
Trance Дата: Вторник, 25.11.2008, 00:19 | Сообщение # 13
Юзверь
Сообщений : 2
Награды : 0
Замечания :  ---
Статус : Offline
Привет!
Такой вопрос, преподаватель сказал, что твой алгоритм сортировки Шелла-это сортировка пузырьком, как доказать ему что это все таки сортировка Шелла?)
 
lexes Дата: Вторник, 25.11.2008, 18:10 | Сообщение # 14
Новичок
Сообщений : 6
Награды : 1
Замечания :  ---
Статус : Offline
вот если у нас есть такой набор цифр 3 5 1 40 30 50 как они будут сортировать можешь написать, а то я не очень понимаю, пожалуйста.
 
Vasena Дата: Среда, 26.11.2008, 14:18 | Сообщение # 15
Программер
Сообщений :  ---
Награды : 0
Замечания :  ---
Статус : Unknown
Quote (Trance)
алгоритм сортировки Шелла-это сортировка пузырьком, как доказать ему что это все таки сортировка Шелла?)

Шаг сортировки пузырьком 1 (т.е. меняются местами только следующий и предыдущий элементы)
Шаг сортировки Шелла переменный от (длинна массива)/2 до 1(т.е. сначала меняются местами элементы отстоящие друг от друга на (длинна массива)/2 потом (длинна массива)/4 и т.д. продолжается прогрессия пока шаг не будет равен 1)
и самое главное отличие, пузырек идет сначала массива(только!), а Шелл паралельно идет от начала к концу и от конца к началу(из-за этого в сортировке два цикла(конечных!), в пузырьке как минимум один бесконечный(выход только при определенных условиях.))

Quote (lexes)
вот если у нас есть такой набор цифр 3 5 1 40 30 50 как они будут сортировать можешь написать, а то я не очень понимаю, пожалуйста.

я так понял быстрая сортировка нужна...
03 05 01 40 30 50
01 05 03 40 30 50
01 03 05 40 30 50
01 03 05 30 40 50
01 03 05 30 40 50

Добавлено (26.11.2008, 14:18)
---------------------------------------------
Специально для отдельных особ группы КИБ:
Бинарное дерево:
vTree.h

Code

#pragma once
#include "stdafx.h"
#include "key.h"
class CVTree
{
public:
  CVTree *m_right;
  CVTree *m_left;
  CKey *m_key;
  CVTree(const char *,const char *,const long);
  ~CVTree(void);
  bool add(const char *,const char *,const long);
  bool add(CKey *key){return add(key->getName(),key->getType(),key->getPosition());}
  CVTree * del(int *);
  CVTree * delNode(CVTree *);
  CVTree * search(const char *,const char *);
  int count(int *);
};

vTree.cpp
Code

#include "stdafx.h"
#include "vTree.h"
CVTree::CVTree(const char *name, const char *type, const long position)
{
  m_key=new CKey(name,type,position);
  m_right=NULL;
  m_left=NULL;
}
CVTree::~CVTree(void)
{
  if(m_right!=NULL)delete m_right;
  if(m_left!=NULL)delete m_left;
  delete m_key;
}
bool CVTree::add(const char *name, const char *type, const long position)
{
  if(!m_key->check(name,type))
   return false;
  else  
   if(m_key->check(name,type)<0)
    if(m_right!=NULL)
     return m_right->add(name,type,position);
    else
    {
     m_right=new CVTree(name,type,position);
     return true;
    }
   else
    if(m_left!=NULL)
     return m_left->add(name,type,position);
    else
    {
     m_left=new CVTree(name,type,position);
     return true;
    }
}
CVTree *CVTree::del(int *count)
{
  CVTree *node;
  if(m_left!=NULL)
  {
   node=m_left->del(count);
   if(node!=m_left)
   {
    m_left->m_left=NULL;
    m_left->m_right=NULL;
    delete m_left;
    m_left=node;
   }
   (*count)--;
  }
  else
   (*count)--;
  if((*count)==0)
  {
   CVTree *leaf,*root;
   if(m_left==NULL)
   {
    if(m_right==NULL)
     return NULL;
    else
    {
     leaf=m_right;
     m_right=NULL;
     return leaf;
    }
   }
   else
   {
    if(m_right==NULL)
    {
     leaf=m_left;
     m_left=NULL;
     return leaf;
    }
    else
    {
     root=delNode(this);
     root->m_left=m_left;
     root->m_right=m_right;
     m_left=NULL;
     m_right=NULL;
     return root;
    }
   }
  }
  if(m_right!=NULL)
  {
   node=m_right->del(count);
   if(node!=m_right)
   {
    m_right->m_left=NULL;
    m_right->m_right=NULL;
    delete m_right;
    m_right=node;
   }
  }
  else
   return this;
}
CVTree *CVTree::delNode(CVTree *root)
{
  CVTree *node_r,*node_l,*root_l,*root_r;
  node_r=root->m_right;
  node_l=root->m_left;
  root_r=root;
  root_l=root;
  while(true)
  {
   if(node_l->m_right!=NULL)
   {
    root_l=node_l;
    node_l=node_l->m_right;
   }
   else
   {
    while(true)
     if(node_r->m_left!=NULL)
     {
      root_r=node_r;
      node_r=node_r->m_left;
     }
     else
      break;
    node_l=NULL;
    break;
   }
   if(node_r->m_left!=NULL)
   {
    root_r=node_r;
    node_r=node_r->m_left;
   }
   else
   {
    while(true)
     if(node_l->m_right!=NULL)
     {
      root_l=node_l;
      node_l=node_l->m_right;
     }
     else
      break;
    break;
   }

  }
  if(node_l==NULL)
  {
   if(root!=root_r)
    root_r->m_left=node_r->m_right;
   else
    root_r->m_right=node_r->m_right;
   return node_r;
  }
  else
  {
   if(root!=root_l)
    root_l->m_right=node_l->m_left;
   else
    root_l->m_left=node_l->m_left;
   return node_l;
  }

}
CVTree *CVTree::search(const char *key1, const char *key2)
{
  if(!m_key->check(key1,key2))return this;
  else  
  {
   if(m_key->check(key1,key2)<0)
   {
    if(m_right!=NULL)
     return m_right->search(key1,key2);
    else return NULL;
   }
   else  
   {    if(m_left!=NULL)
     return m_left->search(key1,key2);
    else return NULL;
   }
  }
}
int CVTree::count(int *n)
{
  if(m_left!=NULL)m_left->count(n);
  (*n)++;
  if(m_right!=NULL)m_right->count(n);
  return *n;
}

IE это такая программа, с помощью которой можно зайти на сайт vivaldi.com и скачать себе броузер...
Windows это такая операционка, с помощью которой можно установить себе Linux
 
Форум » Общие темы » Хэлп » Программирование (Помощь по программированию)
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

ИВС© 2008-2024