Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 08.06.2018, 12:47   #161
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,327
По умолчанию

Я собираюсь почитать книжку про структуры.
Какую программу мне на эту тему написать?
мой канал на Ютубе: youtube.com/channel/UCdtIJx_8tDGrc9n-Y0JsllA
jura_k вне форума Ответить с цитированием
Старый 08.06.2018, 12:52   #162
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,103
По умолчанию

Ну вон прошлый пост был про книгу - сделайте АРМ Библиотека с книжками, их характеристиками, читателями и их книгами, списками желаний и т.д.
p51x вне форума Ответить с цитированием
Старый 08.06.2018, 18:44   #163
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,327
По умолчанию

Это вы уже не в структуры, а в базы данных полезли.
Число читателей постоянно меняется (увеличивается). Это что же, делать структуру переменной длины? Это в мои планы не входит. Удлинять массив тоже надо уметь.
мой канал на Ютубе: youtube.com/channel/UCdtIJx_8tDGrc9n-Y0JsllA
jura_k вне форума Ответить с цитированием
Старый 08.06.2018, 18:52   #164
alexzk
Форумчанин
 
Регистрация: 12.04.2017
Сообщений: 889
По умолчанию

Изобретите std::vector. Можно сразу в виде шаблона. Заодно, на будующее, у вас будет отличный массив переменной длины. Потом, перейдите к std::map и погрузитесь в чудный мир коллюзий и хешей.
С этими двумя ваша программисткая сила возрастет в 15 раз.
Только прийдется писать нормальные имена. Имена вида а-б-с, в будущем вас убьют (медленный яд, срабатывает через 3-4 мес после написания).

Последний раз редактировалось alexzk; 08.06.2018 в 18:55.
alexzk вне форума Ответить с цитированием
Старый 08.06.2018, 21:49   #165
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,327
По умолчанию

Его изобрели ещё до меня в Visual C++ 7 в 2002-ом году. Об этом написано в книге Черносвитова.
После компиляции программы будет всё равно, как назывались переменные.
мой канал на Ютубе: youtube.com/channel/UCdtIJx_8tDGrc9n-Y0JsllA
jura_k вне форума Ответить с цитированием
Старый 08.06.2018, 21:55   #166
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

Не все равно автору будет ошибки искать или возвращаться к проге через некоторое время
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.06.2018, 12:40   #167
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,327
По умолчанию

Дано: "Heroes III".
Надо: нарисовать карту, состоящую из дуг 1/8 окружности.
Среда разработки: MS-DOS, Turbo C, Windows 95; Celeron 333.

Для этого надо нарисовать границу окружности, а потом составить карту из них.
Программа, рассчитывающая границу окружности:
Код:
/*   Радиус   */

#include <math.h>
#include <stdio.h>

main ()
{
   int a, b, c, d;
   FILE *g;

   /*   a - радиус, для которого ведётся расчёт
        b - максимальное значение, для которого считается квадратный корень
        c - счётчик
        d - рассчитанное значение границы окружности   */

   g = fopen ("1.txt", "w");
   for (a = 1; a < 61; a++)   /*   внешний радиус 1/8 окружности   */
   {
      b = a / sqrt (2) + 2;   /*   верхняя граница расчетов   */
      fprintf (g, "r = %i\n", a);
      for (c = 0; c < b; c++)
      {
	 if (c == a) break;
	 d = sqrt (a * a - c * c - .0001) + 1;
	 if (d < c) break;
	 if (d == a) continue;
	 fprintf (g, "%i - %i\n", c, d);
      }

      fprintf (g, "\n");
   }

   fclose (g);
}
В результате получается файл, содержащий рассчитанные границы окружностей различных радиусов.
Но окружность получается неровная. После ручной правки получается следующее:
Цитата:
r = 1

r = 2

r = 3

r = 4
3 - 3

r = 5
3 - 4

r = 6
4 - 5

r = 7
4 - 6
5 - 5

r = 8
4 - 7
5 - 7
6 - 6

r = 9
5 - 8
6 - 7

r = 10
5 - 9
6 - 9
7 - 8
Скачать заготовки карт 3 - 12: yadi.sk/d/E7Bi8tVh3Xp2e9
Скачать программу для расчёта радиусов: yadi.sk/d/0C1Ga-OX3Xp2zG
Скачать файл с рассчитанными радиусами: yadi.sk/i/rWN_PXeC3Xp39B
Получились такие заготовки карт:











мой канал на Ютубе: youtube.com/channel/UCdtIJx_8tDGrc9n-Y0JsllA
jura_k вне форума Ответить с цитированием
Старый 27.06.2018, 07:53   #168
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,327
По умолчанию

ООП.
Во вложении программа и код программы.

Код:
/*   p125
     Язык Borland C++ 3.1
     Структуры   */

#include <conio.h>
#include <iostream.h>
#include <stdio.h>


/*   Класс: queue   */

class queue
{
   int a [10];       //   очередь
   int begin, end;   //   маркеры начала и конца очереди

public:
   void initialization ();   //   инициализация пустой очереди
   void put (int);           //   поместить число в очередь
   get ();                   //   взять число из очереди
};

void queue::initialization ()
{
   begin = end = 0;
}

void queue::put (int d)
{
   if (end == 10)
      cout << "Очередь полна.\n";
   else
      a [end++] = d;
}

queue::get ()
{
   if (begin == end)
   {
      cout << "Очередь пуста.\n";
      return 0;
   }

   return a [begin++];
}


/*   Структуры   */

struct ac
{
   int a;
   char b;
};

struct ad   //   поле битов
{
   int b1: 1; int b2: 1; int b3: 1; int b4: 1;
   int b5: 1; int b6: 1; int b7: 1; int b8: 1;
};

union ae
{
   char a;
   struct ad bb;
};


ee (struct ac);   //   передача структуры в функцию
ef (union ae);    //   декодирование символа

int j = 100;


main ()
{
   int a, j;
   char d [80];
   float g;

   struct aa
   {
      int a;
      char b;
   };

   struct ab
   {
      int a;
      char b;
   };

   struct aa bb;
   struct ab bc;
   struct ac bd;
   union ae be;
   queue dd, de;   //   очередь

   printf ("? (1-2) ");
   scanf ("%i", &a);
   if (a == 1) goto aaa;   //   ввод данных
   if (a == 2) goto aab;   //   простые программы
   printf ("\n");
   return 0;

aaa:
   /*   p129   */
   printf ("3. Введите декодируемый символ:\n");
   do {
      be.a = getche ();
      printf (": ");
      ef (be);
      printf ("\n");
   } while (be.a != 'q');

   /*   p164   */
   cout << "4. C++ - хороший язык.\n";
   printf ("Можно использовать функцию printf ().\n");
   cout << "Введите число: ";
   cin >> a;
   cout << "Вы ввели число " << a << ".\n";
   cout << "Введите строку: ";
   cin >> d;
   cout << d;
   g = 1.2345;
   cout << "\nПеременная типа float g = " << g << ".\n";

   goto aaz;

aab:
   /*   p125   */
   bb.a = 1;
   bb.b = 'f';
   bc.a = bb.a;
   bc.a++;

   /*   p126   */
   bd.a = 1;
   bd.b = '2';
   ee (bd);   //   передача структуры в функцию

   /*   p166   */
   j = 5;
   cout << "5. Локальная переменная " << j << ".\n";
   cout << "Глобальная переменная " << ::j << ".\n";

   /*   p169   */
   dd.initialization ();
   de.initialization ();
   dd.put (7);
   dd.put (9);
   dd.put (11);
   cout << "6. " << dd.get () << ", ";
   cout << dd.get () << ", ";
   cout << dd.get () << ", ";
   cout << dd.get () << ".\n";

   dd.put (7);
   dd.put (9);
   dd.put (11);
   cout << dd.get () << ", " << dd.get () << ", " << dd.get () << ", "
	<< dd.get () << ".\n";

   for (a = 0; a < 12; a++) de.put (a * a);
   for (a = 0; a < 12; a++) cout << de.get () << " ";
   cout << "\n";

aaz:
   getch ();
   printf ("\n");
   return 0;
}


ee (struct ac bb)
{
   printf ("2. %i, %i.\n", bb.a, bb.b);
   return 0;
}

ef (union ae bc)
{
   if (bc.bb.b8) printf ("1"); else printf ("0");
   if (bc.bb.b7) printf ("1"); else printf ("0");
   if (bc.bb.b6) printf ("1"); else printf ("0");
   if (bc.bb.b5) printf ("1"); else printf ("0");
   if (bc.bb.b4) printf ("1"); else printf ("0");
   if (bc.bb.b3) printf ("1"); else printf ("0");
   if (bc.bb.b2) printf ("1"); else printf ("0");
   if (bc.bb.b1) printf ("1"); else printf ("0");
   return 0;
}
Вложения
Тип файла: 7z Tc.7z (21.9 Кб, 5 просмотров)
мой канал на Ютубе: youtube.com/channel/UCdtIJx_8tDGrc9n-Y0JsllA
jura_k вне форума Ответить с цитированием
Старый 10.08.2018, 05:16   #169
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,327
По умолчанию

А. Черносвитов пишет:
Код:
// This is the main project file for VC++ application project 
// generated using an Application Wizard.

#include "stdafx.h"
#using <mscorlib.dll>
#include <tchar.h>
#include <stdlib.h>

using namespace System;


public __gc
class Man
{
private:
   String *m_name;
   int m_age;

public:
   Man ()
   {
      m_name = S"Dummy";
      m_age = 0;
   }

   Man (String *n, int a)
   {
      m_name = n;
      m_age = a;
   }

   String *getname () {return m_name;}
   int getage () {return m_age;}
};


// This is the entry point for this application
int _tmain(void)
{
    int managed __gc [] = new int __gc [rand () % 100 + 1];
   int *unmanaged = new int [rand () % 100 + 1];
   int i;
   Man *men [,] = new Man *[2, 2];

   Console::WriteLine (S"Hello World");
   Console::WriteLine (managed -> Count);
   Console::WriteLine (managed -> Rank);

   men [1, 1] = new Man ("Alex Black", 54);
   Console::WriteLine (men -> Count);
   Console::WriteLine (men -> Rank);
   Console::WriteLine (men [1, 1] -> getname ());
   Console::WriteLine (men [1, 1] -> getage ());

   for (i = 0; i < 5; i++) Console::WriteLine (men [i, i] -> getname ());

   return 0;
}
По моему мнению, надо делать вот так:
Код:
//   p171
//   Язык Visual C++ 7.0
//   Начальный курс C и C++

// p171.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <iostream.h>


//   Класс "queue"

class queue
{
protected:
   int a [10];      //   очередь
   int begin, end;      //   начало и конец очереди
public:
   void initialization ();      //   инициализация
   void put (int);      //   поместить число в очередь
   int get ();   //   получить число из очереди
};

void queue::initialization ()
{
   begin = end = 0;
}

void queue::put (int g)
{
   if (end == 10)
   {
      cout << "Queue is full ";
   }
   else
      a [end++] = g;
}

queue::get ()
{
   if (begin == end)
   {
      cout << "Queue is empty\n";
      return 0;
   }

   return a [begin++];
}


//   Производный класс "aa"

class aa:public queue
{
   int sum;      //   Сумма чисел
public:
   int d ();      //   Вычислить сумму чисел
   void show ();      //   Показать сумму чисел
};

aa::d ()
{
   int g;

   sum = 0;
   for (g = begin; g < end; g++)
                     sum += a [g];

   return sum;
}

void aa::show ()
{
   cout << "Sum of queue is " << sum << ".\n";
}


