1

Тема: Проблема з заміною елементів масиву

Завдання:
Розмір масиву 15
Потрібно поміняти місцями мінімальний елемент з передостаннім.
Я ввів змінну х ,та у для того, щоб використати їх якось для перестановки елементів, але незнаю як саме це зробити.

#include "pch.h"
#include <iostream>

int main()
{
    int arr[15], min, x, y;
    printf("Enter array:\n");
    for (int i = 0; i <= 14; i++)
    {
        printf("Arr[%i]=", i);
        scanf_s("%i", &arr[i]);
    }
    min = arr[0];
    for (int i = 0; i < 14; i++)
    {
        if (min > arr[i])
        {
            min = arr[i];
        }
    
    }
    printf(" Arr[15]{");
    for (int i = 0; i <= 14; i++)
    {
        printf("%i,", arr[i]);
    }
    printf("}\n");
    printf("Min:%i\n", min);
}

2

Re: Проблема з заміною елементів масиву

Там, де ви шукаєте min, вам треба запам'ятовувати не значення елемента, а його індекс (щоб знати, куди записувати нове значення при обміні).

Індекс іншого елемента для обміну, якщо він передостанній, ви вже знаєте з довжини — заводити додаткову змінну необов'язково.

Перестановка двох елементів робиться приблизно так: записуєте значення одного елемента в додаткову змінну, тоді в цей елемент записуєте значення іншого елемента, тоді в той інший елемент записуєте значення додаткової змінної. Вам не треба двох змінних x та у — достатньо однієї з них.

3

Re: Проблема з заміною елементів масиву

Всетаки я записав з двома змінними)

#include "pch.h"
#include <stdio.h>
#include <iostream>
int main()
{
    int arr[15], min, x, y;
    printf("Enter array:\n");
    for (int i = 0; i < 15; i++)
    {
        printf("Arr[%i]=", i);
        scanf_s("%i", &arr[i]);
    }
    min = arr[0];
    y = 0;
    for (int i = 1; i < 15; i++)
    {
        if (min > arr[i])
        {
            min = arr[i];
            y = i;
        }
    }
    x = arr[13];
    arr[13] = min;
    arr[y] = x;
    printf(" Arr[15]{");
    for (int i = 0; i < 15; i++)
    {
        printf("%i,", arr[i]);
    }
    printf("}\n");
    system("pause");
    return 0;
}

4

Re: Проблема з заміною елементів масиву

Назва змінної min_i замість y допоможе зробити цей код більш читаним.