Предмет: Информатика, автор: Vertos26122006

55 БАЛЛОВ c++ Написать код Мальчик Егор на досуге пишет свой текстовый редактор Блокнот++. В базовые возможности редактора уже заложено два основных режима, которые позволяют быстрее набирать текст. В первом режиме текстовый редактор бибикает при нажатии любой клавиши. Во втором режиме текстовый редактор портит текст при нажатии любой клавиши. При этом Егор решил, что его редактор будет портить текст следующим образом: он переставит все символы так, что сначала будут стоять символы стоявшие на четных местах (0, 2, 4, 6, 8...), а затем символы, стоящие на нечетных местах (1, 3, 5, 7, 9...). Помогите Егору, написав функцию int* rearrange(int *A, int Asize), которая будет переставлять все элементы указанным образом и возвращать новый массив. Затем смоделируйте вывод редактора, если пользователь нажмет на клавишу во втором режиме K раз. С++ Написать код


MaxLevs: Не, мне лень, пишите сами
vovapecherscky: Егор, пожалуйста, не занимайся фигней такой, напиши нормальное приложение
MaxLevs: Игорь, подумай
MaxLevs: У тебя вся жизнь впереди

Ответы

Автор ответа: Arkassssha
0

Код функции rearrange (сложность алгоритма O(n^{2})):

int* rearrange(int* A, int Asize) {

int i, j, * temp;

temp = (int*)malloc(sizeof(int) * Asize);

if (!temp) {

 cout << "Error memmory" << endl;

 exit(1);

}

for (i = 0, j = 0; i < Asize; i = i + 2, ++j) {

 temp[j] = A[i];

}

for (i = 1, j; i < Asize; i = i + 2, ++j) {

 temp[j] = A[i];

}

return temp;

}

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