//   Функции
int ee (int);      //   Перегрузка функции
double ee (double);
long ee (long);


int _tmain (int argc, _TCHAR* argv[])
{
   int a;
   double d;
   long g;
   unsigned j;
   aa bb;      //   Объект класса "очередь" (наследник)

   a = 7;
   d = 1.1;
   g = 20;
   j = 4;

   //   p171
   cout << "1. ";
   cout << ee (a) << ", ";
   cout << ee (d) << ", ";
   cout << ee (g) << ".\n";

   cout << ee (10) << ", ";
   cout << ee (10.1) << ", ";
   cout << ee (70000.) << ".\n";
   
   cout << ee (10l) << ", ";
   cout << ee ((int) j) << ", ";
   cout << ee ((int) 4u) << ".\n";

   //   p173
   cout << "2. ";
   bb.initialization ();
   for (a = 0; a < 5; a++)
   {
      bb.put (100 + a);
      bb.d ();
      bb.show ();
   }

   for (a = 0; a < 6; a++)
   {
      bb.d ();
      bb.show ();
      bb.get ();
   }

   return 0;
}


int ee (int a)
{
   cout << "using int ";
   return (long) a * a;
}

double ee (double a)
{
   cout << "using double ";
   return a * a;
}

long ee (long a)
{
   cout << "using long ";
   return a * a;
}
мой канал на Ютубе: youtube.com/channel/UCdtIJx_8tDGrc9n-Y0JsllA
jura_k вне форума Ответить с цитированием
Старый 03.12.2019, 20:23   #170
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,327
По умолчанию

Документ для распечатки: https://yadi.sk/i/qaywBJU--ElFSQ

Текст программы: https://yadi.sk/d/nQ6SvR8RVcpBag

Исполняемый файл: https://yadi.sk/d/uYaQnyIwI5JN8g
Код:
/*   p42
     Язык Turbo C 2.0
     Начальный курс C и C++. Часть 1.

a  - простые переменные
aa - ввод данных
ba - глобальные константы
ca - простые внешние функции (int & void)
da - внешние функции, возвращающие значения
ea - глобальные переменные
fa - массивы
ga - указатели

1 - 15k, 2 - 20k, 3 - 21k, 5 - 22k, 12 - 23k
18 - 24k, 22 - 28k, 27 - 29k, 31 - 30k, 35 - 31k
*/

#include <conio.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>

float ba = 3.141592653589;   /*   число пи   */

ca (); cb (); cc ();
cd (float);
cg (int);

float da (float);

char ea;


