Перевести программу с C++\CLI на С с использованием printf - C (СИ) (152680)

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

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

У меня есть программа на С, помогите сделать ее с printf. Спасибо!
#include "stdafx.h"
#include "stdio.h"
#include "math.h"
#include <iostream>
#include <string>
 
using namespace System;
using std::cout;
using std::cin;
using std::endl;
 
int main(array<System::String ^> ^args)
{   
    int kor[2];
    int kon[2];
 
    double d;
    double temp1;
    double temp2;
    double d2;
    double d3;
 
    Console::WriteLine(L"Введите координаты Короля");
    for (int i=0; i<2; i++){
        cout << "[" << i + 1 << "]" << ": ";
        cin >> kor[i];
    }
 
    Console::WriteLine(L"Координаты Короля");
    for (int i = 0; i < 2; ++i) {
        cout << kor[i] << " ";
    }
 
    Console::WriteLine(L"\nВведите координаты Коня");
    for (int i=0; i<2; i++){
        cout << "[" << i + 1 << "]" << ": ";
        cin >> kon[i];
    }
 
    Console::WriteLine(L"Координаты Коня");
    for (int i = 0; i < 2; ++i) {
        cout << kon[i] << " ";
    }
    temp1 = kon[0]-kor[0];
    temp2 = kon[1]-kor[1];
 
    d = sqrt(pow(temp1,2)+pow(temp2,2));
    d2 = sqrt(2.0);
    d3 = sqrt(5.0);
 
    if (d<=d2){
        Console::WriteLine(L"Король бьет коня");
    }
 
    if (d==d3){
        Console::WriteLine(L"Конь бьет короля");
    }
 
    if (d>d2 && d<d3){
        Console::WriteLine(L"\nФигуры не угрожают друг другу");
    }
 
    getchar();
    return 0;
}

Решение задачи: «Перевести программу с C++\CLI на С с использованием printf»

textual
Листинг программы
#include "math.h"
#include <string.h>
#include <locale.h>
#include <stdio.h>
 
int main(void)
{
    setlocale(LC_ALL, "ru");
    int kor[2];
    int kon[2];
    int i;
 
    double d;
    double temp1;
    double temp2;
    double d2;
    double d3;
 
    printf("Введите координаты Короля");
    for (i=0; i<2;i++)
    {
        printf("[%d]: ", i+1);
        scanf("%d", &kor[i]);
    }
 
    printf("Координаты Короля");
    for (i = 0; i < 2; ++i)
    {
        printf("%d ", kor[i]);
    }
 
    printf("\nВведите координаты Коня");
    for (i=0; i<2; i++){
        printf("[%d]: ", i+1);
        scanf("%d", &kon[i]);
    }
 
    printf("Координаты Коня");
    for (i = 0; i < 2; ++i)
    {
        printf("%d ", kon[i]);
    }
    temp1 = kon[0]-kor[0];
    temp2 = kon[1]-kor[1];
 
    d = sqrt(pow(temp1,2)+pow(temp2,2));
    d2 = sqrt(2.0);
    d3 = sqrt(5.0);
 
    if (d<=d2){
        printf("Король бьет коня");
    }
 
    if (d==d3){
        printf("Конь бьет короля");
    }
 
    if (d>d2 && d<d3){
        printf("\nФигуры не угрожают друг другу");
    }
 
    getchar();
    return 0;
}

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

  1. Включаются необходимые заголовочные файлы
  2. Устанавливается локальная настройка на русский язык
  3. Объявляются массивы kor и kon для хранения введенных пользователем координат Короля и Коня соответственно
  4. Инициализируется переменная i для использования в цикле
  5. Объявляются переменные d, temp1, temp2, d2, d3 для хранения расстояний между фигурами и значений функций sqrt и pow
  6. Выводится сообщение с просьбой ввести координаты Короля
  7. С помощью цикла scanf собирается информация о координатах Короля и сохраняется в массиве kor
  8. Выводится сообщение с введенными координатами Короля
  9. С помощью цикла scanf собирается информация о координатах Коня и сохраняется в массиве kon
  10. Выводится сообщение с введенными координатами Коня
  11. Вычисляются значения temp1 и temp2 как разность соответствующих координат Короля и Коня
  12. Вычисляется значение d как квадратный корень из суммы квадратов temp1 и temp2
  13. Вычисляется значение d2 как квадратный корень из 2
  14. Вычисляется значение d3 как квадратный корень из 5
  15. С помощью условного оператора if проверяется, является ли d меньше или равным d2, и выводится соответствующее сообщение
  16. С помощью условного оператора if проверяется, равно ли d d3, и выводится соответствующее сообщение
  17. С помощью условного оператора if проверяется, больше ли d d2 и меньше ли d d3, и выводится соответствующее сообщение
  18. Выводится символ новой строки для перехода на новую строку
  19. Возвращается 0, чтобы указать, что программа успешно завершилась
  20. Программа ожидает ввода пользователя, чтобы дать ему возможность завершить программу

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


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

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

9   голосов , оценка 3.778 из 5