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

Структура в с++ - C++

Восстановить пароль Регистрация
 
Елена_05
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 50
30.05.2011, 20:13     Структура в с++ #1
подскажите пожалуйста, как удалить элемент массива. У меня он выдает ошибку. Вот текст проги.

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
#include <iostream.h>
 main()
 {
 struct AUTO /*это моя структура*/
 {
 int nomerauto;
 char fio[25];
 int marschrut;
 int nomer; 
 };
 int a,r; 
 AUTO *q; /*q-указатель для выделении памяти*/ 
 int i; 
 printf ("razmer massiva > "); /* ввод размера массива*/
 scanf ("%d", &a);
 q = new AUTO [a];
 
 for(i=0; i<a;i++)
 {
 cout<<endl;
 cout<<"vvod "<<i<<" -ogo "<<endl;
 cout<<"vvedite nomerauto "; cin>>q[i].nomerauto;
 cout<<"vvedite fio: ";cin>>q[i].fio;
 cout<<"vvedite nomer marscruta ";cin>>q[i].marschrut;
 }
 
 for(i=0; i<a;i++) 
 {
 cout<<endl;
 cout<<"nomerauto "<<q[i].nomerauto<<endl;; /* ВЫВОД МАССИВА СТРУКТУРЫ*/
 cout<<"fio: "<<q[i].fio;
 cout<<"nomer marscruta "<<q[i].marschrut; 
 } 
 
 cout<<"vvedite nomer viezda"<<endl; cin>>q[i].nomer;
 for (i=0;i<a;i++)
 {
 if(q[i].nomer==q[i].nomerauto) delete (q[i]);
 } 
 
 delete q; 
 cin.ignore();
 getchar();
 }
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2011, 20:13     Структура в с++
Посмотрите здесь:

структура C++
C++ структура :(
Структура. C++
C++ Структура
C++ Структура в с++
структура C++
C++ Структура DateTime, битовая структура
C++ Структура «База», сущности «Универсам» и «Продукты», структура «Товар»

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
adico
13 / 13 / 1
Регистрация: 24.02.2011
Сообщений: 64
31.05.2011, 18:58     Структура в с++ #2
Попробуйте так
C++
1
delete[] p;
Добавлено через 12 минут
Цитата Сообщение от Елена_05 Посмотреть сообщение
for (i=0;i<a;i++)
{
if(q[i].nomer==q[i].nomerauto) delete (q[i]);
}
И вот так удалять нельзя, потому что удаляя один элемент массива вы нарушаете его целостность.
Используйте std::<vector>.
Yandex
Объявления
31.05.2011, 18:58     Структура в с++
Ответ Создать тему
Опции темы

Текущее время: 20:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru