Примеры задач и алгоритмы их решения Простые типы данных Найти сумму цифр числа. Решение>> Составить программу, проверяющую, является ли последовательность из 10 целых чисел, вводимых с клавиатуры, возрастающей. Решение>> Составить программу, меняющую порядок следования цифр в числе на обратный. Решение>> Дано натуральное число n. Можно ли его представить в виде суммы трёх квадратов натуральных чисел? Если можно, то укажите тройку x, y, z таких, что . Решение>> Найдите натуральное число от 1 до 10000 с максимальной суммой делителей. Решение>> Составить программу для нахождения всех натуральных решений уравнения: на интервале от (1;10). Решение>> Найти наибольший общий делитель трёх чисел. Решение>> Дано вещественное положительное число b. Последовательность A1,A2,A3... образована по закону: A1=b, Ai=Ai-1-(1/sqrt(i)), i=2,3... Найдите первый отрицательный член последовательности. Решение>> Одномерные массывы Пусть даны вещественные числа а1,...аn,b1,...,bn. Вычислите произведение: (a1+bn)(a2+bn-1)...(an+b1). Решение>> Пусть даны натуральные числа n, a1 ,…, an . Определите количество членов a последовательности a1 ,…, an , являющихся нечетными числами. Решение>> Пусть даны вещественное число а и массив вещественных чисел Q[1..n].Выбрать два числа из массива Q таким образом, чтобы числа а, b, с могли быть длинами сторон треугольника. Подсчитайте сколько пар таких чисел а и b в массиве Q. Решение>> Пусть дан текст, за которым следует точка. Определить, упорядочены ли буквы по алфавиту. Решение>> Дан текст, за которым следует восклицательный знак. Заменить прописные русские буквы, встречающиеся в тексте, строчными. Решение>> Пусть даны символы, среди которых есть двоеточия. Получите все символы расположенные после первого двоеточия. Решение>> Пусть даны целые числа а1,…,а99. Получите новую последовательность, выбросив из исходной максимальный и минимальный член. Решение>> Пусть даны вещественные числа А(1), …, А(25). Требуеться умножить все члены последовательности А(1), …, А(25) на квадрат её наименьшего члена, если А(i)>=0, и на квадрат её наибольшего члена, если A(i)<0. Решение>> Двумерные массивы Определить, есть ли в данном массиве отрицательный элемент. Решение>> Пусть даны вещественные числа Х1, … , Х8. Получите квадратную матрицу порядка 8, образованную по правилу: Решение>> Пусть дана вещественная матрица размером n*m, все элементы которой различны. В каждой строке выберите элемент с наименьшим значением, затем среди этих чисел выберите наибольшее. Укажите индексы найденного элемента. Решение>> Определить, есть ли в данном массиве строка, состоящая только из положительных элементов. Решение>> Найти число элементов в каждой строке, больших среднего арифметического элементов данной строки. Решение>> Пусть дана символьная квадратная матрица порядка 5. Замените буквой А все её элементы, расположенные выше главной диагонали. Решение>> Даны два двумерных массива одинаковой размерности. Создать третий массив той же размерности, каждый элемент которого равен сумме соответствующих элементов первых двух массивов. Решение>> Строки символов Напишите функцию nonalpha, которая получает параметр str типа string и возвращает позицию его первой литеры, не являющейся буквой прописной или строчной. Решение>> Cоставить программу вывода самой большой цифры заданного числа. Решение>> Напишите процедуру splite(name:string; var first,last:string) которая из параметра name хранящего фамилию и имя человека извлекает их в переменные first и last. Предусмотрите обработку некорректных данных. Решение>> Заменить все вхождения подстроки Str1 на подстроку Str2 (подстроки вводятся с клавиатуры). Решение>> Задание: напишите функцию count, которая получает два параметра str1 и str2 типа string и возвращает число, указывающее, сколько раз str2 встречается в str1. Функция не должна изменять свои параметры. Кроме того, любая литера в str1 может учитываться не более чем в одном вхождении str2. Например, cout(‘балалайка’,’ала’) должна возвращать 1, а не 2. Решение>> Множества Составить программу печати всех символов заданного текста, входящих в него по одному разу. Решение>> Файлы Даны два файла, причем первый А-целочисленный, т.е. его элементы целые числа, а второй В-символьный. Вывести на экран все числа первого, а рядом с ним элементы второго с этим номером, если элементов второго файла с данным номером нет, то сообщить об этом. Решение>> Массивы записей Сведения о студентах ВУЗа записаны в массиве и содержат следующую информацию: фамилия, имя, отчество, пол (М или Ж), возраст (от 16 до 35 лет), курс (от 1 до 5). Напишите программу, которая вводит эту информацию и печатает номер курса, на котором наибольший процент мужчин. Решение>> Графика Построить усеченную треугольную пирамиду. Решение>> Нарисовать пирамиду из n ярусов разного цвета. N вводится пользователем. Решение>> Написать программу для рисования треугольника. На её основе создать процедуру рисования ёлки с заданным количеством ярусов. Используя эту процедуру, написать программу, которая рисует лес из ёлок со случайным количеством ярусов. Организовать движение ёжика между ёлок. Решение>> Однонаправленные списки Сформировать файл из натуральных чисел и из соответствующего списка выбросить все элементы, меньшие 10. Решение>> Сформировать файл из натуральных чисел и после каждого элемента соот-ветствующего списка вставить число 100. Решение>> Стеки и очереди В текстовом файле записана без ошибок формула вида: цифра или S (формула, формула) или Р(формула, формула), где S(a,b)=(a+b) mod 10, P(a,b)=(a*b) mod 10. Вычислить значение данной формулы (например, Р(6, S(8, 4)) = 2). Решение>> Сформировать файл из натуральных чисел. Разработать процедуру перестановки первого и последнего элементов списка, построенного из элементов файла. Решение>> Двоичные деревья Составить программу вычисления суммы максимального и минимального ключей дерева. Решение>> Составить программу вывода всех листьев дерева Решение>>
Простые типы данных Найти сумму цифр числа. Решение>> Составить программу, проверяющую, является ли последовательность из 10 целых чисел, вводимых с клавиатуры, возрастающей. Решение>> Составить программу, меняющую порядок следования цифр в числе на обратный. Решение>> Дано натуральное число n. Можно ли его представить в виде суммы трёх квадратов натуральных чисел? Если можно, то укажите тройку x, y, z таких, что . Решение>> Найдите натуральное число от 1 до 10000 с максимальной суммой делителей. Решение>> Составить программу для нахождения всех натуральных решений уравнения: на интервале от (1;10). Решение>> Найти наибольший общий делитель трёх чисел. Решение>> Дано вещественное положительное число b. Последовательность A1,A2,A3... образована по закону: A1=b, Ai=Ai-1-(1/sqrt(i)), i=2,3... Найдите первый отрицательный член последовательности. Решение>>
Одномерные массывы Пусть даны вещественные числа а1,...аn,b1,...,bn. Вычислите произведение: (a1+bn)(a2+bn-1)...(an+b1). Решение>> Пусть даны натуральные числа n, a1 ,…, an . Определите количество членов a последовательности a1 ,…, an , являющихся нечетными числами. Решение>> Пусть даны вещественное число а и массив вещественных чисел Q[1..n].Выбрать два числа из массива Q таким образом, чтобы числа а, b, с могли быть длинами сторон треугольника. Подсчитайте сколько пар таких чисел а и b в массиве Q. Решение>> Пусть дан текст, за которым следует точка. Определить, упорядочены ли буквы по алфавиту. Решение>> Дан текст, за которым следует восклицательный знак. Заменить прописные русские буквы, встречающиеся в тексте, строчными. Решение>> Пусть даны символы, среди которых есть двоеточия. Получите все символы расположенные после первого двоеточия. Решение>> Пусть даны целые числа а1,…,а99. Получите новую последовательность, выбросив из исходной максимальный и минимальный член. Решение>> Пусть даны вещественные числа А(1), …, А(25). Требуеться умножить все члены последовательности А(1), …, А(25) на квадрат её наименьшего члена, если А(i)>=0, и на квадрат её наибольшего члена, если A(i)<0. Решение>>
Двумерные массивы Определить, есть ли в данном массиве отрицательный элемент. Решение>> Пусть даны вещественные числа Х1, … , Х8. Получите квадратную матрицу порядка 8, образованную по правилу: Решение>> Пусть дана вещественная матрица размером n*m, все элементы которой различны. В каждой строке выберите элемент с наименьшим значением, затем среди этих чисел выберите наибольшее. Укажите индексы найденного элемента. Решение>> Определить, есть ли в данном массиве строка, состоящая только из положительных элементов. Решение>> Найти число элементов в каждой строке, больших среднего арифметического элементов данной строки. Решение>> Пусть дана символьная квадратная матрица порядка 5. Замените буквой А все её элементы, расположенные выше главной диагонали. Решение>> Даны два двумерных массива одинаковой размерности. Создать третий массив той же размерности, каждый элемент которого равен сумме соответствующих элементов первых двух массивов. Решение>>
Строки символов Напишите функцию nonalpha, которая получает параметр str типа string и возвращает позицию его первой литеры, не являющейся буквой прописной или строчной. Решение>> Cоставить программу вывода самой большой цифры заданного числа. Решение>> Напишите процедуру splite(name:string; var first,last:string) которая из параметра name хранящего фамилию и имя человека извлекает их в переменные first и last. Предусмотрите обработку некорректных данных. Решение>> Заменить все вхождения подстроки Str1 на подстроку Str2 (подстроки вводятся с клавиатуры). Решение>> Задание: напишите функцию count, которая получает два параметра str1 и str2 типа string и возвращает число, указывающее, сколько раз str2 встречается в str1. Функция не должна изменять свои параметры. Кроме того, любая литера в str1 может учитываться не более чем в одном вхождении str2. Например, cout(‘балалайка’,’ала’) должна возвращать 1, а не 2. Решение>>
Множества Составить программу печати всех символов заданного текста, входящих в него по одному разу. Решение>>
Файлы Даны два файла, причем первый А-целочисленный, т.е. его элементы целые числа, а второй В-символьный. Вывести на экран все числа первого, а рядом с ним элементы второго с этим номером, если элементов второго файла с данным номером нет, то сообщить об этом. Решение>>
Массивы записей Сведения о студентах ВУЗа записаны в массиве и содержат следующую информацию: фамилия, имя, отчество, пол (М или Ж), возраст (от 16 до 35 лет), курс (от 1 до 5). Напишите программу, которая вводит эту информацию и печатает номер курса, на котором наибольший процент мужчин. Решение>>
Графика Построить усеченную треугольную пирамиду. Решение>> Нарисовать пирамиду из n ярусов разного цвета. N вводится пользователем. Решение>> Написать программу для рисования треугольника. На её основе создать процедуру рисования ёлки с заданным количеством ярусов. Используя эту процедуру, написать программу, которая рисует лес из ёлок со случайным количеством ярусов. Организовать движение ёжика между ёлок. Решение>>
Однонаправленные списки Сформировать файл из натуральных чисел и из соответствующего списка выбросить все элементы, меньшие 10. Решение>> Сформировать файл из натуральных чисел и после каждого элемента соот-ветствующего списка вставить число 100. Решение>>
Стеки и очереди В текстовом файле записана без ошибок формула вида: цифра или S (формула, формула) или Р(формула, формула), где S(a,b)=(a+b) mod 10, P(a,b)=(a*b) mod 10. Вычислить значение данной формулы (например, Р(6, S(8, 4)) = 2). Решение>> Сформировать файл из натуральных чисел. Разработать процедуру перестановки первого и последнего элементов списка, построенного из элементов файла. Решение>>
Двоичные деревья Составить программу вычисления суммы максимального и минимального ключей дерева. Решение>> Составить программу вывода всех листьев дерева Решение>>