Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг на Windows 2008

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

Чемпионы рейтинга экспертов в этой рассылке

Micren
Статус: Практикант
Рейтинг: 60
∙ повысить рейтинг >>
Лысков Игорь Витальевич
Статус: Профессионал
Рейтинг: 54
∙ повысить рейтинг >>
Varkon
Статус: 3-й класс
Рейтинг: 43
∙ повысить рейтинг >>

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1311
от 23.05.2009, 04:05

Администратор:Dr_Andrew
В рассылке:Подписчиков: 523, Экспертов: 43
В номере:Вопросов: 5, Ответов: 5

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>

Вопрос № 167467: Изучаю С++. Если работаю в консоли(командная строка), могу ли получить распечатку готового решения? Если можно, то пожалуйста поподробнее с примером. Спасибо....


Вопрос № 167519: Помогите пожалуйста написать программу! Задание: Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle (прямоугольник), Circle(круг), Trapezium (трапеция) со своими ф...
Вопрос № 167542: Здравствуйте Уважаемые эксперты. Помогите пожалуйста решить задачу. Я плохо разбираюсь в математике. Мне бы хотя бы математически ее помочь бы решить... В приложении я привел файл с методичкой и с примером решения.. Все хорошо расписано но я все равн...
Вопрос № 167584: не могу запустить функцию SearchPath SearchPath(NULL,"disclaimer",".txt", 255,lpBuffer,NULL); из всего прочитаного я понял что нужно передать четыре параметра адрес директории имя файла тип файла размер буфер...
Вопрос № 167587: доброго времени суток.эксперты,срочно нужна помощь!!есть задача:Определить класс с именем Train, содержащий следующие поля: 1) название пункта назначения; 2) номер поезда; 3) время отправления. Определить методы: 1) ввод данных в ма...

Вопрос № 167.467
Изучаю С++.
Если работаю в консоли(командная строка), могу ли получить распечатку готового
решения?
Если можно, то пожалуйста поподробнее с примером.
Спасибо.
Отправлен: 17.05.2009, 08:39
Вопрос задал: Гарбер Лев Хаимович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 11)

Отвечает: Dr_Andrew
Здравствуйте, Гарбер Лев Хаимович!
Наиболее простое решение - сохранить вывод программы в текстовый файл, который затем распечатать во внешней программе. В приложении это рассмотрено на простейшем примере. Код комментирован.
Удачи!

Приложение:

Ответ отправил: Dr_Andrew (статус: Профессионал)
Казахстан, Алма-Ата
Организация: Казахский научный центр карантинных и зоонозных инфекций
WWW: Медицинские программы для Linux
ICQ: 256452186
----
Ответ отправлен: 17.05.2009, 16:51

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 249340 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вопрос № 167.519
    Помогите пожалуйста написать программу!
    Задание: Создать абстрактный базовый класс Figure с виртуальными методами вычисления площади и периметра. Создать производные классы: Rectangle (прямоугольник), Circle(круг), Trapezium (трапеция) со своими функциями площади и периметра. Самостоятельно определить, какие поля необходимы, какие из них можно задать в базовом классе, а какие - в производных. Площадь трапеции: S=(a+b) * h / 2
    Отправлен: 17.05.2009, 14:04
    Вопрос задал: Azarov88 (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 2)

    Отвечает: Терсков Сергей
    Здравствуйте, Azarov88!
    Решение задачи смотрите в коде:
    Код:
    #include <stdio.h>
    #include <string>
    #include <cmath>
    #include <iostream>

    using namespace std;

    const double PI = 3.1415926535897932384626433832795;

    class figure {

    public:

    virtual double area() = 0;
    virtual double perimeter() = 0;

    virtual string to_string() = 0;
    };

    class rectangle : public figure {

    double a;
    double b;

    public:

    rectangle(double _a, double _b)
    : a(_a)
    , b(_b) {

    }

    ~rectangle() {

    }

    double area() {

    return a*b;
    }

    double perimeter() {

    return a + a + b + b;
    }

    string to_string() {

    char str[128];

    sprintf(str, "Figure: rectangle (a=%.2f, b=%.2f)", a, b);

    return string(str);
    }
    };


    class circle : public figure {

    double r;

    public:

    circle(double _r)
    : r(_r) {

    }

    ~circle() {

    }

    double area() {

    return PI*r*r;
    }

    double perimeter() {

    return 2*r*PI;
    }

    string to_string() {

    char str[128];

    sprintf(str, "Figure: circle (r=%.2f)", r);

    return string(str);
    }
    };

    class trapezium : public figure {

    double a;
    double b;
    double h;

    public:

    trapezium(double _a, double _b, double _h)
    : a(_a)
    , b(_b)
    , h(_h) {

    }

    ~trapezium() {

    }

    double area() {

    return ((a+b)*h)/2.0;
    }

    double perimeter() {

    double t = (a+b)/2.0;

    return sqrt(t*t + h*h)*2 + a + b;
    }

    st ring to_string() {

    char str[128];

    sprintf(str, "Figure: trapezium (a=%.2f, b=%.2f, h = %.2f)", a, b, h);

    return string(str);
    }
    };

    int main(int argc, char *argv[]) {

    figure *f;

    rectangle *r = new rectangle(4.0, 2.34);
    f = r;

    cout << f->to_string() << endl;
    cout << "Area: " << f->area() << endl;
    cout << "Perimeter: " << f->perimeter() << endl << endl;

    delete r;

    circle *c = new circle(6.78);
    f = c;

    cout << f->to_string() << endl;
    cout << "Area: " << f->area() << endl;
    cout << "Perimeter: " << f->perimeter() << endl << endl;

    delete c;

    trapezium *t = new trapezium(13.9, 5.25, 4.7);
    f = t;

    cout << f->to_string() << endl;
    cout << "Area: & quot; << f->area() << endl;
    cout << "Perimeter: " << f->perimeter() << endl << endl;

    delete t;

    return 0;
    }

    Класс figure полностью абстрактный. Работа с наследованными классами проводится через указатель на базовый класс. Вообще пример классический и похожие реализации можно найти во многих учебниках по С++. Например нечто подобное есть у Бьярна Страуструпа в разделе "Абстрактные классы".
    Ответ отправил: Терсков Сергей (статус: Специалист)
    Ответ отправлен: 18.05.2009, 04:17

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 249372 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 167.542
    Здравствуйте Уважаемые эксперты. Помогите пожалуйста решить задачу. Я плохо разбираюсь в математике. Мне бы хотя бы математически ее помочь бы решить... В приложении я привел файл с методичкой и с примером решения.. Все хорошо расписано но я все равно не очень понял как это можно сделать и вообще что требуется... Пожалуйста, помогите. Заранее благодарен

    Приложение:

    Отправлен: 17.05.2009, 16:28
    Вопрос задал: Dimon4ik (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Ross
    Здравствуйте, Dimon4ik!

    В задаче требуется табулировать функцию находя ее точное и приближенное значение, вычисленное путем разложения в ряд Тейлора.
    Вот решение:
    Код:
    #include <limits>
    #include <iostream>
    #include <iomanip>
    using namespace std;

    #define MINUS_ONE_POWER(x) ((x) % 2 == 0) ? 1 : -1

    #define ABS(x) ((x) > 0 ? (x) : -(x))

    double Calculate(double x, double epsilon, long n = numeric_limits<long>::max())
    {
    double f = 0, square = x + 1;
    double f_tmp;

    for (long i = 1; i<= n; ++i)
    {
    square *= square;
    f_tmp = f + (double(MINUS_ONE_POWER(i)) * square) / double(i);

    if (ABS(f_tmp - f) <= epsilon) return f_tmp;
    f = f_tmp;
    }

    re turn f;
    }

    void main()
    {
    int k = 10, n = 40;
    double a = -2, b = -0.1, dx = (b-a)/k, epsilon = 0.0001;

    for (double x = a; x <= b; x += dx)
    {
    cout<< setw(4) << "X=" << setw(15) << x
    << setw(4) << "SN=" << setw(15) << Calculate(x, 0.0, n)
    << setw(4) << "SE=" << setw(15) << Calculate(x, epsilon)
    << setw(4) << "Y=" << setw(15) << log(1 / (2 + 2 * x + x * x))
    << endl;
    }
    }

    ---------
    Доступно только то, что видимо (c) Б. Керниган
    Ответ отправил: Ross (статус: Практикант)
    Ответ отправлен: 17.05.2009, 22:40

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 249356 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 167.584
    не могу запустить функцию SearchPath
    SearchPath(NULL,"disclaimer",".txt", 255,lpBuffer,NULL);
    из всего прочитаного я понял что нужно передать четыре параметра
    адрес директории
    имя файла
    тип файла
    размер буфера

    последние два должны содержать полный путь файла и размер буфера для адреса файла.
    после компиляции выдает ошибку что последние два параметра используються без инициализации.
    Помогите запустить функцию.
    Отправлен: 17.05.2009, 23:46
    Вопрос задал: Ланчковский Алексей Викторович (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 3)

    Отвечает: Ross
    Здравствуйте, Ланчковский Алексей Викторович!

    Последние два параметра не должны инициализироваться, здесь все верно.
    Вот рабочий пример:
    Код:
    #include <windows.h>

    void main()
    {

    char file[MAX_PATH];
    SearchPathA("D:/","3b",".doc", MAX_PATH, file, NULL);
    }


    ---------
    Доступно только то, что видимо (c) Б. Керниган
    Ответ отправил: Ross (статус: Практикант)
    Ответ отправлен: 18.05.2009, 00:43

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 249365 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!

    Оценка за ответ: 5


    Вопрос № 167.587
    доброго времени суток.эксперты,срочно нужна помощь!!есть задача:Определить класс с именем Train, содержащий следующие поля:
    1) название пункта назначения;
    2) номер поезда;
    3) время отправления.
    Определить методы:
    1) ввод данных в массив из n элементов в типа Train;
    2) УПОРЯДОЧИТЬ В АЛФАВИТНОМ ПОРЯДКЕ ПО НАЗВАНИЮ ПУНКТОВ НАЗНАЧЕНИЯ;
    3) ВЫВОД ИНФОРМАЦИЮ ИНФОРМАЦИЮ О ПОЕЗДАХ, ОТПРАВЛЯЮЩИХСЯ ПОСЛЕ ВВЕДЕННОГО ПОЛЬЗОВАТЕЛЕМ ВРЕМЕНИ.

    нужно ещё:Задача - добавить в задачу на классы методы печать, вывод, поиск.

    Задача - добавить в задачу на классы методы конструктор, деструктор, операция (по смыслу задачи - сложение, логическое "И", "ИЛИ" и т.д.)

    пожалуйста,помогите написать.на си++
    Отправлен: 17.05.2009, 23:59
    Вопрос задала: Lenchikgukovo (статус: Посетитель)
    Всего ответов: 1
    Мини-форум вопроса >>> (сообщений: 0)

    Отвечает: Micren
    Здравствуйте, Lenchikgukovo!
    Программа. Тестировалась MS VS 2008.
    Код:

    #include <locale>
    #include <limits>
    #include <stdexcept>
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <vector>
    #include <algorithm>

    using namespace std;

    #pragma region Декларации
    // Класс время отправления
    class deptime
    {
    public:
    // Конструктор
    deptime(unsigned int hour=0,unsigned int min=0) throw(...);
    // Час
    unsigned int hour() const;
    // Минуты
    unsigned int min() const;
    // Опереторы сравнения
    bool operator<(const deptime& right) const;
    bool operator>(const deptime& right) const;
    private:
    unsigned int _hour:5;
    un signed int _min:6;
    };

    // Шаблонный оператор ввода для deptime
    template<class _Elem,class _Traits>
    basic_istream<_Elem,_Traits>& operator>>(basic_istream<_Elem,_Traits>& stream,deptime& r);

    // Класс поезд
    class train
    {
    public:
    // Конструктор
    // destination - пункт назначения
    // no - номер
    // time - время отправления
    train(wstring destination,unsigned int no,deptime time);
    // Номер
    unsigned int no() const;
    // Назначение
    wstring destination() const;
    // Время отправления
    deptime time() const;
    private:
    wstring _destination;
    unsigned int _no;
    deptime _time;
    };

    // Оператор вывода для train
    wostream& operator<<(wostream& stream,const train& r);

    // Шаблонная функция для ввода всякой ерунды:)
    template<class T> T input(wstring msg);

    // Класс вектор поездов
    class trainsVector:public vector<train>
    {
    public:
    // Доба вление поездов
    void addTrains();
    // Сортировка по месту назначения
    // ascending - по возрастанию(true)
    void sortOnDestination(bool ascending=true);
    // Возвращает вектор поездов идущих после определенного времени(time)
    trainsVector afterTime(deptime time);
    private:
    // Используется для сравнения по пункту назначения
    static bool destinationComparer(const train& t1,const train& t2);
    };

    // Оператор вывода для trainsVector
    wostream& operator<<(wostream& stream,const trainsVector& r);

    // Пользовательское меню
    int userChoice();
    #pragma endregion Декларации

    int main()
    {
    locale::global(locale("russian_russia.866"));
    // Наш вектор поездов
    trainsVector trains;
    while(true)
    {
    switch(userChoice())
    {
    case 1:
    trains.addTrains();
    break;
    case 2:
    trains.sortOnDestination();
    break;
    case 3:
    {
    deptime time=input<deptime>(L&qu ot;Введите время:");
    wcout<<trains.afterTime(time);
    break;
    }
    case 4:
    wcout<<trains;
    break;
    case 5:
    return 0;
    }
    }
    }

    #pragma region Общие функции
    int userChoice()
    {
    while(true)
    {
    wcout<<L"Сделайте свой выбор:"<<endl
    <<L"1 - Добавить информацию о поездах"<<endl
    <<L"2 - Сортировать по названию пунктов назначения"<<endl
    <<L"3 - Найти поезда отправляющиеся после определенного времени"<<endl
    <<L"4 - Просмотреть список"<<endl
    <<L"5 - Выход"<<endl
    <<L"Ваш выбор:";
    wchar_t ch=_getwche();
    wcout<<endl;
    switch(ch)
    {
    case L'1':
    return 1;
    case L'2':
    return 2;
    case L'3':
    return 3;
    case L'4':
    return 4;
    ca se L'5':
    return 5;
    default:
    wcout<<L"Неверный выбор"<<endl;
    }
    }
    }

    template<class T>
    T input(wstring msg)
    {
    T res;
    while(true)
    {
    try
    {
    wcout<<msg;
    wcin>>res;
    if(wcin.fail())
    {
    wcout<<L"Ошибочный ввод"<<endl;
    wcin.clear();
    wcin.ignore(numeric_limits<streamsize>::max(),L' ');
    }
    else
    {
    wcin.ignore(numeric_limits<streamsize>::max(),L' ');
    break;
    }
    }
    catch(invalid_argument)
    {
    wcout<<L"Неверное значение"<<endl;
    wcin.ignore(numeric_limits<streamsize>::max(),L' ');
    }
    }
    return res;
    }
    #pragma endregion Общие функции

    #pragma region Определение методов и операторов для deptime
    deptime::deptime( unsigned int hour,unsigned int min ) throw(...)
    {
    if(hour>=24 || min>=60)
    {
    throw invalid_argument("Invalid time");
    }
    else
    {
    _hour=hour;
    _min=min;
    }
    }

    unsigned int deptime::hour() const
    {
    return _hour;
    }

    unsigned int deptime::min() const
    {
    return _min;
    }

    bool deptime::operator<( const deptime& right ) const
    {
    return _hour*60+_min<right._hour*60+right._min;
    }

    bool deptime::operator>( const deptime& right ) const
    {
    return _hour*60+_min>right._hour*60+_min;
    }
    template<class _Elem,class _Traits>
    basic_ostream<_Elem,_Traits>& operator<<(basic_ostream<_Elem,_Traits>& stream,const deptime& r)
    {
    const ctype<_Elem>& fac=use_facet<ctype< _Elem> >(stream.getloc());
    basic_stringstream<_Elem,_Traits,allocator<_Elem> > strStream;
    strStream.flags(stream.flags());
    strStream.imbue(stream.getloc());
    strStream<<r.hour()<<fac.widen(':')<<r.min();
    return stream<<strStream.str();
    }

    template<class _Elem,class _Traits>
    basic_istream<_Elem,_Traits>& operator>>(basic_istream<_Elem,_Traits>& stream,deptime& r)
    {
    const ctype<_Elem>& fac=use_facet<ctype<_Elem> >(stream.getloc());
    unsigned int hour=0;
    unsigned int min=0;
    _Elem c=0;
    if(stream>>hour>>c && c!=fac.widen(':'))
    {
    stream.putback(c);
    stream.setstate(ios::badbit);
    }
    else
    {
    stream>>min;
    }
    if(!stream.fail())r=deptime(hour,min);
    return stream;
    }
    #pragma endregion Определение методов и операторов для deptime

    #pragma region Определение методов и оп ераторов для train
    train::train( wstring destination,unsigned int no,deptime time )
    :_destination(destination)
    ,_no(no)
    ,_time(time)
    {

    }

    unsigned int train::no() const
    {
    return _no;
    }

    wstring train::destination() const
    {
    return _destination;
    }

    deptime train::time() const
    {
    return _time;
    }

    wostream& operator<<(wostream& stream,const train& r)
    {
    stream<<r.no()<<','<<r.destination()<<','<<r.time();
    return stream;
    }
    #pragma endregion Определение методов и операторов для train

    #pragma region Определение методов и операторов для trainsVector
    void trainsVector::addTrains()
    {
    ios::fmtflags flags=wcin.flags();
    wcin.unsetf(ios::skipws);
    while(true)
    {
    wcout<<L"Введите информацию о поезде:"<<endl;
    wcout<<L"Пункт назначения(пустая строка для завершения ввода):";
    wstring dest;
    getline(wcin,dest);
    if(dest.empty())break;
    unsigned int no=input<unsigned int>(L"Номер поезда:");
    deptime time=input<deptime>(L"Время отправления(чч:мм):");
    push_back(train(dest,no,time));
    }
    wcin.flags(flags);
    }

    void trainsVector::sortOnDestination( bool ascending/*=true*/ )
    {
    if(ascending)sort(begin(),end(),&trainsVector::destinationComparer);
    else sort(rbegin(),rend(),&trainsVector::destinationComparer);
    }

    trainsVector trainsVector::afterTime( deptime time )
    {
    trainsVector res;
    for(const_iterator it=begin();it!=end();++it)
    {
    if(time<(*it).time())res.push_back(*it);
    }
    return res;
    }

    bool trainsVector::destinationComparer( const train& t1,const train& t2 )
    {
    return t1.destination().compare(t2.destination())<=0;
    }

    wostream& operator<<(wostream& stream,const trainsVector& r)
    {
    for(trainsVector: :const_iterator it=r.begin();it!=r.end();++it)
    {
    stream<<(*it)<<endl;
    }
    return stream;
    }
    #pragma endregion Определение методов и операторов для trainsVector

    Пример работы:
    Код:

    Сделайте свой выбор:
    1 - Добавить информацию о поездах
    2 - Сортировать по названию пунктов назначения
    3 - Найти поезда отправляющиеся после определенного времени
    4 - Просмотреть список
    5 - Выход
    Ваш выбор:1
    Введите информацию о поезде:
    Пункт назначения(пустая строка для завершения ввода):Москва
    Номер поезда:1
    Время отправления(чч:мм):12:23
    Введите информацию о поезде:
    Пункт назначения(пустая строка для завершения ввода):Киев
    Номер поезда:2
    Время отправления(чч:мм):0:15
    Введите инф ормацию о поезде:
    Пункт назначения(пустая строка для завершения ввода):Минск
    Номер поезда:3
    Время отправления(чч:мм):20:10
    Введите информацию о поезде:
    Пункт назначения(пустая строка для завершения ввода):Мандрыкино
    Номер поезда:4
    Время отправления(чч:мм):23:59
    Введите информацию о поезде:
    Пункт назначения(пустая строка для завершения ввода):К черту на кулички
    Номер поезда:5
    Время отправления(чч:мм):6:06
    Введите информацию о поезде:
    Пункт назначения(пустая строка для завершения ввода):
    Сделайте свой выбор:
    1 - Добавить информацию о поездах
    2 - Сортировать по названию пунктов назначения
    3 - Найти поезда отправляющиеся после определенного времени
    4 - Просмотреть список
    5 - Выход
    Ваш выбор:4
    1,Москва,12:23
    2,Киев,0:15
    3,Минск,20:10
    4,Мандрыкино,23:59
    5,К черту на кулички,6:6
    Сделайте свой выбор:
    1 - Добавить информацию о поездах
    2 - Сортировать по названию пунктов назначения
    3 - Найти поезда отправляющиеся после определенного времени
    4 - Просмотреть список
    5 - Выход
    Ваш выбор:2
    Сделайте свой выбор:
    1 - Добавить информацию о поездах
    2 - Сортировать по названию пунктов назначения
    3 - Найти поезда отправляющиеся после определенного времени
    4 - Просмотреть список
    5 - Выход
    Ваш выбор:4
    5,К черту на кулички,6:6
    2,Киев,0:15
    4,Мандрыкино,23:59
    3,Минск,20:10
    1,Москва,12:23
    Сделайте свой выбор:
    1 - Добавить информацию о поездах
    2 - Сортировать по названию пунктов назначения
    3 - Найти поезда отправляющиеся после определенного времени
    4 - Просмотреть список
    5 - Выход
    Ваш выбор:3
    Введите время:12:00
    4,Мандрыкино,23:59
    3,Минск,20:10
    1,Москва,12:23
    Сделайте свой выбор:
    1 - Добавить информацию о поездах
    2 - Сортировать по названию пунктов назначения
    3 - Найти поезда отправляющиеся после определенного времени
    4 - Просмотреть список
    5 - Выход
    Ответ отправил: Micren (статус: Практикант)
    Ответ отправлен: 20.05.2009, 18:52

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 249555 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Вы имеете возможность оценить этот выпуск рассылки.
    Нам очень важно Ваше мнение!
    Оценить этот выпуск рассылки >>

    Отправить вопрос экспертам этой рассылки

    Приложение (если необходимо):

    * Код программы, выдержки из закона и т.п. дополнение к вопросу.
    Эта информация будет отображена в аналогичном окне как есть.

    Обратите внимание!
    Вопрос будет отправлен всем экспертам данной рассылки!

    Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
    экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


    Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
    Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RusFAQ.ru, Россия, Москва.
    Авторское право: ООО "Мастер-Эксперт Про"
    Техподдержка портала, тел.: +7 (926) 535-23-31
    Хостинг: "Московский хостер"
    Поддержка: "Московский дизайнер"
    Авторские права | Реклама на портале

    ∙ Версия системы: 5.13 от 01.12.2008

    Яндекс Rambler's Top100
    RusFAQ.ru | MosHoster.ru | MosDesigner.ru
    RusIRC.ru | Kalashnikoff.ru | RadioLeader.ru

    В избранное