1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

решение 3х задач

Тема в разделе "Вопросы новичков и не только", создана пользователем NaFkA, 19 дек 2010.

  1. NaFkA

    NaFkA Гость

    Репутация:
    0
    1)Даны два предложения. Напечатать слова, которые есть только в одном из них.
    2)Фирма имеет N магазинов. В двумерном массиве хранятся данные о выручке каж-дого магазина за последние M месяцев (первого магазина – в первой строке, второго – во второй и т.д.). Определить: а) среднюю выручку каждого магазина за К произвольных идущих подряд месяцев (с К1 по K2); б) магазин с наибольшей выручкой за выбранный период.
    3)В файле хранятся названия фильмов на английском языке – одна строка: одно на-звание. Вывести на экран список фильмов, а) отсортировав по названию без учета артик-лей the и а, б) перенести артикли в конец названий.
     
  2. Rififi

    Rififi Гость

    Репутация:
    0
    1.

    Код:
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <iterator>
    
    #include <iostream>
    #include <sstream>
    
    /*
    1)Даны два предложения. Напечатать слова, которые есть только в одном из них.
    */
    
    std::vector<std::string> words(const std::string& text)
    {
    std::vector<std::string> v;
    
    std::stringstream ss(text);
    std::string s;
    
    while (ss >> s)
    v.push_back(s);
    
    std::sort(v.begin(), v.end());
    
    return v;
    }
    
    template <typename Range>
    void diff(const Range& r1, const Range& r2)
    {
    Range result;
    std::set_difference(r1.begin(), r1.end(), r2.begin(), r2.end(), std::back_inserter(result));
    std::copy(result.begin(), result.end(), std::ostream_iterator<typename Range::value_type>(std::cout, " "));
    }
    
    void diff(const std::string& text1, const std::string& text2)
    {
    diff(words(text1), words(text2));
    }
    
    int main()
    {
    setlocale(LC_ALL, "");
    
    const std::string text1 = "one two three bar";
    const std::string text2 = "foo bar one four";
    
    diff(text1, text2);
    
    return 0;
    }
    Проверка:

    http://codepad.org/gISTQTR5


    3.
    Код:
    #include <string>
    #include <vector>
    #include <algorithm>
    #include <iterator>
    
    #include <iostream>
    хотя нет, что-то слишком много запарок получается, так что я пожалуй пас :)
     
Загрузка...

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