Язык Visual C++ 6.0
Начальный курс C
Функции. Large output */
#include <math.h>
// Глобальные переменные и константы
CDC *aa; // указатель на контекст вывода
int ad; // координата 'y'
CString ag, ah, ai;
int aj = 7;
int ak = 1; // флаг обработки данных
int al;
double am = 3.141592653589; // число 'пи'
// Функции 'void'
void bb (CString); // вывод строки на экран
void be (int a [10]);
void bh (int, int);
void bk (int *, int *);
void bn ();
void bo ();
void bp ();
void bt ();
void bq (int a [3] [3], int b [3] [3], int c [3] [3]);
void CP106View::OnDraw (CDC *pDC)
{
CP106Doc *pdoc = GetDocument ();
ASSERT_VALID (pdoc);
int a, b, c, d, e;
int aj = 10;
unsigned g;
char j;
double m, n;
int cc [10] = {1, 3, -5, 7, 9, 0, 22, 4, 6, 8};
int cd [10] = {1, 23, 4, 7, 8, 0, 1, 9, 4, 7};
int ce [] = {6, 4, 9, 3, 2, 1, 5, 7, 8, 10};
int cf [3] [3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
int cg [3] [3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int ch [3] [3], ci [10] [12];
int cr [] = {0, 2, 4, 5, 6, 7, 9, 12};
char cl [50], cm [20];
char co [] = "String of Letters in Different Registers";
char cp [] = "величина";
char cq [] = "строка";
double *dd;
int *dg, *dh;
int **dj;
char *dm;
aa = pDC; // указатель на контекст вывода
ad = 10; // координата 'y'
if (ak == 2) goto aaa; // использование меню
if (ak == 3) goto aab;
if (ak == 4) goto aac;
if (ak == 5) goto aad; // генерация линейного массива
// 109.41.1 Сортировка массива
ag = "1. До сортировки: ";
for (a = 0; a < 10; a++)
{
ah.Format ("%i ", cc [a]);
ag += ah;
}
bb (ag);
be (cc); // сортировка массива
ag = "После сортировки: ";
for (a = 0; a < 10; a++)
{
ah.Format ("%i ", cc [a]);
ag += ah;
}
bb (ag);
// 108.40.2
a = 5;
b = 10;
ag.Format ("2. Сначала a = %i, b = %i.", a, b);
bb (ag);
bh (a, b);
ag.Format ("Теперь a = %i, b = %i.", a, b);
bb (ag);
bb ("Ничего не изменилось.");
bk (&a, &b);
ag.Format ("Теперь a = %i, b = %i.", a, b);
bb (ag);
bb ("Значения поменялись.");
// 107.39.3
ag.Format ("3. aj = %i. (1)", aj);
bb (ag);
aj++;
{
int aj = 200;
ag.Format ("aj = %i. (2)", aj);
bb (ag);
aj++;
}
ag.Format ("aj = %i. (3)", aj);
bb (ag);
aj++;
bn ();
ag.Format ("aj = %i. (4)", aj);
bb (ag);
aj++;
bo ();
ag.Format ("aj = %i. (5)", aj);
bb (ag);
aj++;
bo ();
ag.Format ("aj = %i. (6)", aj);
bb (ag);
aj++;
// 106.38.4
ad += 25;
for (a = 1; a <= 3; a++)
{
ag.Format ("Вызов номер %i. (1)", a);
bb (ag);
bp ();
ag.Format ("Вызов номер %i. (2)", a);
bb (ag);
bp ();
}
// 110.42.5 Умножение матриц
bq (cf, cg, ch);
for (a = 0; a < 3; a++)
for (b = 0; b < 3; b++)
{
ag.Format ("%i", ch [a] [b]);
aa -> TextOut (400 + a * 30, 10 + b * 25, ag);
}
// 67.2.6 Коды символов
for (a = 0; a < 26; a++)
{
ag.Format ("%c", a + 'a');
aa -> TextOut (1070, a * 25 + 10, ag);
ag.Format ("%i", a + 'a');
aa -> TextOut (1100, a * 25 + 10, ag);
}
// 81.19.7 Таблица Пифагора
for (a = 0; a < 10; a++)
for (b = 0; b < 10; b++)
{
ag.Format ("%i", a * b);
aa -> TextOut (250 + a * 30, 110 + b * 25, ag);
}
// 221.5.8 Евклидова норма вектора
c = 0;
for (a = 0; a < 5; a++)
{
e = 0;
for (b = 0; b < 5; b++)
{
d = rand () % 100;
e += d * d;
ci [a] [b] = d;
if (c < d) c = d;
ag.Format ("%i", d);
aa -> TextOut (250 + b * 30, 385 + a * 25, ag);
}
ag.Format ("%.4g", sqrt (e));
aa -> TextOut (420, 385 + a * 25, ag);
}
ag.Format ("8. Максимальное значение %i.", c);
aa -> TextOut (250, 680, ag);
// 227.2.9 Сортировка строк матрицы
for (a = 0; a < 5; a++)
{
for (b = 0; b < 4; b++)
for (c = 0; c < 4; c++)
if (ci [a] [c] > ci [a] [c + 1])
{
d = ci [a] [c];
ci [a] [c] = ci [a] [c + 1];
ci [a] [c + 1] = d;
}
for (b = 0; b < 5; b++)
{
ag.Format ("%i", ci [a] [b]);
aa -> TextOut (250 + b * 30, 535 + a * 25, ag);
}
}
// 78.1.10
al = 1;
bt ();
// 87.6.11 Лечебное голодание
m = 96;
n = exp (1 / 30. * log (70 / 96.));
for (a = 0; a < 31; a++)
{
ag.Format ("%i - %.4g", a, m);
aa -> TextOut (600 + a / 16 * 100, 10 + a % 16 * 25, ag);
m *= n;
}
// 35.3.12 Таблица сложения
for (a = 0; a < 10; a++)
for (b = 0; b < 10; b++)
{
ag.Format ("%i", a + b);
aa -> TextOut (600 + a * 30, 435 + b * 25, ag);
}
return;
aaa: // Меню <No input>
ak = 1;
// 81.20.1
ag = "1. ";
for (a = 0; a < 50; a++)
{
b = a * a * a;
ah.Format ("%i, %i ", a, b);
ag += ah;
if (b > 4000) break;
}
aa -> TextOut (10, 10, ag);
// 82.21.2
ag = "2. ";
for (a = 0; a < 240; a++)
{
if (a % 7) continue;
ah.Format ("%i ", a);
ag += ah;
}
aa -> TextOut (10, 35, ag);
// 205.7.3
ag = "3. ";
for (a = 0; a < 85; a++)
{
if (a % 2) continue;
ah.Format ("%i ", a);
ag += ah;
}
aa -> TextOut (10, 60, ag);
// 42.1.4
a = 1996;
ag.Format ("4. Сейчас %i год.", a);
aa -> TextOut (10, 135, ag);
// 50.7.5
ag = "5. ";
for (a = 10; a; a--)
{
ah.Format ("%i ", a);
ag += ah;
}
ag += "Старт.";
aa -> TextOut (10, 160, ag);
// 54.8.6
g = 60000;
a = g;
ag.Format ("6. a = %i, g = %u.", a, g);
aa -> TextOut (10, 185, ag);
// 59.7.7
j = 'c';
ag.Format ("7. %c", j);
j = '+';
ag = ag + j + j;
aa -> TextOut (10, 210, ag);
// 68.11.8
a = 5;
b = 60;
a++;
++b;
ag.Format ("8. a = %i, b = %i.", a, b);
aa -> TextOut (10, 235, ag);
ag.Format ("a = %i, b = %i.", a++, ++b);
aa -> TextOut (10, 260, ag);
// 69.12.9
a = 101 <= 105;
b = 101 > 105;
ag.Format ("9. true %i, false %i.", a, b);
aa -> TextOut (10, 285, ag);
// 85.23.10
strcpy (cl, "Привет, ");
strcpy (cm, "мир.");
aa -> TextOut (10, 335, cl);
aa -> TextOut (10, 360, cm);
strcat (cl, cm);
aa -> TextOut (10, 385, cl);
aa -> TextOut (10, 410, cm);
// 89.26.11
aa -> TextOut (10, 460, "11. Неотсортированный массив: ");
ag = "";
for (a = 0; a < 10; a++)
{
ah.Format ("%i ", cd [a]);
ag += ah;
}
aa -> TextOut (10, 485, ag);
for (a = 0; a < 9; a++)
for (b = 0; b < 9 - a; b++)
if (cd [b] > cd [b + 1])
{
c = cd [b];
cd [b] = cd [b + 1];
cd [b + 1] = c;
}
aa -> TextOut (10, 510, "Отсортированный массив: ");
ag = "";
for (a = 0; a < 10; a++)
{
ah.Format ("%i ", cd [a]);
ag += ah;
}
aa -> TextOut (10, 535, ag);
// 91.27.12
m = 10.1;
dd = &m;
n = *dd;
ag.Format ("12. m = %g, n = %g.", m, n);
aa -> TextOut (10, 585, ag);
(*dd)++;
ag.Format ("m = %g, n = %g.", m, n);
aa -> TextOut (10, 610, ag);
n = 1 + *dd * n;
ag.Format ("m = %g, n = %g.", m, n);
aa -> TextOut (10, 635, ag);
// 91.28.13
a = 10;
dg = &a;
dh = dg;
ag.Format ("13. %p, %p, %i, %i.", dg, dh, a, *dh);
aa -> TextOut (10, 685, ag);
// 92.29.14
m = 10.1;
dg = (int *) &m;
n = *dg;
ag.Format ("14. m = %g, n = %g.", m, n);
aa -> TextOut (10, 710, ag);
// 92.30.15
dg = &a;
ag.Format ("15. %p.", dg);
aa -> TextOut (350, 385, ag);
dg++;
ag.Format ("%p.", dg);
aa -> TextOut (350, 410, ag);
// 94.31.16
aa -> TextOut (350, 135, "16. Строка будет напечатана прописными буквами.");
ag = "";
a = 0;
while (co [a]) ag += toupper (co [a++]);
aa -> TextOut (350, 160, ag);
aa -> TextOut (350, 185, "Строка будет напечатана строчными буквами.");
ag = "";
dm = co;
while (*dm) ag += tolower (*dm++);
aa -> TextOut (350, 210, ag);
// 96.32.17
a = 7;
dg = &a;
dj = &dg;
ag.Format ("17. a = %i, dg = %p, dj = %p.", a, dg, dj);
aa -> TextOut (350, 285, ag);
(*dg)++;
ag.Format ("a = %i, dg = %p, dj = %p.", a, dg, dj);
aa -> TextOut (350, 310, ag);
**dj = 12;
ag.Format ("a = %i, dg = %p, dj = %p.", a, dg, dj);
aa -> TextOut (350, 335, ag);
// 99.4.18
ag = "";
for (a = 0; a < 80; a++) ag += '-';
aa -> TextOut (350, 235, ag);
// 120.47.19
ag = "19. ";
dg = dh = (int *) malloc (40 * sizeof (int));
if (!dg)
{
aa -> TextOut (10, 85, "19. Недостаточно памяти.");
return;
}
for (a = 0; a < 40; a++) *(dg + a) = a;
for (a = 0; a < 40; a++)
{
ah.Format ("%i ", *dg++);
ag += ah;
}
aa -> TextOut (10, 85, ag);
free (dh);
// 171.1.20
aa -> TextOut (350, 435, "20. Привет, мир.");
// 177.1.21
j = 65;
ag.Format ("21. %c, %i.", j, j);
aa -> TextOut (350, 460, ag);
// 182.1.22
a = 3;
b = 2;
c = a++ * b++;
ag.Format ("22. a = %i, b = %i, c = %i.", a, b, c);
aa -> TextOut (350, 485, ag);
a = 3;
b = 2;
c = ++a * ++b;
ag.Format ("a = %i, b = %i, c = %i.", a, b, c);
aa -> TextOut (350, 510, ag);
// 219.3.23 Сортировка массива
a = sizeof ce / sizeof ce [0]; // размер массива
for (b = 0; b < a - 1; b++)
for (c = 0; c < a - 1 - b; c++)
if (ce [c] > ce [c + 1])
{
d = ce [c];
ce [c] = ce [c + 1];
ce [c + 1] = d;
}
ag = "23. ";
for (b = 0; b < a; b++)
{
ah.Format ("%i ", ce [b]);
ag += ah;
}
aa -> TextOut (350, 535, ag);
// 59.1.24
// (a, b, c, d, e) - (b, c, d, k, x)
// m - y
a = false;
b = true;
c = true;
d = 5;
e = 3;
m = .5;
ag.Format ("24. %i, %i, %i; %i, %i, %i; %i, %i.", e < 2 * m, true, c, d % 2, !!c, !(e > m / 2), c && (e != m) && a, (b || c) && (e == m) || !a);
aa -> TextOut (350, 560, ag);
// 70.1.25 Машинный эпсилон
m = 1;
while (1 < 1 + m) m /= 2;
ag.Format ("25. Машинный эпсилон %.4g.", m);
aa -> TextOut (350, 585, ag);
// 101.1.26
ag = "26. ";
ag = ag + cp [6] + cp [7] + cp [2] + cp [3] + cp [4] + cp [5] + cp [1];
aa -> TextOut (350, 610, ag);
// 101.2.27
ag = "27. ";
ag = ag + cq [0] + 'е' + cq [1] + cq [4] + cq [5];
aa -> TextOut (350, 635, ag);
// 33.1.28
ag = "28. ";
for (a = 0; a < 10; a++) cl [a] = 0;
for (a = 0; a < 10; a++)
{
ah.Format ("%i ", cl [a]);
ag += ah;
}
aa -> TextOut (350, 660, ag);
// 40.8.29
a = 0;
for (b = 11; b < 100; b += 2) a += b;
ag.Format ("29. Сумма %i.", a);
aa -> TextOut (350, 685, ag);
// 49.6.30 Сумма факториалов
a = 1; // факториал
b = 0; // сумма факториалов
for (c = 1; c < 11; c++)
{
a *= c;
b += a;
}
ag.Format ("30. Сумма факториалов %i.", b);
aa -> TextOut (350, 710, ag);
// 108.6.31
a = 0;
for (b = -2; b < 11; b += 3) a += b;
ag.Format ("31. %i.", a);
aa -> TextOut (850, 135, ag);
// 108.7.32
a = 0;
for (b = 1; b < 11; b++) a += b;
ag.Format ("32. %i.", a);
aa -> TextOut (850, 160, ag);
// 216.1.33
a = 1;
b = 2;
c = a + b;
ag.Format ("33. Сумма %i.", c);
aa -> TextOut (850, 185, ag);
// 217.2.34
a = 2;
b = 3;
c = a * b;
a = 2 * c;
c = a * b;
ag.Format ("34. Результат %i.", c);
aa -> TextOut (850, 210, ag);
// 229.2.35
ag.Format ("35. %i, %i, %i, %i.", cr [3], *cr, *(cr + 4), *(cr + cr [2]));
aa -> TextOut (850, 235, ag);
// 47.5.36
ag.Format ("36. %i %i %i, ", (int) 6.9, (int) 6.2, 20 / 6);
ah.Format ("%i %i %i, ", 2 / 5, 20 % 6, 2 % 5);
ag += ah;
ah.Format ("%i.", 3 * 7 / 2 % 7 / 3 - (int) sin (1));
ag += ah;
aa -> TextOut (850, 260, ag);
// 47.6.37
ag.Format ("37. %g %i %i, ", 1 + 0., 20 / 4, 4 * 4);
ah.Format ("%g %g %i.", sqrt (16), sin (0), (int) -3.14);
ag += ah;
aa -> TextOut (850, 285, ag);
return;
aab: // Меню <Large output>
ak = 1;
// 111.4.1
for (a = 0; a < 10; a++)
for (b = 0; b < 12; b++)
{
ci [a] [b] = rand () % 41 - 20;
ag.Format ("%i", ci [a] [b]);
aa -> TextOut (10 + b * 35, 10 + a * 25, ag);
}
for (a = 0; a < 10; a++)
{
cl [a] = ci [a] [5] + ci [a] [6] + ci [a] [7];
ag.Format ("%.4g", cl [a] / 3.);
aa -> TextOut (460, 10 + a * 25, ag);
}
b = 0;
for (a = 1; a < 10; a++)
if (cl [a] > cl [b]) b = a;
ag.Format ("1. Самое тёплое лето было в %i-ом году, t = %.4g.", b + 1, cl [b] / 3.);
aa -> TextOut (10, 285, ag);
// 220.4.2 Таблица вычитания
for (a = 0; a < 10; a++)
for (b = 0; b < 10; b++)
{
ag.Format ("%i", a - b);
aa -> TextOut (580 + b * 30, 10 + a * 25, ag);
}
// 206.1.3 Таблица синусов
for (a = 0; a < 29; a++)
{
m = am * a / 56;
ag.Format ("%.4g", m);
aa -> TextOut (990, 10 + a * 25, ag);
ag.Format ("%.4g", sin (m));
aa -> TextOut (1070, 10 + a * 25, ag);
}
// 206.3.4
d = 0; // координаты вывода числа
e = 0;
for (a = 1; a < 5; a++)
for (b = 0; b < 10; b++)
for (c = 0; c < 10; c++)
if (a != b && a != c && b != c)
{
ag.Format ("%i%i%i", a, b, c);
aa -> TextOut (10 + d * 40, 335 + e * 25, ag);
d++;
if (d > 22)
{
d = 0;
e++;
}
}
return;
aac: // Меню <Large output 2>
ak = 1;
// 222.6.5
d = -1;
e = -1;
for (a = 0; a < 5; a++)
{
c = 0; // число нулей в строке
for (b = 0; b < 10; b++)
{
ci [a] [b] = rand () % 2;
ag.Format ("%i", ci [a] [b]);
aa -> TextOut (10 + b * 20, 10 + a * 25, ag);
if (ci [a] [b] == 0) c++;
}
ag.Format ("%i", c);
aa -> TextOut (230, 10 + a * 25, ag);
if (c > d) {d = c; e = a;}
}
ag.Format ("5. n = %i, line = %i.", d, e + 1);
aa -> TextOut (10, 160, ag);
// 222.7.6 Транспонирование матрицы
for (a = 0; a < 5; a++)
for (b = 0; b < 5; b++)
{
ci [a] [b] = rand () % 100;
ag.Format ("%i", ci [a] [b]);
aa -> TextOut (10 + b * 30, 210 + a * 25, ag);
}
for (a = 0; a < 4; a++)
for (b = a + 1; b < 5; b++)
{
c = ci [a] [b];
ci [a] [b] = ci [b] [a];
ci [b] [a] = c;
}
for (a = 0; a < 5; a++)
for (b = 0; b < 5; b++)
{
ag.Format ("%i", ci [a] [b]);
aa -> TextOut (10 + b * 30, 360 + a * 25, ag);
}
// 222.8.7 Сравнение строк матрицы
for (a = 0; a < 9; a++) // формирование двоичной матрицы
for (b = 0; b < 5; b++)
{
ci [a] [b] = rand () % 2;
ag.Format ("%i", ci [a] [b]);
aa -> TextOut (10 + b * 20, 510 + a * 25, ag);
}
ag = "7. Нет совпадающих строк.";
for (a = 0; a < 8; a++) // первая строка
{
for (b = a + 1; b < 9; b++) // вторая строка
{
d = 0;
for (c = 0; c < 5; c++) // сравнение двух строк
if (ci [a] [c] == ci [b] [c])
d++;
if (d == 5)
{
ag.Format ("7. Совпадают строки %i и %i.", a + 1, b + 1);
a = 8;
break;
}
}
}
aa -> TextOut (280, 10, ag);
// 229.5.8
d = -1;
e = -1;
for (a = 0; a < 9; a++)
{
c = 0; // сумма чисел в строке
for (b = 0; b < 5; b++) c += ci [a] [b];
ag.Format ("%g", c / 5.);
aa -> TextOut (130, 510 + a * 25, ag);
if (c > e) {d = a; e = c;}
}
ag.Format ("8. Строка %i.", d + 1);
aa -> TextOut (280, 35, ag);
// 68.6.9 Таблица синусов и косинусов
aa -> TextOut (220, 160, "x");
aa -> TextOut (270, 160, "sin x");
aa -> TextOut (350, 160, "cos x");
for (a = 0; a < 11; a++)
{
m = a / 10.; // аргумент x
b = 185 + a * 25; // ордината вывода
ag.Format ("%g", m);
aa -> TextOut (220, b, ag);
ag.Format ("%.4g", sin (m)); // таблица синусов
aa -> TextOut (270, b, ag);
ag.Format ("%.4g", cos (m)); // таблица косинусов
aa -> TextOut (350, b, ag);
}
return;
aad: // Меню <No input 2>. Генерация линейного массива.
ak = 1;
ag = "";
for (a = 0; a < 10; a++) // генерация линейного массива
{
cl [a] = rand () % 21 - 10;
ah.Format ("%i ", cl [a]);
ag += ah;
}
aa -> TextOut (10, 10, ag);
// 34.2.1 Сумма элементов
b = 0;
for (a = 0; a < 10; a++) b += cl [a];
ag.Format ("1. Сумма %i.", b);
aa -> TextOut (10, 110, ag);
// 36.4.2 Обращение массива
ag = "2. ";
for (a = 0; a < 10; a++) cl [a + 10] = cl [a];
for (a = 10; a < 20; a++)
{
ah.Format ("%i ", cl [a]);
ag += ah;
}
aa -> TextOut (10, 135, ag);
ag = "";
for (a = 0; a < 10; a++) cm [9 - a] = cl [a];
for (a = 0; a < 10; a++)
{
ah.Format ("%i ", cm [a]);
ag += ah;
}
aa -> TextOut (10, 160, ag);
// 37.5.3
a = b = c = 0;
for (d = 0; d < 10; d++)
{
if (cl [d] < 0) a++;
if (cl [d] == 0) b++;
if (cl [d] > 0) c++;
}
ag.Format ("3. Отрицательных %i, нулевых %i, положительных %i.", a, b, c);
aa -> TextOut (10, 185, ag);
// 48.4.4 Среднее арифметическое
a = 0;
for (b = 0; b < 10; b++) a += cl [b];
ag.Format ("4. Среднее арифметическое %g.", a / 10.);
aa -> TextOut (10, 210, ag);
// 109.1.5 Отклонение от среднего
m = a / 10.;
ag = "5. ";
for (a = 0; a < 10; a++)
{
ah.Format ("%g ", cl [a] - m);
ag += ah;
}
aa -> TextOut (10, 235, ag);
// 110.2.6 Максимальный элемент
a = 0;
for (b = 1; b < 10; b++)
if (cl [b] > cl [a]) a = b;
ag.Format ("6. Максимум %i, номер %i.", cl [a], a + 1);
aa -> TextOut (10, 260, ag);
// 111.3.7 Пузырьковая сортировка массива
for (a = 0; a < 10; a++) cm [a] = cl [a];
for (a = 0; a < 9; a++)
for (b = 0; b < 9 - a; b++)
if (cm [b] > cm [b + 1])
{
c = cm [b];
cm [b] = cm [b + 1];
cm [b + 1] = c;
}
ag = "7. ";
for (a = 0; a < 10; a++)
{
ah.Format ("%i ", cm [a]);
ag += ah;
}
aa -> TextOut (10, 285, ag);
// 222.1.8 Длина вектора
b = 0;
for (c = 0; c < 10; c++)
{
a = cl [c];
b += a * a;
}
ag.Format ("8. Длина вектора %.4g.", sqrt (b));
aa -> TextOut (10, 310, ag);
// 222.3.9
b = 0;
for (a = 0; a < 10; a++)
if (cl [a] >= 0 && cl [a] <= 5) b++;
ag.Format ("9. %i.", b);
aa -> TextOut (10, 335, ag);
// 222.4.10
// Формируем два вектора по 10 элементов от 0 до 50
for (a = 10; a < 30; a++) cl [a] = rand () % 51;
// Упорядочиваем каждый вектор по возрастанию
for (a = 0; a < 9; a++)
for (b = 0; b < 9 - a; b++)
{
if (cl [b + 10] > cl [b + 11])
{
c = cl [b + 10];
cl [b + 10] = cl [b + 11];
cl [b + 11] = c;
}
if (cl [b + 20] > cl [b + 21])
{
c = cl [b + 20];
cl [b + 20] = cl [b + 21];
cl [b + 21] = c;
}
}
// Выводим массивы на печать
ag = "10. ";
ah = "";
for (a = 0; a < 10; a++)
{
ai.Format ("%i ", cl [a + 10]);
ag += ai;
ai.Format ("%i ", cl [a + 20]);
ah += ai;
}
aa -> TextOut (10, 385, ag);
aa -> TextOut (10, 410, ah);
// Объединение векторов
a = 0; // указатель первого вектора
b = 0; // указатель второго вектора
c = 0; // указатель третьего вектора
while (c < 20)
{
if (a > 9)
{
cl [30 + c] = cl [20 + b];
b++;
c++;
continue;
}
if (b > 9)
{
cl [30 + c] = cl [10 + a];
a++;
c++;
continue;
}
if (cl [10 + a] < cl [20 + b])
{
cl [30 + c] = cl [10 + a];
a++;
}
else
{
cl [30 + c] = cl [20 + b];
b++;
}
c++;
}
// Выводим массив на печать
ag = "";
for (a = 30; a < 50; a++)
{
ah.Format ("%i ", cl [a]);
ag += ah;
}
aa -> TextOut (10, 435, ag);
// 206.2.11
a = 0;
m = 1;
ag = "11. ";
while (m > .00001)
{
a++;
m /= a;
ah.Format ("%.4g ", m);
ag += ah;
}
aa -> TextOut (10, 485, ag);
// 229.1.12
ag.Format ("12. %p %p %p %p.", cc, cc + 1, cc + 5, cc - 4);
aa -> TextOut (10, 510, ag);
}
void bb (CString a) // вывод строки на экран
{
aa -> TextOut (10, ad, a);
ad += 25;
}
void be (int a [10])
{
int d, e, f;
for (d = 0; d < 9; d++)
for (e = 0; e < 9 - d; e++)
if (a [e] > a [e + 1])
{
f = a [e];
a [e] = a [e + 1];
a [e + 1] = f;
}
}
void bh (int a, int b)
{
int c;
c = a;
a = b;
b = c;
}
void bk (int *a, int *b)
{
int c;
c = *a;
*a = *b;
*b = c;
}
void bn ()
{
int aj = 77;
ag.Format ("aj = %i. [7]", aj);
bb (ag);
aj++;
}
void bo ()
{
ag.Format ("aj = %i. [8]", aj);
bb (ag);
aj++;
}
void bp ()
{
int a = 1;
static b = 1;
ag.Format ("a = %i, b = %i. (3)", a++, b++);
bb (ag);
}
void bq (int a [3] [3], int b [3] [3], int c [3] [3])
{
int d, e, f;
for (d = 0; d < 3; d++)
for (e = 0; e < 3; e++)
{
c [d] [e] = 0;
for (f = 0; f < 3; f++)
c [d] [e] += a [d] [f] * b [f] [e];
}
}
void bt ()
{
ag.Format ("10. al = %i.", al);
aa -> TextOut (250, 705, ag);
}
void CP106View::OnCommandNoinput ()
{
ak = 2;
Invalidate ();
}
void CP106View::OnCommandLargeoutput ()
{
ak = 3;
Invalidate ();
}
void CP106View::OnCommandLargeoutput2 ()
{
ak = 4;
Invalidate ();
}
void CP106View::OnCommandNoinput2 ()
{
ak = 5; // генерация линейного массива
Invalidate ();
}
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев