Abdullah Awan Ответов: 3

Преобразование в язык Си


#include <iostream>
#include <cmath>
using namespace std;

unsigned numDigits(const unsigned n) {
    if (n < 10) return 1;
    return 1 + numDigits(n / 10);
}

unsigned rotated_number(const unsigned a,const unsigned n){
    
    unsigned int e,divide_by,rotated_number,f;
    divide_by = pow(10,n - 1);
    e = a%10;
    f = a/10;
    rotated_number = e * divide_by + f;
    return rotated_number;
    // std::cout << rotated_number << std::endl;
}

unsigned square_sum(unsigned n){
    int sum=0;
    while(n!=0)
    {
        sum = sum + (n%10) * (n%10);
        n = n/10;
    }
    // std::cout << sum << std::endl;
    return sum;
    
}

int main() {
    
    unsigned int a,length,ssd,number_obtained,r_n,_z,new_rpm=0,n=0,max_rpm;
    std::cin >> a;
    max_rpm = a * 8;
    
    while(n < 1 && a < max_rpm){
    // std::cout << a << std::endl;
    number_obtained = square_sum(a) * 323;
    // std::cout << number_obtained << std::endl;
    length = numDigits(a);
    // std::cout << length << std::endl;
    r_n = rotated_number(a,length)%100;
    // std::cout << r_n << std::endl;
    new_rpm = number_obtained + r_n;
    // std::cout << _z << std::endl;
    // new_rpm = new_rpm + _z;
    // std::cout << new_rpm << std::endl;
    a = new_rpm;
    // std::cout << a << std::endl;
    n = n + 1;
}

    std::cout << a << std::endl;

}


Что я уже пробовал:

преобразование в язык Си
я пытался, но не смог.
так что преобразуйте этот код C++ в код C

3 Ответов

Рейтинг:
2

OriginalGriff

Это не служба перевода кода: мы здесь не для того, чтобы делать это для вас.

И если вы посмотрите на это, за исключением нескольких cin и cout линии, это уже С.
Если вы не можете справиться с разработкой того, как их заменить ... тебе, наверное, не стоит быть на своем курсе.

Но... вы должны понимать, что ваш наставник знает о подобных сайтах и будет очень хорошо знать, что вы не писали код, который сдаете? Многие будут относиться к плагиату очень серьезно ...


CPallini

5.

Рейтинг:
1

CPallini

Как уже отмечалось OriginalGriff и Карстенк, такой код очень удобен C-как (не использует специфических особенностей C++) и уже есть почти C-совместимый. На самом деле я смог, заменив включенные заголовочные файлы и только два активных вызова ввода-вывода соответствующими C те, чтобы скомпилировать его (и запустить) с помощью C компилятор. Вы должны быть в состоянии сделать то же самое.


Рейтинг:
0

KarstenK

Это должно быть трудно, вам нужно только использовать функции ввода и вывода C, такие как print() и некоторые функции сканирования. Это объясняется следующим образом С вводом и выводом учебника.


CPallini

5.