Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Оксана 1234
4 / 4 / 3
Регистрация: 10.04.2013
Сообщений: 172
1

Пронумерировать стек. Ошыбка в стеке

25.09.2013, 21:57. Просмотров 395. Ответов 2
Метки нет (Все метки)

Никак не пойму почему програма ничево не выводит на функции renumber,после while.


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
#include <stdio.h>
#define MAX_LEN 100
#include <iostream>
using namespace std;
int j=1;
 
FILE *f;
char a[MAX_LEN+1];
char d[MAX_LEN+1];
struct LITERAL
{
    int number;
    char content [MAX_LEN + 1];
};
 
struct STEK
{ 
    LITERAL info;
    STEK *adr;
};
 
 
 
 
 STEK* one (STEK* oldHeader, LITERAL infoCell)
 {
    STEK* newHeader = new STEK;
    newHeader->adr = oldHeader;
    newHeader->info = infoCell;
    return newHeader; }
 
 
 int LoadFileToStack(STEK* head,FILE*f)
 {      int strCounter = 0;     
 while(!feof(f))
          { fgets (a , MAX_LEN +1 , f);
            LITERAL currentInfoCell;
            currentInfoCell.number = strCounter++;
            strcpy(currentInfoCell.content,a);
 
            head = one (head, currentInfoCell);
             printf("%s", a);
 
        } 
 return strCounter;}
 void renumber(STEK* head)
 { LITERAL currentInfoCell1;
 cout<<"g\n";
     if(head=NULL)
     { cout<<"g\n";
        currentInfoCell1.number=j; cout<<"g\n";printf("%i \n", currentInfoCell1.number);
        head=head->adr; cout<<"g\n";j++; }
     }
 //***********************
// void push(STEK *top,char d)
//{LITERAL infoCell;
//STEK *pv=(STEK*) calloc(1,sizeof(STEK));
//strcpy(infoCell.content,d);
//pv->adr=top;
///top=pv;
//}//**********************
 void main()
{  //PART 1
    f = fopen("f.txt","r");
    if (f == NULL) perror("error opening file");
    else
    { 
        STEK* head = NULL;      
        
          int z=LoadFileToStack( head,f);
         cout<<"\n\nstrCounter="<<z<<endl;
         renumber(head);
// push(head,d);
    }
 
 
    system ("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 21:57
Ответы с готовыми решениями:

Переменные в стеке. Где хранятся? Как обрабатываются? Есть ли программный стек или только стек процессора?
Есть у меня пробелы в познаниях, хотел бы их устранить. 1. Что такое стек в...

Стек на массиве (выводит значение даже при пустом стеке)
Здравствуйте, есть код со стеком, вопрос касательно метода класса,а точнее о...

Стек содержит целые числа, удвоить вхождение нуля в стеке
Стек содержит целые числа, удвоить вхождение нуля в стеке

Дан стек, заполненный целыми числами. Поменять в данном стеке содержимое вершины и дна
Дан стек, заполненный целыми числами. Поменять в данном стеке содержимое...

Создать стек из вещественных чисел; найти максимальный элемент в стеке; организовать просмотр данных стека
Создать стек из вещественных чисел. Определить максимальный элемент в стеке....

2
Croessmah
++Ͻ
14630 / 8379 / 1582
Регистрация: 27.09.2012
Сообщений: 20,583
Записей в блоге: 2
Завершенные тесты: 1
25.09.2013, 22:08 2
C++
1
head=NULL
это присваивание, а не сравнение (==)
1
Оксана 1234
4 / 4 / 3
Регистрация: 10.04.2013
Сообщений: 172
25.09.2013, 22:24  [ТС] 3
Спасибо,конечно но прога всеравно не работает. к последнему g она не доходит

Добавлено через 8 минут
Моя задача
Создать стек для сохранения строк файла.
** С помощью стандартного ввода / вывода (stdio.h) считать текстовый файл по строкам (как в
части 1) и записать его содержание в стек.
* К каждой записи (рядка!) в стеке добавить в начале строки номер этой строки. Например, чтобы
выглядело так:
1: первая строка
2: вторая строка
** Вывести содержимое стека на экран и одновременно высвободить стек.
Создание функции, перенумеровуе строки, являющиеся
информационной частью стека (например, renumber ()).
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 22:24

Ошыбка
Исправте ошыбку пжалуйста: у=(a*sqrt(а*x)+a*exp(x))/(b*sin(x+3.14/16)); ...

Странная ошыбка
Всём привет Есть такая проблема: при использовании qsort(&amp;c, c.size(),...

Ошыбка с функциями
Подскажыте в чем ошыбка??? Делаю без функции, все норм!!! #include &lt;stdio.h&gt;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru