Dmitry-Mayorov
@Dmitry-Mayorov
Человек

Почему массив не полный?

Добрый день. Я не понимаю, почему массив ptrtype1/type2 не полный, то есть содержит всего одну букву, хотя должен две. Может я что-то делаю не так...
void genoType(string woman, string man, int a) {
	string *ptr_type1 = new string[a];
	string *ptr_type2 = new string[a];

	for (int i = 0; i < woman.length(); i++) ptr_type1[i] = woman[i];
	for (int i = 0; i < man.length(); i++) ptr_type2[i] = man[i];
	for (int i = 0; i < ptr_type1->length(); i++) cout << ptr_type1[i] << endl << ptr_type2[i] << endl << woman.length();
}

int main() {
	genoType("Aa", "aa", 2);
}
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
15432
@15432
Системный программист ^_^
У вас ptr_type1 и ptr_type2 - массивы из двух строк. В каждой из двух строк этих двух массивов оказывается по одной букве.
А в третьем цикле у вас только одна итерация, потому что вы проходите цикл по длине первой строки первого массива, то есть 1.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy
Android developer at Yandex
ptr_type1->length()
Это длина нулевого элемента массива. Аналогично ptr_type1[0].length()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы