J'essaie de recevoir une chaîne de points comme ceci (2,4), (5,8), (12,7), (15,54,3.65) et le séparer en x tableau et tableau y s'il vous plaît aider encore un débutant, je l'ai essayé et il est désastreuxséparation de chaîne en tableaux de x et y
string polygons;
int i = 0;
int length = polygons.length();
string x[10000];
int index = 0;
int k = 0;
getline(cin, polygons);
for (i = 0; i < length; i++)
{
if (polygons[i] == '(')
{
k = polygons.substr(i + 1, 20).find_first_of(",");
x[index] = polygons.substr(i + 1, ((k + i) - (i + 1)));
index++;
}
}
int a = 0;
string y[10000];
int index2 = 0;
int c = 0;
for (a = 0; a < length; a++)
{
if (polygons.substr(a) == ",")
{
c = polygons.substr(a + 1, 20).find_first_of(")");
}
y[index2] = polygons.substr(a + 1, ((c + a) - (a + 1)));
index2++;
}
Recommandez de trier les parenthèses et de fournir un [mcve] – user4581301
Recommandation: cassez le travail. [Utilisez 'std :: string :: find'] (http://en.cppreference.com/w/cpp/string/basic_string/find) pour vous aider à trouver le '(' et ')', puis imprimer le contenu entre eux. Une fois que vous avez ce travail, remplacez le code d'impression avec ['std :: stringstream'] (http://en.cppreference.com/w/cpp/io/basic_stringstream) et' std :: getline' pour diviser en numéros qui étaient entre les parenthèses et imprimer les numéros. Lorsque tout cela fonctionne correctement et que vous avez un flux de paires de nombres, trouvez un bon moyen de stocker les paires. – user4581301
merci je vais essayer ceci – Antonio