Загрузка...

Translating C ++ Code to C

Thread in C/C++ created by Cyaneyed Sep 29, 2019. 397 views

  1. Cyaneyed
    Cyaneyed Topic starter Sep 29, 2019 Banned 191 May 9, 2019
    Code

    #include<stdio.h>


    void Recur_Search(int sum,int n,int mas[],int &num_min,int num_cur,int mas_ef[],int mas_cur[]);

    void main()
    {
    int mas[100],n,sum;
    cout<<"Enter number = ";cin>>n;
    for(int i=0;i<n;i++)
    {
    cout<<"Enter "<<i+1<<" = ";
    cin>>mas[i];
    }
    cout<<"Suma = ";cin>>sum;
    cout<<"Bankomat = ";
    for(int i=0;i<n;i++)
    cout<<mas[i]<<" ";
    cout<<endl;
    int mas_ef[100],mas_cur[100],num_cur=-1,num_min=100,buf=n-1;

    Recur_Search(sum,n-1,mas,num_min,num_cur,mas_ef,mas_cur);
    if(num_min==100)cout<<"No solution";
    else
    {
    cout<<"Number of banknotes = "<<num_min<<endl;
    for(int i=0;i<num_min;i++) cout<<mas_ef[i]<<" ";
    }
    cout<<endl;
    }

    void Recur_Search(int sum,int n,int mas[],int &num_min,int num_cur,int mas_ef[],int mas_cur[])
    {
    if(num_cur!=-1)//начальная проверка - необходима из-за первого входа в рекурсивную процедуру
    {
    sum-=mas[n];//формирование суммы, необходимой для дозаполнения
    mas_cur[num_cur]=mas[n];//добавляем номинал к текущей последовательности
    num_cur++;
    }else num_cur=0;

    if(sum==0)//проверка, что необходимую сумму набрали.
    {
    if(num_min>num_cur)
    {//запись новой минимальной последовательности номиналов
    for(int i=0;i<num_cur;i++) mas_ef[i]=mas_cur[i];
    num_min=num_cur;
    }
    }
    else
    if((float(sum)/mas[n])<(num_min-num_cur)) //проверка на возможность добить сумму !!!текущими!!! максимальными купюрами
    //за меньшее количество купюр, чем текущее значение. Иначе возврат на предыдущую итерацию!!!
    {
    while((n>=0)&&(sum<mas[n])) n--;//поиск номинала меньше или равного необходимой суммы
    if(n>=0)//если нашелся необходимый номинал - обрабатываем дальше. Иначе возврат на предыдущую итерацию!!!
    {//последовательно прорабатываем все варианты для номиналов вниз
    for(int i=n;i>=0;i--) Recur_Search(sum,i,mas,num_min,num_cur,mas_ef,mas_cur);
    }
    }
    }



    Вот сам код,буду благодарен помощи
     
  2. de9x
    de9x Sep 29, 2019 Frontend developer 141 Jan 3, 2019
    в чем проблема? настолько трудно cout и cin поменять на printf и scanf?
     
  3. Cyaneyed
    Cyaneyed Topic starter Sep 30, 2019 Banned 191 May 9, 2019
    да-да,ты сначало поменяй и скомпилируй потом пиши )
     
  4. Тушняк
    Тушняк Sep 30, 2019 Banned 136 Jan 2, 2018
    нихуя не понял,наверно кому-то ты помог:2011_like:
     
  5. dxdydzdt
    dxdydzdt Sep 30, 2019 3 Sep 22, 2019
    Cyaneyed, соглашусь, просто поменяй стандартные функции i/o плюсов на сишные...
     
  6. de9x
    de9x Oct 1, 2019 Frontend developer 141 Jan 3, 2019
    нахуй мне нужно с этой хуйней возиться?
    The post was merged to previous Oct 1, 2019
    просто покажи, где тут используются конструкции, которых нет в C?
     
  7. Cyaneyed
    Cyaneyed Topic starter Oct 1, 2019 Banned 191 May 9, 2019
    pezdec ты школа ремонта,во первых сам алгоритм и конструкция языка C++ отличается от C,хоть и функции знакомы...
     
  8. de9x
    de9x Oct 1, 2019 Frontend developer 141 Jan 3, 2019
    что ты несёшь, какой блять алгоритм. выпились нахуй
    The post was merged to previous Oct 1, 2019
    ты тут юзаешь только cin и cout - функции ввода/вывода, которые определены в библиотеке iostream, все, других функций тут нет(не включая определённых тобой). в C существует такой заголовочный файл, как stdio.h, в котором также определены функции ввода/вывода - scanf, printf.
    ни классы, ни шаблоны и прочие, не присущие си вещи, не используются в этом коде, следовательно, заменять тут(кроме функций ввода/вывода) ничего не надо.
    The post was merged to previous Oct 1, 2019
    я предполагаю, что ты даже не понимаешь, что значит следующий код:
    Code

    int n;
    scanf("%i", &n);
    printf("%i\n", n);
     
  9. Cyaneyed
    Cyaneyed Topic starter Oct 2, 2019 Banned 191 May 9, 2019
    сейчас бы библиотеку stdio называть заголовочным файлом :D,слейся уебище
     
  10. de9x
    de9x Oct 2, 2019 Frontend developer 141 Jan 3, 2019
    почитай о заголовочный файлах и, возможно, поймёшь, что <stdio.h>, все-таки является таким файлом. вообще, расширенние говорит само за себя h - header.
    The post was merged to previous Oct 2, 2019
    эх, экспертов же по С развелось...
     
  11. Slaanesh
    Slaanesh Oct 2, 2019 Немножко ереси на лолзе 464 Sep 4, 2018
    Всё по факту перемога папугы!
     
Loading...
Top