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

Правильно ли реализовано удаление элемента из массива и совершен вызов деструктора? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Задача "Кто старше?" (подскажите где ошибка в коде) http://www.cyberforum.ru/cpp-beginners/thread1213395.html
Здравствуйте!подскажите где может быть ошибка, на сайте показывает частичное решение, Условие: Программа принимает три числа: возраст Антона, возраст Бориса и возраст Виктора. Определите, кто из них старше остальных. Входные данные Входная строка содержит три натуральных числа: возраст Антона, возраст Бориса и возраст Виктора. Выходные данные Выходная строка должна содержать латинскую букву...
C++ Реализация алгоритма сжатия JPEG помогите пожалуйста! после завтра диплом уже защищать, а я ни на шаг не могу сдвинуться с этой прогрммой(( нужно написать на С++ алгоритм сжатия изображения JPEG. http://www.cyberforum.ru/cpp-beginners/thread1213376.html
C++ Баг в реализации Хаффмана
Здравствуйте, дорогие форумчане. Тут такой вопрос - алгоритм почему-то "теряет" последнюю букву в тексте, если его размер очень мал. Например, если на вход подается "Raiden", то после сжатия и разжатия будет "Raide". Либо в редких случаях бывает даже добавление буквы в конец разархивированного сообщения. Отладка и гугление пока что ничего не дали. Прошу вашей помощи. Вот код #include <iostream>...
C++ Привести код в рабочее состояние
Здравствуйте! Есть задание в котором нужно ввести информацию о такси (номер, стоимость, вид транспорта) и так же позволяющий удалить указанный номер такси. не дали вот такой код. Как его можно привести в рабочее состояние? enum Ttransport{bus, car, van}; struct marshrut { int nomer; float vartist; Ttransport transport; };
C++ Написать программу, которая выводит на экран предложения согласно заданию http://www.cyberforum.ru/cpp-beginners/thread1213345.html
Добрый день . Вот такая вот програмка: Написать программу, которая считывает текст из файла и выводит его на экран, после каждого предложения добавляя, сколько раз встретилось в нем заданная с клавиатуры буква. Кто может помочь с языка С переделать её в С++ вот вариант на С: #include <stdio.h> #include <stdlib.h> int main(void) {
C++ Вывести строку, содержащую символы заданной строки, между которыми вставлено по одному пробелу Что то вот на решал, немного вроде не так посмотрите оцените пожалуйста; /* Дана непустая строка S . Вывести строку, содержащую символы строки , между которыми вставлено по одному пробелу. */ #include <iostream> #include <conio.h> main() { char string; int code,i,j; while(1){ подробнее

Показать сообщение отдельно
Supernatural
285 / 141 / 28
Регистрация: 22.11.2010
Сообщений: 1,467
20.06.2014, 21:09  [ТС]     Правильно ли реализовано удаление элемента из массива и совершен вызов деструктора?
чуть-чуть недопонимаю, скидываю код. Где и что должно быть написано?
Кликните здесь для просмотра всего текста
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
#include <vcl.h>
#include <iostream.h>
#include <string.h>
#pragma hdrstop
#pragma argsused
using namespace std;
//------------------------------------------------------------------------------
string stemporary;  //ãëîáГ*ëüГ*ûå âðåìåГ*Г*ûå ïåðåìåГ*Г*ûå
int itemporary;
float ftemporary;
float fftemporary;
string com;
int i=0;
//------------------------------------------------------------------------------
class ECM
{
char* type;
float Ghz;
int Memory;
float Gb;
public:
ECM(); //ГЄГ®Г*ñòðóêòîð ГЎГҐГ§ ГЇГ*Г°Г*ìåòðîâ
ECM(char* TYPE,float GHZ,int MEMORY,float GB);//ГЄГ®Г*ñòðóêòîð Г± ГЇГ*Г°Г*ìåòðГ*ìè
ECM(const ECM&); //ГЄГ®Г*ñòðóêòîð êîïèðîâГ*Г*ГЁГї
~ECM();          //äåñòðóêòîð
//------------------------------------------------------------------------------
void settype(char* temp);   //ГґГіГ*êöèè äëÿ êîìГ*Г*äû  Г€Г§Г¬ГҐГ*ГЁГІГј
void setghz(float temp);
void setmemory(int temp);
void setgb(float temp);
void show();
//------------------------------------------------------------------------------
char* gettypecpu();         //ГґГіГ*êöèè äëÿ êîìГ*Г*äû  ГЏГ®ГЄГ*Г§Г*ГІГј
float getghz();
int getmemory();
float getgb();
};
//------------------------------------------------------------------------------
void ECM::settype(char* temp)   //ГіГ±ГІГ*Г*îâèòü ГІГЁГЇ ïðîöåññîðГ*
{
type=temp;
}
//------------------------------------------------------------------------------
void ECM::setghz(float temp)    //ГіГ±ГІГ*Г*îâèòü Г·Г*ñòîòó ïðîöåññîðГ*
{
Ghz=temp;
}
//------------------------------------------------------------------------------
void ECM::setmemory(int temp)   //ГіГ±ГІГ*Г*îâèòü îáúåì ГЇГ*ìÿòè
{
Memory=temp;
}
//------------------------------------------------------------------------------
void ECM::setgb(float temp)     //ГіГ±ГІГ*Г*îâèòü îáúåì Г*Г*êîïèòåëÿ
{
Gb=temp;
}
//------------------------------------------------------------------------------
ECM::~ECM()                     //óäëèòü îáúåêò
{
 
}
//------------------------------------------------------------------------------
ECM::ECM(char* TYPE,float GHZ,int MEMORY,float GB) //ГЄГ®Г*ñòðóêòîð Г± ГЇГ*Г°Г*ìåòðГ*ìè
{
type=TYPE;
Ghz=GHZ;
Memory=MEMORY;
Gb=GB;
}
//------------------------------------------------------------------------------
ECM::ECM(){ //ГЄГ®Г*ñòðóêòîð ГЎГҐГ§ ГЇГ*Г°Г*ìåòðîâ
type=NULL;
Ghz=0;
Memory=0;
Gb=0;
}
//------------------------------------------------------------------------------
ECM::ECM(const ECM &E)   //ГЄГ®Г*ñòðóêòîð êîïèðîâГ*Г*ГЁГї
{
if (E.type) {type= new char [strlen(E.type)+1]; strcpy(type, E.type);}
else type=0;
type=E.type;Ghz=E.Ghz;Memory=E.Memory;Gb=E.Gb;
}                       
//------------------------------------------------------------------------------
char* ECM::gettypecpu() {return type;}
float ECM::getghz() {return Ghz;}
int ECM::getmemory() {return Memory;}
float ECM::getgb() {return Gb;}
void add_element();
void edit_element(int i);
void show_element(int i);
void copy_element(int i);
void delete_element(int i);
void show_all();
//------------------------------------------------------------------------------
ECM *pECM[100];
//------------------------------------------------------------------------------
void add_element() //ïðîöåäóðГ* äîáГ*âëåГ*ГЁГї
{
++i;
cout<<"\nCPU ";cin>>stemporary;
char* ctemporary = new char [stemporary.length()+1];
strcpy(ctemporary,stemporary.c_str());
cout<<"\nGhz ";cin>>ftemporary;
cout<<"\nMemory ";cin>>itemporary;
cout<<"\nGb ";cin>>fftemporary;
pECM[i]= new ECM(ctemporary,ftemporary,itemporary,fftemporary);//Г*îâûé ýëåìåГ*ГІ
}
//------------------------------------------------------------------------------
void edit_element(int i)
{
 
}
//------------------------------------------------------------------------------
void delete_element(int i)  //ГіГ¤Г*ëèòü ýëåìåГ*ГІ
{
pECM[i]->~ECM();
cout<<"\nElement has been deleted";
}
//------------------------------------------------------------------------------
void show_element(int i)   //ïîêГ*Г§Г*ГІГј ýëåìåГ*ГІ
{
cout<<pECM[i]->gettypecpu()<<" "<<pECM[i]->getghz()<<" "<<pECM[i]->getmemory()<<" "<<pECM[i]->getgb();
}
//------------------------------------------------------------------------------
void show_all()            //ïîêГ*Г§Г*ГІГј ГўГҐГ±Гј ñïèñîê
{
for (int k=0;k<i;k++)
cout<<pECM[k]->gettypecpu()<<" "<<pECM[k]->getghz()<<" "<<pECM[k]->getmemory()<<" "<<pECM[k]->getgb();
}
//------------------------------------------------------------------------------
void main()
{
int i;
int temp;
cout<<"Enter command: ";cin>>com;
while (com!="exit")
{
if (com=="add") {add_element();cout<<"\nEnter command: ";cin>>com;} else
if (com=="edit") {cin>>i;edit_element(i);cout<<"\nEnter command: ";cin>>com;} else
if (com=="delete") {cout<<"\nEnter number of record";cin>>temp;delete_element(temp);cout<<"\nEnter command: ";cin>>com;} else
if (com=="show") {cout<<"\nEnter number of record";cin>>temp;show_element(temp);cout<<"\nEnter command: ";cin>>com;} else
if (com=="show all") {show_all;cout<<"\nEnter command: ";cin>>com;} else
if (com=="exit") exit (EXIT_SUCCESS); else
if ((com!="add")||(com!="edit")||(com!="delete")||(com!="show")||(com!="show all")||(com!="exit")) {cout<<"\nEnter command: ";cin>>com;};
}
}
//---------------------------------------------------------------------------
 
Текущее время: 07:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru