Форум программистов, компьютерный форум CyberForum.ru

Структура данных Таблица - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как использовать неименованные объекты? http://www.cyberforum.ru/cpp-beginners/thread1720333.html
Не очень понятно, как можно использовать не именованные объекты в С++, или Си, ведь это же вызывает ошибки, или существуют, какие-нибудь грамотные примеры?
C++ Задано произвольное слово. Определить, заканчивается ли оно на слог «va» Задано произвольное слово. Определить, заканчивается ли оно на слог «va». http://www.cyberforum.ru/cpp-beginners/thread1720309.html
C++ Программа работает не корректно
Здравствуйте, помогите мне пожалуйста разобраться с программой. Вот само задание: Дано натуральное число n. Найти все меньшие n числа Мерсенна. (Простое число называется числом Мерсенна, если оно может быть представлено в виде (2^p)-1, где p – тоже простое число. Например, 31=2^5–1 – число Мерсенна). Вот код программы который я составил: #include <iostream> #include <cmath> using namespace...
C++ Ввести непустую последовательность цифр
Используя только буквенный ввод, то есть процедуру read (c), где с-буквенная переменная, ввести непустую последовательность цифр, перед которой может находиться знак «+» или «-», за которой следует пробел и, получив соответствующее целое число, присвоить его целой переменной k.
C++ Сокрытие имен http://www.cyberforum.ru/cpp-beginners/thread1720296.html
Доброго времени суток! Реально ли обратиться к x, который равен 7 из самого внутреннего блока? int x = 5; using namespace std; MyClass::MyClass() { int x = 7; {
C++ Перенести min массива в начало, max - в конец, взаимное расположение остальных элементов оставить прежним Ввести некоторое число и массив чисел с неизвестным заранее количеством элементов. Ввод массива заканчивается элементом,после ввода которого разность между максимальным и минимальным значением окажется больше введенного некоторого числа. В массиве произвести перестановку элементов таким образом, что бы минимальный элемент оказался в начале массива,максимальный элемент - в конце массива, а... подробнее

Показать сообщение отдельно
fii97
0 / 0 / 0
Регистрация: 20.10.2015
Сообщений: 14
25.04.2016, 11:18     Структура данных Таблица
Здравствуйте. Требуется написать функцию, которая добавляет элемент в упорядоченную таблицу. Дополнительно проверка на пустоту.
Я написал её, прошу вас проверить - правильно ли я это сделал.
Функция - put.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
struct tableelem //элемент таблицы
        {
         int date;       //данные
         int key;        //ключ
        }elemt;
struct table          //таблица
        { 
         elemt buf[size]; //данные
         int uk;             //фактическое количество элементов
        }tablearray;
void search(tablearray *T, int key) //поиск нужного места для добавления элемента
{
  int i;
  for(i=0;i<T->uk && T->buf[i].key<key;)     
     {i++;}
  if (i==T->uk)
     {
       printf("нет такого ключа");
       return i;
     }
  for (int j=T->uk; j>i;j--)   //сдвигаем элементы, начиная с конца
       T->uk[j]=T->uk[j-1];
return i;
}
void put(tablearray *T, elemt E) //добавление
{
  if (full(T))   //если полная
  return;
  else
  {
    int pos;
    if ((pos=search(T,E.key))!=-1)    //если найдено место
      {
         T->buf[pos] = E;    //заполняем данными
         T->uk++;       //увеличиваем фактическое количество элементов
      }
  }
}
int full(tablearray *T) //проверка на полноту
{
  if (T->uk>=size)
  {
    printf("таблица полная");
    return 1;
  }
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 14:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru