Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.69/978: Рейтинг темы: голосов - 978, средняя оценка - 4.69
16 / 17 / 0
Регистрация: 01.02.2012
Сообщений: 182
1

Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"

01.02.2012, 17:47. Показов 191475. Ответов 322
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хотя я и начинающий с++-шник. Хочу помочь другим людям. Здесь я буду выкладывать всё что мне удалось решить. В моих решениях будет много хедеров, делал я это в Dev C++. Ос Win 7 64 bit.

Начнём со второй главы:
Упражнение 1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
 
using namespace std;
 
int main()
{
   setlocale(0,"Rus");
   float gallons, cufeet;
 
   cout << "Введите количество галоннов: \n";
   cin >> gallons;
   cufeet = gallons / 7.481;
   cout << "Еквивалент в футах = " << cufeet << endl;
    
   return 0;
}

Упражнение 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream> 
#include <iomanip>
 
using namespace std;
 
int main()
{
   setlocale(0,"Rus");
   
    cout << 1990 << setw(8) << 135 << endl
           << 1991 << setw(8) << 7290 << endl 
           << 1992 << setw(8) << 11300 << endl
           << 1993 << setw(8) << 16200 << endl;
  
   return 0;
}

Упражнение 3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream> 
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
    int var = 10;
 
    cout << var << endl;      
    var *= 2;                 
    cout << var-- << endl;    
    cout << var << endl;      
    return 0;
}

Упражнение 4
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream> 
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
    cout<<"\nУ лукоморья дуб срубили\nКота на мясо порубили \nА по неведанным дорожкам\nШагали черти в босоножках\n"; 
    return 0;
}

Упражнение 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream> 
#include <ctype.h>
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
    char ch;
    cin >> ch;
    cout << islower(ch);  // При вводе строчной буквы будет 2 при прописной 0. Но есть нюанс, поддерживаються только англ буквы 
    return 0;
}


Упражнение 6
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream> 
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
 
    float a,b,c,d,f;
    cout << "Введите кол-во доларов"<<endl;
    cin >> f;
    b=f/1.487;
    c=f/0.172;
    a=f/0.584;
    d=f/0.00955;
    cout << f <<"доларов = "<< b<<" фунтов стерлинга"<<endl;
    cout << f <<"доларов = "<< c<<" франков"<<endl;
    cout << f <<"доларов = "<< a<<" немецких марок"<<endl;
    cout << f <<"доларов = "<< d<<" японских йен"<<endl;
    return 0;
}

Упражнение 7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream> 
#include <iomanip>
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
    double f,c;
    cout << "Введите количество градусов по Цельсию"<<endl;
    cin >> c;
    f=c*1.8+32;
    cout <<setprecision(3)<< f << " градусов по Фаренгейту "<< endl; // Регуляция кол-во символов после запятой
    return 0;
}

Упражнение 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream> 
#include <iomanip>
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
    long pop1=2425785, pop2=47, pop3=9761;       
 
    cout << setfill('.') <<setw(8) << "LOCATION" << setw(12) // Обратите внимание на одинарные кавычки
           << "POPULATION" << endl
           <<setw(8) << "Portcity" << setw(12) << pop1 << endl
           << setw(8) << "Hightown" << setw(12) << pop2 << endl
           << setw(8) << "Lowville" << setw(12) << pop3 << endl;
    return 0;
}

Упражнение 9

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream> 
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
    char dummychar;
    double a,b,c,d,e,f;
    cout << "Введите а и b"<< endl;
    cin >>a>>dummychar>>b;
    cout << "Введите c и d"<<endl;
    cin >>c>>dummychar>>d;
    cout <<(b*c)+(d*a)<<dummychar<<(b*d)<<endl;
 
    return 0;
}

Упражнение 10 (Намучился с этой задачей)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream> 
 
using namespace std;
 
int main() 
{
    setlocale(0,"Rus");
    float a,b,c,f;
    cout << "Введите количество фунтов"<<endl;
    cin >> a;
    cout << "Введите количество шиллингов"<<endl;
    cin >> b;
    cout << "Введите количество пенсов"<<endl;
    cin >> c;
    f = a+(b+c/12)/20;
    cout << "Количество фунтов = " << f << endl;
    return 0;
}

Упражнение 11
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream> 
#include <iomanip>
 
using namespace std;
 
int main() 
{
     setlocale(0,"Rus");
     cout << setiosflags(ios::left) <<setw(15) << "Фамилия"<< setw(15)<< "Имя"<<setw(15) << "Адресс"<<setw(15)<< "Город"<<endl
            <<setw(15)<< "Иванов"<<setw(15)<<"Петя"<<setw(15)<<"Кленовая 16"<<setw(10)<<"Москва"<<endl
            <<setw(15)<< "Иванов"<<setw(15)<<"Петя"<<setw(15)<<"Кленовая 16"<<setw(10)<<"Москва"<<endl
            <<setw(15)<< "Иванов"<<setw(15)<<"Петя"<<setw(15)<<"Кленовая 16"<<setw(10)<<"Москва"<<endl;
    return 0;
}

Упражнение 12 (это самая геморная программа на разработку которой ушло больше дня)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream> 
 
using namespace std;
 
int main() 
{
setlocale(0,"Rus");
float a,b,z;
int c,k;
cout << "Введите кол-во футов " << endl;
cin >> a;
c = static_cast<int>(a);
b = a - c;
b *= 20;
k = static_cast<int>(b);
z = b - k;
z = z*12;
z = static_cast<int>(z);
k = static_cast<int>(k);
cout << c <<"."<< k <<"."<< z << endl;
return 0;
}
Это конец второй главы, третюю сделаю позже если будет нужна
 Комментарий модератора 
Пост обновлен по просьбе ТС
13
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.02.2012, 17:47
Ответы с готовыми решениями:

Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"
Мне надо решение упражнений из книги Р. Лафоре &quot;Объектно-ориентированное программирование в С++&quot;....

Ищу ответы на задания из книги Лафоре Р. "Объектно-ориентированное программирование в С++" 4 издание.
Дошел до 10 главы, из каждой главы делал все 12 заданий, хочу проверить правильно ли я их делал. И...

Роберт Лафоре, "Объектно-ориентированное программирование на C++"
Здравствуйте, хотелось бы узнать мнение по поводу этой книги: стоит ли читать, или поискать другую?

Объектно-ориентированный анализ, Объектно-ориентированное проектирование, Объектно-ориентированное программирование
Моё задание: Система Авиакомпания. Авиакомпания имеет список рейсов. Диспетчер формирует летную...

322
Каратель
Эксперт С++
6609 / 4028 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
01.02.2012, 17:54 2
Цитата Сообщение от Kimel Посмотреть сообщение
#include<conio.h>
этому тоже Лафоре научил? очень сомневаюсь
0
16 / 17 / 0
Регистрация: 01.02.2012
Сообщений: 182
01.02.2012, 18:11  [ТС] 3
Цитата Сообщение от Jupiter Посмотреть сообщение
этому тоже Лафоре научил? очень сомневаюсь
Это ваш прекрасный форум научил, в теме выше, а так же в других тема. Это сделано что бы окно не закрывалось после выполнения программы.
1
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
01.02.2012, 18:31 4
Цитата Сообщение от Kimel Посмотреть сообщение
Это ваш прекрасный форум научил, в теме выше, а так же в других тема. Это сделано что бы окно не закрывалось после выполнения программы.
Единственный правильный способ - запуск программы из консоли или из скрипта или еще чего, но явно это не должно быть костылем в коде. Это ересь и провокация. Не учитесь плохому.
3
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
01.02.2012, 18:34 5
Цитата Сообщение от Jupiter Посмотреть сообщение
этому тоже Лафоре научил? очень сомневаюсь
Да. Так лучше не писать, но я сам у него этот хедер встречал

Добавлено через 1 минуту
Цитата Сообщение от Kimel Посмотреть сообщение
system("pause"); *// выведет "нажмите любую клавишу"
getch(); * // особенности экспресс-версии
А тут getch() зачем?
0
16 / 17 / 0
Регистрация: 01.02.2012
Сообщений: 182
01.02.2012, 18:37  [ТС] 6
Цитата Сообщение от fasked Посмотреть сообщение
Единственный правильный способ - запуск программы из консоли или из скрипта или еще чего, но явно это не должно быть костылем в коде. Это ересь и провокация. Не учитесь плохому.
Спасибо что откликнулись в этой теме и подметили ошибки в коде. Я извиняюсь что пришлось прибегнуть к такому решению, оно временное и работает. Если у вас есть конкретный совет, как только что скомпилированную программу заставить не закрываться сразу же после исполнения, то пожалуйста изложите, мне это очень важно. Еще раз спасибо.

Добавлено через 1 минуту
Цитата Сообщение от go Посмотреть сообщение
Да. Так лучше не писать, но я сам у него этот хедер встречал

Добавлено через 1 минуту

А тут getch() зачем?
Вы правы, это без надобности, сейчас уберу.

Добавлено через 1 минуту
Уважаемы модераторы. Подскажите как изменить первый пост в топике
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
01.02.2012, 18:40 7
Цитата Сообщение от Kimel Посмотреть сообщение
вас есть конкретный совет, как только что скомпилированную программу заставить не закрываться сразу же после исполнения, то пожалуйста изложите, мне это очень важно.
Смотря что вам надо. Если сделать паузу при выполнении
C++
1
std::system("pause");
Если просто хотите увидеть результат работы, то запускайте .exe из командной строки. В студии можно чуть иначе
0
16 / 17 / 0
Регистрация: 01.02.2012
Сообщений: 182
01.02.2012, 18:46  [ТС] 8
Цитата Сообщение от go Посмотреть сообщение
Смотря что вам надо. Если сделать паузу при выполнении
C++
1
std::system("pause");
Если просто хотите увидеть результат работы, то запускайте .exe из командной строки. В студии можно чуть иначе
Вы правы, сейчас так и использую.

Добавлено через 4 минуты
Пожалуйста, скажите какие хедеры лишние
0
go
Эксперт С++
3646 / 1378 / 243
Регистрация: 16.04.2009
Сообщений: 4,526
01.02.2012, 18:50 9
№2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream> 
#include <iomanip>
 
int main()
{   
   std::cout << 1990 << std::setw(8) << 135   << std::endl
             << 1991 << std::setw(8) << 7290  << std::endl 
             << 1992 << std::setw(8) << 11300 << std::endl
             << 1993 << std::setw(8) << 16200 << std::endl;
  
   return 0;
}
http://liveworkspace.org/code/... 849ed061c7
0
Эксперт С++
5043 / 2622 / 241
Регистрация: 07.10.2009
Сообщений: 4,310
Записей в блоге: 1
01.02.2012, 18:59 10
Цитата Сообщение от Kimel Посмотреть сообщение
Вы правы, сейчас так и использую.
Прошу Вас, не надо в коде таких штук делать. Во-первых, только для windows. Во-вторых, некрасиво.
Цитата Сообщение от go Посмотреть сообщение
Если просто хотите увидеть результат работы, то запускайте .exe из командной строки. В студии можно чуть иначе
0
16 / 17 / 0
Регистрация: 01.02.2012
Сообщений: 182
01.02.2012, 19:32  [ТС] 11
Цитата Сообщение от fasked Посмотреть сообщение
Прошу Вас, не надо в коде таких штук делать. Во-первых, только для windows. Во-вторых, некрасиво.

Спасибо, учту ваше замечание.
0
14 / 14 / 5
Регистрация: 14.02.2012
Сообщений: 46
14.02.2012, 17:13 12
нужна помощь с 3 главой
есть решение ?
0
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 5
24.02.2012, 18:25 13
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream> 
 
using namespace std;
 
int main() 
{
setlocale(0,"Rus");
float a,b,z;
int c,k;
cout << "Введите кол-во футов " << endl;
cin >> a;
c = static_cast<int>(a);
b = a - c;
b *= 20;
k = static_cast<int>(b);
z = b - k;
z = z*12;
z = static_cast<int>(z);
k = static_cast<int>(k);
cout << c <<"."<< k <<"."<< z << endl;
return 0;
}
Кажется не совсем корректно работает!
\\\\\
Пример: введите значение фунта 8.65, выдает ответ 8.12.11, а надо 8.13.0,
Кто поможет??

Добавлено через 1 минуту
Цитата Сообщение от AAA- Посмотреть сообщение
нужна помощь с 3 главой
есть решение ?
какие именно задачи, попробую помочь

Добавлено через 2 минуты
ну собственно почему static_cast делает из значения 13, 12
0
Vihost
24.02.2012, 21:14 14
Мой вариант решения задачи 12 Главы 2.
Оформлена как отдельная функция т.к. пишу все упражнения в отдельном модуле.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void nfunt_ofunt()
{
    double nFunt, temp;
    int shil, pens;
    cout<<"Введите сумму в новых фунтах: ";
    cin>>nFunt;
    temp=nFunt*20;                                    //Переводим все в шиллинги
    shil=static_cast<int>(temp)%20;              //Количество шиллингов
    pens=(temp-static_cast<int>(temp))*12;  //Количество пенсов
    cout<<static_cast<int>(nFunt)                //Количество фунтов
          <<"."<<shil<<"."<<pens<<endl;
 
    return;
}
0 / 0 / 0
Регистрация: 28.02.2012
Сообщений: 8
29.02.2012, 13:13 15
Упражнение 12___Обратная конвертация____Лафоре C++

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//------------------Кампилятор dev-C++ 4.9.9.2 Windows 7 x64------------------------------------------------------------
#include <iostream>
using namespace std;
int main ()
{
setlocale(LC_ALL,"Russian"); // Русский язык 
float new_$, new_pens, shiling;
int funt,  pens, int_shiling;
 
cout << "Введите число десятичных фунтов: ";
cin >> new_$;                     // 5.13
  funt = static_cast<int>(new_$); // 5 фунтов ---------------------------------------------------------------------- в ответ
    new_pens = new_$ - funt;       // 0.13
    shiling = new_pens * 20;         // 0.13*20(20 шилингов в 1 фунте) = 2.6 2 шиллинга и 6 десятичных пенсов т.е 0.6 
      int_shiling = static_cast<int>(shiling); // 2 шиллинга  ------------------------------------------------------------ в ответ
        new_pens = shiling - int_shiling;         // 0.6  десятичных пенсов
        pens = new_pens * 12;                   // 0.6*12(12 пенсов в 1 шилинге)= 7 пенсов ------------------------------ в ответ
    cout << endl << "Эквивалентная сумма в старой форме записи: $" << funt << "." << int_shiling << "." << pens << endl << endl;     
   system ("pause");
   return 0;    
}
0
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 5
29.02.2012, 16:37 16
спасибо за помошь, но у Вас та же проблема, посмотрите пошаговое выполнение программы.
Прилагаю скрин выполнения программы, результат снова не корректный((((
Вот как раз в той строке где отделяется десятичная часть(в моем случае 0.65), и после умножения на 20 по формуле

(shiling = new_pens * 20 =0.65*20=13),

и после

int_shiling = static_cast<int>(shiling),

число 13 становится 12. Разъясните плиз, каким образом????
Миниатюры
Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"  
0
0 / 0 / 0
Регистрация: 22.02.2012
Сообщений: 5
01.03.2012, 13:57 17
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include<iostream>
using namespace std;
int main()
{
    char ch;
    do
    {
    
        double s,s1,s2,a,a1,b,b1,c,c1;
        cout<<"Enter first sum in old pounds: ";
        cin>>a>>b>>c;
        cout<<"Enter second sum in old pounds: ";
        cin>>a1>>b1>>c1;
        s1=(a*240+b*12+c)/240;
        s2=(a1*240+b1*12+c1)/240;
        s=s1+s2;
    
/////////////////////////////////////////////////////////////////////   
    
        double p,z,f;
        int y,m,n;
    
            y=static_cast<int>(s);
            z=s-y;                        //old pound, goes to answer;
            f=z*20;
            m=static_cast<int>(f);
            p=f-m;                        //old shillings, goes to answer;
            n=p*12;                       //old penns, goes to answer;  
            cout<<y<<"."<<m<<"."<<n<<endl;
            cout<<"Try again?(y/n):";
            cin>>ch;
    }
    while(ch!='n');
    return 0;
 
}
Заранее извиняюсь за синтаксис.
вот решение задачи 8 главы 3, в ней заключен ответ на задачу 12 главы 2.
Прошу строго не судить, так как в программировании Ваапще новичок!
0
0 / 0 / 0
Регистрация: 28.02.2012
Сообщений: 8
04.03.2012, 18:40 18
Вот отдельно вынес это действие и получается 13.
Я не знаю как это объяснить.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main ()
{
setlocale(LC_ALL,"Russian"); // Русский язык 
float new_$, new_pens, shiling;
int funt,  pens, int_shiling;
 
cout << "Вводим число 0.65: ";
cin >> new_pens;
 
shiling = new_pens * 20;
int_shiling = static_cast<int>(shiling); 
       
             
       cout << endl << int_shiling << endl;
       
       system("pause");
       return 0;
}
0
0 / 0 / 0
Регистрация: 21.08.2012
Сообщений: 5
21.08.2012, 00:43 19
Привет. Такой вопрос, по поводу 11 задания второй главы книгы. Решение правильное, но в твоем коде нет нижнего подчеркивания, как бы оттделения заголовков от данных. Я все не могу решить данную проблему, все мои попытки увенчались неудачей, в итоге я просто прописал строковой константой. Есть другой солюшен. Общим можно поставить эти подчеркивания с помощью манипулятора setfill(). Этот манипулятор принимает в качестве аргумента один символ, допустим в моем случае setfill('.'), который замещает пробелы на незаполненых позициях поля. Мне нужно сделать так чтобы он прирывался сразу после окончания второй строки. Как я не старался его прервать не получаеться, а символ заполняет все пустые пробелы. Вот мой код, как сделать со вторым солюшеном, немогу догнать
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//11 task.cpp
#include <iostream>
#include <iomanip>
using namespace std;
int main()
 
{
    setlocale (0, "Rus");
 
    cout<<setiosflags(ios::left) <<setw(15) << "Фамилия" << setw(15) << "Имя" << setw(15) << "Адрес" << setw(15) << "Город"<< endl;
    cout<<"..............................................................."<<endl;
    cout <<setiosflags (ios::left) <<setw(15) << "Петров" <<setw(15) << "Василий" << setw(15) <<"Кленовая 16" << setw(15) << "Санкт-Петербург"<<endl
    <<setw(15)<< "Иванов" <<setw(15) << "Сергей" << setw(15) <<"Осиновая 3" << setw(15) << "Находка"<<endl
    <<setw(15)<< "Сидоров" <<setw(15) << "Иван" << setw(15) <<"Березовая 21" << setw(15) << "Калининград"<<endl;
    
    return 0;
}
Заранее благодарен.
0
135 / 22 / 1
Регистрация: 19.10.2012
Сообщений: 42
28.01.2013, 00:09 20
to Nicholas
тоже думал, но больше чем
C++
1
cout<<"..............................................................."<<endl;
заменить на
C++
1
cout<<setfill('.')<<setw(4*15)<<'.'<<endl<<setfill(' ');
(в выше написанном коде) так и ничего не додумал.

............................................................................
Интересует задание 5 глава 3
Решение всех упражнений из книги Р. Лафоре "Объектно-ориентированное программирование в С++"

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n=20; //работает корректно при n%2=0
for (int i=1; i<=n; i++)
    {
        cout<<setw(n/2-i/2);
        if (i%2)
            {
                for(int j=1; j<=i; j++)
                        cout<<'X';
                cout<<endl;
            }
    }
system("pause"); 
return 0;
}
Как правильно сделать с пробелами во втором цикле (в соответствии с указанием в задании)? Я что-то не понимаю. Буду благодарен за любой ответ.
0
28.01.2013, 00:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2013, 00:09
Помогаю со студенческими работами здесь

Ошибки в книги Р.Лафоре "Объектно-Ориентирование программирование в C++"
Добрый день всем присутствующим. Хотелось бы обсудить книгу Robert Lafore Object-Oriented...

Ориентированное программирование в С++ Р. Лафоре
Доброго времени суток форумчане! Хочу вот закинуть себе книгу &quot;Объектно-ориентированное...

Объектно-ориентированное программирование
Составить описание класса прямоугольников со сторонами, параллельными осям координат. Предусмотреть...

Объектно-ориентированное программирование
Друзья, прошу помощи, накопил кучу долгов по учёбе, совершенно нет времени разобраться с задачами,...

Объектно -ориентированное программирование
описать классы используя наследование Пар (масса, удельная теплота парообразования, количество...

Объектно-ориентированное программирование
Добрый вечер, помогите пожалуйста написать программу) Класс прямая(y=ax+b),члены класса...

Объектно-ориентированное программирование
Составить программу для игры в шахматы. Каждая уникальная шахматная фигура выступает в качестве...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru