-9 / 1 / 0
Регистрация: 26.02.2019
Сообщений: 89
1

Не могу добавить отчистка списка, напишите прогу пожалуйста

26.04.2019, 17:13. Показов 1429. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
#include <conio.h>
#include <iostream>
#include <time.h>
#include <cstdlib>
#include <fstream>
#include <string>
#include <cstring>
#include <math.h>
#include <stdio.h>
#include <locale.h>
using namespace std;
 
struct element {
    char bukva;
    element *next;
};
 
typedef element *n_element;
n_element Head = NULL;
 
n_element CreateElement (char n_bukva){
    n_element NewElement = new element;
    NewElement->bukva = n_bukva;
    NewElement->next = NULL;
    return NewElement;
}
 
void AddFirst (n_element &Head, n_element NewElement){
    NewElement->next = Head;
    Head = NewElement;
}
 
void AddAfter (n_element p, n_element NewElement){
    NewElement->next = p->next;
    p->next = NewElement;
}
 
void AddBefore (n_element &Head, n_element p, n_element NewElement){
    n_element q = Head;
    if (Head == p){
        AddFirst (Head, NewElement);
        return;
    }
    while (q and q->next!=p)
        q=q->next;
    if (q)
        AddAfter(q, NewElement);
}
 
void AddLast (n_element &Head, n_element NewElement){
    n_element q=Head;
    if (Head==NULL){
        AddFirst(Head, NewElement);
        return;
    }
    while (q->next)
        q=q->next;
    AddAfter (q, NewElement);   
}
 
void DeleteElement(n_element &Head, n_element p){
    n_element q = Head;
    if (Head == p)
        Head = p->next;
    else {
        while (q and q->next != p)
            q=q->next;
        if (q == NULL)
            return;
        q->next=p->next;    
    }
    delete p;
}
 
void Read_From_File(){
    ifstream in("BukvaRandom.txt");
    string line;
    while (getline(in, line)){
        n_element node = CreateElement(line[0]);
        AddLast(Head, node);
    }
    in.close();
}
 
void Random_bukva(char n){
    srand(time(NULL));
    for (char i=0; i<n; i++){
        n_element node = CreateElement(rand()%static_cast<unsigned char> (32)+192);
        AddLast(Head, node);
    }
}
 
void Show(){
    n_element node = Head;
    while (node){
        cout << node->bukva<< " ";
        node = node->next;  
    }
}
 
void Sort(){
    n_element node = Head;
    while (node){
        n_element n_node = Head;
        while(n_node){
            if ((n_node->bukva) > (node->bukva));
                n_node = n_node->next;
        }
        node = node->next;
    }
}
 
void C5(){
    n_element node = Head;
    char c1;
    while(node){ 
    if (((node->bukva)=(rand()%static_cast<unsigned char> (2)+196))) { 
        c1=(node->bukva);
        break; 
    } 
    node = node->next; 
    } 
    cout<< " c1= "<<c1; 
}
 
void UserInput(){
    char c;
    n_element node;
    cout << "\nVvedite bukvu ";
    cin >> c;
    node = CreateElement(c);
    AddLast(Head, node);
    Sort();
    Show();
    C5();
}
int g;
void elem_list::clear(elem *&Head, int *g)
{
    while(head)
    {
        elem*next=Head->next;
        delete Head;
        Head=next;
    }
}
 
 
 
