Как разбить строку на массивы
есть входная строка, например "123456789098765432" нужно разбить на два массива OddArray и EvenArray на основе positionsi. e, все цифры в четной позиции(2,4,6,8....) в EvenArray и все цифры в oddposition(3,5,7...) в OddArray
Что я уже пробовал:
char EvenArray[256],OddArray[256],Inputarray[256]; CString dis = "123456789098765432"; strcpy(Inputarray,dis); int i,j,k; int x = strlen(dis); for(i=0;i<x;i++)> { if((i+2)%2 ==0) { EvenArray[j]=Inputarray[i]; j++; } else { OddArray[k]=Inputarray[i]; k++; } }
jeron1
Неужели я что-то упустил? Вы ничего не делаете с CString, который предположительно содержит данные, подлежащие обработке, и CString имеет свой собственный метод GetLength ().
Member 11648410
strcpy(Inputarray, dis); забыл добавить это..Извиняюсь
phil.o
Для теста на странность Я предлагаю использовать if ((i & 1) == 0)
вместо.
jeron1
Разве вы не можете получить доступ к элементам CString таким же образом, с помощью оператора []? Вы можете избавиться от inputarray [] и strcpy (), переменной x, и изменить цикл for, чтобы он выглядел как for(i = 0; i< dis.Метода getlength может служить метод(); я++)