Тема: Зачистка рядка двовимірного динамічного масиву який є в структурі
Допоможіть зачистити рядок двовимірного динамічного масиву символів який знахходиться в структурі. В даному випадку це
a.name[i]
та інші. Функція Sort має сортувати мою структуру за
а.area[i]
яке вводиться числом. Функція AddNew додає елементи(я її вставив для повноти картини). Як видно в коді я написав
a.name[i] = "";
але мені вибиває помилку.
struct Factory
{
char** name;
char** ownership;
char** area;
char** workers;
};
void Sort(int size, Factory& a)
{
if (size > 1)
{
for (int i = 0; i < size - 1; i++)
{
if (atof(a.area[i]) > atof(a.area[i + 1]))
{
char* temp1 = new char[50];
char* temp2 = new char[50];
char* temp3 = new char[50];
char* temp4 = new char[50];
strcpy(temp1, a.name[i]);
strcpy(temp2, a.ownership[i]);
strcpy(temp3, a.area[i]);
strcpy(temp4, a.workers[i]);
//a.name[i] = "";
strcpy(a.name[i], a.name[i + 1]);
strcpy(a.ownership[i], a.ownership[i + 1]);
strcpy(a.area[i], a.area[i + 1]);
strcpy(a.workers[i], a.workers[i + 1]);
}
}
}
}
void AddNew(int& size, Factory& a)
{
size++;
char** temp = new char* [size];
char** temp1 = new char* [size];
char** temp2 = new char* [size];
char** temp3 = new char* [size];
for (int i = 0; i < size; i++)
{
temp[i] = new char[50];
temp1[i] = new char[50];
temp2[i] = new char[50];
temp3[i] = new char[50];
}
for (int i = 0; i < size - 1; i++)
{
strcpy(temp[i], a.name[i]);
strcpy(temp1[i], a.ownership[i]);
strcpy(temp2[i], a.area[i]);
strcpy(temp3[i], a.workers[i]);
}
cout << "Enter the factory name: ";
cin >> temp[size - 1];
cout << "The types of property: N - national, P - private, C - cooperative";
cout << "\nEnter the type of property: ";
cin >> temp1[size - 1];
cout << "Enter the area of land(hectares): ";
while (MyAudit(temp2[size - 1]) != true)
{
cout << "\nError! Enter a correct value: ";
cin.ignore();
cin >> temp2[size - 1];
}
cout << "Enter the number of workers: ";
while (MyAudit(temp3[size - 1]) != true)
{
cout << "\nError! Enter a correct value: ";
cin.ignore();
cin >> temp3[size - 1];
}
a.name = temp;
a.ownership = temp1;
a.area = temp2;
a.workers = temp3;
}