Переставить отрицательные значения влево и положительные значения справа в массивеC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Переставить отрицательные значения влево и положительные значения справа в массиве

Сообщение Anonymous »

Я иду вместе с видеоуроком онлайн C ++. В какой -то момент я попытался написать код для проблемы, описанной в этом заголовке. Позже инструктор показывает его подход, и я не мог решить, какой код лучше, поскольку оба дают одинаковый результат.#include
using namespace std;
// Array construction

struct Array {
int A[10];
int size;
int length;
};

void Swap(int *des, int *source) {
int temp = *des;
*des = *source;
*source = temp;
}

реализация инструктора:
void Rearrange(Array* arr)
{
int i = 0;
int j = arr->length - 1;
while (i < j) {
while (arr->A < 0)
i++;
while (arr->A >= 0)
j--;
if (i < j)
Swap(&arr->A, &arr->A[j]);
}
}

моя реализация:
void ArrangeNegativeOnLeft(Array *arr) {
int i = 0;
int j = arr->length - 1;
while (i < j) {
if (arr->A < 0)
i++;
if (arr->A[j] >= 0)
j--;
if (i < j) {
Swap(&arr->A, &arr->A[j]);
}
}
}

main
int main(){
Array r = { {2,-15, 3,-10,5,6,-44, 55}, 10, 8 };
//Rearrange(&r);
ArrangeNegativeOnLeft(&r);

// Display

cout

Подробнее здесь: https://stackoverflow.com/questions/795 ... -in-an-arr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»