int main(){
    
    system("chcp 1251");
    setlocale(LC_ALL, "Russian");
    bool vvod=0;
    int n;
    while(1){
    
    cout<<"|-------------------------------------------------|"<<endl;
    cout <<"| Schitat iz faila or vivesti sluchanie(0 or 1)? |" << endl;
    cout<<"|-------------------------------------------------|"<<endl;
    cin >> vvod;
    if (vvod==0){
        Read_From_File();
        Show();
    }
    else if(vvod==1){
        cout<<"|--------------------------|"<<endl;
        cout <<"|Skolko bukv sgenirirovat?|" << endl;
        cout<<"|--------------------------|"<<endl;
        cin >> n;
        Random_bukva(n);
        Show();
    }
    else
        return 1;
    
    if (!Head){
        cout<<"|---------------|"<<endl;
        cout << "|Spisok pust|" << endl;
        cout<<"|-------------|"<<endl;
        return 1;
    }
    
    cout<<endl;
    Sort();
    cout<<"|-----------------------------------------|"<<endl;
    cout << "|Snachalo glasnie, a vse ostalnie konec:|" << endl;
    cout<<"|-----------------------------------------|"<<endl;
    Show(); 
    cout<<endl;
    C5();
    UserInput();
    int zz;
    
    cout << " Dobavi eshe? 2 yead 3 - no ";
    cin>>zz;
    while(zz!= 3){
     UserInput();
      C5();
     cout << " Dobavi eshe? 2 yes 3 - no ";
     cin>>zz;
     
    }
    char vib;
    cout<<"Zaverchit programmy?[y/n]"<<"\n";
    cin>>vib;
    if(vib=='y')
    break;
}
    return 1;
}
Добавлено через 40 минут
Пишите программу пожалуйста, чрезвучайно важно․ Заранее спасибо․))
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.04.2019, 17:13
Ответы с готовыми решениями:

Работа со списком...Не могу добавить функцию добавить элементы в начало списка...
В моей программе есть функция добавить элементы, она добавляет элементы в конец списка, уже очень...

Напишите пожалуйста прогу на делфи)принцип простой,но я не могу определиться и понять как вводить процедуру
Заданы три матрицы.Упрядочить по убыванию три числа x,y,z,гдеx -максимальный элемент...

Напишите легкую прогу,пожалуйста)
1. Составьте программу для подсчета суммы 1+3+5+…+(2•N+1), где N – произвольное положительное...

напишите пожалуйста комментарии ,не могу объяснить лабу((
const k = 1001; {кол-во точек графика} XN = 50; {начальная координата по х} YN =...

4
-9 / 1 / 0
Регистрация: 26.02.2019
Сообщений: 89
27.04.2019, 09:19  [ТС] 2
НАРОД ,ОЧЕНЬ НУЖНА ВАША ПОМОЩЬ․
0
447 / 333 / 172
Регистрация: 01.07.2015
Сообщений: 1,162
27.04.2019, 18:03 3
Реализовать линейный однонаправленный список на базе массива целых чисел

C++
1
2
3
4
5
6
7
8
9
10
11
void clear(List*& head) {
  List* tmp;
 
  while (head) {
    tmp = head;
 
    head = head->next;
 
    delete tmp;
  }
}
1
4063 / 3317 / 924
Регистрация: 25.03.2012
Сообщений: 12,485
Записей в блоге: 1
27.04.2019, 18:24 4
Лучший ответ Сообщение было отмечено ShMush как решение

Решение

ReDoX, у него там структура называется element аллё!
C++
1
2
3
4
5
6
7
8
9
10
11
12
void clear(n_element &Head){
 
  n_element tmp;
 
  while (head) {
    tmp = head;
 
    head = head->next;
 
    delete tmp;
  }
}
1
-9 / 1 / 0
Регистрация: 26.02.2019
Сообщений: 89
02.05.2019, 19:43  [ТС] 5
А как сортировать так , чтоб сперва показал гласные буквы а потом согласные? Напишите программу, пожалуйста․ Заранее спасибо
0
02.05.2019, 19:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2019, 19:43
Помогаю со студенческими работами здесь

не могу справиться задачкой в С++. У кого светлая голова напишите пожалуйста
Задан массив, состоящий из 10 элементов. Из положительных элементов извлечь квадратный корень,...

Напишите программы пожалуйста, будьте добры) Если что могу деньжат подкинуть
Вариант 7 C# 1. Дана величина A выражающая объем информации в байтах. Перевести A в более...

Добрий вечер !Напишите мне кто-нибудь пожалуйста эту программу с комментариями, чтобы я смогла разобраться, потому что никак не могу понять этот язык
создать файл записей (фамилия клиента, паспортные данные, № счета, сумма вклада) с зашифрованным №...

напишите прогу
В магазине формируется список лиц, записавшихся на покупку товара повышенного спроса. Каждая...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru