10 класс: оценки, задания, базовые оценки. | 11 класс: оценки, задания, экзамен, базовые оценки. | Список учеников, прошения, правила. |
Требуется разделить программу «Сортировки-2» на два исходных файла: main.c и lib.c. В main.c будет содержаться функция main(), которая должна осуществлять диалог с пользователем и вызывать функции сортировки, которые содержатся в файле lib.c. Прототипы функций, содержащихся в файлу lib.c должны быть объявлены в main.c.
lib.c дожен экспортировать наружу только необходимые функции. Если, например, внутри него есть вспомогательная функция swap(), которая используется только внутри этого файла, то она должна быть объявлена таким образом, чтобы её было невозможно вызвать из какого-то другого файла (в нашем случае — из main.c).
Требуется написать программу, шифрующую/расшифровывающую файл, используя битовые операции. Файл представляется как поток битов некоторой длины (кратной восьми). Также существует пароль, из которого получается другой поток битов такой же длины, как и файл. Делается это "приставлением" пароля к самому себе некоторое количество раз, пока длина получившегося потока не станет большей либо равной длине файлового потока. Зашифрование производится применением операции XOR к паре битовых потоков. Операцию расшифрования нужно придумать самому.
Небольшая иллюстрация метода получения второго потока из пароля: пусть содержимое файла равняется «This is a test» и пользователь ввел пароль «secret». Тогда пара битовых потоков будет выглядеть так:
Поток 1: This is a test Поток 2: secretsecretse
Программа принимает три аргумента командной строки:
В программу «Сортировки» требуется добавить метод сортировки вставкой.
В телефонную книгу #2 (ту, которая реализована на связных списках) требуется добавить пункт «Сортировка книги» с выбором направления и ключа сортировки. Поиск в книге (который уже существовал в оригинальном задании) необходимо реализовать с помощью алгоритма дихотомии.
Требуется написать программу, которая сначала требует от пользователя ввода некоторого количества целых чисел (лучше, если программа не будет запрашивать конкретного количества чисел, а будет принимать столько чисел, сколько пользователь введет). Далее программа в цикле опрашивает пользователя, каким методом сортировки он хочет пройтись по введенному списку и в каком направлении нужно сортировать: по возрастанию или по убыванию. Требуется реализовать методы сортировки подсчетом и «пузырьком».
Требуется написать программу, которая будет вести телефонную книгу. При запуске программа входит в интерактивный режим работы, предоставляя пользователю меню. Пользователь выбирает интересующее его действие, программа это действие выполняет и снова выводит меню. Внутренние структуры данных записной книжки реализуются с помощью односвязного списка.
Пункты меню.
Требуется написать программу, которая будет вести телефонную книгу. При запуске программа входит в интерактивный режим работы, предоставляя пользователю меню. Пользователь выбирает интересующее его действие, программа это действие выполняет и снова выводит меню. Внутренние структуры данных записной книжки реализуются с помощью массива структур.
Пункты меню.
Требуется написать программу, принимающую один аргумент командной строки —имя файла. Если исполняемый файл программы называется «gimmewords», то программа должна подсчитывать количество слов в файле. Если же исполняемый файл называется «gimmelines», то программа должна подсчитывать количество строк в файле. Словами являются сущности разделенные любым количеством пробельных символов коими являются пробел, табуляция и переход на новую строку. Строки — это то, что отделяется друг от друга одним пробелом.
Обратите внимание: исходный текст программы един. Важно то, как называется исполняемый файл программы.
Требуется написать программу, принимающую в командной строке список файлов. Для кождого файла она пытается вычислить его длину и вывести ее на экран. Если это невозможно, то программа выводит подробное сообщение об ошибке и переходит к поиску размера следующего файла.
Требуется написать рекурсивную программу поиска всех возможных вариантов обхода конем шахматной доски размером MxN клеток. Конь начинает с произвольной, но фиксированной точки и должен побывать в каждой точке доски один и только один раз. Программа должна выводить все варианты и их количество на экран. Будет очень хорошо, если числа M и N будут задаваться с клавиатуры.
Требуется написать рекурсивную программу поиска всех возможных расстановок N одинаковых ферзей на шахматной доске размером NxN клеток. Программа должна выводить все варианты и их количество на экран. Будет очень хорошо, если число N будет задаваться с клавиатуры.
Нужно написать рекурсивную функцию, которая бы вычисляла и выводила на экран N первых чисел Фибоначчи. Формулой общего члена последовательности пользоваться нельзя, вычисление должно вестись рекурсивно. Значение числа N вводится с клавиатуры.
Необходимо реализовать функцию, прототип которой будет выглядеть следующим образом:
int multidim(int *array, int *dimensions, int *indices, int ndim);Первый аргумент — это указатель на кусок памяти, который будет рассматриваться как многомерный массив с «ndim» индексами. Массив «dimensions» содержит размерности каждого из индексов, а массив «indices» — индексы произвольного элемента.
Требуется реализовать такую функцию, чтобы она возвращала значение элемента массива, заданного массивом индексов «indices».
Нужно реализовать сортировку четырех пар координат точек на двумерной плоскости. Критерии сортировки такие:
Сами координаты точек должны храниться в отдельных переменных. Массивы использовать не разрешается. Функция (или функции) сортировки должны принимать восемь указателей на отдельные координаты и только сортировать. Выводом получившихся точек на экран должна заниматься либо отдельная функция, либо функция main.
Нужно реализовать пять стандартных функций для работами с символами и ASCIIZ-строками: strlen(), strcpy(), strncpy(), tolower(), toupper(). Функции должны корректно обрабатывать символы из первой половины таблицы ASCII. Сама программа должна содержать меню, в котором можно выбирать демонстрацию одной из пяти функций или завершение работы.
Требуется написать программу, которая считывает с клавиатуры два числа и, если это возможно, находит их наименьшее общее кратное (НОК). Код поиска НОК должен быть оформлен отдельной функцией.
Требуется написать программу, которая в цикле читает вводимую с клавиатуры строку. Если строка совпадает со строкой «exit» (регистр букв не учитывается), то программа завершается. В противном случае, программа
Разрешено использовать следующие стандартные функции: printf(), scanf(), strlen() и strncpy().
Требуется написать программу, которая принимает к клавиатуры целое число и печатает на экран результат склонения избранного автором программы существительного. После этого программа завершается. Существительное должно быть склоняемым.
Заполнить двумерный массив размерности MxN (M может быть неравно N) последовательными целыми числами от единицы до M*N следующими способами.
Ниже приведен рисунок, который призван помочь понять всё вышесказанное.
Вывести на экран таблицу размеров встроеных типов данных: первый столбец должен содержать имя типа, второй — количество байт, нужное для хранения значения, имеющего данный тип.
Обратить порядок следования чисел в одномерном массиве, не пользуясь никакими дополнительными массивами. Размерность массива задается глобальной константой. Массив инициализируется пользователем с клавиатуры поэлементно.
Реализовать простой калькулятор: на ввод программы в цикле подаются строки типа «число[пробел]{+,−,*,/}[пробел]число». Квадратные скобки означают необязательность содержащегося в них объекта, фигурные скобки — выбор одного из вариантов, перечисленных через запятую. После ввода строки калькулятор должен вывести результат или сообщение об ошибке. В случае неправильного ввода программа не должна завершаться. Выход из программы производится при вводе выражения «0[пробел]+[пробел]0».
Оценка сходимости ряда для экспоненты. Необходимо при заданных значениях x и точности «эпсилон» найти первое N, при котором выполняется неравенство
Сумма в неравенстве называется рядом Тейлора для экспоненты в окрестности точки x = 0. Поэкспериментируйте с различными значениями входных параметров, но не берите x слишком большим по-сравнению с единицей.
Необходимо вычислить факториалы всех целых чисел от единицы до N и вывести результаты в виде таблицы. Параметр N задается при компиляции.
Необходимо возвести все целые числа от единицы до N в степень k и вывести результаты в виде таблицы. Параметры N и k задаются при компиляции.
Даны три произвольных рациональных числа. Необходимо выяснить, могут ли они являться сторонами треугольника и при ответе «Да, да, конечно могут!» классифицировать треугольник как остро-, прямо- или тупоугольный.
Для чего нужен центральный процессор?
Для чего нужны шины и контроллеры?
Чта такое разрядность шины памяти и как преодолеть предел в 4 Gb физической памяти для 32-х битной архитектуры процессора?