/* p4 - 61
Язык Turbo C 2.0
a - простые переменные
j, aa - массивы
s - указатели
1 - 15k, 2 - 16k, 6 - 17k, 8 - 23k, 12 - 24k
*/
#include <conio.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
main ()
{
int a, b, c;
float d, e;
char j [80], k [10], l [10]; /* ввод данных */
char m [5] [20];
int p [10] = {1, 23, 4, 7, 8, 0, 1, 9, 4, 7};
char aa [] = "String of Letters in Different Registers.";
int *s, *t;
float *v;
char *y;
printf ("? (1-3) ");
scanf ("%i", &a);
if (a == 1) goto aaa; /* простые программы */
if (a == 2) goto aab; /* ввод данных */
if (a == 3) goto aac; /* дополнительный ввод данных */
printf ("\n");
return;
aaa:
printf ("4. ");
strcpy (j, "Привет, ");
strcpy (k, "мир.");
puts (j);
puts (k);
strcat (j, k);
puts (j);
puts (k);
strcpy (m [0], "Turbo Basic");
strcpy (m [1], "Turbo Pascal");
strcpy (m [2], "Borland C++");
strcpy (m [3], "Turbo Prolog");
strcpy (m [4], "Paradox");
/* Сортировка массива */
printf ("7. Неотсортированный массив: ");
for (a = 0; a < 10; a++) printf ("%i ", p [a]);
for (a = 0; a < 9; a++)
for (b = 0; b < 9 - a; b++)
if (p [b] > p [b + 1])
{
c = p [b];
p [b] = p [b + 1];
p [b + 1] = c;
}
printf ("\nОтсортированный массив: ");
for (a = 0; a < 10; a++) printf ("%i ", p [a]);
d = 10.1;
v = &d;
e = *v;
printf ("\n8. d = %.4g, e = %.4g.\n", d, e);
(*v)++;
printf ("d = %.4g, e = %.4g.\n", d, e);
e = 1 + *v * e;
printf ("d = %.4g, e = %g.\n", d, e);
a = 10;
s = &a;
t = s;
printf ("9. %p, %p.\n", s, t);
printf ("%i, %i.\n", a, *t);
d = 10.1;
s = (int *) &d;
e = *s;
printf ("10. d = %.4g, e = %.4g.\n", d, e);
s = &a;
printf ("11. %p, ", s);
printf ("%p.\n", ++s);
printf ("12. Строка будет напечатана строчными буквами.\n");
y = aa;
while (*y) printf ("%c", tolower (*y++));
printf ("\n");
goto aaz;
aab:
printf ("Введите строку: ");
gets (j); gets (j);
printf ("Введите вторую строку: ");
scanf ("%[0123456789]%s", k, l);
printf ("\n");
printf ("1. Я знаю ваше имя; ваше имя %s.\n", j);
printf ("2. %s..%s.\n", k, l);
printf ("5. Строка '%s' имеет длину %i символов.\n", j, strlen (j));
goto aaz;
aac:
printf ("3. Введите строку длиной менее 80 символов: ");
gets (j); gets (j);
printf ("Вы ввели строку: %s.\n", j);
printf ("Введите еще одну строку длиной менее 80 символов: ");
scanf ("%s", j);
printf ("Вы ввели строку: ");
puts (j);
aaz:
getch ();
printf ("\n");
}
/* p5 - 95
Язык Turbo C 2.0
a - простые переменные
j - указатели
s - массивы
aa () - функции
1 - 17k, 3 - 18k
*/
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
aa (int a [3] [3], int b [3] [3], int c [3] [3]); /* перемножение матриц */
ab (const char *);
main ()
{
int a;
char d;
char *j [] = {"exe", "com", "dat", "c", "pas", "cpp"};
int *m, *n;
int **p;
char s [80];
int v [3] [3] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
int w [3] [3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int x [3] [3];
printf ("? (1-2) "
;
scanf ("%i", &a);
if (a == 1) goto aaa; /* простые программы */
if (a == 2) goto aab; /* дополнительный ввод данных */
printf ("\n"
;
return;
aaa:
a = 7;
m = &a;
p = &m;
printf ("2. a = %i, m = %p, p = %p.\n", a, m, p);
(*m)++;
printf ("a = %i, m = %p, p = %p.\n", a, m, p);
**p = 12;
printf ("a = %i, m = %p, p = %p.\n", a, m, p);
aa (v, w, x);
printf ("\n3. Массив x [3] [3]
n"
;
for (a = 0; a < 3; a++)
printf ("%-5i%-5i%-5i\n", x [a] [0], x [a] [1], x [a] [2]);
printf ("\n4. "
;
ab (" Это тест "
;
printf ("\n5. "
;
m = malloc (40 * sizeof (int));
if (!m)
printf ("Недостаточно памяти.\n"
;
else
{
n = m;
for (a = 0; a < 40; a++) *(m + a) = a;
for (a = 0; a < 40; a++) printf ("%i ", *n++);
free (m);
}
printf ("\n"
;
goto aaz;
aab:
printf ("1. "
;
for (;
{
do {
printf ("Файлы с расширением: 1. exe, 2. com, 3. dat, 4. c, 5. pas, 6. cpp, 7. quit.\n"
;
printf ("Ваш выбор: "
;
d = getche ();
printf ("\n"
;
} while (d < '1' || d > '7'
;
if (d == '7'
break;
strcpy (s, "dir *."
;
strcat (s, j [d - '1']);
system
;
printf ("\n"
;
}
aaz:
getch ();
printf ("\n"
;
}
aa (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];
}
}
ab (const char *a) {while (*a) printf ("%c", *a++ + 1);}