Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОАиП Лаб №7 - Функции.doc
Скачиваний:
29
Добавлен:
11.05.2015
Размер:
161.79 Кб
Скачать

Индивидуальное задание

Создать программу, которая выполняет действия из задания 1 и задания 2. По запросу с клавиатуры, программа выполняет следующие действия:

  1. Ввести новый массив (динамический);

  2. Задание 1;

  3. Вывод массива;

  4. Задание 2;

  5. Выход.

В программе должно быть реализовано меню, каждое действие должно быть реализовано в отдельной функции.

Задание 1:

1. Найти в матрице первую строку, все элементы которой положительны, и сумму этих элементов. Уменьшить все элементы матрицы на эту сумму.

2. Найти в матрице первую строку, все элементы которой отрицательны. Увеличить все элементы матрицы на значение первого элемента найденной строки.

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

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

5. Проверить, есть ли в матрице хотя бы одна строка, содержащая положительный элемент, и найти ее номер. Знаки элементов предыдущей строки изменить на противоположные.

6. Проверить, есть ли в матрице хотя бы одна строка, содержащая отрицательный элемент, и найти ее номер. Все элементы столбца с таким же номером уменьшить вдвое.

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

8. Найти в матрице первую строку, все элементы которой равны нулю. Все элементы столбца с таким же номером уменьшить вдвое.

9. Проверить, все ли строки матрицы упорядочены по убыванию. Если нет, найти первую неупорядоченную строку и упорядочить.

10. Проверить, все ли строки матрицы содержат хотя бы один положительный элемент. Если да, то изменить знаки всех элементов матрицы на обратные.

11. Проверить, все ли строки матрицы содержат хотя бы один отрицательный элемент Если да, то изменить знаки всех элементов матрицы на обратные.

12. Проверить, все ли строки матрицы содержат хотя бы один нулевой элемент. Если нет, то заменить значения всех отрицательных элементов матрицы на нулевые.

13. Найти в матрице первый столбец, все элементы которого положительны. Знаки элементов предыдущего столбца изменить на противоположные.

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

15. Найти в матрице первый столбец, все элементы которого равны нулю. Знаки элементов строки с таким же номером изменить на противоположные.

Задание 2:

1. Написать программу, преобразующую строку, состоящую только из прописных букв, в строку, состоящий из прописных и строчных букв. Первая буква после точки — прописная, остальные — строчные.

2. Дана строка. Все русские буквы привести к верхнему регистру, латинские — заменить «?». Вывести результат на экран.

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

4. Дана строка. Подсчитать сумму кодов символов каждого слова. Слова в строке разделены пробелами.

5. Дана строка. Необходимо определить количество слов, которые слева и справа читаются одинаково (палиндромы). Слова разделены пробелами.

6. Напишите программу, которая вводит строки текста в массив символов s [100], используя функцию gets. Выведите строки в верхнем и нижнем регистрах.

7. Напишите программу, которая вводит строку текста, разбивает ее на лексемы и выводит лексемы в обратном порядке.

8. Напишите программу, которая вводит несколько строк текста и символ поиска и использует функцию strchr, чтобы определить суммарное число вхождений символа в текст.

9. Напишите программу, которая вводит несколько строк текста и использует функцию strtok, чтобы сосчитать общее количество слов. Предположим, что слова разделяются символами новой строки или пробелами.

10. Напишите программу, которая вводит ряд строк и выводит те из них, которые начинаются с буквы «b».

Задание 3:

  1. Ввести N (N≤5) и последовательность из N букв. Составить и вывести все возможные перестановки из этих букв.

  2. Ввести строку из k знаков. Найти в строке самое длинное слово и поменять его с самым коротким словом. Новую строку не создавать.

  3. Ввести N и строку длиной N символов. В строке среди знаков которой могут встретиться ’(’ и ’)’, проверить предшествует ли каждая открывающая скобка каждой закрывающей.

  4. Ввести строку из n (n≤6) знаков и строку из k (k≤80) знаков. Определить количество вхождений строки из n знаков в строку из k знаков.

  5. Ввести текст состоящий из букв. Найти число тех групп букв, которые заканчиваются теми же тремя буквами, что и первая группа букв. Вывести эти слова.

  6. Ввести k-целое число и строку, состоящую из N (N≤k) символов. Исходную строку разбить на подстроки длиной не более 30 символов и вывести. Между словами оставить по одному пробелу. Переход на новую строку осуществлять на месте пробела.

  7. Ввести строку и удалить из нее все пробелы, сдвинув все остальные символы влево. Дополнительных строк не использовать. Полученную строку вывести.

  8. Ввести строку и удалить из нее пробелы в начале и конце строки. Полученную строку вывести.

  9. Ввести строку из N символов. В функции определить и вывести на экран частоту встречаемости каждой буквы русского алфавита. Определить 5 наиболее часто встречающихся букв.

  10. Ввести 2 символьные строки. Удалить из первой строки все символы, содержащиеся во второй строке.

9

Лабораторная работа №7. Функции. Строки.