Это бета-тест код алгоритма Мальгранж, мне нужно создать массив Y1 от C0 ... (Y1 = C0 - X0)Работа с массивами (строка) C
#include <iostream>
using namespace std;
int main()
{
// create array C0
string** masiv_C0=new string*[3];
for (int i=0;i<3;i++)
masiv_C0[i]=new string [2];
masiv_C0[0][0]="AB";
masiv_C0[0][1]="C";
masiv_C0[1][0]="X";
masiv_C0[1][1]="Z";
masiv_C0[2][0]="XY";
masiv_C0[2][1]="ZQ";
//create array X0
string** masiv_X0=new string*[1];
masiv_X0[i]=new string [2];
masiv_X0[0][0]="X";
masiv_X0[0][1]="Z";
//create array Y1 = C0 - X0 (remove from C0 elements X0)
bool flag;
string** masiv_Y1=new string*[3];
for (int i=0;i<3;i++)
masiv_Y1[i]=new string [2];
for (int i=0;i<3;i++)
{
flag=true;
for (int j=0;j<3;j++)
{
if ((masiv_C0[i][0]==masiv_X0[j][0])&&(masiv_C0[i][1]==masiv_X0[j][1]))
{
flag=false;
break;
}
}
if (flag)
{
masiv_Y1[i][0]=masiv_C0[i][0];
masiv_Y1[i][1]=masiv_C0[i][0];
}
}
for (int i=0;i<3;i++)
{
for (int j=0;j<2;j++)
{
cout<<masiv_Y1[i][j];
}
cout<<endl<<endl;
}}
Конечно алгоритм не завершено, и большая часть кода здесь отсутствует, но проблема в этой ошибке, я не могу создать массив без элементов, которые содержатся в подмножестве других элементов.
Сделайте себе одолжение и узнайте, как использовать классы контейнеров STL вместо необработанных массивов и указателей. – PaulMcKenzie
"' std :: string ** masiv_c0 = new std :: string * [3] '" - не использовать динамически выделенные C-массивы. Если вы хотите иметь матрицу из экземпляров 'std :: string', тогда используйте' std :: vector> 'и сохраните себе большую головную боль при этом. –
ArchbishopOfBanterbury