Массив. Без функции swap - C (СИ)

Узнай цену своей работы

Формулировка задачи:

/** * Заполнить массив из 10 элементов случайными чис-лами в интервале [0..100] и отсортировать первую половину по возрастанию, а вторую – по убыванию. */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
const int N = 10;
int randInt(int min, int max) 
{
    return min + rand() % max;
}
void swap (int *a, int *b)
{
    int tmp;
    tmp = *a;
    *a = *b;
    *b = tmp;
}
int main() 
{
    int arr[N];
    int i, j, k;
    srand(time(NULL));
    for (i = 0; i < N; i++) 
    {
        arr[i] = randInt(1, 100);
    }
    printf("Исходный массив: [");
    for (i = 0; i < N; i++) 
    {
        printf(" %d ", arr[i]);
    }
    printf("]\n");
    for(i = 0; i < N/2 - 1; i++) 
    { 
        for(j = 0; j < N/2 - i - 1; j++) 
        {  
            if(arr[j] > arr[j+1]) 
            {  
                swap(&arr[j], &arr[j+1]);
            }
        }
    }
    for(i = 0; i < N - 1; i++) 
    { 
        for(j = N/2; j < N - i - 1; j++) 
        {  
            if(arr[j] < arr[j+1]) 
            {  
                swap(&arr[j], &arr[j+1]);
            }
        }
    }
    printf("Преобразованный массив: [");
    for (i = 0; i < N; i++) 
    {
        printf(" %d ", arr[i]);
    }
    printf("]\n");
    return 0;
}

Решение задачи: «Массив. Без функции swap»

textual
Листинг программы
arr[j] += arr[j + 1];
arr[j + 1] = arr[j] - arr[j + 1];
arr[j] -= arr[j + 1];

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5
Похожие ответы