Переведите из С++ в С - 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; }
Объяснение кода листинга программы
- Объявлена переменная
size
типаint
, которая инициализируется значением, введенным пользователем с помощью функцииscanf
. - Выделена динамическая память под массив
a
типаint
с помощью функцииcalloc
. - Пользователю предлагается ввести элементы массива с помощью функции
scanf
. - Два вложенных цикла
for
используются для сортировки элементов массива методом выборочного вставки. - Если элемент
a[i]
больше нуля, то в цикле выполняются следующие действия: 5.1. Инициализируется переменнаяminIndex
значениемi
. 5.2. В цикле перебираются элементы, начиная сi + 2
, чтобы исключить уже отсортированные элементы. 5.3. Если элементa[j]
меньшеa[minIndex]
, то обновляется значениеminIndex
. 5.4. ЗначениеminIndex
используется для обмена элементовa[i]
иa[minIndex]
. - Выводится отсортированный массив с помощью цикла
for
и функцииprintf
. - Выделяется память, выделенная под массив
a
, с помощью функцииfree
. - Запускается функция
system(
pause)
, чтобы программа не закрылась сразу после выполнения. - Возвращается значение 0, чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д