Дистанционная подготовка: компилятор на c++
компилятор на c++
от Настя Мельникова - Понедельник 10 Декабрь 2018, 15:49
112245. Из двоичной в десятичную
  какой стоит компилятор на c++, если мой показывает при вводе 100101 37, а ваш 32..........
Re: компилятор на c++
от Настя Мельникова - Понедельник 10 Декабрь 2018, 16:01
  #include
#include
using namespace std;
long long int q(string n,long long int i,long long int q2)
{
int y;

if(q2
Re: компилятор на c++
от Peter Cherepanov - Четверг 13 Декабрь 2018, 21:08
  На сайте используется компилятор gcc (GNU Compiler Collection). Но особенности компилятора в этой задаче не существенны.

Если до сих пор задача не получается, то выложите свое решение здесь, используя "текстовый формат", чтобы избежать потери символов.
Re: компилятор на c++
от Настя Мельникова - Понедельник 17 Декабрь 2018, 15:08
  #include <iostream>
#include <cmath>
using namespace std;
long long int q(string n,long long int i,long long int q2)
{
int y;

    if(q2<n.size())
    {

        y=(int)n[n.size()-q2-1]-48;

        i=i+y*pow(2,q2);
        q(n,i,q2+1);



    }
    else { return i;}

}


int main()
{
    string N;
    long long int  i=0,q2=0;
    getline(cin,N);
    if(N[0]=='-') {N.erase(0,1); cout<<"-";}
    cout<<q(N,i,q2);

}
Re: компилятор на c++
от Peter Cherepanov - Воскресенье 30 Декабрь 2018, 07:25
  В вашей программе нужно исправить несколько ошибок. Вообще, для такой простой задачи не нужен С++, рекурсия, строки и операции с ними. Читайте символы по одному, пока не кончатся и обрабатывайте их. Язык С придумали именно для таких задач.


#include <iostream>
#include <cmath>
using namespace std;
long long int q(string n,long long int i,long long int q2)
{
int y;

    if(q2<n.size())
    {
        y=(int)n[n.size()-q2-1]-48; // - '0' is better

        i=i+y*pow(2,q2);    // 1<<q2 is better
        return q(n,i,q2+1); // you need 'return' here
    }
    else { return i;}
}
int main()
{
    string N;
    long long int  i=0,q2=0;
    getline(cin,N);
    if(N[0]=='-') {N.erase(0,1); cout<<"-";}
    cout<<q(N,i,q2);
    return 0; // the function should return 0
}