Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

37.ИНФОРМАТИКА Book си

.pdf
Скачиваний:
37
Добавлен:
23.03.2016
Размер:
1.14 Mб
Скачать

Задание на лабораторные работы

91

 

 

10.Даны координаты двух полей шахматной доски (пара целых чисел от 1 до 8). Определить, какие шахматные фигуры могут перейти из первого поля во второе. Необходимо проверять корректность вводимых значений. Если значение введено некорректно, то ввод повторяется.

11.Дан радиус круга и длина стороны правильного пятиугольника. Определить, может ли данный пятиугольник лежать в круге. Если лежит, то задается еще один пятиугольник, и надо проверить, может ли круг лежать во втором пятиугольнике.

12.Даны коэффициенты трех прямых вида ax by c 0 . Опреде-

лить, имеются ли среди этих прямых совпадающие или параллельные, и вывести их уравнения. Также определить, находятся ли данные прямые в общем положении (прямые находятся в общем положении, если все они различны, попарно не параллельны и все три прямые не пересекаются в одной общей точке).

13.Даны координаты двух полей шахматной доски (пара целых чисел от 1 до 8), а также фигура, которая стоит на первом поле (1-пеш- ка, 2-конь,…, 6-король). Определить, ―бьет‖ ли данная фигура второе поле. Необходимо проверять корректность вводимых значений. Если значение введено некорректно, то ввод повторяется.

14.Дан радиус круга и длина стороны правильного треугольника. Определить, находится ли треугольник в круге. Если находится, то задается еще один треугольник, и надо проверить, может ли этот треугольник целиком содержать в себе круг.

15.Четырехугольник задан координатами своих вершин. Даны координаты пятой точки. Определить, лежит ли эта точка внутри четырехугольника.

Лабораторная работа № 3. Циклы. Нахождение суммы ряда Маклорена.

Для введенного с клавиатуры значения переменной x вычислить сумму заданного ниже ряда Маклорена. Задание состоит из двух основных частей:

1)Вычислить сумму ряда при фиксированном количестве элементов суммы, т.е. не до бесконечности, а до заранее определенного числа N .

2)Вычислить сумму ряда с некоторой точностью. Ряд суммируется,

пока текущий член суммы не станет меньше 0.0001.

После вычисления ряда вывести результаты и сравнить их со зна-

чениями, вычисленными непосредственно через математические

91

92

Си и Си++

 

 

функции exp, sin, cos и т.д. Кроме суммы самого ряда, вывести количество элементов ряда, которое было использовано при вычислении вторым способом.

Советы:

Оба задания удобнее всего делать через цикл for.

Вчетвертом варианте необходимо ввести также значение целого параметра a .

Впоследних трех вариантах необходимо проверять вводимые значения переменной x на вхождение в область определения рассматриваемой функции и запрашивать новый ввод значения переменной, если это не выполняется.

Ряд Маклорена является частным случаем ряда Тейлора.

1.y

2.y

3.y

4.y

5.y

sin 2x

 

 

 

 

 

1 n 1

2x 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

1

 

 

 

 

2n

1 !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x

 

 

 

2x 3

2x 5

 

 

 

1 n 1 2x 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

 

5!

 

 

 

 

2n 1 !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos 3x

 

 

 

 

 

1 n 3x 2n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

0

 

 

 

 

2n !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3x 2

 

 

 

3x 4

 

1 n 3x 2n

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

4!

 

 

 

2n !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

exp 4x

 

 

 

 

4x n

 

1

 

4x

 

 

 

 

4x 2

 

 

 

 

4x n

 

 

 

n

0

 

n!

 

 

 

 

 

2!

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 5x a

1

 

 

 

 

 

a a 1 a n 1

5x n

 

 

 

 

 

 

 

 

 

 

 

 

 

n

1

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 5ax

 

a a 1

 

5x 2

 

 

 

 

a a 1 a

 

n 1

5x n

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln 1 2x

 

 

 

 

 

 

1 n

1 2x n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x

 

 

2x 2

 

 

 

2x 3

 

 

 

 

1 n 1 2x n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

3

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6. y arctg 3x

1 n

3x 2n 1

2n

1

n 0

92

Задание на лабораторные работы

93

 

 

7.y

8.y

9.y

10.y

11.y

12.y

 

 

 

 

 

 

 

 

 

 

 

 

3x

 

 

 

3x 3

 

 

 

 

3x 5

 

 

 

 

 

 

1 n 3x 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

arcctg 4x

 

 

 

 

 

 

 

 

 

 

1 n

1

 

 

4x 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

n

0

 

2n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4x

 

 

 

4x 3

 

 

 

 

1 n 1 4x 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

3

 

 

 

 

 

 

 

2n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin 5x

 

 

 

 

 

1 n

1

5x 2n

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

1

 

 

 

 

 

2n

1 !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5x 3

 

 

 

5x 5

 

 

 

 

 

 

1 n 1 5x 2n 1

 

 

 

 

 

 

 

 

 

 

 

 

5x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3!

 

 

5!

 

 

 

 

 

 

 

2n

1 !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cos 2x

 

 

 

 

 

 

1 n

2x 2n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

0

 

 

 

 

2n !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x 2

 

 

 

 

 

 

2x 4

 

 

 

1 n 2x 2n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2!

 

 

 

 

 

 

4!

 

 

 

 

 

 

2n !

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

exp 3x

 

 

 

3x n

 

1

3x

 

 

 

3x 2

 

 

 

 

3x n

 

 

 

 

 

 

n

0

 

n!

 

 

 

 

 

 

2!

 

 

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 4x a

1

 

 

 

 

 

 

a a 1 a n 1

 

 

4x n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

1

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 4ax

 

 

a a 1

4x 2

 

 

 

 

 

a a 1 a n

1

4x n

 

 

 

 

 

 

2!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ln 1 5x

 

 

 

 

 

 

 

1 n 1

5x n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n 1

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5x 2

 

 

 

 

 

5x 3

 

 

 

1 n 1 5x n

 

 

 

 

 

 

 

 

 

 

 

 

 

5x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

13. y arctg 2x

1 n 2x 2n 1

2n 1

n 0

2x

2x 3

 

2x 5

 

1 n 2x 2n 1

 

3

5

2n

1

 

 

 

14. y arcctg 3x

 

 

1 n 1

3x 2n 1

2 n 0

2n

1

 

 

3x

3x 3

 

1 n 1 3x 2n 1

 

2

3

2n 1

 

 

 

93

94

Си и Си++

 

 

15. y sin 4x

1 n 1

4x 2n 1

2n

1 !

n 1

4x

4x 3

 

4x 5

 

1 n 1 4x 2n 1

 

3!

5!

2n 1 !

 

 

 

Лабораторная работа № 4. Массивы

Заполнить квадратную матрицу (13×13) целыми числами от 1 до 169 по указанной схеме:

1

5

9

13

2

6

10

14

3

7

11

15

4

8

12

16

Лабораторная работа № 5, 6. Строки, указатели, функции

истандартные функции работы со строками

Склавиатуры вводится строка. Слова разделяются пробелами или запятыми. Напечатайте те слова, которые отличаются от последнего слова и удовлетворяют нижеуказанному свойству в соответствии с номером варианта.

94

Задание на лабораторные работы

95

 

 

Для разделения строки на слова нельзя делать массив строк. При написании программы используйте указатели, ссылающиеся на символы строки, например, на начало и конец текущего слова.

Для ввода строки используйте функцию gets.

1.Слово симметрично (―ABBA‖ или ―abcba‖).

2.Первая буква слова входит в него еще раз.

3.Буквы слова упорядочены по алфавиту (―abcd‖).

4.Самое длинное слово.

5.В слове нет повторяющихся букв.

6.Каждая буква входит в слово не менее двух раз.

7.В слове гласные буквы (a,e,i,o,u) чередуются с согласными

(―taxi‖).

8.Слова, которые входят в строку только один раз

9.Слова, которые входят в строку более одного раза.

10.Слова, которые содержат в себе другие слова строки (―book-

case‖ содержит―book‖ и ―case‖).

11.Второе по длине слово.

12.Слова, содержащие две подряд идущие гласные буквы (―book‖).

13.Слова, которые начинаются с первого слова строки (―bookcase‖, где ―book‖ — первое слово строки).

14.Последняя буква входит в слово более двух раз.

15.Слова, содержащие буквы, входящие не более двух раз в это сло-

во (―book‖, но не ―remember‖).

Лабораторная работа № 7. Структуры

Написать программу, работающую со структурным представлением времени и даты. Структура времени и даты состоит из полей ―секунда‖, ―минута‖, ―час‖, ―день‖, ―месяц‖, ―год‖. Ввод и вывод времени и даты должен осуществляться через функции. Один вызов этих функций должен осуществлять ввод или вывод целиком всей структуры (только одной структуры). Вводимые значения должны проверяться на корректность, и ввод проводится заново, если они были некорректно заданы. Программа должна работать в григорианском (действующем) календаре, в котором високосны только те ―вековые‖ года, которые делятся на 400. Необходимо написать функцию, которую использует Ваша программа, делающую следующее:

1.Вычислить число полных месяцев (по 30 дней), прошедших от одной даты до другой.

2.Вычислить число дней, прошедших от одной даты до другой.

95

96

Си и Си++

 

 

3.Вычислить количество полных недель, прошедших от одной даты до другой.

4.Вычислить количество 29 февраля, прошедших от одной даты до другой.

5.Вычислить количество часов, прошедших от одного события до другого, при условии, что эти события произошли в течение одного месяца.

6.Вычислить количество минут, прошедших от одного события до другого, при условии, что эти события произошли в течение одного месяца.

7.Вычислить количество секунд, прошедших от одного события до другого, при условии, что эти события произошли в течение одного месяца.

8.Вычислить количество часов, прошедших от одного события до другого, при условии, что эти события произошли в течение одного года.

9.Вычислить, сколько времени прошло от одного события до другого, при условии, что эти события произошли в течение одного дня.

10.Вычислить, сколько времени прошло от одного события до другого, при условии, что эти события произошли в течение одного месяца.

11.Вычислить, сколько времени прошло от одного события до другого, при условии, что эти события произошли в течение одного года.

12.Вычислить, сколько лет прошло от одного события до другого с учетом летоисчисления до нашей эры (нулевого года нет).

13.Перевести дату из григорианского календаря в юлианский с учетом летоисчисления до нашей эры. (В юлианском календаре все ―вековые‖ года считаются високосными.)

14.Перевести дату из юлианского календаря в григорианский с учетом летоисчисления до нашей эры. (В юлианском календаре все ―вековые‖ года считаются високосными.)

15.Вычислить дату, которая будет через заданное число дней с момента начала событий.

Лабораторная работа № 8. Битовые поля и побитовые операции

Написать две программы, сжимающие (кодирующие) и распакующие данные. Первая программа должна быть написана с использованием битовых полей и, может быть, объединений. Вторая — при помощи побитовых операций. Данные вводятся с клавиатуры, получен-

96

Задание на лабораторные работы

97

 

 

ный результат выводится на экран, а затем обратно ―расшифровывается‖ и выводится в исходном виде.

1.Координаты шахматной фигуры задаются парой целых чисел, значения которых от 1 до 8. Число типов фигур равно шести. Фигуры бывают либо черными, либо белыми. Сформировать целое число, содержащее всю информацию о шахматной фигуре (надо 10 бит).

2.Дана строка символов. Закодируйте ее, инвертировав значение первых четырех бит в коде символа (87654321, например,

01101011->01100100).

3.Координаты шашек задаются парой целых чисел, значения которых от 1 до 8. Кроме простых шашек, есть еще и дамки. Шашки бывают либо черными, либо белыми. Сформировать целое число, содержащее всю информацию о шашках (надо 8 бит).

4.В колоде карт находятся карты четырех мастей (черви, бубны, крести, пики), начиная с двойки и кончая тузом (13 типов). Сформировать целое число, содержащее всю информацию о карте (надо 6 бит).

5.Дана строка символов. Закодируйте ее, поменяв порядок бит в коде символа (87654321->12345678, например, 01101011 ->

11010110).

6.Известны оценки (от 2 до 5 — 4 типа) ученика по алгебре, геометрии, математическому. анализу и физике. Сформировать целое число, содержащее всю информацию об оценках (надо 8 бит).

7.Дата задается годом (1970-2097), месяцем и числом. Сформировать целое число, содержащую данную информацию о дате (надо 16 бит).

8.Дана строка символов. Закодируйте ее, поменяв местами три пары крайних бит в коде символа (87654321->12354678, например,

01001001->10001010).

9. Известны оценки ученика на вступительных экзаменах в институт по двум дифференцированных экзаменам по математике и физике (незачет, 3, 3.5, 4, 4.5, 5 — 6 типов), и по недифференцированному экзамену по русскому языку и литературе (незачет, зачет). Сформировать целое число, содержащее всю информацию об оценках (надо 7 бит).

97

98

Си и Си++

 

 

10. Дана строка символов. Закодируйте ее, инвертировав значение четных бит в коде символа (87654321, например, 01101011 ->11000001).

11.В школе одиннадцать классов (лет обучения). Иногда набирают до пяти классов (групп учеников). В классе не более сорока учеников. Все ученики имеют свой номер по журналу. Сформировать целое число, содержащее всю информацию (координаты) о конкретном ученике (надо 13 бит).

12.В шестнадцатиэтажном доме четыре подъезда. На каждой лестничной клетке находится по четыре квартиры. Сформировать целое число, содержащее информацию о местонахождении квартиры (надо

8 бит).

13.Дана строка символов. Закодируйте ее, инвертировав значение первого, четвертого и последних трех бит в коде символа

(87654321, например, 01101011->10000010).

14.Цвет задается тройкой целых чисел RGB (Red, Green, Blue), значения которых лежат в интервале от 0 до 255. Сформировать целое число так, чтобы красная составляющая стояла на первых битах, потом шла зеленая составляющая, а затем синяя (надо 24 бит).

15.Дана строка символов. Закодируйте ее, перевернув порядок пар бит в коде символа (87 65 43 21 -> 21 43 65 87, например, 01 10

10 11 -> 11 10 10 01).

Лабораторная работа № 9. Возможности языка Си++

Написать программу, использующую ―нововведения‖ языка Си++. Ввод и вывод должен осуществляться через потоки cin и cout. Программа должна содержать комментарии типа ―//‖ и состоять из следующих функций и демонстрировать их возможности. В каждом варианте все ниже перечисленные функции должны иметь одинаковые имена.

1.Написать функции, вычисляющие произведение числа на число, вектора из трех элементов на число, скалярное и векторное произведение двух векторов (во втором случае входным параметром будет еще и адрес выходного массива). Значения входных массивов не должны изменяться, а результат должен помещаться в другой массив.

2.Написать функции, вычисляющие сумму двух чисел, двух векторов из трех элементов и двух матриц 3×3. Значения входных мас-

98

Задание на лабораторные работы

99

 

 

сивов не должны изменяться, а результат должен помещаться в другой массив.

3.Написать функции, вычисляющие модуль целого числа, модуль действительного числа, длину вектора из трех элементов и определитель матрицы 3×3.

4.Написать функции, добавляющие к строке строку, целое число, действительное число и символ.

5.Написать функции, выводящие на экран строку, целое и действительное число, вектор из трех элементов и матрицу 3×3.

6.Написать функции, удаляющие из строки n первых символов; n символов, начиная с заданного; часть строки, совпадающую со стро- кой-образцом.

7.Написать функции, находящие расстояние между двумя точками, минимальное расстояние между точкой и прямой, прямой и точкой, расстояние между двумя параллельными прямыми.

Лабораторная работа № 10. Классы и динамическая память

Написать класс. Он должен содержать конструктор, деструктор, функции ввода и вывода, а также специализированные функции, свои для каждого класса. Написать программу, демонстрирующую все возможности этого класса.

1.Вектор заданной пользователем длины. Вектор может складываться, векторно и скалярно умножаться на другой вектор и домножаться на число.

2.Строка с динамическим выделением памяти. Для этих строк можно осуществлять операции склеивания двух строк, вставки в строку второй строки, удаления части строки, поиска заданной подстроки в строке.

3.Квадратная матрица заданного пользователем размера. Матрица может складываться с другой матрицей, умножаться на число, и может вычисляться определитель этой матрицы.

4.Список учеников. Число учеников заранее не известно, оно задается пользователем перед вводом. Информация об ученике содержит: фамилию, имя, класс и оценки по математике, физике и информатике. Список можно сортировать по убыванию (по алфавитному порядку) по каждому из полей (по желанию пользователя).

5.Строка с динамическим выделением памяти. Для этих строк можно осуществлять операции склеивания двух строк, инверсии строки (перестановки символов в обратном порядке), поиска слова

99

100

Си и Си++

 

 

(слова разделяются запятой или пробелами) в строке и создания новой строки, состоящей только из этого слова (функция должна возвращать только указатель на эту строку).

Литература

1.Березин Б.И., Березин С.Б. Начальный курс C и C++. — М.:

ДИАЛОГ-МИФИ, 1999. — 288с.

2.Бочков С.О., Субботин Д.М. Язык программирования Си для персонального компьютера. — М.: Радио и связь, 1990. — 384с.

3.Керниган Б., Ритчи Д., Фьюэр А. Язык программирования Си. Задачи по языку Си./Пер. с англ. — М.: Финансы и статистика,

1985. — 279с.

4.Лукас П. C++ под рукой: Пер. с англ. — Киев: ―ДиаСофт‖,

1993. — 176с.

5.Прата С. Язык програмирования Си.: Пер. с англ.—Киев: ― ДиаСофт ‖ 2000.

6.Рассохин Д. От Си к Си++. — М.: Издательство ―ЭДЭЛЬ‖,

1993. — 128с.

7.Романов В.Ю. Программирование на языке C++: Практический подход. — М.: Компьютер, 1993. — 160с.

8.Язык программирования Си. — М.: Знание, 1991. — 48с. — (Новое в жизни, науке, технике. Сер. ―Вычислительная техника и ее применение‖; №4).

100