Рекурсия и массивы

Тема в разделе "C/C++/C#", создана пользователем snickers, 8 янв 2011.

  1. snickers

    snickers Гость

    1)написать рекурсивную функцию перевода десятичного числа в двоичную систему счисления
    2)Описать структуру FRIDGE(наименование,фирма-изготовитель,количество на складе,цена). Введите данные в массив,состоящий из 5 элементов типа FRIDGE.Выведите на экран информацию о холодильниках,стоимость которых не больше введенного с клавиатуры числа.Если такого холодильника нет,то программа должна выдать соответствующее сообщение на экран.
    3)Разработать программу работы с массивом односвязных списков.Программа должна содержать следующие процедуры,вызываемые из меню:
    -постоение массива односвязных списков,вводя исходные данные из текстового файлы
    -удаление указанного элемента из всех списков в которых он присутствует
    -вывод массива списков
     
  2. snickers

    snickers Гость

    это всё С++
     
  3. Rififi

    Rififi Гость

    snickers

    1)написать рекурсивную функцию перевода десятичного числа в двоичную систему счисления

    Код (C++):
    #include <string>
    #include <locale>

    std::string dec_to_bin(int i)
    {
    return i == 1 ? "1" : dec_to_bin(i>>1) + (i & 1 ? "1" : "0");
    }

    int main()
    {
    setlocale(LC_ALL, "");

    int i = 110;
    std::string s = dec_to_bin(i);

    return 0;
    }

    Описать структуру FRIDGE(наименование,фирма-изготовитель,количество на складе,цена). Введите данные в массив,состоящий из 5 элементов типа FRIDGE.Выведите на экран информацию о холодильниках,стоимость которых не больше введенного с клавиатуры числа.Если такого холодильника нет,то программа должна выдать соответствующее сообщение на экран.

    Код (C++):
    #include <locale>
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <iostream>

    /*
    2)Описать структуру FRIDGE(наименование,фирма-изготовитель,количество на складе,цена).
    Введите данные в массив,состоящий из 5 элементов типа FRIDGE.
    Выведите на экран информацию о холодильниках,стоимость которых не больше введенного с клавиатуры числа.
    Если такого холодильника нет,то программа должна выдать соответствующее сообщение на экран.
    */


    struct FRIDGE
    {
    std::string name;
    std::string manufacturer;
    size_t amount;
    double cost;
    };

    int main()
    {
    setlocale(LC_ALL, "");

    const size_t N = 5;

    typedef std::vector<FRIDGE> ARRAY;
    ARRAY arr;

    for (size_t i=0; i<N; i++)
    {
    FRIDGE f;

    // ввод данных - сделаешь сам

    arr.push_back(f);
    }

    double cost;
    std::cin >> cost;

    struct min
    {
    min(double cost) : cost_(cost) {}
    bool operator()(const FRIDGE& f) const
    { return f.cost < cost_; }

    double cost_;
    };

    ARRAY::const_iterator found = std::find_if(arr.begin(), arr.end(), min(cost));
    if (found == arr.end())
    {
    std::cout << "not found." << std::endl;
    return 0;
    }

    do
    {
    std::cout << found->name << std::endl;
    std::advance(found, 1);
    } while((found = std::find_if<ARRAY::const_iterator>(found, arr.end(), min(cost))) != arr.end());

    return 0;
    }

    Разработать программу работы с массивом односвязных списков.

    не.. это лень (:)

    убьют если не сдам )

    Не волнуйся, от драинья сортиров ещё никто не умирал... Ну если только от смрада ;)
    Но и в данном случае есть решение!

    ПГ-7 - незаменимый помощник!

    [​IMG]
     
  4. snickers

    snickers Гость

    спасибо огромное))
     
Загрузка...
Похожие Темы - Рекурсия массивы
  1. vera2014
    Ответов:
    0
    Просмотров:
    1.071
  2. 95процентов
    Ответов:
    7
    Просмотров:
    1.912
  3. 95процентов
    Ответов:
    0
    Просмотров:
    946
  4. 95процентов
    Ответов:
    0
    Просмотров:
    1.015
  5. vladis222
    Ответов:
    10
    Просмотров:
    2.383

Поделиться этой страницей