Форум программистов, компьютерный форум 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
ЧакЭ одобряЭ
277 / 276 / 32
Регистрация: 27.12.2009
Сообщений: 1,767
19.11.2010, 01:12  [ТС]     Указатели на структуры

Не по теме:

о.надо иногда читать теорию....

я думал что она возвращается значение равно или не равно..



Добавлено через 5 минут

Не по теме:

на повестке для остаётся закрытое хеширование,дек и деревья.хм.вперед и с песней



Добавлено через 1 час 2 минуты
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
#include <iostream>
#define maxn 1000
 
using namespace std;
 
const char *empty="          ";
      char *deleted="**********";
      
 
void makenull(dictionary *d)
{
    for(int i=0;i<maxn;i++)
    d[i]=empty;
}
 
int locate(char *x;dictionary *d)
{
    int i=0,initial=h(x);
    while(i<maxn)&&(d[(initial+i)%maxn]!=x)&&(d[(initial+i)%maxn]!=empty)//ïîêГ* Г*ГҐ ïðéäåò äî ГЄГ®Г*Г¶Г* ГЁ Г*ГҐ Г°Г*ГўГ*Г® x ГЁ Г*ГҐ ГЇГіГ±ГІГ*Гї ñòðîêГ*
    i++;
    return (initial+i)%maxn;
}
 
int locatel(char *x,dictionary *d)
{
    int i=0,initial=h(x);
    while(i<maxn)&&(!strcmp(d[(initial+i)%maxn]!=x))&&(!strcmp(d[(initial+i)%maxn]!=empty))&&(!strcmp(d[(initial+i)%maxn]!=deleted))
    i++;
    return (initial+i)%maxn;
}
 
void insert(char *x,dictionary *d)
{
    int bucket;
    if (!Strcmp(d[locate(x)]!=x))
    {
        
        bucket=locatel(x);
    //  char *x1=new char[strlen(x)+1];
    //  strcpy(x1,x);
        if (!strcmp(d[bucket]==empty)) || (!strcmp(d[bucket]==deleted))
            d[bucket]=x;
            else
            cout<<"It's full"<<endl;
    }
}
 
void del(char *x,dictionary *d)
{
    int bucket=locate(x);
    if (!strcmp(d[locate(x)]==x))
     d[bucket]=deleted;
}
            
int main()
{
  char dictionary[maxn][100];//ГЄГ*ГЄ îïèñГ*ГІГј ГЅГІГ® ÷åðåç ñòðóêòóðó?
  char s[5]="werty";
  insert(s,dictionary);
}
вот что у меня по закрытом хешированию

Добавлено через 23 часа 3 минуты
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <iostream>
#define maxn 10
 
using namespace std;
 
const char *empty="          ";
const char *deleted="**********";
      
int ord(char o)//ïåðåâîä â êîä
{
    return (unsigned char) o;
}
 
int h(char *x)//åñëè Г*ГҐ Г§Г*Г*ГїГІГ®
{
    int sum=0;
    for (int i=0;i<strlen(x);i++)
    sum+=ord(x[i]);
    return sum%maxn;
}
 
int h1(char *x)//
{
    int sum=0;
    for (int i=0;i<strlen(x);i++)
    sum+=ord(x[i]);
    int el=sum%maxn;
    el++;
    return el;
}
    
void makenull(char **d)
{
    for(int i=0;i<maxn;i++)
    strcpy(d[i],empty);
}
 
int locate(char *x,char **d)//ëèáî Г*Г*éäåò ýëåìåГ*ГІ ëèáî äîéäåò äî ГЄГ®Г*Г¶Г* ëèáî
{
    int initial=h(x);
    int i=0;
    while (i<maxn)&&!(strcmp(d[(initial+i)%maxn]!=x))&&(d[(initial+i)%maxn]!=empty)//ГЄГ*ГЄ îïèñГ*ГІГј ñòðîêГ* Г*ГҐ Г°Г*ГўГ*Г*?
        i++;
        return (initial+i)%maxn;
}
 
int locatel(char *x,char **d)//ëèáî Г*Г*éäåò ýëåìåГ*ГІ ëèáî äîéäåò äî ГЄГ®Г*Г¶Г* ëèáî
{
    int initial=h(x);
    int i=0;
    while (i<maxn)&&(d[(initial+i)%maxn]!=x)&&(d[(initial+i)%maxn]!=empty)&&(d[(initial+i)%maxn]!=deleted)
        i++;
        return (initial+i)%maxn;
}
 
bool  member(char *x,char **d); 
{
  if  (!strcmp(A[locate(x)] == x)) 
     return true; 
  else; 
     return false; 
} 
 
void insert(char x[],char **d) 
 {
  int bucket=0;  
  if  (!(strcmp(d[locate(x)]!=x)) 
   {
    bucket=locatel(x); 
    if  (!strcmp(d[bucket],empty))||(!strcmp(d[bucket),deleted))  then 
    d[bucket]=x; 
    else
    {
        cout<<"It's full"<<endl;
        break;
    }
   }
 }
 
 void del(char *x,char **d)
 {
  int bucket=locate(x);  
   if (!strcmp(A[locate(x)],x))
      strcpy(a[bucket],deleted); 
 }
 
 void show(dictionary *d)
 {
    while (i<maxn)
    {
        cout<<i<<" ";
        cout<<d[i]<<" ";
        cout<<endl;
    }
 }
            
 
int main()
{
   char dictionary[maxn][100];//ГЄГ*ГЄ îïèñГ*ГІГј ГЅГІГ® ÷åðåç ñòðóêòóðó?
   makenull(dictionary);  
     while(0<1)
   {
    system("cls");
    cout<<"Insert into table-------1"<<endl;
    cout<<"Show table--------------2"<<endl;
    cout<<"Del elem----------------3"<<endl;
    cout<<"Find elem---------------4"<<endl;
    cout<<"Clean-------------------5"<<endl;
    cin>>el;
    switch(el)
    {
        case 1:
        {
            system("cls");
            char emb[80];
            cin>>emb;
            insert(emb,d);
            getchar();
            break;
        }
        case 2:
        {
            system("cls");
            show(d);
            getchar();
            break;
        }
        case 3:
        {
            system("cls");
            char dell[80];
            cin>>dell;
            del(dell,d);
            getchar();
            break;
        }
        case 4:
        {
            system("cls");
            char imb[80];
            cin>>imb;
            if (member(imb,d))
              cout<<"Elem exist"<<endl;
              else
              cout<<"There is no such element"<<endl;
              getchar();
              break;
        }
        case 5:
        {
            system("cls");
            makenull(d);
            cout<<"Hash table is clean now"<<endl;
            getchar();
            break;          }
    }
   }
   return 0;
  
}
вот как выглядит в последней редакции закрытое хеширование

Добавлено через 17 часов 50 минут
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
#include <iostream>
#define maxn 10
 
using namespace std;
 
const char *empty="          ";
const char *deleted="**********";
      
int ord(char o)//ïåðåâîä â êîä
{
    return (unsigned char) o;
}
 
int h(char *x)//åñëè Г*ГҐ Г§Г*Г*ГїГІГ®
{
    int sum=0;
    for (int i=0;i<strlen(x);i++)
    sum+=ord(x[i]);
    return sum%maxn;
}
 
int h1(char *x)//
{
    int sum=0;
    for (int i=0;i<strlen(x);i++)
    sum+=ord(x[i]);
    int el=sum%maxn;
    el++;
    return el;
}
    
void makenull(char **d)
{
    for(int i=0;i<maxn;i++)
    strcpy(d[i],empty);
}
 
int locate(char *x,char **d)//ëèáî Г*Г*éäåò ýëåìåГ*ГІ ëèáî äîéäåò äî ГЄГ®Г*Г¶Г* ëèáî
{
    int initial=h(x);
    int i=0;
    while ((i<maxn)&&(strcmp(d[(initial+i)%maxn],x)!=0)&&(strcmp(d[(initial+i)%maxn],empty)!=0))//ГЄГ*ГЄ îïèñГ*ГІГј ñòðîêГ* Г*ГҐ Г°Г*ГўГ*Г*?
        i++;
        return (initial+i)%maxn;
}
 
int locatel(char *x,char **d)//ëèáî Г*Г*éäåò ýëåìåГ*ГІ ëèáî äîéäåò äî ГЄГ®Г*Г¶Г* ëèáî
{
    int initial=h(x);
    int i=0;
    while ((i<maxn)&&(strcmp(d[(initial+i)%maxn],x)!=0)&&(strcmp(d[(initial+i)%maxn],empty)!=0)&&(strcmp(d[(initial+i)%maxn],deleted)!=0))
        i++;
        return (initial+i)%maxn;
}
 
bool  member(char *x,char **d) 
{
  if  (strcmp(A[locate(x)],x)==0) 
     return true; 
  else; 
     return false; 
} 
 
void insert(char x[],char **d) 
 {
  int bucket=0;  
  if  (!(strcmp(d[locate(x)]!=x)) 
   {
    bucket=locatel(x); 
    if  (strcmp(d[bucket],empty)!=0)||(strcmp(d[bucket),deleted)!=0)  then 
    strcpy(d[bucket],x); 
    else
    {
        cout<<"It's full"<<endl;
        break;
    }
   }
 }
 
 void del(char *x,char **d)
 {
  int bucket=locate(x);  
   if (!strcmp(A[locate(x)],x))
      strcpy(a[bucket],deleted);//Г*ГҐ ГіГ¤Г*ëåГ*ГЁГҐ Г* Г§Г*ìåГ*Г* 
 }
 
 void show(dictionary *d)
 {
    while (i<maxn)
    {
        cout<<i<<" ";
        cout<<d[i]<<" ";
        cout<<endl;
    }
 }
            
 
int main()
{
   char dictionary[maxn][100];//ГЄГ*ГЄ îïèñГ*ГІГј ГЅГІГ® ÷åðåç ñòðóêòóðó?
   makenull(dictionary);  
     while(0<1)
   {
    system("cls");
    cout<<"Insert into table-------1"<<endl;
    cout<<"Show table--------------2"<<endl;
    cout<<"Del elem----------------3"<<endl;
    cout<<"Find elem---------------4"<<endl;
    cout<<"Clean-------------------5"<<endl;
    cin>>el;
    switch(el)
    {
        case 1:
        {
            system("cls");
            char emb[80];
            cin>>emb;
            insert(emb,d);
            getchar();
            break;
        }
        case 2:
        {
            system("cls");
            show(d);
            getchar();
            break;
        }
        case 3:
        {
            system("cls");
            char dell[80];
            cin>>dell;
            del(dell,d);
            getchar();
            break;
        }
        case 4:
        {
            system("cls");
            char imb[80];
            cin>>imb;
            if (member(imb,d))
              cout<<"Elem exist"<<endl;
              else
              cout<<"There is no such element"<<endl;
              getchar();
              break;
        }
        case 5:
        {
            system("cls");
            makenull(d);
            cout<<"Hash table is clean now"<<endl;
            getchar();
            break;          }
    }
   }
   return 0;
  
}
не могу понять почему ругается

Добавлено через 4 часа 57 минут

Не по теме:

значит больше не помогут...хех

 
Текущее время: 03:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru