Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
1

Как отсортировать структуру

24.10.2013, 11:13. Показов 2353. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
struct Books
{
    char *Nazvan;          //название книги
    char *Name_avtor;   //автор
    int Yaer_izd;             // год издания
    int Stranic;              //количество страниц
    double Cena;          //цена книги
};
отсортировать авторов по алфавиту
таким образом сортируются только авторы, а все остальное остается на прежних местах, как отсортировать (подставить к отсортированному) все остальное
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//-авторы по алфавиту
void alf_avtor(Books *pKatalog, const int a)
{
    SetColor(Green,Black);
    cout<<"\n"<<"Авторы по алфавиту"<<endl; 
    int i, j;
    char *temp;
    for(i=1;i<a;i++){  
        temp = pKatalog[i].Name_avtor; 
        
        for (j=i-1;j>=0 && strcmp(pKatalog[j].Name_avtor,temp)>0;j--)
            pKatalog[j+1].Name_avtor=pKatalog[j].Name_avtor;    
            pKatalog[j+1].Name_avtor = temp; 
    }
    for(i=0;i<a;i++)
        puts( pKatalog[i].Name_avtor);
    SetColor(White,Black);
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2013, 11:13
Ответы с готовыми решениями:

Как отсортировать структуру?
В чем здесь ошибка? Нужно записать во второй файл структуру, отсортированную по параметру number....

Как отсортировать структуру?
Нужно отсортировать по number, и записать в новый файл. #include &quot;stdafx.h&quot; #include &lt;fstream&gt;...

Как отсортировать структуру по убыванию
#include &lt;iostream&gt; #include &lt;clocale&gt; #include &lt;string.h&gt; #include &lt;conio.h&gt; using...

Как отсортировать по алфавиту структуру
Здравствуйте, мальчики. Я делала программу, которая содержит прайс лист: -названия товара...

15
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 11:30 2
Ну потому что вы меняете местами только имя автора. Меняйте местами сами объекты структуры в массиве.
C++
1
2
3
4
5
6
Books temp;
    for(i=1;i<a;i++){  
        temp = pKatalog[i]; 
        for (j=i-1;j>=0 && strcmp(pKatalog[j].Name_avtor, temp.Name_avtor)>0;j--)
            pKatalog[j+1]=pKatalog[j];    
            pKatalog[j+1] = temp;
Ну и остальное по аналогии исправить.
Кстати да, там после фторого for, по j который, скобки фигурные не забыли случайно?
1
351 / 344 / 279
Регистрация: 21.05.2013
Сообщений: 1,312
24.10.2013, 11:31 3
Кликните здесь для просмотра всего текста
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
#include <iostream>
#include <cstdlib>
#include <cstring>
 
using namespace std;
 
struct Books
{
    char Nazvan[50];          //название книги
    char Name_avtor[50];      //автор
    int Yaer_izd;          // год издания
    int Stranic;           //количество страниц
    double Cena;           //цена книги
};
 
void print(const Books &m)
{
    cout << "Nazvan = "    << m.Nazvan    << "\n"
         << "Name_avtor = " << m.Name_avtor << "\n"
         << "Yaer_izd = " << m.Yaer_izd << "\n"
         << "Stranic = " << m.Stranic << "\n"
         << "Cena = "     << m.Cena << "\n\n";
}
 
void init(Books &m)
{
    cout << "Nazvan: ";cin >> m.Nazvan;
    cout << "Name_avtor: ";cin >> m.Name_avtor;
    cout << "Yaer_izd: ";cin >> m.Yaer_izd;
    cout << "Stranic: ";cin >> m.Stranic;
    cout << "Cena: ";cin >> m.Cena;
    
}
  
void mySort(Books *arr, const int size)
{
    // пузырьковая сортировка. Сортируем по полю Name_avtor
    for (int i=0; i < size; i++)
        for (int j=size-1; j > i; j--)
            if (strcmp(arr[i].Name_avtor, arr[j].Name_avtor) > 0)
            {
                // мегняем местами
                Books tmp = arr[i]; // временная переменная
                arr[i] = arr[j];
                arr[j] = tmp;
            }
}
 
int main()
{
    const int size = 2;
    Books pArr[size];
    // в цикле инициализируем структуры
    for (int i=0; i < size; i++)
        init(pArr[i]);
 
    for (int i=0; i < size; i++)
        print(pArr[i]); // вызываем функцию print, передавая элемент массива pArr[i]
  
    cout << "\nSorted:\n";
    mySort(pArr, size);
    for (int i=0; i < size; i++)
        print(pArr[i]); // вызываем функцию print, передавая элемент массива pArr[i]
 
    system("pause"); // пауза
}

вот примерно вот так или направельно?
0
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 11:40  [ТС] 4
Цитата Сообщение от Rivory Посмотреть сообщение
Ну потому что вы меняете местами только имя автора. Меняйте местами сами объекты структуры в массиве.
C++
1
2
3
4
5
6
Books temp;
    for(i=1;i<a;i++){  
        temp = pKatalog[i]; 
        for (j=i-1;j>=0 && strcmp(pKatalog[j].Name_avtor, temp.Name_avtor)>0;j--)
            pKatalog[j+1]=pKatalog[j];    
            pKatalog[j+1] = temp;
Ну и остальное по аналогии исправить.
Кстати да, там после фторого for, по j который, скобки фигурные не забыли случайно?
Да но теперь ошибка в strcmp
Ошибка 1 error C2664: strcmp: невозможно преобразовать параметр 2 из "Books" в "const char *"
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 12:15 5
Мммм, какие Books? Вы там точно temp.Name_avtor добавили, а не просто temp?
1
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 12:29  [ТС] 6
Цитата Сообщение от Rivory Посмотреть сообщение
Мммм, какие Books? Вы там точно temp.Name_avtor добавили, а не просто temp?
Все исправил большое спасибо, работает, можете еще подсказать: - обеспечить поступление новых книг в магазин
игнорирует второй scanf а затем вообще вырубает программу?

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
//    - обеспечить поступление новых книг в магазин
 
void new_boks(Books *pKatalog, const int a)
{
    int col;
    cout<<"\nВведите количество книг, которое Вы хотите добавить\n";
    cin>>col;
 
    Books *pNewBok=new Books[a+col];
 
    for(int i=0,k=0; i<a+col; i++)
    {
        if(i<col)
        {
            cout<<"Введите название книги\n";
            scanf ("%s",&pNewBok[i].Nazvan);
            cout<<"Введите имя автора\n";
            scanf ("%s",&pNewBok[i].Name_avtor);
            cout<<"Введите год издания книги\n";
            cin>>pNewBok[i].Yaer_izd;
            cout<<"Введите количество страниц книги\n";
            cin>>pNewBok[i].Stranic;
            cout<<"Введите цену книги\n";
            cin>>pNewBok[i].Cena;
        }
        else
        {
            pNewBok[i]=pKatalog[k];
            k++;
        }
    }
    
    delete []pKatalog;
    pKatalog=pNewBok;
    print(pNewBok, a);
}
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 12:42 7
А зачем вообще так сильно мешать C и C++? Чем вам cin >> pNewBok[i].Nazvan не угодил?
0
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 12:48  [ТС] 8
Цитата Сообщение от Rivory Посмотреть сообщение
А зачем вообще так сильно мешать C и C++? Чем вам cin >> pNewBok[i].Nazvan не угодил?
если название состоит допустим из 3-х слов, то cin считает только первое, а как быть с остальными?
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 12:53 9
И да, я не пользовался scanf'ом вечность, но насколько я помню, там не надо писать амперсант(&) при передаче массива внутрь.

Добавлено через 4 минуты
Цитата Сообщение от vitalu Посмотреть сообщение
если название состоит допустим из 3-х слов, то cin считает только первое, а как быть с остальными?
C++
1
std::cin.getline(str, 1024);
str - куда пишем, 1024 - длинна строки.
0
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 13:08  [ТС] 10
Цитата Сообщение от Rivory Посмотреть сообщение
И да, я не пользовался scanf'ом вечность, но насколько я помню, там не надо писать амперсант(&) при передаче массива внутрь.

Добавлено через 4 минуты


C++
1
std::cin.getline(str, 1024);
str - куда пишем, 1024 - длинна строки.
пытался и cin.getline и gets и cin все равно не работает. ошибки не выдает, иногда просто игнорирует ввод, а иногда полностью вываливается программа

Добавлено через 9 минут
вот тоже в функции игнорирует ввод gets
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
// - поиск по названию, вывести информацию о книге
void nazv_poisk(Books *pKatalog, const int a)
{
char name_bok[80];
cout<<"\nВведите название книги\n";
SetColor(Green,Black);
 
gets(name_bok);
int i=0;    
/*cin.getline(name_bok, 80);*/
/*cin>>name_bok;*/
for(; i<a; i++)
{
if(strstr(pKatalog[i].Nazvan, name_bok))
{   
cout<<pKatalog[i].Nazvan<<" "; 
cout<<pKatalog[i].Name_avtor<<" ";
cout<<pKatalog[i].Yaer_izd<<" ";
cout<<pKatalog[i].Stranic<<" ";
cout<<pKatalog[i].Cena<<endl;   
}
}
if(!(strstr(pKatalog[i].Nazvan, name_bok)))
{
SetColor(Red,Black);
cout<<"Нет в наличии\n";
}
 
SetColor(White,Black);
}
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 13:13 11
Ну я даже не знаю, у меня работает.
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
#include <iostream>
using namespace std;
 
struct Books
{
    char *Nazvan;          //название книги
    char *Name_avtor;   //автор
    int Year_izd;             // год издания
    int Stranic;              //количество страниц
    double Cena;          //цена книги
};
 
void print_book(Books book)
{
    cout << "Caption: " << book.Nazvan << endl;
    cout << "Name: " << book.Name_avtor << endl;
    cout << "Year_izd: " << book.Year_izd << endl;
    cout << "Pages: " << book.Stranic << endl;
    cout << "Price: " << book.Cena << endl;
}
 
int main()
{
    Books book;
    cout<<"Enter caption\n";
    cin.getline(book.Nazvan, 100);
    cout<<"Enter author's name\n";
    cin.getline(book.Name_avtor, 100);
    cout<<"Enter year of publication\n";
    cin>>book.Year_izd;
    cout<<"Enter the number of pages of the book\n";
    cin>>book.Stranic;
    cout<<"Enter book's price\n";
    cin>>book.Cena;
    print_book(book);
    system("pause");
    return 0;
}
Миниатюры
Как отсортировать структуру  
0
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 13:19  [ТС] 12
а попробуйте пожалуйста весь мой код пункт 4 и 5 , будет у Вас работать или нет?
Большое спасибо
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
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
#include<iostream>
using namespace std;
#include<conio.h>
#include<clocale>
#include<stdlib.h>
#include<ctime>
#include<iomanip>
#include<cmath>
#include<stdio.h>
 
#include<windows.h>
enum ConsoleColor{Black, Blue, Green, Cyan, Red, Magenta, Brown, LightGray, DarkGray, LightBlue, LightGreen, LightCyan, LightRed, LightMagenta, Yellow, White};
 
void SetColor(ConsoleColor text, ConsoleColor background)
{ 
   HANDLE hStdOut = GetStdHandle(STD_OUTPUT_HANDLE);
   SetConsoleTextAttribute(hStdOut, (WORD)((background << 4) | text));
}
//1. Напишите программу структурного описания каталога одной книги.
//2. Написать следующие функции:
//    - вывести список всех книг;
//    - обеспечить хранение книг в следующей последовательности: авторы по алфавиту,книги по алфавиту;
//    - проверить наличие определенной книги в магазине;
//    - обеспечить поступление новых книг в магазин;
//    - обеспечить возможность списания книг (продано);
//    - поиск по названию, вывести информацию о книге;
//    - поиск по автору, вывести список его книг.
struct Books
{
    char *Nazvan;
    char *Name_avtor;
    int Yaer_izd;
    int Stranic;
    double Cena;
};  
//    - вывести список всех книг;
void print(Books *pKatalog, const int a)
{
    SetColor(Green,Black);
    cout<<"\nСписок всех книг"<<endl;
for(int i=0; i<a; i++)
    {   
        cout<<pKatalog[i].Nazvan<<" "; 
        cout<<pKatalog[i].Name_avtor<<" ";
        cout<<pKatalog[i].Yaer_izd<<" ";
        cout<<pKatalog[i].Stranic<<" ";
        cout<<pKatalog[i].Cena<<endl;       
    }
SetColor(White,Black);
}
 
//-авторы по алфавиту
void alf_avtor(Books *pKatalog, const int a)
{
    SetColor(Green,Black);
    cout<<"\n"<<"Авторы по алфавиту"<<endl; 
    int i, j;
    Books temp;
    for(i=1;i<a;i++){  
        temp = pKatalog[i]; 
        
        for (j=i-1;j>=0 && strcmp(pKatalog[j].Name_avtor,temp.Name_avtor)>0;j--)
            pKatalog[j+1]=pKatalog[j];      
            pKatalog[j+1] = temp; 
    }
    for(i=0;i<a;i++)
        puts( pKatalog[i].Name_avtor);
    SetColor(White,Black);
}
 
//-книги по алфавиту
void alf_boks(Books *pKatalog, const int a)
{
    SetColor(Green,Black);  
    cout<<"\n"<<"Книги по алфавиту"<<endl;
    int i, j;
    Books temp;
    for(i=1;i<a;i++)
    {  
        temp= pKatalog[i]; 
        
        for (j=i-1;j>=0 && strcmp(pKatalog[j].Nazvan,temp.Nazvan)>0;j--)    {   
            pKatalog[j+1]=pKatalog[j];          
        }
            pKatalog[j+1] = temp; 
            
            
    }   
    for(i=0;i<a;i++)
        puts( pKatalog[i].Nazvan);
    SetColor(White,Black);
}
 
//???????????????????????????????????????????????????????????????????????
//    - поиск по названию, вывести информацию о книге
// 2.Если мне нужно ввести полное название книги, как это сделать, gets он игнорирует, просто пропускает, так же и cin.getline, иногда бывают предупреждения заменить на функции gets_s и scanf_s но результат от этого не меняется
void nazv_poisk(Books *pKatalog, const int a)
{
    char name_bok[80];
    cout<<"\nВведите название книги\n";
    SetColor(Green,Black);
 
    scanf ("%s",&name_bok);
    int i=0;
    /*gets(name_bok);*/
    /*cin.getline(name_bok, 80);*/
    /*cin>>name_bok;*/
for(; i<a; i++)
    {
    if(strstr(pKatalog[i].Nazvan, name_bok))
      {      
        cout<<pKatalog[i].Nazvan<<" "; 
        cout<<pKatalog[i].Name_avtor<<" ";
        cout<<pKatalog[i].Yaer_izd<<" ";
        cout<<pKatalog[i].Stranic<<" ";
        cout<<pKatalog[i].Cena<<endl;   
      }
    }
if(!(strstr(pKatalog[i].Nazvan, name_bok)))
{
    SetColor(Red,Black);
    cout<<"Нет в наличии\n";
}
 
SetColor(White,Black);
}
//???????????????????????????????????????????????????????????????????????
 
//???????????????????????????????????????????????????????????????????
//    - обеспечить поступление новых книг в магазин
// 3.Опять проблемы с вводом
void new_boks(Books *pKatalog, const int a)
{
    int col;
    cout<<"\nВведите количество книг, которое Вы хотите добавить\n";
    cin>>col;
 
    Books *pNewBok=new Books[a+col];
 
    for(int i=0,k=0; i<a+col; i++)
    {
        if(i<col)
        {
            cout<<"Введите название книги\n";
            scanf ("%s",pNewBok[i].Nazvan);
            cout<<"Введите имя автора\n";
            gets(pNewBok[i].Name_avtor);
 
            cout<<"Введите год издания книги\n";
            cin>>pNewBok[i].Yaer_izd;
            cout<<"Введите количество страниц книги\n";
            cin>>pNewBok[i].Stranic;
            cout<<"Введите цену книги\n";
            cin>>pNewBok[i].Cena;
        }
        else
        {
            pNewBok[i]=pKatalog[k];
            k++;
        }
    }
    for(int i=0; i<a+col; i++)
    {   
        cout<<pNewBok[i].Nazvan<<" "; 
        cout<<pNewBok[i].Name_avtor<<" ";
        cout<<pNewBok[i].Yaer_izd<<" ";
        cout<<pNewBok[i].Stranic<<" ";
        cout<<pNewBok[i].Cena<<endl;        
    }
    delete []pKatalog;
    pKatalog=pNewBok;
    //print(pNewBok, a);
}
//?????????????????????????????????????????????????????????????????????????
 
//    - поиск по автору, вывести список его книг
void avtor_poisk(Books *pKatalog, const int a)
{
    char name_avt[40];
    cout<<"\nВведите имя автора книги\n";
    SetColor(Green,Black);
    scanf ("%s",name_avt);
 
    /*gets(name_bok);*/
    /*cin.getline(name_bok, 40);*/
    /*cin>>name_bok;*/
    bool flag=false;
for(int i=0; i<a; i++)
    {
    if(strstr(pKatalog[i].Name_avtor, name_avt))
      {
          flag=true;
        cout<<pKatalog[i].Nazvan<<" "; 
        cout<<pKatalog[i].Name_avtor<<" ";
        cout<<pKatalog[i].Yaer_izd<<" ";
        cout<<pKatalog[i].Stranic<<" ";
        cout<<pKatalog[i].Cena<<endl;   
      }
    }
if(!flag)
{
    SetColor(Red,Black);
    cout<<"Нет в наличии\n";
}
 
SetColor(White,Black);
} 
 
 
void (*boks[6])(Books *, const int)={print, alf_avtor, alf_boks/*, nalichie*/, new_boks, /*delete_buks,*/ nazv_poisk, avtor_poisk};
 
void main()
{
    setlocale(LC_CTYPE,"rus");
    const int size=5;
    int point;
    Books Katalog[size]={{"Osnovu programmirovaniy", "Harvi Deitl", 1998, 1078,380},{"The Changed Man and the King of Words", "Card, Orson Scott", 2010, 950,400},{"Yazuk programmirovaniy C", "Gerbert Shildt", 2012, 1078,500},{"Programmirovanie na C++", "Harvi Deitl", 2000, 1020,315},{"Neznayka na lune", "Nikolay Nosov", 1997, 1000,320}};
    Books *pKatalog=new Books[size];
 
    for(int i=0; i<size; i++)
    {       
        pKatalog[i]=Katalog[i];             
    }
    
    cout<<"\t\tВыберите пункт меню\n";
    do{
    cout<<"\nВывести список всех книг (1)\nОбеспечить хранение книг в следующей последовательности:\n  -авторы по алфавиту (2)\n  -книги по алфавиту (3)\n"<</*Проверить наличие определенной книги в магазине (4)\n*/"Обеспечить поступление новых книг в магазин (4)\n"/*Обеспечить возможность списания книг (продано) (6)\n*/<<"Поиск по названию, вывести информацию о книге (5)\nПоиск по автору, вывести список его книг (6)\nВыход (0)\n";
    cin>>point; 
    if(!point)
        break;
        (*boks[point-1])(pKatalog, size);
    }while(point);
}
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 13:22 13
vitalu, Мда, это будет проблематично.
Миниатюры
Как отсортировать структуру  
0
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 13:25  [ТС] 14
Цитата Сообщение от Rivory Посмотреть сообщение
vitalu, Мда, это будет проблематично.
Не знаю, у меня выводит на русском нормально
0
148 / 114 / 21
Регистрация: 15.01.2013
Сообщений: 266
24.10.2013, 14:00 15
В общем первая ошибка была в том, что он вылетал с Access Violation при первом же обращении к pNewBok.Nazvan, вылечил тем, что выделяю память под char* Nazvan и char* Name.
Вторая ошибка была в том, что он при первом же getline берет откуда-то \0, я покопался в дебагере, так и не понял откуда он его тащит. Решил просто дублированием захвата строки.

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
void new_boks(Books *pKatalog, const int a)
{
    int col=0;
    cout<<"\nNumber\n";
    cin>>col;
    Books* pNewBok = new Books[a+col];
    for(int i=0,k=0; i<a+col; i++)
    {
        if(i<col)
        {
            pNewBok[i].Nazvan = new char[100];
            pNewBok[i].Name_avtor = new char[100];
            cout<<"Caption\n";
            cin.getline(pNewBok[i].Nazvan, 100);
            cin.getline(pNewBok[i].Nazvan, 100);
            cout<<"Name\n";
            cin.getline(pNewBok[i].Name_avtor, 100);
 
            cout<<"Введите год издания книги\n";
            cin>>pNewBok[i].Yaer_izd;
            cout<<"Введите количество страниц книги\n";
            cin>>pNewBok[i].Stranic;
            cout<<"Введите цену книги\n";
            cin>>pNewBok[i].Cena;
        }
        else
        {
            pNewBok[i]=pKatalog[k];
            k++;
        }
    }
    for(int i=0; i<a+col; i++)
    {
        cout<<pNewBok[i].Nazvan<<" ";
        cout<<pNewBok[i].Name_avtor<<" ";
        cout<<pNewBok[i].Yaer_izd<<" ";
        cout<<pNewBok[i].Stranic<<" ";
        cout<<pNewBok[i].Cena<<endl;
    }
    delete []pKatalog;
    pKatalog=pNewBok;
    //print(pNewBok, a);
}
Это по 4ому пункту. Пятый пункт не смотрел, думаю там что-то похожее.
1
4 / 4 / 1
Регистрация: 25.06.2013
Сообщений: 52
24.10.2013, 14:12  [ТС] 16
Большое спасибо!!!!!!!!!!!!!!!!!!!!!!
0
24.10.2013, 14:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2013, 14:12
Помогаю со студенческими работами здесь

Как отсортировать структуру с полями string по алфавиту
Народ выручайте!!!! Нужно сделать сортировку по полю string Fname(по фамилии), всё сделал только...

Отсортировать структуру
Начал изучать структуры. Разобрался как вводить и выводить, но при попытке вывести через отдельную...

Отсортировать структуру
Задание такое Описать структуру с именем Train содержащую следующие поле. nazn-название пункта...

отсортировать структуру
Всем привет, вот такой вопрос, не получается правильно отсортировать следующую структуру по z...


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

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