main ()
{
   int a, b, c;
   float d, e;
   unsigned g;
   char j;

   int aa, ab;   /*   ввод данных   */
   float ad;
   char ag;

   char fa [80], fb [20], fc [10];   /*   ввод данных   */
   char fd [5] [20];
   char fj [] = "String of Letters in Different Registers";
   int fg [10] = {1, 23, 4, 7, 8, 0, 1, 9, 4, 7};

   float *ga;
   int *gd, *ge;
   char *gg;

   printf ("? (1-3) ");
   scanf ("%i", &aa);
   if (aa == 1) goto aaa;   /*   простые программы            */
   if (aa == 2) goto aab;   /*   ввод данных                  */
   if (aa == 3) goto aac;   /*   дополнительный ввод данных   */
   printf ("\n");
   return;

aaa:
   a = 1996;
   printf ("1. Сейчас %i год.\n", a);
   printf ("4. ");
   ca (); cb (); cc ();
   printf ("5. ");
   a = 5;
   cd (a);
   printf ("6. Длина окружности радиуса %i равна %.4g.\n", a, da (a));
   printf ("7. ");
   for (a = 10; a; a--) printf ("%i ", a);
   printf ("Старт!\n");
   g = 60000;
   a = g;
   printf ("8. a = %i, g = %u.\n", a, g);
   j = 'c';

   printf ("10. %c", j);
   j = '+';
   printf ("%c%c\n", j, j);
   a = 5;
   b = 60;
   a++;
   ++b;
   printf ("15. a = %i, b = %i.\n", a, b);
   printf ("a = %i, b = %i.\n", a++, ++b);
   a = 101 <= 105;
   b = 101 > 105;
   printf ("16. true: %i, false: %i.\n", a, b);

   printf ("\n23.\n");
   for (a = 0; a < 10; a++)
   {
      for (b = 0; b < 6; b++) printf ("%i * %i = %-4i", a, b, a * b);
      printf ("\n");
   }

   printf ("\n24. ");
   for (a = 0; a < 1000; a++)
   {
      printf ("%i - %i  ", a, a * a * a);
      if (a * a * a > 10000) break;
   }

   printf ("\n\n25. ");
   for (a = 0; a < 1000; a++)
   {
      if (a % 7) continue;
      printf (" %i", a);
   }

   printf ("\n\n27. ");
   strcpy (fa, "Привет, ");
   strcpy (fb, "мир!");
   puts (fa); puts (fb);
   strcat (fa, fb);
   puts (fa); puts (fb);

   strcpy (fd [0], "Turbo Basic");
   strcpy (fd [1], "Turbo Pascal");
   strcpy (fd [2], "Borland C++");
   strcpy (fd [3], "Turbo Prolog");
   strcpy (fd [4], "Paradox");
   printf ("30. Неотсортированный массив:");
   for (a = 0; a < 10; a++) printf (" %i", fg [a]);
   for (a = 0; a < 9; a++)
      for (b = 0; b < 9 - a; b++)
	 if (fg [b] < fg [b + 1])
	 {
	    c = fg [b];
	    fg [b] = fg [b + 1];
	    fg [b + 1] = c;
	 }

   printf ("\nОтсортированный массив:");
   for (a = 0; a < 10; a++) printf (" %i", fg [a]);
   d = 10.1;
   ga = &d;
   e = *ga;
   printf ("\n31. d = %g, e = %g.\n", d, e);
   (*ga)++;
   printf ("d = %g, e = %g.\n", d, e);
   e = 1 + *ga * e;
   printf ("d = %g, e = %g.\n", d, e);
   a = 10;
   gd = &a;
   ge = gd;
   printf ("32. %p, ", gd);
   printf ("%p, ", ge);
   printf ("%i, %i.\n", a, *ge);

   d = 10.1;
   gd = (int *) &d;
   e = *gd;
   printf ("33. d = %g, e = %g.\n", d, e);
   gd = &a;
   printf ("34. %p, ", gd);
   printf ("%p.\n", ++gd);
   a = 0;
   printf ("35. Строка будет напечатана прописными буквами.\n");
   while (fj [a]) printf ("%c", toupper (fj [a++]));
   gg = fj;
   printf ("\n36. Строка будет написана строчными буквами.\n");
   while (*gg) printf ("%c", tolower (*gg++));
   printf ("\n");

   goto aaz;

aab:
   printf ("Введите два целых числа: ");
   scanf ("%i%i", &aa, &ab);
   printf ("Введите рациональное число: ");
   scanf ("%f", &ad);
   printf ("Введите символ: ");
   ag = ea = getche ();
   printf ("\nВведите строку: ");
   gets (fa); gets (fa);
   printf ("Введите вторую строку: ");
   scanf ("%[0123456789]%s", fb, fc);

   d = ba * 2 * aa;
   printf ("2. Радиус %i, длина %.4g.\n", aa, d);
   d = ba * 2 * ad;
   e = ba * ad * ad;
   printf ("3. Радиус %g, длина %.4g, площадь %.4g.\n", ad, d, e);
   printf ("9. ");
   cg (aa);
   printf ("\n11. ");
   if (ag == 'a') printf ("Вы нажали клавишу 'a'.\n");
   printf ("Вы нажали клавишу '%c'.\n", ag);
   printf ("12. Я знаю ваше имя; ваше имя '%s'.\n", fa);
   printf ("13. %s..%s.\n", fb, fc);
   a = ab;
   if (!a) a = 1;
   printf ("14. Целая часть: %i, остаток от деления %i.\n", aa / a, aa % a);

   printf ("17. Число %g ", ad);
   if (ad > 0)  {a = 1;  printf ("положительное, a = %i.\n", a);}
   if (ad == 0) {a = 0;  printf ("равно нулю, a = %i.\n", a);}
   if (ad < 0)  {a = -1; printf ("отрицательное, a = %i.\n", a);}
   printf ("18. Число %g ", ad);
   if (ad > 0) {a = 1; printf ("положительное.\n");}
      else if (ad < 0) {a = -1; printf ("отрицательное.\n");}
	 else {a = 0; printf ("равно нулю.\n");}

   printf ("19. ");
   if (ag >= 'А'  &&  ag <= 'Я')
      switch (ag)
      {
	 case 'А': printf ("Алексеев.\n"); break;
	 case 'Б': printf ("Булгаков.\n"); break;
	 case 'В': printf ("Волошин.\n"); break;
	 case 'Г': printf ("Гоголь.\n"); break;
	 default: printf ("Достоевский, Зощенко и др.\n"); break;
      }
   else printf ("Надо было ввести прописную русскую букву.\n");

   printf ("20. ");
   if (ag >= 'А'  &&  ag <= 'Я')
      switch (ag)
      {
	 case 'А': printf ("Алексеев.\n");
	 case 'Б': printf ("Булгаков.\n");
	 case 'В': printf ("Волошин.\n");
	 case 'Г': printf ("Гоголь.\n");
	 default: printf ("Достоевский, Зощенко и др.\n"); break;
      }
   else printf ("Надо было ввести прописную русскую букву.\n");

   printf ("28. Строка '%s' имеет длину %i символов.\n", fa, strlen (fa));

   goto aaz;

aac:
   /*   1   */
   printf ("21. Введите символ: ");
   for (;;)
   {
      j = getchar (); j = getchar ();
      if (j == 'Q') break;
      printf ("%c\n", j);
   }

   /*   2   */
   printf ("22. Введите число от 1 до 100: ");
   randomize ();
   a = random (100) + 1;   /*   загаданное число   */
   c = 0;		   /*   счетчик попыток    */
   do {
      scanf ("%i", &b);
      c++;
      if (a < b) printf ("Загаданное число меньше.\n");
      if (a > b) printf ("Загаданное число больше.\n");
   } while (a - b);
   printf ("Вы угадали число.\n");
   printf ("Затратили на угадывание %i попыток.\n", c);

   /*   3   */
   printf ("26. Введите строку длиной менее 80 символов: ");
   gets (fa); gets (fa);
   printf ("Вы ввели строку '%s'.\n", fa);
   printf ("Введите еще одну строку длиной менее 80 символов: ");
   scanf ("%s", fa);
   printf ("Вы ввели строку: ");
   puts (fa);

aaz:
   getch ();
   printf ("\n");
}


ca () {printf ("Вызвали первую функцию.\n");}
cb () {printf ("Вызвали вторую функцию.\n");}
cc () {printf ("Вызвали третью функцию.\n");}

cd (float a) {printf ("Длина окружности радиуса %g равна %.4g.\n", a, ba * 2 * a);}

cg (int a)
{
   int b;
   for (b = 0; b < a; b++) printf ("%c", ea);
}

float da (float a) {return ba * 2 * a;}
мой канал на Ютубе: youtube.com/channel/UCdtIJx_8tDGrc9n-Y0JsllA
jura_k вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C под DOS jura_k Общие вопросы C/C++ 26 01.08.2015 10:03
Из Dos под Win Nozema Фриланс 3 30.10.2009 18:34
C++ под DOS. Функции Xeon332 Общие вопросы C/C++ 34 29.11.2008 19:01
borland C++под DOS Xeon332 Помощь студентам 9 20.09.2008 20:50


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS