апреля 03, 2012

Junior c++ deloper Hi!


Везёт тем, кто учится в техническом ВУЗе, да ещё и по профилю developer или подобному. Таким образом, в ВУЗе у меня преподают c++, преподаватель старой закалки. Такие преподаватели основы  дают что надо!!! Из своего опыта - лучшие преподаватели, те,  которые программировали в 90ых, а ещё лучше, если они когда-то перфокарты в руках держали.

С чего начал я? Я начал с начала. Си. Потом си++, думаю далее пойдёт с#, .NET. Почему именно так?
Начинать надо с потяжелее. Си очень ориентирован на память, работу с указателями, структурами, это те азы, зная которые, легко даётся с++. Вначале надо разобраться с этими вопросами, а уж потом идти в с++, где многие моменты си - упрощены, и поэтому, после си вы с невероятной скоростью постигнете си++. Книги по си советовать не буду, выложу варианты заданий, которые надо решить, что бы появилось хоть какое-то понимание языка. Решая задания - старайтесь усложнить её, а не упростить. К примеру, разберитесь с вопросом локализации в си. Это первое, что я сделал, когда увидел в консоли вывод строки "Здравствуй мир". День я убил на локализацию.
Удачи вам в вашем начинании.
(под катом задание, вопросы для самоизучения си, ведь учить проще имея задания, направления, там на два семестра - 1 год, много текста)(если понадобится, есть методички по этим заданиям, где основные моменты изложены, + есть исходники к некоторым заданиям, но думаю не стоит начинать с копипаста чужого кода, это не тот путь, который выбрал я в си)



Не обязательно решать всё! Я сдавал по одному заданию с каждой лабораторной и контрольной. Знаний прибавило намного!
Первый семестр.

Лабораторная работа №1

1.Разработать программу учета покупок ювелирного магазина. Данные о покупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по стоимости ювелирного украшения.
2. Разработать программу учета жилищного фонда. Данные о жилом фонде хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру жилищного договора.
3. Разработать программу учета стройматериалов. Данные о стройматериалах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру договора.
4. Разработать программу учета посадок на участке в ботаническом саду. Данные о участках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру участка.
5. Разработать программу расчета закупки сырья промышленного предприятия. Данные о закупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по типу сырья.
6. Разработать программу расчета прибыли от выполняемых работ по ремонту офиса многофилиального концерна. Данные о выполняемых работах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по сумме выполненных работ.
7. Разработать программу расчета деталей, использованных при изготовлении какого-либо изделия. Данные о деталях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по стоимости деталей, используемых в данном изделии.
8. Разработать программу расчета закупки сырья промышленного предприятия. Данные о закупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру накладной
9. Разработать программу определения затрат рабочего времени на выполнение строительных работ. Данные о строительных работах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру заказа.
10. Разработать программу определения пробега автомобиля на основе путевых листов. Данные о путевых листах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру путевого листа.
11. Разработать программу определения величины таможенных сборов на базе контрактов коммерческой фирмы. Данные о таможенных сборах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру контракта.
12. Разработать программу определения процента выхода годных изделий на основе актов приема ОТК. Данные о тестируемых партиях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру заказа.
13. Разработать программу оценки экспорта фирмы. Данные об экспортных операциях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру контракта.
14. Разработать программу оценки роста промышленного предприятия по данным за последние годы. Данные о финансовых отчетах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру финансового документа.
15. Разработать программу оценки продаж театральных билетов от времени года. Данные о продажах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по величине прибыли.

Лабораторная работа №2

Все логически законченные части программы  оформить в виде отдельных функций:
1.Разработать программу для расчета отношения величины средней зарплаты сотрудников фирмы к максимальной зарплате. Расчет средней зарплаты осуществляется для сотрудников, зарплата которых выше 100 дол.
2.Разработать программу для расчета отношения величины средней зарплаты сотрудников фирмы к минимальной зарплате. Расчет средней зарплаты осуществляется для сотрудников, зарплата которых выше 25 дол.
3.Разработать программу выбора типа самолета для перевозки группы грузов. При выборе типа самолета исходить из того, что грузы являются неделимыми. Для перевозки может использоваться только один самолет. Груз менее 5 т способен перевозить "ТУ-134". Вес более 5 т, но менее 30 т - "ИЛ-86". Вес более 30 т, но менее 45 т - "Руслан".
4.Разработать программу тестирования партий изделий. При тестировании определяется процент брака. Определить номера 3-х партий изделий с наибольшим процентом брака и вывести их средний процент.
5.Разработать программу определения. При тестировании определяется процент брака изделий. Определить номера 3-х партий изделий с наибольшим процентом брака и вывести их средний процент брака.
6.Разработать программу определения призовых мест на соревнованиях по прыжкам в длину. Определить номера 3-х призовых мест на основании информации о длине прыжка. Вывести наименьшую длину прыжка.
7.Разработать программу определения номера прыжка в длину максимальной длины (позиции максимального элемента в массиве). Определить номера 3-х призовых мест на основании информации о длине прыжка. Вывести наименьшую длину прыжка (кроме переменной max, в которой сохраняется максимальное значение, необходимо ввести переменную, где будет сохраняться позиция этого элемента в массиве).
8.Разработать программу определения номера прыжка в длину минимальной длины (позиции минимального элемента в массиве). Определить номера 3-х призовых мест на основании информации о длине прыжка. Вывести наименьшую длину прыжка. (кроме переменной min, в которой сохраняется минимальное значение, необходимо ввести переменную, где будет сохранять позиция этого элемента в массиве).
9.Разработать программу автоматического контроля качества знаний у студентов при выполнении теста. При количестве ошибок менее 2-х ставится оценка 5, более 1-й и менее 4-х ошибок - оценка 4, более 3 ошибок - оценка 3. Определить минимальное и максимальное количество ошибок.
10.Разработать программу нахождения максимального среднего балла у студентов, считается, что средний балл после 3-х экзаменов определяется при вводе информации (используется только одномерный массив для хранения среднего балла).
11.Разработать программу определения среднестатистического количества осадков в течение года. Количество осадков вводится по месяцам. Определить отношение среднестатистического количества осадков к максимальному количеству.
12.Разработать программу определения отношения минимального количества осадков в течение года к максимальному количеству. Количество осадков вводится по месяцам.
13.Разработать программу поиска среднестатистического значения среди значений осадков за год. Количество осадков вводится по месяцам.
14.Разработать программу отбора пилотов- испытателей. Отбор осуществляется на основе общего количества удачных испытаний. Найти 2 лучших.
15.Разработать программу определения диапазона цен на данный товар в различных магазинах. Анализ осуществляется на основе цен в  определенных магазинах.



Задание для контрольной работы №1

В соответствии с вариантом индивидуального задания, необходимо разработать консольное приложение на языке С.
Приложение должно предоставлять возможности:
-просмотра информации из текстового файла;
-добавления  новых записей в файл;
-удаления записей из файла;
-редактирования записей в файле.
В работе предусмотреть использование:
- пользовательских функций;
-массивов;
-структур.

Задание для контрольной работы №2

Изменить программную реализацию из контрольной №1 следующим образом:
- предусмотреть использование многомерных массивов;
-предусмотреть динамическое использование памяти;
-предусмотреть использование указателей на функции;
-разделить проект на несколько компонентов, которые используются через директиву #inlude

Варианты индивидуальных заданий

Название предметной области
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
Учет персонала предприятия.

Вопросы.

1.      Алфавит языка. Идентификаторы.
2.      Переменные и константы.
3.      Типы данных: целый, вещественный, символьный; их представление в оперативной памяти.
4.      Размеры данных.
5.      Выражения: математические, логические, текстовые.
6.      Унарные операции.
7.      Бинарные операции.
8.      Преобразование типов.
9.      Приоритет операций.
10.  Порядок вычисления выражений.
11.  Организация ввода-вывода информации. Функция форматированного вывода printf.
12.  Организация ввода-вывода информации. Функция форматированного ввода информации scanf
13.  Разновидности структур алгоритмов.
14.  Программирование разветвляющихся структур алгоритмов.
15.  Программирование циклических структур алгоритмов.
16.  Программирование итерационных процессов.
17.  Вложенные циклы.
18.  Одномерные и многомерные массивы, их инициализация.
19.  Ввод и вывод массивов.
20.  Разработка структурных схем алгоритмов обработки массивов.
21.  Указатели.
22.  Операции над указателями.
23.  Связь между указателями и массивами.
24.  Использование динамической памяти.
25.  Определение функций. Передача аргументов функциям.
26.  Возвращение значения функцией: оператор return.
27.  Указатели на функции.
28.  Массивы указателей на функции.
29.  Обработка текстовых данных.
30.  Реализация функций для работы со строками.
31.  Локальные и глобальные переменные.
32.  Классы памяти.
33.  Автоматические, внешние, статические и регистровые переменные.
34.  Символические константы: #define.
35.  Включение файла: #include.
36.  Другие директивы препроцессора: #if, #ifdef, #ifndef, #else, #endif.
37.  Декларация структур.
38.  Инициализация и доступ к элементам структуры.
39.  Вложенные структуры и массивы структур.
40.  Указатели на структуры.
41.  Использование структур в качестве аргументов функций.
42.  Объединения и битовые поля.

Второй семестр

ЗАДАНИЯ ДЛЯ ВИРТУАЛЬНЫХ ЛАБОРАТОРНЫХ РАБОТ


Задание 1

1.                       Задать массив структур student. Распределить память для элементов массива с помощью функции get_mem. Инициализировать 5 элементов массива константами. Вывести массив структур на экран. Освободить память.
2.                       Задать массив структур student. Распределить память для элементов массива с помощью функции get_mem. Инициализировать 5 элементов массива путем ввода информации с клавиатуры (scanf). Вывести массив структур на экран. Освободить память.
3.                       Задать массив структур student. Распределить память для элементов массива с помощью функции get_mem. Инициализировать 10 элементов массива константной информацией (поле ФИО). Остальную информацию (номер телефона, e-mail) вводить с клавиатуры (scanf). Вывести массив структур на экран. Освободить память.
4.                       Задать 2 массива структур student1 и student2. Распределить память для элементов массивов с помощью функции get_mem. Инициализировать элементы массивов путем ввода информации с клавиатуры (scanf). Первым вводится с клавиатуры номер группы. Далее для группы 1 информация попадает в массив student1, для группы 2 информация попадает в массив student2. Вывести оба массива структур на экран. Освободить память.
5.                       Задать 2 массива структур student1 и student2. Распределить память для элементов массивов с помощью функции get_mem. Инициализировать элементы массивов путем ввода информации с клавиатуры (scanf). Первым вводится с клавиатуры номер группы. Далее для группы 1 информация попадает в массив student1, для группы 2 информация попадает в массив student2. Вывести из обоих массивов на экран информацию обо всех студентах и их телефонах. Освободить память.
6.                       Задать 2 массива структур student1 и student2. Распределить память для элементов массивов с помощью функции get_mem. Инициализировать элементы массивов путем ввода информации с клавиатуры (scanf). Первым вводится с клавиатуры номер группы. Далее для группы 1 информация попадает в массив student1, для группы 2 информация попадает в массив student2. Вывести из обоих массивов на экран информацию обо всех студентах и их e-mail. Освободить память.
7.                       Задать  2  массива  структур  student­­1  и  student2. Распределить память для элементов массивов с помощью функции get_mem. Инициализировать элементы массивов путем ввода информации с клавиатуры (scanf). Первым вводится с клавиатуры номер группы. Далее для группы 1 информация попадает в массив student1, для группы 2 информация попадает в массив student2. Вывести из обоих массивов на экран информацию  обо  всех  студентах со средним баллом выше 8. Освободить память.
8.                       Задать 2 массива структур student1 и student2. Распределить память для элементов массивов с помощью функции get_mem. Инициализировать элементы массивов путем ввода информации с клавиатуры (scanf). Первым вводится с клавиатуры номер группы. Далее для группы 1 информация попадает в массив student1, для группы 2 информация попадает в массив student2. Вывести из обоих массивов на экран информацию о всех студентах со средним баллом ниже 5. Освободить память.
9.                       Задать массив структур «ведомость» (сдачи экзамена). Распределить память для элементов массива. Инициализировать элементы массива путем ввода информации с клавиатуры (scanf). Вывести массив структур на экран. Освободить память.
10.                   Задать массив структур «ведомость» (сдачи экзамена). Распределить память для элементов массива. Инициализировать 10 элементов массива константной информацией (поля ФИО, номер зачетки). Остальную информацию (дата сдачи, оценка) вводить с клавиатуры (scanf). Вывести массив структур на экран. Освободить память.
11.                   Задать массив структур «ведомость» (сдачи экзамена). Распределить память для элементов массива. Инициализировать 10 элементов массива константной информацией (поля ФИО, номер зачетки). Остальную информацию (дата сдачи, оценка) вводить с клавиатуры (scanf). Вывести на экран список студентов, получивших неудовлетворительные оценки. Освободить память.
12.                   Задать массив структур «ведомость» (сдачи экзамена). Распределить память для элементов массива. Инициализировать 10 элементов массива константной информацией (поля ФИО, номер зачетки). Остальную информацию (дата сдачи, оценка) вводить с клавиатуры (scanf). Вывести на экран отчет о количестве каждой оценки в ведомости. Освободить память.
13.                   Задать 2 массива структур «ведомость» (сдачи экзамена) для группы 1 и группы 2. Распределить память для элементов массивов. Инициализировать по 10 элементов массивов константной информацией (поля ФИО, номер зачетки). Остальную информацию (дата сдачи, оценка) вводить с клавиатуры (scanf). Вывести на экран отчет о количестве каждой оценки по двум группам. Освободить память.
14.                   Задать 2 массива структур «ведомость» (сдачи экзамена) для группы 1 и группы 2. Распределить память для элементов массивов. Инициализировать  по  10  элементов  массивов  константной информацией (поля ФИО, номер зачетки). Остальную информацию (дата сдачи, оценка)  вводить  с  клавиатуры  (scanf).  Вывести  на  экран  список студентов из обоих групп, получивших неудовлетворительные оценки. Освободить память.
15.                   Задать 2 массива структур «ведомость» (сдачи экзамена) для разных предметов, но для одной группы. Распределить память для элементов массивов. Инициализировать по 10 элементов массивов константной информацией (поля ФИО, номер зачетки). Остальную информацию (дата сдачи, оценка) вводить с клавиатуры (scanf). Вывести на экран список студентов, получивших неудовлетворительные оценки по двум предметам. Освободить память.

Задание 2


1.Разработать программу учета покупок ювелирного магазина. Данные о покупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по стоимости ювелирного украшения.
2. Разработать программу учета жилищного фонда. Данные о жилом фонде хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру жилищного договора.
3. Разработать программу учета стройматериалов. Данные о стройматериалах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру договора.
4. Разработать программу учета посадок на участке в ботаническом саду. Данные о участках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру участка.
5. Разработать программу расчета закупки сырья промышленного предприятия. Данные о закупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по типу сырья.
6. Разработать программу расчета прибыли от выполняемых работ по ремонту офиса многофилиального концерна. Данные о выполняемых работах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по сумме выполненных работ.
7. Разработать программу расчета деталей, использованных при изготовлении какого-либо изделия. Данные о деталях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по стоимости деталей, используемых в данном изделии.
8. Разработать программу расчета закупки сырья промышленного предприятия. Данные о закупках хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру накладной
9. Разработать программу определения затрат рабочего времени на выполнение строительных работ. Данные о строительных работах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру заказа.
10. Разработать программу определения пробега автомобиля на основе путевых листов. Данные о путевых листах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру путевого листа.
11. Разработать программу определения величины таможенных сборов на базе контрактов коммерческой фирмы. Данные о таможенных сборах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру контракта.
12. Разработать программу определения процента выхода годных изделий на основе актов приема ОТК. Данные о тестируемых партиях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру заказа.
13. Разработать программу оценки экспорта фирмы. Данные об экспортных операциях хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру контракта.
14. Разработать программу оценки роста промышленного предприятия по данным за последние годы. Данные о финансовых отчетах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по номеру финансового документа.
15. Разработать программу оценки продаж театральных билетов от времени года. Данные о продажах хранить в виде массива структур. Итоговая информация должна выводиться на экран в виде таблицы, отсортированной по величине прибыли.









Задание к контрольной работе №1

На основании варианта индивидуального задания, необходимо разработать консольное приложение на языке С.
Приложение должно предоставлять возможности:
-просмотра информации из текстового файла;
-добавления  новых записей в файл;
-удаления записей из файла;
-редактирования записей в файле.
В работе предусмотреть использование:
- пользовательских функций;
-массивов;
-структур;
-динамического распределения памяти;
-поиск информации по условию, вводимому пользователем с клавиатуры;
-сортировку (не менее 3-х способов);

Задание к контрольной работе №2

Модифицировать программную реализацию контрольной №1:
-предусмотреть возможность выбора пользователем способа хранения данных (текстовый формат или двоичный);
- предусмотреть использование очередей при реализации запросов ввода-вывода;
-предусмотреть оценку времени, необходимого на выполнение операций сортировки  для каждого используемого способа.

Варианты индивидуального задания
Название предметной области
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
Учет проживающих в общежитии.





Вопросы часть 2
Файлы. Двоичное и текстовое представление файлов. 
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.   Сортировка Хоара – алгоритм QuickSort.
27.   Бинарные деревья – основные понятия.
28.   Основные операции с бинарными деревьями.
29.   Поиск и включение для деревьев. 
30.   Исключение для деревьев.
31.   Сортировка с помощью бинарных деревьев.
32.   Графы и возможные формы их описания.
33.   Нахождение кратчайшего пути на графе.
34.   Алгоритм Дейкстры, алгоритм Форда.

Комментариев нет:

Отправить комментарий