Преобразовать код из C++ в Си - C (СИ)
Формулировка задачи:
Очень нужно переделать эту программу из C++ именно на Cи, помогите кому не трудно.
Вот задание для которого делалась программа
Дана последовательность A1,..., An. Поменять местами:
Наибольший член с членом с номером m;
Наименьший член с членом с номером m1;
Наибольший член с наименьшим членом.
Значения m и m1 ввести с клавиатуры и проверить на корректность.
include "stdafx.h" #include <iostream> #include <windows.h> int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); const int n = 10; int min = 0, max = 0, m = 0, m1 = 0, temp; float A[n]; std::cout << "Введите последовательность " << n << " чисел:\n"; for (int i = 0; i<n; i++) { std::cin >> A[i]; if (A[i]<A[min]) min = i; if (A[i]>A[max]) max = i; } std::cout << "Введиете две позиции от 0 до " << "9: "; while (std::cin >> m >> m1 && (m<0 || m1<0 || m >= n || m1 >= n)) std::cout << "Не коректная позиции. Введите снова"; temp = A[max]; A[max] = A[m]; A[m] = temp; max = m; std::cout << "После того как поменяли местами наибольший члена с членом m: " << m << ':' << std::endl; for (int i = 0; i<n; i++) std::cout << A[i] << ' '; std::cout << std::endl; temp = A[min]; A[min] = A[m1]; A[m1] = temp; min = m1; std::cout << "После того как поменяли наименьший член с членом m1: " << m1 << ':' << std::endl; for (int i = 0; i<n; i++) std::cout << A[i] << ' '; std::cout << std::endl; temp = A[max]; A[max] = A[min]; A[min] = temp; temp = max; max = min; min = temp; std::cout << "После изменения наибольшего с наименьшим членом:" << std::endl; for (int i = 0; i<n; i++) std::cout << A[i] << ' '; std::cout << std::endl; system("pause"); return 0; }
Решение задачи: «Преобразовать код из C++ в Си»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <locale.h> int main() { setlocale(LC_ALL, ".1251"); const int n = 10; int min = 0, max = 0, m = 0, m1 = 0; int i; int A[n], temp; printf("Введите последовательность %d чисел:\n",n); for (i = 0; i<n; i++) { scanf_s("%d",&A[i]); if (A[i]<A[min]) min = i; if (A[i]>A[max]) max = i; } printf( "Введиете две позиции от 0 до 9: "); while (scanf_s("%d %d",&m, &m1) && (m<0 || m1<0 || m >= n || m1 >= n)) printf("Не коректная позиции. Введите снова"); temp = A[max]; A[max] = A[m]; A[m] = temp; max = m; printf("После того как поменяли местами наибольший члена с членом m: %d",m); for (int i = 0; i<n; i++) printf("%d ", A[i]); printf("\n"); temp = A[min]; A[min] = A[m1]; A[m1] = temp; min = m1; printf("После того как поменяли наименьший член с членом m1: %d :\n", m1); for (int i = 0; i<n; i++) printf("%d ", A[i]); printf("\n"); temp = A[max]; A[max] = A[min]; A[min] = temp; temp = max; max = min; min = temp; printf("После изменения наибольшего с наименьшим членом:\n"); for (int i = 0; i<n; i++) printf("%d ", A[i]); printf("\n"); system("pause"); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Устанавливается код страницы для вывода
- Объявляются переменные:
- n - размер массива (10)
- min - индекс минимального элемента (0)
- max - индекс максимального элемента (0)
- m - позиция для обмена (0)
- m1 - позиция для обмена (0)
- i - цикл для обхода массива (0)
- A - массив для ввода (10)
- temp - временная переменная (0)
- Выводится приглашение для ввода массива
- Заполняется массив A с помощью функции scanf_s
- Находится индекс минимального элемента (min)
- Находится индекс максимального элемента (max)
- Выводится приглашение для ввода позиций для обмена
- Вводятся позиции m и m1 с помощью функции scanf_s
- Если введены некорректные позиции, выводится сообщение об ошибке и просят ввести данные заново
- Производится обмен элементов A[max] и A[m]
- Производится обмен элементов A[min] и A[m1]
- Выводится сообщение о том, что наибольший элемент поменяли с m
- Выводится массив A
- Выводится сообщение о том, что наименьший элемент поменяли с m1
- Выводится массив A
- Производится обмен элементов A[max] и A[min]
- Производится обмен элементов max и min
- Выводится сообщение о том, что наибольший и наименьший элементы поменяли местами
- Выводится массив A
- Выполняется команда system(
pause
) для приостановки выполнения программы - Возвращается 0, чтобы указать, что программа успешно завершилась
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д