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

СИ++ Бел. Гос. Универ. Инф. и Рад-ники - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Создание и удаление текстового файла http://www.cyberforum.ru/cpp/thread77989.html
Люди добрые помогите пожалуйста. делаю курсовую задание "Создание и удаление текстового файла", саму программу сделал вот теперь нужно запастить теорией которую к сожалению никак не могу найти. Подскажите пожалуйста где взять?!;)
C++ GETS: есть ли альтернатива? Ходят слухи, что функция get опасна (кому интересно, эта тема есть на форуме, чуть раньше). Есть ли какая-то функция, которая так же работае, т. е. заносит в байтовый массив введенные символы до '\n'? char input; Function(input). http://www.cyberforum.ru/cpp/thread77892.html
C++ Почему функция gets опасная?
Компилирую программу с помощью G++, и компилятор пишет: warning: the `gets' function is dangerous and should not be used. Но почему? И если опасна, то приведите, пожалуйста, код, где она действительно может чего-нибудь плохого натворить...
C++ Отредактировать текст так, чтобы между словами был ровно один пробел
помогите решить задачу. Дан произвольный текст.Отредактировать его так,чтобы: а)Между словами был ровно 1 пробел; б)предложения в тексте разделялись 2 пробелами задачу нужно решить на Borland C
C++ Дана матрица, посчитать в ней количество локальных минимумов http://www.cyberforum.ru/cpp/thread77682.html
нужна помощь в этой программе///// Дана матрица, посчитать в ней количество локальных минимумов. Буду очень благодарен. И нужно её написать на языке С.
C++ Программа находит макс. номер в файле... Написал программу с классами fstream, которая в определенном файле находит мин. номер и макс. номер. (в файле - только целочисленные номера) Минимальный номер находит правильно, но вместо максимального - всегда последний в файле. В чем же дело? Функция нахождения максимального номера: int FindMax(fstream &File) { char ch; подробнее

Показать сообщение отдельно
Aye Aye
 Аватар для Aye Aye
367 / 281 / 36
Регистрация: 17.12.2009
Сообщений: 567
22.12.2009, 15:59     СИ++ Бел. Гос. Универ. Инф. и Рад-ники
вот следующая, но аккуратней, в процидуре удаления элемента delelem не все гладко, я не заю как она поведет себя удаляя последний элемент, проверь её. Иваще потестируй прогу как следует.
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
#include <iostream>
#include <conio.h>
using namespace std;
struct queue{
       queue *next;
       queue *prior;
       int info;
       queue(){info=0;next=0;prior=0;}
       queue(int newinfo){info=newinfo;next=0;prior=0;}
       queue(int newinfo,queue *n,queue *p):info(newinfo){next=n;prior=p;}
};
 
void add(int info,queue *Node)
{
     if (Node)
     {
        if (!Node->next)
        {
           Node->next=new queue(info,0,0);
           Node->next->prior=Node;
        }
        else add(info,Node->next);
     }
     else cout << "Error - can not add reason: Queue is not exist!\n";
}
 
int get(queue *Node)
{
    if (Node)
    {
    if (Node->next)
    {
       queue *qptemp=Node->next;
       int ntemp=Node->info;
       delete Node;
       *Node=*qptemp;
       return ntemp;
    }
    else 
    {
         int ntemp=Node->info;
         delete Node;
         return ntemp;         
    }
    }else{cout << "Error - can not get reason: Queue is empty\n";return 0;}
}
 
void del(queue *Node)
{
     if(Node->next)del(Node->next);
     else delete Node;Node=0;
}
 
queue &getlast(queue *Node)
{
      if (Node)
      {
         if(Node->next)return getlast(Node->next);
         else return *Node;
      }
}
 
void cycle(queue *Node)
{
     if (Node!=NULL)
     {
        getlast(Node).next=Node;
     }
     else cout << "Error - can nod cycling reason: Queue is empty";
}
 
void delelem(queue *THIS,int key)
{
     if (THIS)
     {
        if ((THIS->info==key)&&(THIS->prior)) 
        {
           THIS->prior->next=THIS->next;
           delete THIS;
        }
        if ((THIS->info==key)&&(!THIS->prior))
        {
           delete THIS;
        }
        if (THIS->info!=key) delelem(THIS->next,key);
     }else cout << "Error - can nod cycling reason: Queue is empty";
}
 
void print(queue *Node)
{
     if (Node)
     {
         cout << Node->info << " "; 
         if (Node->next)print(Node->next);
     }else cout<<"Nothing no print reason: Queue is empty";
}
 
int main()
{
    queue *Q=0;
    get(Q);
    print(Q);cout << endl;
    Q=new queue(4);//создание очереди
    add(12,Q);
    add(8,Q);
    add(3,Q);
    add(5,Q);
    print(Q);
    
    cout <<"\n-----let's-get-them!---------------\n";
    cycle(Q);
    
    delelem(Q,8);//удаление элемента
    
    int i=get(Q);
    cout <<"First "<< i<<" then ";
    i=get(Q);
    cout << i<<" then ";
    i=get(Q);
    //cout << i<<" then ";
    //i=get(Q);
    cout << i<<" then ";
    i=get(Q);
    cout << i<<" end\n";
    
    getch();
    return 0;
}
 
Текущее время: 15:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru