Переведите из С++ в С - C (СИ)

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

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

Вот:
#include "iostream"
using namespace std;
int main()
{
 
    int size;
    cout << "Enter size array";
    cin >> size;
    int *a = new int[size];
    cout << "Enter elements array\n";
    for (int i = 0; i < size; i++)
    {
        cin >> a[i];
    }
    for (int i = 1; i < size; i+=2)
    {
        if (a[i]>0)
        {
            int minIndex = i;
            for (int j = i + 2; j < size; j+=2)
            {
                if (a[j] < a[minIndex])
                {
                    minIndex = j;
                }
            }
            swap(a[i], a[minIndex]);
        }
    }
    cout << "Out array\n";
    for (int i = 0; i < size; i++)
    {
        cout << a[i] << ' ';
    }
    system("pause");
    return 0;
}
ну кто-нибудь(

Решение задачи: «Переведите из С++ в С»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
    int size;
    printf("Enter size array");
    scanf("%d", &size);
    int *a = (int*)calloc(size, sizeof(int));
    printf("Enter elements array\n");
    for (int i = 0; i < size; i++)  
        scanf("%d", a + i); 
    for (int i = 1; i < size; i += 2)   
        if (a[i]> 0) {
            int minIndex = i;
            for (int j = i + 2; j < size; j += 2)           
                if (a[j] < a[minIndex])
                    minIndex = j;       
            int tm = a[i];
            a[i] = a[minIndex];
            a[minIndex] = tm;
        }
    printf("Out array\n");
    for (int i = 0; i < size; i++)
        printf("%d ", a[i]);
    free(a);
    system("pause");
    return 0;
}

Объяснение кода листинга программы

  1. Объявлена переменная size типа int, которая инициализируется значением, введенным пользователем с помощью функции scanf.
  2. Выделена динамическая память под массив a типа int с помощью функции calloc.
  3. Пользователю предлагается ввести элементы массива с помощью функции scanf.
  4. Два вложенных цикла for используются для сортировки элементов массива методом выборочного вставки.
  5. Если элемент a[i] больше нуля, то в цикле выполняются следующие действия: 5.1. Инициализируется переменная minIndex значением i. 5.2. В цикле перебираются элементы, начиная с i + 2, чтобы исключить уже отсортированные элементы. 5.3. Если элемент a[j] меньше a[minIndex], то обновляется значение minIndex. 5.4. Значение minIndex используется для обмена элементов a[i] и a[minIndex].
  6. Выводится отсортированный массив с помощью цикла for и функции printf.
  7. Выделяется память, выделенная под массив a, с помощью функции free.
  8. Запускается функция system(pause), чтобы программа не закрылась сразу после выполнения.
  9. Возвращается значение 0, чтобы указать, что программа успешно завершилась.

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


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

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

10   голосов , оценка 4 из 5