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

Указатели на структуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программирование под USB порты http://www.cyberforum.ru/cpp-beginners/thread187107.html
что я сделал: Я написал на WF программу которая загружает картинки и при нажатии на кнопку(Toolbox) перемешивает их. В чем нужна помощь: Хочу купить кнопку с интерфейсом USB! 1) есть ли такие кнопки? 2) если есть то как они называются? 3) как сделать так чтоб при нажатии на кнопку купленную сробатывала кнопка Toolbox? Буду очень благодарен!
C++ Передача двумерного массива через указатели Подскажите пожалуйста как передать статический двумерный массив в функцию через указатели. Я начал писать программу с функции ввода, но появились ошибки, помогите пожалуйста, исправьте где неправильно. void input (float *, int const, int const); void main (void) { int const n=5, m=5; float B; input (B, n, m); } http://www.cyberforum.ru/cpp-beginners/thread187095.html
C++ Умножение динамических матриц
Добрый день У меня возникли сложности с программой... Помогите пожалуйста Ситуация сложилась так: нужно создать и заполнить 2 динамические матрицы Нужно умножить 2 динамические матрицы это нужно сделать с помощи функции В принципе, я организовал некий "код", но при компиляции он выдает матрицу все элементы которой равны нулю...
C++ Эмулятор трёхадресной машины.
В общем, имеется задача "Эмулятор трёхадресной машины". Каждая инструкция имеет следующий формат: код инструкции (1 байт), операнд 1 (1 байт), операнд 2 (1 байт), операнд 3 (1 байт), при этом каждый операнд задает адрес параметра в оперативной памяти машины. Далее значение по адресу заданному операндом 1 будем обозначать . Если предполагается числовой параметр инструкции, то используется...
C++ Составить программу, вычисляющую с точностью eps сумму заданного ряда http://www.cyberforum.ru/cpp-beginners/thread187073.html
Задание: Составить программу, вычисляющую с точностью eps сумму заданного ряда. Примечание: вычислить сумму ряда с точностью eps значит завершить суммирование членов ряда тогда, когда очередной член ряда окажется меньше eps по абсолютной величине. Сверить с контрольными значениями. Результаты вывести на экран монитора.
C++ Запись в текстовый файл #include <vcl.h> #pragma hdrstop #include <conio.h> #include <iostream.h> #include <stdio.h> #pragma argsused #include <fstream.h> void main() { FILE*p1; подробнее

Показать сообщение отдельно
Artishok
ЧакЭ одобряЭ
 Аватар для Artishok
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
12.11.2010, 12:19  [ТС]     Указатели на структуры
ладно.завтра доделаю.
надеюсь что хоть работать будет.во вторник сдавать.

Добавлено через 10 часов 0 минут
не пашет после всех исправлений

Добавлено через 53 секунды
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
#include <iostream>
 
 struct spis //элемент хеш-таблицы узел списка
 {
    char *val;
    struct spis *next;
};
 
typedef struct spis *dictionary[10];//каждое dictionary[i]-результат хеш-функции
 
 
int ord(char o)//перевод символа в код
{
    return (unsigned char) o;
}
 
int hash (char *x)//хеш-функция
{
 int i,sum=0;
 for(i=0;i<10;i++)
    sum+=ord(x[i]);//суммируем коды символов
  return sum%10; 
}
 
void makenull(dictionary k)//обнуление хеш-таблицы
{
    for(int i=0;i<10;i++)
    k[i]=0;
}
 
bool member(char *x,dictionary k)//проверка на наличие
{
    spis *cur;
    cur=k[hash(x)];//начальное значение равно заголовку сегмента которому принадлежит x
    while (cur!=0)//пока не дойдет до конца 
    {
        if (cur->val==x)//если есть
         return true;//значит есть
        else //иначе
         cur=cur->next;//перемещаться
    }
    return false;
}
 
void insert(char *x,dictionary k)//втавка
{
    
    int symb;//номер сегмента
    spis *oldhead;
    if (!member(x,k)) //если нет то
    {
        char *x1=new char[strlen(x)+1];
            strcpy(x1,x);
        symb=hash(x1);//создаем код для строки
        oldhead=k[symb]; //старой голове присвоить значение k-хешевского
        k[symb]=new spis; //новый элемент типа spis c кодом symb
        k[symb]->val=x1; //записать значение
        k[symb]->next=oldhead; //указатель на следующий элемент сделать на старую голову
    }
}
 
void del(char *x,dictionary k) //удаление
{
    int symb;//для хранения кода 
    spis *cur;//указатель на элемента типа spis
    symb=hash(x);//получаем код для того что хотим удалить
    bool f=true;
    if (k[symb]!=0)//если то что получено не ноль
    {
        if (k[symb]->val==x)
         { //если случилось что элемент удаляемый голова
          spis *chuck=k[symb];//дополнительной переменной значение хеш
          k[symb]=k[symb]->next; //головой стал бывший next
                 delete chuck;//удалеям из памяти
         }
          else //иначе
          {
            cur=k[symb];//присвоим значение элемента с кодом symb
            while((cur->next!=0)&&(f))//пока по этому коду по списку не дойдет последнего или не найдет
             if (cur->next->val==x)//если элемент следующий имеет это значение то
             {
                spis *chuck=cur->next;//присваиваем переменной значения того кого хотим удалить
                        cur->next=cur->next->next;//элемент пред указывает уже не на него на за следующий за ним
                    delete [] chuck->val;
                    delete chuck;
                        f=false;//цикл завершен
             }
             else
             cur=cur->next;//Перемещаемся по списку
          }
    }
}
 
int main()
{
   dictionary d;
   char *s;
   cin>>s;
   insert(s,d);
   makenull(d);
}
 
Текущее время: 19:58. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru