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

Ошибка в процедуре - C++

Восстановить пароль Регистрация
 
Андрей 94
19 / 19 / 1
Регистрация: 11.11.2012
Сообщений: 253
16.12.2013, 14:13     Ошибка в процедуре #1
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
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <locale.h>
struct rec
{
    unsigned short f1;
    unsigned int f2;
 
    rec *p;
};
struct xrec
{
    xrec *p;
    rec *pb;
};
unsigned short ss,k,i,j,n,ef,x;
 
rec *pt,*ptn,*pte,*pts,*ptt;
xrec *ptb,*ptx;
unsigned short g(rec *p)
{
    return p->f1%3;
};
void newrec()
{
    if (ss==0) printf("Ñïèñîê Г*ГҐ ñòâîðåГ*Г®.\n");
    else
    {
        pt=new rec;
        pt->f1=rand()%10;
        pt->f2=rand()%10;
        pt->p=NULL;
        ptx=ptb;
        for(j=0;j<g(pt);j++)
            ptx=ptx->p;
        if (ptx->pb==NULL)
            ptx->pb=pt;
        else
        {
            pts=ptx->pb;
            while (pts->p!=NULL)
                pts=pts->p;
            pts->p=pt;
        };
    };
};
void CreateList()
{
    ss=1;
    ptb=new xrec; ptb->pb=NULL;
    ptb->p=new xrec; ptb->p->pb=NULL;
    ptb->p->p=new xrec; ptb->p->p->pb=NULL;
    for(i=0;i<11;i++)
        newrec();
    printf("Ñïèñîê ñòâîðåГ*Г®.\n");
};
void poutsp()
{
    printf("ϳäñïèñîê В№%d\n",i+1);
    while (pt!=NULL)
    {
        printf("%2d %3d \n",pt->f1,pt->f2);
        pt=pt->p;
    };
};
void PrintList()
{
    if (ss==0) printf("Ñïèñîê Г*ГҐ ñòâîðåГ*Г®.\n"); else
    {
        ptx=ptb;
        for(i=0;i<3;i++)
        {
            pt=ptx->pb;
            poutsp();
            ptx=ptx->p;
        };
    };
};
 
void ActionList(){
     int l=0;
     ptx=ptb;
     for(i=0;i<3;i++)
         {pt=ptx->pb;
          while (pt!=NULL)
          {if (pt->f1==pt->f2)
          {printf("%2d %3d \n",pt->f1,pt->f2);
          l+=1;}
          }pt=pt->p;}
          if (l==0) {
          printf ("\n ÅëåìåГ*ГІГЁ Г§ Г°1ГўГ*èìè ïîëÿìè â³äñóòГ*1\n");
     ptx=ptx->p;}}
 
int main()
{setlocale(LC_ALL, "Rus");
    ss=0;
    
    srand(time(NULL));
    while (true)
    {
        printf("1 - Ñòâîðèòè ñïèñîê.\n");
        printf("2 - Âèâåñòè åëåìåГ*ГІГЁ.\n");
        printf("3 - ÄîäГ*ГІГЁ åëåìåГ*ГІ.\n");
        printf("4 - ÎáðîáêГ*.\n");        
        printf("0 - Âèõ³ä.\n");
        scanf("%d",&k);
        printf("\n");
        switch (k)
        {
            case 1:{CreateList();break;}
            case 2:{PrintList();break;}
            case 3:{newrec();break;}
            case 4:{ActionList(); break;}
            case 0:goto l1;
        }
    }
    l1:;
    return 0;
};
все работает кроме процедуры ActionList. Ошибок не выдает
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2013, 14:13     Ошибка в процедуре
Посмотрите здесь:

Процедура в процедуре. Как сделать. C++
C++ ошибка в процедуре вставки в упор. массив
Ошибки в процедуре для сравнений C++
C++ Ошибка в процедуре
C++ OpenGL. Передать в процедуру рисования Draw коэффициенты прямой, вычисляемые в другой процедуре
C++ В процедуре поменять местами столбцы вещественной матрицы
C++ Написать программу которая выводит сумму чисел от a до b. Сложение чисел выполнять в процедуре

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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