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

Структура в стеке. Не работает ф-ия renumber - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывести на экран числа в виде следующей таблицы http://www.cyberforum.ru/cpp-beginners/thread962500.html
Ребятки помогите с решением задачки что полегче решилось сразу,а тут совсем без идей( Вывести на экран числа в виде следующей таблицы 8 7 7 7 6 6 6 6 6 5 5 5
C++ Пронумерировать стек. Ошыбка в стеке Никак не пойму почему програма ничево не выводит на функции renumber,после while.:wall: #include <stdio.h> #define MAX_LEN 100 #include <iostream> using namespace std; int j=1; FILE *f; http://www.cyberforum.ru/cpp-beginners/thread962492.html
C++ почитайте код, обясните что не так
програма должна делать квадратики, но чтобы не залезаи за граници а они залазят, и почти всегда в первый раз #include "stdafx.h" #include <iostream> #include <windows.h> #include <conio.h> #include <ctime> #define UP_ARROW 72
C++ Написание собственного контейнера
Доброго времени суток ! Помогите написать собственный контейнер, основанный на STL, ибо сам с этой задачей никогда не сталкивался, никаких конкретных указаний в инете не встретил. Должен быть последовательным, хранить в себе std::string и пользовательский тип Object*. В него с помощью рекурсивной функции добавляются объекты для дальнейшей передачи контейнера xml-парсеру. Наставьте на путь...
C++ В массиве найти сумму min элементов.(функции) http://www.cyberforum.ru/cpp-beginners/thread962473.html
В заданном одномерном массиве найти сумму двух наименьших элементов. Программа нужна при помощи функций.
C++ Функции. Подсчитать в массивах количество элементов, больших значения t Заданы два массива А и В. Подсчитать в них количество элементов, больших значения t и первым на печать вывести массив, имеющий наименьшее их количество. Помогите пожалуйста. Нужно написать программу для решения задачи выше с использованием функций. подробнее

Показать сообщение отдельно
Оксана 1234
4 / 4 / 0
Регистрация: 10.04.2013
Сообщений: 165
14.10.2013, 19:47  [ТС]     Структура в стеке. Не работает ф-ия renumber
Готовый ответ
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
#include <stdio.h>
#include <iostream>
FILE *f;
const int MAX_LEN=100;
using namespace std;
struct LITERAL
{
    int number;
    char content [MAX_LEN + 1];
};
 
struct STEK
{ 
    LITERAL info;
    STEK *adr;
};
//**************************************
 
 
 
// Functions declarations
//
 STEK* push (STEK*, LITERAL);
 void pop(STEK* );
 STEK* LoadFileToStack(STEK*, FILE*);
 void purge(STEK*);
 STEK* renumber(STEK* );
 void dele(STEK*);
 
 
 
 // Functions initialisation
 //************************************************************
 
 STEK* push (STEK* oldHeader, LITERAL infoCell)
 {
    STEK* newHeader = new STEK;
 
    newHeader->adr = oldHeader;
    newHeader->info = infoCell;
 
    return newHeader; 
 }
 /*********************************************/
 
 STEK* LoadFileToStack(STEK* head, FILE*f)
 {  
     char a[MAX_LEN+1];
     f = fopen("f.txt","r");
     if (f == NULL) perror("error opening file");
     else
     {
     do
        {   fgets (a , MAX_LEN +1 , f);
            LITERAL currentInfoCell;
            strcpy(currentInfoCell.content,a);
            head = push (head, currentInfoCell);
            printf("%s",currentInfoCell.content);
        }   
        while(!feof(f));
     }
     return head; // return the top of stack
 }
 /**********************************************/
 STEK* renumber(STEK* oldheader)
 {   
     int j=1;
     STEK* head = oldheader;
        do
         {
             oldheader->info.number=j;
             
             oldheader = oldheader->adr;
             j++; 
         }   
         while((oldheader->adr)!=NULL);
         
           oldheader->info.number=j;
        
           int strCounter=j;
 
           return  head;
 }
/**********************************************/
void pop(STEK*oldheader)
{       
    printf("%i: ", oldheader->info.number);
    printf("%s", oldheader->info.content);
}
void clearStack(STEK* header)
{
    if(header->adr == NULL)
        delete header;
    else
        clearStack (header->adr);   
}
 /**********************************************/
 
    void purge(STEK* oldheader)
{
    do
    { 
        pop(oldheader);
        cout<<endl;
        oldheader=oldheader->adr;
        cout<<endl;
    }
    while((oldheader->adr)!=NULL);
 
    pop(oldheader);
    cout<<endl;
}
    
 /**********************************************/
    void main()
{   char a;
    FILE *f;
    f = fopen("f.txt","r");
    if (f == NULL) perror("error opening file");
     else
    { 
        while ((a=fgetc(f))!=EOF)
             printf("%c", a);
          }
    printf("\n\n");
    STEK* head = NULL;      
    head=LoadFileToStack( head, f);
    cout<<endl;
    cout<<endl;
    head = renumber( head);
    cout<<endl;
    purge(head);
    clearStack(head);
        
  fclose(f);
  system ("pause");
}
 
Текущее время: 06:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru